diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 562ec47..0000000 --- a/.editorconfig +++ /dev/null @@ -1,6 +0,0 @@ -[*.css] -indent_style = space -indent_size = 2 - -[*.py] -max_line_length = 119 diff --git a/.envrc b/.envrc deleted file mode 100644 index 5e9005b..0000000 --- a/.envrc +++ /dev/null @@ -1,4 +0,0 @@ -if ! has nix_direnv_version || ! nix_direnv_version 2.1.1; then - source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.1.1/direnvrc" "sha256-b6qJ4r34rbE23yWjMqbmu3ia2z4b2wIlZUksBke/ol0=" -fi -use flake diff --git a/.flake8 b/.flake8 deleted file mode 100644 index 0e92bad..0000000 --- a/.flake8 +++ /dev/null @@ -1,5 +0,0 @@ -[flake8] -max-line-length = 119 -ignore = E121,E126,E226,E704,FI12,FI15,FI16,FI17,FI50,FI51,FI53,FI54 -# Don't warn about __future__ imports in empty files -require-code = true diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index d2c8d7a..0000000 --- a/.gitconfig +++ /dev/null @@ -1,11 +0,0 @@ -[core] - packedGitLimit = 128m - packedGitWindowSize = 128m - -[pack] - deltaCacheSize = 128m - packSizeLimit = 128m - windowMemory = 128m - -[http] - postbuffer = 50m \ No newline at end of file diff --git a/.github/workflows/build_nix.yml b/.github/workflows/build_nix.yml new file mode 100644 index 0000000..6550535 --- /dev/null +++ b/.github/workflows/build_nix.yml @@ -0,0 +1,32 @@ +name: CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build-x86_64: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install Nix + uses: cachix/install-nix-action@v26 + + - name: Build Shepherd x86_64 + run: nix build .#cross-x86_64 + + build-aarch64: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install Nix + uses: cachix/install-nix-action@v26 + + - name: Build Shepherd aarch64 + run: nix build .#cross-aarch64 diff --git a/.github/workflows/flakehell.yml b/.github/workflows/flakehell.yml deleted file mode 100644 index 33a098a..0000000 --- a/.github/workflows/flakehell.yml +++ /dev/null @@ -1,34 +0,0 @@ -# Run the linters with a baseline - -name: FlakeHell - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - - strategy: - matrix: - python-version: [3.7, 3.8, 3.9] - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Install Poetry - uses: abatilo/actions-poetry@v2.0.0 - with: - poetry-version: 1.1.11 - - name: Disable vitual envs - run: poetry config virtualenvs.create false - - name: Install dependencies - run: poetry install - - name: Run FlakeHell - run: flakehell lint diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml deleted file mode 100644 index 3aa5699..0000000 --- a/.github/workflows/node.js.yml +++ /dev/null @@ -1,35 +0,0 @@ -# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - -name: Node.js CI - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [8.1.0] - # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ - - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 - with: - node-version: ${{ matrix.node-version }} - cache: 'npm' - cache-dependency-path: sheepsrc/package-lock.json - - name: Install dependencies - run: npm install - working-directory: sheepsrc - - name: Test if build - run: npm run build - working-directory: sheepsrc diff --git a/.gitignore b/.gitignore index 5d2e7e8..ac663bf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,119 +1,21 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -.hypothesis/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder +# Cargo target/ -# Jupyter Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule - -# SageMath parsed files -*.sage.py - -# dotenv -.env - -# virtualenv -.venv -venv/ -ENV/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ - -# sheep node_modules -sheepsrc/node_modules +# Docs + Sheep static files +static/docs/* +!static/docs/README.md +static/editor/* +!static/editor/README.md -# pycharm config -.idea +# Testing files +test.png +test.jpg +test.py +test.txt +test.zip -# fake pi packages -RPi -smbus -robot -usercode -shepherd/static/image.jpg -robotsrc -sheepsrc/.idea +# direnv +.direnv/ -# vscode dev folder -.vscode \ No newline at end of file +# Nix +result diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index a6fb53b..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "sheepsrc"] - path = sheepsrc - url = https://github.com/systemetric/sheep.git diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..8f7fcef --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,2410 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "anstyle-parse" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys 0.61.2", +] + +[[package]] +name = "anyhow" +version = "1.0.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "aws-lc-rs" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a054912289d18629dc78375ba2c3726a3afe3ff71b4edba9dedfca0e3446d1fc" +dependencies = [ + "aws-lc-sys", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.39.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399" +dependencies = [ + "cc", + "cmake", + "dunce", + "fs_extra", +] + +[[package]] +name = "axum" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" +dependencies = [ + "axum-core", + "bytes", + "form_urlencoded", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "multer", + "percent-encoding", + "pin-project-lite", + "serde_core", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "sync_wrapper", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" + +[[package]] +name = "bytes" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" + +[[package]] +name = "bzip2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a53fac24f34a81bc9954b5d6cfce0c21e18ec6959f44f56e8e90e4bb7c346c" +dependencies = [ + "libbz2-rs-sys", +] + +[[package]] +name = "cc" +version = "1.2.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" +dependencies = [ + "find-msvc-tools", + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +dependencies = [ + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-link", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "clap" +version = "4.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" + +[[package]] +name = "cmake" +version = "0.1.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" +dependencies = [ + "cc", +] + +[[package]] +name = "colorchoice" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" + +[[package]] +name = "constant_time_eq" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "data-encoding" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" + +[[package]] +name = "deflate64" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac6b926516df9c60bfa16e107b21086399f8285a44ca9711344b9e553c5146e2" + +[[package]] +name = "deranged" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "fastrand" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + +[[package]] +name = "flate2" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +dependencies = [ + "miniz_oxide", + "zlib-rs", +] + +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + +[[package]] +name = "futures" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" + +[[package]] +name = "futures-executor" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" + +[[package]] +name = "futures-macro" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" + +[[package]] +name = "futures-task" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" + +[[package]] +name = "futures-util" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi 5.3.0", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi 6.0.0", + "wasip2", + "wasip3", + "wasm-bindgen", +] + +[[package]] +name = "gpiod-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15a60e3beb5444643d049a3f8769b47ce246ec1f57e6cd1aed1e417d57a47110" +dependencies = [ + "nix 0.26.4", +] + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "hopper" +version = "0.1.2" +source = "git+https://github.com/systemetric/hopper?rev=v0.1.2#9503106beabe35398bd0be78db060075f7507c07" +dependencies = [ + "bitflags 2.11.0", + "nix 0.31.2", + "tracing", +] + +[[package]] +name = "http" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "http-range-header" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "bytes", + "http", + "http-body", + "hyper", + "pin-project-lite", + "tokio", + "tower-service", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + +[[package]] +name = "indexmap" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +dependencies = [ + "equivalent", + "hashbrown 0.17.0", + "serde", + "serde_core", +] + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom 0.3.4", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + +[[package]] +name = "libbz2-rs-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4a545a15244c7d945065b5d392b2d2d7f21526fba56ce51467b06ed445e8f7" + +[[package]] +name = "libc" +version = "0.2.185" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f" + +[[package]] +name = "linux-raw-sys" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "lzma-rust2" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47bb1e988e6fb779cf720ad431242d3f03167c1b3f2b1aae7f1a94b2495b36ae" +dependencies = [ + "sha2", +] + +[[package]] +name = "matchit" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" + +[[package]] +name = "memchr" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "multer" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" +dependencies = [ + "bytes", + "encoding_rs", + "futures-util", + "http", + "httparse", + "memchr", + "mime", + "spin", + "version_check", +] + +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", +] + +[[package]] +name = "nix" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" +dependencies = [ + "bitflags 2.11.0", + "cfg-if", + "cfg_aliases", + "libc", +] + +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "num-conv" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + +[[package]] +name = "openssl-probe" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest", + "hmac", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "pkg-config" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppmd-rust" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efca4c95a19a79d1c98f791f10aebd5c1363b473244630bb7dbde1dc98455a24" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "rand" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" +dependencies = [ + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.17", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rumqttc" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0feff8d882bff0b2fddaf99355a10336d43dd3ed44204f85ece28cf9626ab519" +dependencies = [ + "bytes", + "fixedbitset", + "flume", + "futures-util", + "log", + "rustls-native-certs", + "rustls-pemfile", + "rustls-webpki 0.102.8", + "thiserror", + "tokio", + "tokio-rustls", + "tokio-stream", + "tokio-util", +] + +[[package]] +name = "rustix" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +dependencies = [ + "bitflags 2.11.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls" +version = "0.23.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f9466fb2c14ea04357e91413efb882e2a6d4a406e625449bc0a5d360d53a21" +dependencies = [ + "aws-lc-rs", + "log", + "once_cell", + "rustls-pki-types", + "rustls-webpki 0.103.11", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" +dependencies = [ + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4" +dependencies = [ + "aws-lc-rs", + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" + +[[package]] +name = "schannel" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "security-framework" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" +dependencies = [ + "bitflags 2.11.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" +dependencies = [ + "itoa", + "serde", + "serde_core", +] + +[[package]] +name = "serde_spanned" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shepherd-app" +version = "0.1.0" +dependencies = [ + "anyhow", + "axum", + "chrono", + "fs_extra", + "serde", + "serde_json", + "shepherd-common", + "shepherd-mqtt", + "tempfile", + "tokio", + "tower", + "tower-http", + "tower-service", + "tracing", + "tracing-subscriber", + "zip", +] + +[[package]] +name = "shepherd-common" +version = "0.1.0" +dependencies = [ + "anyhow", + "chrono", + "clap", + "serde", + "toml", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "shepherd-mqtt" +version = "0.1.0" +dependencies = [ + "anyhow", + "bytes", + "chrono", + "futures", + "rumqttc", + "serde", + "serde_json", + "shepherd-common", + "tokio", + "tracing", +] + +[[package]] +name = "shepherd-run" +version = "0.1.0" +dependencies = [ + "anyhow", + "base64", + "chrono", + "hopper", + "serde", + "serde_json", + "shepherd-common", + "shepherd-mqtt", + "tokio", + "tokio-gpiod", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "shepherd-ws" +version = "0.1.0" +dependencies = [ + "anyhow", + "bytes", + "chrono", + "futures-util", + "hopper", + "serde", + "serde_json", + "shepherd-common", + "shepherd-mqtt", + "tokio", + "tokio-tungstenite", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "socket2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" + +[[package]] +name = "tempfile" +version = "3.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +dependencies = [ + "fastrand", + "getrandom 0.4.2", + "once_cell", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "time" +version = "0.3.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +dependencies = [ + "deranged", + "js-sys", + "num-conv", + "powerfmt", + "serde_core", + "time-core", +] + +[[package]] +name = "time-core" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" + +[[package]] +name = "tokio" +version = "1.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-gpiod" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce15fa0021a7acacd2be506f72aeb5044a0a8b53d684963f133b37ace5c57f47" +dependencies = [ + "gpiod-core", + "libc", + "tokio", +] + +[[package]] +name = "tokio-macros" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f72a05e828585856dacd553fba484c242c46e391fb0e58917c942ee9202915c" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee" +dependencies = [ + "indexmap", + "serde_core", + "serde_spanned", + "toml_datetime", + "toml_parser", + "toml_writer", + "winnow", +] + +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_parser" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" +dependencies = [ + "winnow", +] + +[[package]] +name = "toml_writer" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +dependencies = [ + "bitflags 2.11.0", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "http-range-header", + "httpdate", + "mime", + "mime_guess", + "percent-encoding", + "pin-project-lite", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" +dependencies = [ + "nu-ansi-term", + "sharded-slab", + "smallvec", + "thread_local", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "tungstenite" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c01152af293afb9c7c2a57e4b559c5620b421f6d133261c60dd2d0cdb38e6b8" +dependencies = [ + "bytes", + "data-encoding", + "http", + "httparse", + "log", + "rand", + "sha1", + "thiserror", +] + +[[package]] +name = "typed-path" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e" + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "unicase" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.2+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.118" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.118" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.118" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.118" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.11.0", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5" + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.11.0", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] + +[[package]] +name = "zerocopy" +version = "0.8.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zeroize" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" + +[[package]] +name = "zip" +version = "8.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcab981e19633ebcf0b001ddd37dd802996098bc1864f90b7c5d970ce76c1d59" +dependencies = [ + "aes", + "bzip2", + "constant_time_eq", + "crc32fast", + "deflate64", + "flate2", + "getrandom 0.4.2", + "hmac", + "indexmap", + "lzma-rust2", + "memchr", + "pbkdf2", + "ppmd-rust", + "sha1", + "time", + "typed-path", + "zeroize", + "zopfli", + "zstd", +] + +[[package]] +name = "zlib-rs" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be3d40e40a133f9c916ee3f9f4fa2d9d63435b5fbe1bfc6d9dae0aa0ada1513" + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + +[[package]] +name = "zopfli" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" +dependencies = [ + "bumpalo", + "crc32fast", + "log", + "simd-adler32", +] + +[[package]] +name = "zstd" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.16+zstd.1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..bf67261 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,40 @@ +[workspace] +resolver = "2" +members = [ + "crates/shepherd-app", + "crates/shepherd-common", + "crates/shepherd-mqtt", + "crates/shepherd-run", + "crates/shepherd-ws", +] + +[workspace.package] +edition = "2024" +authors = ["Nathan Gill "] +license = "BSD-2-Clause" + +[workspace.dependencies] +anyhow = "1.0.102" +axum = { version = "0.8.8", features = ["multipart"] } +base64 = "0.22.1" +bytes = "1.11.1" +chrono = "0.4.44" +clap = { version = "4.6.1", features = ["derive"] } +fs_extra = "1.3.0" +futures = "0.3.32" +futures-util = "0.3.32" +hopper = { git = "https://github.com/systemetric/hopper", rev = "v0.1.2", version = "0.1.2" } +rumqttc = "0.25.1" +serde = { version = "1.0.228", features = ["derive"] } +serde_json = "1.0.149" +tempfile = "3.27.0" +tokio = { version = "1.51.1", features = ["fs", "io-util", "macros", "net", "process", "rt-multi-thread", "sync"] } +tokio-gpiod = "0.3.0" +tokio-tungstenite = "0.29.0" +toml = "1.1.2" +tower = "0.5.3" +tower-http = { version = "0.6.8", features = ["fs", "trace"] } +tower-service = "0.3.3" +tracing = "0.1.44" +tracing-subscriber = "0.3.23" +zip = "8.5.1" diff --git a/Pipfile b/Pipfile deleted file mode 100644 index 6252065..0000000 --- a/Pipfile +++ /dev/null @@ -1,23 +0,0 @@ -[[source]] -url = "https://pypi.python.org/simple" -verify_ssl = true -name = "pypi" - -[packages] -flask = "*" -"enum34" = "*" -pytz = "*" -python-language-server = "*" -flask-cors = "*" -flask-sockets = "*" -jsonrpc = "*" -"RPi.GPIO" = "*" -pykoki = {git = "git://github.com/systemetric/pykoki"} -"smbus2" = "*" - -[dev-packages] -"flake8" = "*" -"flake8-future-import" = "*" - -[requires] -python_version = "2.7" diff --git a/Pipfile.lock b/Pipfile.lock deleted file mode 100644 index 60cdad0..0000000 --- a/Pipfile.lock +++ /dev/null @@ -1,326 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "c02dea5debcda7dd4b919932848bb642550f87d70132725c69ca0aa1ba6e892c" - }, - "pipfile-spec": 6, - "requires": { - "python_version": "2.7" - }, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.python.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "click": { - "hashes": [ - "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13", - "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7" - ], - "version": "==7.0" - }, - "configparser": { - "hashes": [ - "sha256:5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a" - ], - "markers": "python_version < '3.0'", - "version": "==3.5.0" - }, - "enum34": { - "hashes": [ - "sha256:2d81cbbe0e73112bdfe6ef8576f2238f2ba27dd0d55752a776c41d38b7da2850", - "sha256:644837f692e5f550741432dd3f223bbb9852018674981b1664e5dc339387588a", - "sha256:6bd0f6ad48ec2aa117d3d141940d484deccda84d4fcd884f5c3d93c23ecd8c79", - "sha256:8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1" - ], - "index": "pypi", - "version": "==1.1.6" - }, - "flask": { - "hashes": [ - "sha256:2271c0070dbcb5275fad4a82e29f23ab92682dc45f9dfbc22c02ba9b9322ce48", - "sha256:a080b744b7e345ccfcbc77954861cb05b3c63786e93f2b3875e0913d44b43f05" - ], - "index": "pypi", - "version": "==1.0.2" - }, - "flask-cors": { - "hashes": [ - "sha256:7ad56ee3b90d4955148fc25a2ecaa1124fc84298471e266a7fea59aeac4405a5", - "sha256:7e90bf225fdf163d11b84b59fb17594d0580a16b97ab4e1146b1fb2737c1cfec" - ], - "index": "pypi", - "version": "==3.0.7" - }, - "flask-sockets": { - "hashes": [ - "sha256:072927da8edca0e81e024f5787e643c87d80b351b714de95d723becb30e0643b", - "sha256:350a76d55f5889f64afd2ca9b32f262680b7960965f0830365576307d30cfe1e" - ], - "index": "pypi", - "version": "==0.2.1" - }, - "future": { - "hashes": [ - "sha256:67045236dcfd6816dc439556d009594abf643e5eb48992e36beac09c2ca659b8" - ], - "version": "==0.17.1" - }, - "futures": { - "hashes": [ - "sha256:9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265", - "sha256:ec0a6cb848cc212002b9828c3e34c675e0c9ff6741dc445cab6fdd4e1085d1f1" - ], - "markers": "python_version < '3.2'", - "version": "==3.2.0" - }, - "gevent": { - "hashes": [ - "sha256:1f277c5cf060b30313c5f9b91588f4c645e11839e14a63c83fcf6f24b1bc9b95", - "sha256:298a04a334fb5e3dcd6f89d063866a09155da56041bc94756da59db412cb45b1", - "sha256:30e9b2878d5b57c68a40b3a08d496bcdaefc79893948989bb9b9fab087b3f3c0", - "sha256:33533bc5c6522883e4437e901059fe5afa3ea74287eeea27a130494ff130e731", - "sha256:3f06f4802824c577272960df003a304ce95b3e82eea01dad2637cc8609c80e2c", - "sha256:419fd562e4b94b91b58cccb3bd3f17e1a11f6162fca6c591a7822bc8a68f023d", - "sha256:4ea938f44b882e02cca9583069d38eb5f257cc15a03e918980c307e7739b1038", - "sha256:51143a479965e3e634252a0f4a1ea07e5307cf8dc773ef6bf9dfe6741785fb4c", - "sha256:5bf9bd1dd4951552d9207af3168f420575e3049016b9c10fe0c96760ce3555b7", - "sha256:6004512833707a1877cc1a5aea90fd182f569e089bc9ab22a81d480dad018f1b", - "sha256:640b3b52121ab519e0980cb38b572df0d2bc76941103a697e828c13d76ac8836", - "sha256:6951655cc18b8371d823e81c700883debb0f633aae76f425dfeb240f76b95a67", - "sha256:71eeb8d9146e8131b65c3364bb760b097c21b7b9fdbec91bf120685a510f997a", - "sha256:7c899e5a6f94d6310352716740f05e41eb8c52d995f27fc01e90380913aa8f22", - "sha256:8465f84ba31aaf52a080837e9c5ddd592ab0a21dfda3212239ce1e1796f4d503", - "sha256:99de2e38dde8669dd30a8a1261bdb39caee6bd00a5f928d01dfdb85ab0502562", - "sha256:9fa4284b44bc42bef6e437488d000ae37499ccee0d239013465638504c4565b7", - "sha256:a1beea0443d3404c03e069d4c4d9fc13d8ec001771c77f9a23f01911a41f0e49", - "sha256:a66a26b78d90d7c4e9bf9efb2b2bd0af49234604ac52eaca03ea79ac411e3f6d", - "sha256:a94e197bd9667834f7bb6bd8dff1736fab68619d0f8cd78a9c1cebe3c4944677", - "sha256:ac0331d3a3289a3d16627742be9c8969f293740a31efdedcd9087dadd6b2da57", - "sha256:d26b57c50bf52fb38dadf3df5bbecd2236f49d7ac98f3cf32d6b8a2d25afc27f", - "sha256:fd23b27387d76410eb6a01ea13efc7d8b4b95974ba212c336e8b1d6ab45a9578" - ], - "version": "==1.3.7" - }, - "gevent-websocket": { - "hashes": [ - "sha256:17b67d91282f8f4c973eba0551183fc84f56f1c90c8f6b6b30256f31f66f5242", - "sha256:7eaef32968290c9121f7c35b973e2cc302ffb076d018c9068d2f5ca8b2d85fb0" - ], - "version": "==0.10.1" - }, - "greenlet": { - "hashes": [ - "sha256:000546ad01e6389e98626c1367be58efa613fa82a1be98b0c6fc24b563acc6d0", - "sha256:0d48200bc50cbf498716712129eef819b1729339e34c3ae71656964dac907c28", - "sha256:23d12eacffa9d0f290c0fe0c4e81ba6d5f3a5b7ac3c30a5eaf0126bf4deda5c8", - "sha256:37c9ba82bd82eb6a23c2e5acc03055c0e45697253b2393c9a50cef76a3985304", - "sha256:51503524dd6f152ab4ad1fbd168fc6c30b5795e8c70be4410a64940b3abb55c0", - "sha256:8041e2de00e745c0e05a502d6e6db310db7faa7c979b3a5877123548a4c0b214", - "sha256:81fcd96a275209ef117e9ec91f75c731fa18dcfd9ffaa1c0adbdaa3616a86043", - "sha256:853da4f9563d982e4121fed8c92eea1a4594a2299037b3034c3c898cb8e933d6", - "sha256:8b4572c334593d449113f9dc8d19b93b7b271bdbe90ba7509eb178923327b625", - "sha256:9416443e219356e3c31f1f918a91badf2e37acf297e2fa13d24d1cc2380f8fbc", - "sha256:9854f612e1b59ec66804931df5add3b2d5ef0067748ea29dc60f0efdcda9a638", - "sha256:99a26afdb82ea83a265137a398f570402aa1f2b5dfb4ac3300c026931817b163", - "sha256:a19bf883b3384957e4a4a13e6bd1ae3d85ae87f4beb5957e35b0be287f12f4e4", - "sha256:a9f145660588187ff835c55a7d2ddf6abfc570c2651c276d3d4be8a2766db490", - "sha256:ac57fcdcfb0b73bb3203b58a14501abb7e5ff9ea5e2edfa06bb03035f0cff248", - "sha256:bcb530089ff24f6458a81ac3fa699e8c00194208a724b644ecc68422e1111939", - "sha256:beeabe25c3b704f7d56b573f7d2ff88fc99f0138e43480cecdfcaa3b87fe4f87", - "sha256:d634a7ea1fc3380ff96f9e44d8d22f38418c1c381d5fac680b272d7d90883720", - "sha256:d97b0661e1aead761f0ded3b769044bb00ed5d33e1ec865e891a8b128bf7c656" - ], - "markers": "platform_python_implementation == 'CPython'", - "version": "==0.4.15" - }, - "itsdangerous": { - "hashes": [ - "sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19", - "sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749" - ], - "version": "==1.1.0" - }, - "jedi": { - "hashes": [ - "sha256:0191c447165f798e6a730285f2eee783fff81b0d3df261945ecb80983b5c3ca7", - "sha256:b7493f73a2febe0dc33d51c99b474547f7f6c0b2c8fb2b21f453eef204c12148" - ], - "version": "==0.13.1" - }, - "jinja2": { - "hashes": [ - "sha256:74c935a1b8bb9a3947c50a54766a969d4846290e1e788ea44c1392163723c3bd", - "sha256:f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4" - ], - "version": "==2.10" - }, - "jsonrpc": { - "hashes": [ - "sha256:3fa3d4fa2bf08fc243961835ac10140d5f954c6cc251be40e44af8cd584df00f" - ], - "index": "pypi", - "version": "==1.2" - }, - "markupsafe": { - "hashes": [ - "sha256:048ef924c1623740e70204aa7143ec592504045ae4429b59c30054cb31e3c432", - "sha256:130f844e7f5bdd8e9f3f42e7102ef1d49b2e6fdf0d7526df3f87281a532d8c8b", - "sha256:19f637c2ac5ae9da8bfd98cef74d64b7e1bb8a63038a3505cd182c3fac5eb4d9", - "sha256:1b8a7a87ad1b92bd887568ce54b23565f3fd7018c4180136e1cf412b405a47af", - "sha256:1c25694ca680b6919de53a4bb3bdd0602beafc63ff001fea2f2fc16ec3a11834", - "sha256:1f19ef5d3908110e1e891deefb5586aae1b49a7440db952454b4e281b41620cd", - "sha256:1fa6058938190ebe8290e5cae6c351e14e7bb44505c4a7624555ce57fbbeba0d", - "sha256:31cbb1359e8c25f9f48e156e59e2eaad51cd5242c05ed18a8de6dbe85184e4b7", - "sha256:3e835d8841ae7863f64e40e19477f7eb398674da6a47f09871673742531e6f4b", - "sha256:4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3", - "sha256:525396ee324ee2da82919f2ee9c9e73b012f23e7640131dd1b53a90206a0f09c", - "sha256:52b07fbc32032c21ad4ab060fec137b76eb804c4b9a1c7c7dc562549306afad2", - "sha256:52ccb45e77a1085ec5461cde794e1aa037df79f473cbc69b974e73940655c8d7", - "sha256:5c3fbebd7de20ce93103cb3183b47671f2885307df4a17a0ad56a1dd51273d36", - "sha256:5e5851969aea17660e55f6a3be00037a25b96a9b44d2083651812c99d53b14d1", - "sha256:5edfa27b2d3eefa2210fb2f5d539fbed81722b49f083b2c6566455eb7422fd7e", - "sha256:7d263e5770efddf465a9e31b78362d84d015cc894ca2c131901a4445eaa61ee1", - "sha256:83381342bfc22b3c8c06f2dd93a505413888694302de25add756254beee8449c", - "sha256:857eebb2c1dc60e4219ec8e98dfa19553dae33608237e107db9c6078b1167856", - "sha256:98e439297f78fca3a6169fd330fbe88d78b3bb72f967ad9961bcac0d7fdd1550", - "sha256:bf54103892a83c64db58125b3f2a43df6d2cb2d28889f14c78519394feb41492", - "sha256:d9ac82be533394d341b41d78aca7ed0e0f4ba5a2231602e2f05aa87f25c51672", - "sha256:e982fe07ede9fada6ff6705af70514a52beb1b2c3d25d4e873e82114cf3c5401", - "sha256:edce2ea7f3dfc981c4ddc97add8a61381d9642dc3273737e756517cc03e84dd6", - "sha256:efdc45ef1afc238db84cb4963aa689c0408912a0239b0721cb172b4016eb31d6", - "sha256:f137c02498f8b935892d5c0172560d7ab54bc45039de8805075e19079c639a9c", - "sha256:f82e347a72f955b7017a39708a3667f106e6ad4d10b25f237396a7115d8ed5fd", - "sha256:fb7c206e01ad85ce57feeaaa0bf784b97fa3cad0d4a5737bc5295785f5c613a1" - ], - "version": "==1.1.0" - }, - "parso": { - "hashes": [ - "sha256:35704a43a3c113cce4de228ddb39aab374b8004f4f2407d070b6a2ca784ce8a2", - "sha256:895c63e93b94ac1e1690f5fdd40b65f07c8171e3e53cbd7793b5b96c0e0a7f24" - ], - "version": "==0.3.1" - }, - "pluggy": { - "hashes": [ - "sha256:447ba94990e8014ee25ec853339faf7b0fc8050cdc3289d4d71f7f410fb90095", - "sha256:bde19360a8ec4dfd8a20dcb811780a30998101f078fc7ded6162f0076f50508f" - ], - "version": "==0.8.0" - }, - "pykoki": { - "git": "git://github.com/systemetric/pykoki", - "ref": "5f19cbc82897507dcdd0fa692ea4217dfd234a72" - }, - "python-jsonrpc-server": { - "hashes": [ - "sha256:533434fa982eb42c36ddb0b6758cef8e6eaf46d014f76b70a401b8790a3e6d57" - ], - "version": "==0.0.2" - }, - "python-language-server": { - "hashes": [ - "sha256:fa9162acb1402b807132d7288b7f521db2bd666d63505d8a4d9464d4b8488c52" - ], - "index": "pypi", - "version": "==0.21.2" - }, - "pytz": { - "hashes": [ - "sha256:31cb35c89bd7d333cd32c5f278fca91b523b0834369e757f4c5641ea252236ca", - "sha256:8e0f8568c118d3077b46be7d654cc8167fa916092e28320cde048e54bfc9f1e6" - ], - "index": "pypi", - "version": "==2018.7" - }, - "rpi.gpio": { - "hashes": [ - "sha256:065b5e3fa0a8873640564040275250a38e41225292b3a1d7c0c24850d2fbbce9" - ], - "index": "pypi", - "version": "==0.6.4" - }, - "six": { - "hashes": [ - "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9", - "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" - ], - "version": "==1.11.0" - }, - "smbus2": { - "hashes": [ - "sha256:b8d943ffe74670be969b5be79f47df0f597e91e8e0df2bc0d57203b1c2cabf2b" - ], - "index": "pypi", - "version": "==0.2.1" - }, - "werkzeug": { - "hashes": [ - "sha256:c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c", - "sha256:d5da73735293558eb1651ee2fddc4d0dedcfa06538b8813a2e20011583c9e49b" - ], - "version": "==0.14.1" - } - }, - "develop": { - "configparser": { - "hashes": [ - "sha256:5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a" - ], - "markers": "python_version < '3.0'", - "version": "==3.5.0" - }, - "enum34": { - "hashes": [ - "sha256:2d81cbbe0e73112bdfe6ef8576f2238f2ba27dd0d55752a776c41d38b7da2850", - "sha256:644837f692e5f550741432dd3f223bbb9852018674981b1664e5dc339387588a", - "sha256:6bd0f6ad48ec2aa117d3d141940d484deccda84d4fcd884f5c3d93c23ecd8c79", - "sha256:8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1" - ], - "index": "pypi", - "version": "==1.1.6" - }, - "flake8": { - "hashes": [ - "sha256:6a35f5b8761f45c5513e3405f110a86bea57982c3b75b766ce7b65217abe1670", - "sha256:c01f8a3963b3571a8e6bd7a4063359aff90749e160778e03817cd9b71c9e07d2" - ], - "index": "pypi", - "version": "==3.6.0" - }, - "flake8-future-import": { - "hashes": [ - "sha256:0c89030fd59912b5f0ac32e55df2461455c1d459e4317df616ce8d3d25646cc0", - "sha256:3e51623208684133bff6c76b3ccc707659e96229e89f6bebd3fface445fa8154" - ], - "index": "pypi", - "version": "==0.4.5" - }, - "mccabe": { - "hashes": [ - "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", - "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" - ], - "version": "==0.6.1" - }, - "pycodestyle": { - "hashes": [ - "sha256:cbc619d09254895b0d12c2c691e237b2e91e9b2ecf5e84c26b35400f93dcfb83", - "sha256:cbfca99bd594a10f674d0cd97a3d802a1fdef635d4361e1a2658de47ed261e3a" - ], - "version": "==2.4.0" - }, - "pyflakes": { - "hashes": [ - "sha256:9a7662ec724d0120012f6e29d6248ae3727d821bba522a0e6b356eff19126a49", - "sha256:f661252913bc1dbe7fcfcbf0af0db3f42ab65aabd1a6ca68fe5d466bace94dae" - ], - "version": "==2.0.0" - } - } -} diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..1a0c994 --- /dev/null +++ b/TODO.md @@ -0,0 +1,38 @@ +# `shepherd-app` + +- [x] control router publishes mqtt messages +- [x] files router files saved via sheep +- [x] upload router for python & zip upload + +# `shepherd-common` + +- [x] fully centralised configuration +- [x] common config and argument parsing + +# `shepherd-mqtt` + +- [x] structured subscriptions +- [x] structured publications +- [ ] unsubscribing? + +# `shepherd-run` + +- [ ] handles events from gpio (start button), impl. further testing +- [x] handles events from mqtt +- [x] sets up hopper for usercode (log + start) +- [x] copies initial image to tmp +- [x] hardware reset, probably via external scripting? +- [x] usercode setup and management +- [x] sending start info to usercode via hopper +- [x] internal usercode state tracking +- [x] dump initial image into hopper + +# `shepherd-ws` + +- [x] handle incoming connections as subscriptions to mqtt topics +- [x] handle removal of websocket connections +- [x] hopper for usercode logs and camera +- [x] usercode log and camera message buffering +- [x] send buffered logs to new websocket clients +- [x] send buffered images to new clients + diff --git a/app.py b/app.py deleted file mode 100755 index f48bbf3..0000000 --- a/app.py +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env python2 -# encoding: utf-8 - - - -from shepherd import app - -if __name__ == "__main__": - from gevent import pywsgi - from geventwebsocket.handler import WebSocketHandler - - server = pywsgi.WSGIServer(('', 80), app, handler_class=WebSocketHandler) - server.serve_forever() - - # app.run() diff --git a/baseline.txt b/baseline.txt deleted file mode 100644 index bc14010..0000000 --- a/baseline.txt +++ /dev/null @@ -1,9818 +0,0 @@ -66be24786a50ca7a701b619e5d9d3247 -4a85c6e11d974933c59e2663f36c61a4 -4a85c6e11d974933c59e2663f36c61a4 -b7086a874ed3047b26b71aee507fdd15 -b7086a874ed3047b26b71aee507fdd15 -970dac58e1fa71a02175e4b407f1c3f6 -1f8e17ad6fa0f54289aeb2069b6fcafe -1f8e17ad6fa0f54289aeb2069b6fcafe -0a49d0917d022920c4f1b86e155b2452 -40971b283c35b6a2a8c61039c629c4d2 -a1557e07219aa41355ca879932b05f1d -29bf15ad3a1c157c80f8a3d5e6fbd26f -29bf15ad3a1c157c80f8a3d5e6fbd26f -4a967f6e38c0d71da5505e37597f737b -24af97fd1f3246eefbf87b2665900c62 -24af97fd1f3246eefbf87b2665900c62 -9cd11a8bdfa73c28281f092ef8b8a49a -59167eb37212103f3423cfc4e4fe0f63 -59167eb37212103f3423cfc4e4fe0f63 -79faed95887d7c49a6f660f82d1dcc94 -e16f84cf33339527eeb65db7bb2c1af0 -e16f84cf33339527eeb65db7bb2c1af0 -7ba24d59d5ebed3f7e4ead3864b151dc -c39c9f5b3083894fb0be00a3f0f2125a -e259c7ce364770a9e26e4c28cb8a8b9f -b55589bf9bb4b8875eb89975dac8b5bd -0bb032fafc63a5e3bcedb05ec25c4790 -a79a0ad6b17855f65a4adcc3f68a3f0d -63aa1f7d35110678a2b78b9291be1a4c -631147305ef9996300335d779694a44e -0088bd4d2b3e1a76edef490ed77a632e -7cc2930c32f4ef60672c3e5e17db0409 -0373fe3069c4d48eeb50b85b587c2dfe -8728ab62cae366ec610db25e9372278b -6e917efc60561419b09510e9044edbc7 -6acc72f8ddae23c4ea5782fda8d829f2 -343254306ad602051c0f547fd641d574 -60575f2720989c1c83a457d28ca319d0 -f6ceab10111803cd74cd6b1b36441740 -594ee2bf5db01e98e877f1e814f726e0 -6711f9ca65b3b87f5515b47f2d5cd776 -7a25e16d2ef71c4da72663102188231e -a6dc7cd22d79202f25ef995893b9521b -656a519bdec76fa3d82483443511d7ad -47cab574c1986a496c175de6a49b0ec2 -003c40a92af7e26442668699d67c17cc -dea94e7439f907beb29ee6fdc0e4fc87 -7d439831d28be1a862ba8eccb76a16d5 -1618c41ee6ce3c328b1d0b6b28c53d72 -e0d4015c33c0d0a88519c7b52ceb162f -c1a690597a3c4bf843551efafa341e68 -b64705007ea1c787bca5db0bed618e44 -030a4f3f82a4ed485847c683a5d0be7f -84869dfb445ba28ef7be3afefa1acf67 -646ad47fe13de02c5717ccb86fc1a263 -030a4f3f82a4ed485847c683a5d0be7f -84869dfb445ba28ef7be3afefa1acf67 -3492d2619051bfdda0222c13ea2dc3cf -bdafb5f4a434764aca14aa79980337be -04c6cb55281a4121f2f4bb54b904c564 -5e25c57ab1c7a400c00ee645797d76ac -260432f79127386ef1eca5ef4fe905c3 -b93ea1fe767fc58479a1234280e6ee54 -e4556fc4b9c8c1bd6da3ef5251e4df0c -646ad47fe13de02c5717ccb86fc1a263 -a979d9fed6ccdcc20405dd219058a53f -935b07c62eac9687a4e45a278466a4b9 -98c99c88bcc35f8a33c290fcfec4f86e -1eb4bb974d1e3eb7f6c940d94572692e -b6ce3f0458936c6fa4963b9a21ac39e6 -53767ed145c6f459d3f790dc1abc83ca -6cd29e8bee57d71ec8f7259519eb590d -4fc75100f8ebce4641f9706bfca2eb46 -fb6166329314a7eadaff6a8857887180 -22f0fbc898b0aa75a5da4068b4e82c10 -befc8c94394e0531e566072f008bab49 -feee2ad0091237791863080c3ff8c29a -8dd1f1a78536673a2cfdea32b531030b -02356349b088058526874fcf51942a47 -be48c1808bdc469e88ba4977561310c8 -4b64b1012e2d7ee15f60aac5ecf6017a -2cfe1bf971e0b6318b232b41201a4d1f -6cbb4fc5bd4eab08398e9dcbb7da7e5f -5cafec3e4f80b434e1cbf712375411bb -58a2c988d0b66d2b6ce93cc8aab95fbc -edca7bea0f34dedd1f730952b71d1c64 -738bf8ea80f2fc74e13e276c74329add -00a2665f63dc9945a987658aa012db5f -6db2a88fda1593206e0eb9beff0002bd -58a2c988d0b66d2b6ce93cc8aab95fbc -666623b4e0b0125071c3f3ef925f7790 -6db2a88fda1593206e0eb9beff0002bd -58a2c988d0b66d2b6ce93cc8aab95fbc -b39d98bb81e38ab3bce2727662a76090 -5eb69f71fbfd7c267ad3ad358d7e336c -b32758773cfb626ca5d445cf865006a9 -e0c1b0eb1c20ae55f37260553c3df038 -a681a0c2c0ba370807b92d5ece1966cc -3b8bd6f8891858c5c3a1a2f46eaeec7b -a32332dc9589452df5467660a057ecc9 -b39d98bb81e38ab3bce2727662a76090 -e327779952187f562971a70f041252ad -91495d79f8736a6c138a8b218e4caea1 -cd1b2235fee41167d9c59cc77e8b9f1f -c3b0267337cdd237ce8c07612863c31a -56bae27bc93adcc6a6ad53eabd37d2b3 -c5ad9bf89986184f9d385adfec129359 -266125c249c9b45885366b3033d2084f -0222ba56917959d1dec40e7906f4f598 -9e2db9cb599cd87f44b8cdd09e2cbcc8 -58a2c988d0b66d2b6ce93cc8aab95fbc -54c9f3f0b52a86391005a6311f758442 -b59f0309195a8a2e7914405baaf220cf -e0c6e1d5ceb93e16dd404a6285113f1e -d3c8dd67380083d59399718a5879ae05 -25aa0a88bcc15faf9cd05e6d53b60ab6 -60e6b8ef7f7547dede79cb060059dd3c -161d839e5f2f6cb8d3125309682cfbf0 -2de55761a84448d485dbc3d229cb4939 -478aac10140cd4fb4cc8d12f5b22d0e1 -34a645fc46b073fa9e5e7df0bc32710b -890e2d06c7056beef7a31674e6e4f050 -afeaf550667beea9ecbd7d2e8d051edf -3e2da1786b55104d26d967431e9c9ef5 -f068c0c725ad386a3a49e1b20b1cbdda -e138f7cb94d29adf56f63aa673e6e380 -4031f3cb68cb694e0c07d65ab7c161b4 -bc8826879ec891014b0bddfc9b989b5d -0f20f8e38febec51717448c3aed65c50 -7fe4513979a73d4ab4db2d2c603db101 -b1cef091695113e3da69a3f234bfa189 -58a2c988d0b66d2b6ce93cc8aab95fbc -f5e482875aa255de32623a361c40a551 -f1722ae1db5ca9d50c8bb324ce283f72 -6dc8cc79b1e2db21ff36e3f324cdb0de -f681fd792d3466e008337f236c8810d6 -5993b8b87b67cfc2507d89ab1262bc5d -41a52d5c9f2df3c7af797dd69816f524 -1763c1791aecfee3ce324a4eba3a84c1 -0f1398dd119dd6fcd49cbc52a7b05004 -4ba23607a893348e170e084917d3970a -73ca4fccf323a10fd9c26aebee766259 -0b4281582b7b622caa70a459c0e005c6 -06184d1e254055c0395bb10ee94a674c -416b9b8db2be0e5d31bd6a706cc03d54 -6fced1c93e1c6e84e0bef0dbbf879b6e -3647ae47510f661db5837aa8927e4d7d -3843cc4bf1d5134d07cd4abc19f465b2 -389197b22459f26ea023e8cafd4f9399 -10e568fbd6529b516c2fa08f485ea81d -8491e7cbbd7f6a2def1d6d94d524cbaa -2a6f0738fa31c6a5d82c72ed768de2a3 -fcf7e6d6df8af660611c14f3b31d45b9 -45571eaf81508b410ea2f7003d411e42 -abdbff75ee289fbd9e245daa3686ef8d -daf3a232ebb1e7469de16c8074db6ab1 -45571eaf81508b410ea2f7003d411e42 -e5e2b3fdc93485c294cdd3565e69f923 -f51b0395fe5fc782d9079c006857c969 -7936da42898c516636e80ab8cfe646eb -dc0c7749b0a222d677342ad45331e186 -efa80876181eab21e8b38ad56303c2c8 -1c6cba64f397b5d23b2c5fe6f5087643 -9985f7cf44fbd8e7eb467e56d5213ff4 -4cea0396a1d0d92c40253ff8d069101d -abdbff75ee289fbd9e245daa3686ef8d -6f3374d69a9d16bac36f6bff77b6cf55 -f9bdcbf493b0b8b0aabaee53a4c08582 -45571eaf81508b410ea2f7003d411e42 -3399c95415cb3208143b0e6219d778df -24d2fd91b67491fd629a40e3364d4802 -fb9f8b8e6cb2e996bf049a88490cc79c -af6206892c81d20e364366a18a555418 -372e64da0a8d819af269b95c8edc9a1b -05c666b66d419f94899ce39947ded7f1 -430b72db579c94808f8e7e74e24d74f4 -b0ba748daaeb8c34d080f46042e83002 -784379b175dad9e6a39211dc9f9bdedd -af3a6b5de1f970c4b9c5a76218c2c5d4 -b2a03fe9f59d71fb77dfd4150badebf5 -a47c7bb8c5a59628b5ae7ae1d6cfcee4 -95c35c377c061b148259278ab3807966 -21eeecb64ac5bb447a7954b2f579c28e -ef29bb0bec8a7496f5475ffa31bdee08 -4c7d12c865fd08e2c477e30eb9f52c7a -1b364f332655290c9fe9e230541e5d31 -1cc96e3ed03305bd3d3a1611564a2de9 -4bcea519a6034c95f6ee8b7da8896112 -b3f09a8ca9be076045ad2f892dbd1fde -be30ac466cfef1ae9293d5226f9e3a70 -65b09629495035392a6a92dff03542d8 -333962b7606461c5574a21c214d25b1b -5fdc613ce707fe8584d9bda5a0709858 -78df2e3f732112fd1955b5c9e19bebce -4c1372dc713a5923548eadc829b551ea -fa0bd931cc62d720f623f02097c7921d -771379084aa511e8bba944f7d07f7d81 -44ece04d3460fcfb705a5a5b56c131d5 -0fb6b2716f2b5fae38ba034e224f414a -8b2c1206ae1778dcc7a7361e126a6ea4 -bf87edaf5c88ce65d881e3a1646e1426 -7326d1f8d20d4aa60f08ea34860ce6a3 -e6f93551eb972ec96d651a57976eeb54 -5e354680eac4f34f3091a62aeaa977a0 -550ef89897af8e22f484d316f40b9c21 -8aec9b0cb6adcfc7daa01d351e81b739 -5e354680eac4f34f3091a62aeaa977a0 -59474c254435d56c394101a40d19f10d -3ba59edd63df2ed262b45cc824b413ca -6ffc322cb5ae36786bf9d0df120aabe4 -416cdd6485f2db1deafda388613834b7 -74086dc7871e50bf4477bc88d3ff66f3 -806ce9289812c757ad6fcdece01314aa -a733e692fb1aee62d8a1b1597b617fb8 -4ee1541e3bf36de7f92ce2b914d3070d -b76ca52d828529928d6a4729468dd0d3 -aaa26593efab0794214884a89f14ef6d -32ca87d4fe0cc77bd9b9a9db585a941a -3d9a9a61e133eef8dc711d9c3050487d -dc9e1fb2ce029d5e7149388de0c8d534 -367f32d13a6882b74488805cf8f27210 -0873a0d2196782e0f1ed240436d10d6f -3e889b18a9c8e5b1bae72163b8488d17 -e547401683c9a420e34192eeea0f2fb6 -d5d07346b145b3447e588035af84d7a9 -d18157587ed5e2327ba6855df7d92a7b -2d332659e4aa878ade2d5621f3b1caeb -315be287b3e54ccf339de0fd748d66cf -81f2f277957df696ce197bbbd7ae43f8 -f267791c7b86587d352c8497c0e99b7d -7dd5011420bb8cd18cc704851ace0ee7 -27d97d594c0f6484d1d9c086d8946e5b -f913bec9ff0b91eaa1440eff5b35a62b -f77baec5531e71b043684c2e72b5c381 -2740bb22f0086ff33315a943bc9256fc -9a504e85ca4a43dd16e3213e604e2cd9 -02fd484c29abe45d21dddebf0b2ff609 -8a46d3d9ecbecd3875f649250f5ba0ad -d826c3b00ff451c9a8b1574a467e5dac -b0b2b703a9885996c2f1f155cd1c0ccd -586c4951591b89d7f5de5456100659d2 -79e783b8bdc8b0bb3263aaf2746c20d0 -98c90669d04717d8824f63b3862f991a -5ca42818c2dde6300c6a95436c8f1e24 -0f10d71689c264e8b2e807ff73e6e4c5 -d27696be394287df065f2eb530644183 -3090e3b45c8873f3eeabef835f3cb7ed -93921f2a5e9ceb72bd30195b8a58f215 -3cfba2e7ef540048555042cda51e5fa6 -315228460696234b43747b3b6f214db1 -b7c6b6b7373aeeaea44f4d84bd3ef75c -5fee67702711247fd8becc0e5cfb47f4 -6ce402ab72dc2dc1af209f8b4b8f4ffc -7735831a42b88dbdf907b8e76630f2b2 -c92bb4082f48b6d7d8a2b40b10decf66 -5d608080a5828b532d97f0c43778bed9 -4d1c7719b90543dc6e480b936e1a855d -f21fd7a0b91ac750c89e33010e64fc01 -156cd352a943310625fda669a78ee97e -ca3fc6f87788e442b10793fa29acf640 -987eac416c8de582a0c25da637bf2fcc -ef2a6194faee13701abe90c98cb7fade -2b1b10eaa41a70e8ec5bcb9d899fb0be -e388de2016c47997d29cbc24c6cd10cf -77cfa3d00f71d584a2bca25bdec6820d -91724bd27bddb3df21b40c48aad90791 -d0592cdbc358efc7a486a3b329c2af15 -0f0d04b7e929713f16346cf91bb6ec2d -0791f9ed4ca12a8fe5b2300ce3ea8f99 -9b0bdff22a4beff58700e81405193bee -8a36e0ac38a872bc73e20e6c7a6b9de7 -9272800fc5f0d33d6a70f4ebc2273201 -6d24ac7e1ed55dac470fef71dfa5ce39 -24aca7164dac274c8da71170ffdeb908 -634044d61c177e0d81ea0d8602c38964 -06b2351eca0a453e3dc22c62b9a1a408 -fcbcff64e367e7366d4c20719602d2f6 -ca71382a7ab5c21aa51d515c520d776e -d826c3b00ff451c9a8b1574a467e5dac -0a060e35aa4d8ca5424747bc40811ffe -c1a918c4deb9cfde868a2542d5ac756a -aea3c9c471d73cfe5a7622c615f6eaf0 -745a0e066483f09f0daf44328eb43cff -d826c3b00ff451c9a8b1574a467e5dac -a32f170556d20fc7d6a20121b43366f7 -fa413cba3030d710f7c7a7036ced0b3b -9fc07ae66c6c10a33bfbb3b7aa947022 -9a881a098d7925c15f6062c2fac95a2f -205e729cad1ebfa59e53dba1e2748f04 -539882f7df7f20f01d05407b53c40432 -639a82311ed0da96372bc1d54e1ff1d3 -8c04bf27ef29b2898ab7e3373252eb79 -ab3075d3678e686fc53ba80ae187a99b -979085742692c83ddc1e739bd68dc5f5 -b7fb9810aa7ddbcada39aa355e622732 -92857e5d577ef01efdf995cc7c467349 -658617a42344c6406217dd03c2a57858 -bf0d3ca89c09330f7ba529a9ae58587f -082474e9602615053e55d32d1c46ec88 -f13f097f6070055b27a1162c4d2920b6 -925f273562811f58a8c6d1b4f34135c8 -9c4875d0e43926d40e6740037c387456 -c92c2919a9ad33beca1ab2b3ef5a2965 -c94e9a8f61652e6e65cd2c59ad5466fa -962d8e3793a02cefd08960878c6a756a -d6d9d6eb79d5434984d20b1b1878fc3f -2031e6be328f1331e0f4596e87600e46 -0a985e99899087a2f1b26153f7337ec4 -9e249b91d401d3ed1eb896d24a584668 -292c65f1b7882d06283a461bbce7a70d -ca5cb62151fee202cf67e5179081abdc -1b057897a8dd2edfb14a66f2d377f2dc -6ce918c85ed081ef740a1c43bcfc586a -982185e5406cbc589c74ae89c25ecc04 -3681f3fadbb606a4685d36be5202f9e3 -ddb8c78e5eb424febb2ccc41b372e1a2 -1401f98d312fca05846ba0efc006303f -ddb8c78e5eb424febb2ccc41b372e1a2 -394b955a6232a8d01f8f5c9d029f7fe7 -5f0793059db4b2f118f5734eaa038090 -cbe53be1e78f47bb25c34c9d17676f4c -4b3a30d664baabda2f379bb6a3b1a163 -4721570d8763f427b8d120dbc30f1784 -df94b43fde2c7deb96511ce73d1aefa0 -d6ee6163024329707aa620a3da4728d2 -5b06bd6cba3664cee05cb6c921139b04 -94ec1810d72eabc3672d58aaaa953b06 -5e05968d5d43d087e6b8e94189ea92b7 -7728760b1dc585fe1569aeefb171c9fe -7728760b1dc585fe1569aeefb171c9fe -6e74848ea6bbb152fcd7decb777fe1e9 -2042c16d0564e39588f4c566e88d83d4 -13c535604465318f68b13e8a44c5bf53 -6a043c1c1fa07a9c655dcc14cc5072d6 -d437a6ab22b9e0c471acc58f060641ae -d437a6ab22b9e0c471acc58f060641ae -22379ace731d783956fd7df217f82af0 -22379ace731d783956fd7df217f82af0 -88b785b726f657a9fb58b6b23eda4def -5c861e0c9fa46b2a4770ea00060089ac -5c861e0c9fa46b2a4770ea00060089ac -540628f1a4969c5c81d931c6deead955 -be04e1cb461fd76195c9e278d8c02e0f -2c4f7c17328d6c24de71eb62432f906a -33bd5201c88cb9d777f6a8bdd0ff2e0f -2ef0831463b3d748cbf02beedd617dd4 -9131b317d84ad10cd04b7573ecac15b8 -f25cdcfa7056fe3e7925425b39afcf5e -c8325ec149676606ab59b716a84c2071 -47b7775d30a9712ae98ac8ecbd434d28 -373d1b91d9b394736942612ab73e63d4 -f25cdcfa7056fe3e7925425b39afcf5e -0351de6a9480cb977ad30ec10bbd3dbf -a03948e779082629bdcf432816834cc3 -a05cb11cf70d31e74bdb0a1b25cf948d -a09eb33836d0dd413403be6f2d4e3c9b -0ec24e48beb4a424da9c7d592783444e -5fa12dc121b7605e8bd1978ff0f617ca -ca22d3e2ad92a5a0f320897364395d89 -4260822ba3c711de14dde81e00ebc17b -0ff7331da805d86cc061216f9b75d23f -b890472a766c3863d616a82a099f1054 -8c80529c710568a5a0845832420390ca -0351de6a9480cb977ad30ec10bbd3dbf -14fe784a863448bed31f422798ec4f95 -0351de6a9480cb977ad30ec10bbd3dbf -95c8d0c26d7b1967f8f8ff738f2ce404 -b0ff445e30b21c52b2ba4082b8c1e3df -22a4d1f5631245d53fd6dc10cf70fb38 -ef25bf4c281144be21fb8b1ba03cb502 -5764b1803fa14220e3b0eaeff6f9cf44 -aac6c20cd01619b3c22d73fd19c2002d -59a092177f9d0749620080c1b333298f -96de8ffcf516e46299a064ea3c2e2c0c -17b5c80b95a77223d36ce86354a67a56 -e49d68eb5b19930785a854e2d684aca4 -0223c0b70da01b055823a82219b75a68 -69971e502bd819622ce998cf29541d15 -9fb0b461c2823f1201b491367b711acf -9074d71437ba88dcb3436e1d60307476 -35512643dde5d6f7709e895e151b4dfc -e5312d7ad53240000d3af34841fe0c4d -89cf63169040b5931be23228976ebc8a -f48ad8a3fbdf46aeeb34fe74a81a24e1 -f42dae2b7a3b1c4225ab063cefc7d90b -698d37b46d240f77f56054591c808b94 -2de913b2f0dbc1086932b477ad6f6e06 -bda5d068417887e090091477eca4745f -b2fdc1d0050c94f7381cd5d99e213e4d -b06689abfa5bb588e0f1f187c5bb235f -76c5cabaa9c7869fd5e0e9da51d769b1 -d41e77457bc86b84ad47028d27323ebb -e6f270555635b3e567b4b00e397566b0 -0855bd874425713a105e461c55df79e5 -b681daa74116b86d380201892733ee0a -69a90515b910c019812fad6686dfd6b8 -6d23c744844045d9b3504834b3910602 -e13a81af8d63e252ce94672270b4b42b -85b040c075f246e2a43274c1c7226d6b -2f725a8c0412d2ba833646523bd1595a -dff7ef21a0735ee05d2f3ac39d751cc7 -6a29962fb777b6a85798ec6446ca752c -23835f76a7928f4c90e678341349425b -0de69332b5abe0d39163a8ca9f21b2b4 -23835f76a7928f4c90e678341349425b -23835f76a7928f4c90e678341349425b -0de69332b5abe0d39163a8ca9f21b2b4 -06ea6f42c1444400c4985670c961642f -69145276ac71425523a5b9dc129228bc -2c22b5c10216b8d88b8c18a2ebcf7cc9 -30ddc55c5817207c885f2595995676a4 -e265c386416d4966bf43de588c9bf1c1 -ed42315322a7003eb8e70134445ac664 -7ce6849af6a7caac96f48521a86382eb -473e3ea2ae4515e0d88f5ad12c135971 -ae9c799193ccd3b8c7e6f315df58092b -d69360407336e78aecf99ce9f390df50 -3e506e4fe54772a11a88a073b4e95b95 -4410fcbbed27dc2e2496dba49aff4f20 -506a2beadd83ef1b3f5bc0c8c3213ad5 -ffa2cf80aa9cf7823c6b4b6b3db94443 -1d75d792dafbe9c2d63077acdd14d1f3 -9d5f7a78847e2c335121d6afe83c3fc2 -ce207e6bf677ae9a68548a9c631cd806 -1c5ab05dc237bc27483819f5295e6d1b -8fb2cb963ec4975bdae1deb234133efd -a6c0ea7bdf62a2c711de4c48502592e4 -69618f66664ed6a621b5eb37b38f3861 -14a5e570ce6f164c8e63b06b653329ca -91273a58c82263c11b7a83d69a284013 -b1ff32904ca0bde1fa8baa8ca462036a -9bbd4462c23c4944ffc06e7a1a98ae11 -24b69c95bbc24fe1d63577bbedcb1a1d -9c1c45f7407b745392be02ff77f3d346 -6b421f117217734045eef4186b255b77 -6b421f117217734045eef4186b255b77 -dbf88926fa7aede67baedaca5041d014 -e323ab39f36a2f6c51b8ca91fff56edf -4a08d374c93abe2177ce5fda4cd00365 -c061e5dde03ae2c4aa8d09e41c6d9fdf -c4fa15a912a4585ecd491e91700bb125 -d62e03503cf240e737fe598277e6c2c5 -a61e86465fc293d6d80b22bac38fff33 -811918209fa6e9562de79a7a53a2d3d2 -6f1c5c70eff58c4f94fef13d4f13d483 -24c1e7f67845c9620d1107e63c7b0641 -fc636be615f40cd4830571485180a146 -15f65a5d1d32a4e3d7890e9cf7df7a44 -5fbdcdbb52a110687536f6da489f3683 -014b999fd9dc030bbeb5a4128bf80ef5 -04720ce0ee7e6efc25440c8497c6becf -c9fd1750738ec3646c43904ee8c3992a -4f4236d60f6ea355535c252c5b663494 -715b30e84120cc48f0efe7297b8978d7 -506372af96dcc6704b42b4d336085b47 -f0773559a6ab9a6bf4b8b0abf51cf2c2 -dc74e80af3ee4e21659fb19d914167f6 -2f5aae4a7f46b8796f54bbb2de098d43 -f51d7117faa571fe2ebec05ab78bd76b -557b5676b91ac1f034ea748fed8acecb -e79cb449729035711264626322af6915 -4f55bb2c90875796d4c00ce24ce9926c -5ba6956a0deb70034825c5e9750a38df -555b832516c20cee7a18afd5f571f663 -817caf4f094b24f854e7c38f6b12de7e -cf873cfb216deabd7bb8e0de5c984d35 -ae81168491eedeb975835217f35f9c33 -9d61d0718e77d0552c0cf855f3224fe9 -16987662286a1463e9c34f9b9195056e -53d0f117711e6392cb5e444076315c6d -bb5cb1f907c369b59c46790e40795946 -9bad74eccadec7261459f747a0ad3836 -8e35bd8bd1d423c4b0182be954d69732 -6e7444756fc5e8b31d34d29ebaa84be6 -6c318ffea1975038c16799b93ca3d55e -2a0341417cb0dbbb7283a701ed65f576 -9f9ccfc2a450e0785c848b315b57ffda -8e35bd8bd1d423c4b0182be954d69732 -bff0008e477b5189abee7a41fac3fbf6 -8a70a3c1193b81a51f647fb0698a3734 -66cb2a03d0a97eb4a60eebbc795a34b3 -c7dd8f8a53881f41308018a4e521ea6d -1012122452ada231f9b4855d602376e9 -db8fc9bfd64f3f280e2a08714b11d4e6 -99176b5ad099c3ec4b6fafc32e047913 -3d6b54373b519087fb1f5ed91cb7448c -fe98a080cdad0589fe1e6f7925277d13 -ff6ccd54c6d9f4e6736f7cd0cf406171 -ba2899709dc6af79643519f989b64010 -8e35bd8bd1d423c4b0182be954d69732 -cbdc52fd5ceb09d10e417dd678c66cc8 -8010bfe501f3f5eef3d037576e1e6e15 -bed8e7689f72446faada3c176c708456 -c71c1939b253a771c1e296e0ddf2df77 -0ab6e7243f2e45d738627c08d176aa16 -ccdbc9d580f6a8bc51d281923a4f02c3 -4c978c39d782c54b771f757ef0d39ea7 -81972cecabb091aad23051ac0ff12b86 -fb8a6e1fb36205ca99613327005b14cb -9912f63f50cc862ad33e7d12c59fe5d6 -ed17b07bd7569004a84741bdc085dc25 -d894a5cfc288aa87a95e8ad94175a578 -b6bc4a09762fcfd0352022d0765ac0fc -9590dc9e47f6ef09b2084059490fbdfa -88106a90a3c5ba49d7aee5d6d2cfe38e -b7698ea83d262d8ad5923f2b7e48f4f5 -522e0d2b4d8b4cec6263554326677b50 -6bfea326ceb93975b6a89977b90535e4 -0aa2105be42bc671d8dd9c7008c47c78 -8e35bd8bd1d423c4b0182be954d69732 -d670ac1a5bc5ef672682b9b93874339d -0070e3327cd50f86c218e619ea4afe0a -7ce49e0fe13b32150416c33f1efb16e6 -13c2b59b43e36739728a075827709712 -47c987b4f7dadc7a2e3398b1806b41d4 -7f99cd137a18f3dde2c288799e3351c5 -a463c1ea289697077ba4e5ef6b68186e -a1f247b8fcb69225a64751e7edc6079c -d843f2dae3cb83bde78288eadbc3047c -3880e3064b64cf3050ff7f1b57adf785 -2cc723863bb45fde65d987618106f237 -7cff6ed7a948c08302cd78e610cc979d -a61e86465fc293d6d80b22bac38fff33 -92b898e44b34a3b92a50e21ac6530d90 -67465ee510b4fe038c4c277f9b5c72b8 -d43a5365fc001b49e39268e061c83e16 -3397b8d5e84bf368672fd576c69abd66 -523b28f1ac7750da54fa3e1a0395327b -6f5861d7e29e2f7e068ab340aeea14bd -f4702aabe23cc6633976209c23d3865b -f782776f8554b360cd712099823350d1 -ded4921bc8507a9a1fe6bd9eab9f1dbe -f782776f8554b360cd712099823350d1 -c4056310668786acb09477f5294247d3 -4d0c337ba04869ade501fb993d26b27f -637c167a300eecfc6432259ea639a147 -94156ffd93018d58bdc381ec7118bdb2 -2c1b156e4178058d5f3bf0892205b232 -5337500134392541ca9f2c2f7a201d33 -a09503f5ab03bc99cfc7d453006027d9 -15ceae8727a3d9a991b4a9d510934db8 -3d9d6631fee9b784748366d8ea0ba70e -31d3d069aee89cca93a0572102c2432f -733ca51b61b5dcc64399e53fe4097437 -f1e55b056e994c151cb298b2e592f38c -8a70a3c1193b81a51f647fb0698a3734 -db8fc9bfd64f3f280e2a08714b11d4e6 -8e35bd8bd1d423c4b0182be954d69732 -3323410d5861f1f919054aeb8316aee3 -8a70a3c1193b81a51f647fb0698a3734 -d6e39df3ca05cea38b722ad3dc569725 -428f25c747026082e9bc75a7f239f6a9 -6aaec7e00c75182f7a58c854c021ffdc -db8fc9bfd64f3f280e2a08714b11d4e6 -211ffe37124752bc8105eb7c2841454f -7a9ae41d0222084bd1ed2601d98fbfd9 -8a06f685de2da034c90b7295ee3edf67 -32fa2fe694d0ac17ea4d86ea67932d1c -400669edbd61188885a571c6ee9ffe88 -e242ae64218560a21bf8d18896c68362 -9387a3cb3368e1a897d63a1728972653 -cba3128ef41e87cbbae98074d677943b -36dde9567ccfc9efcffaadbd5c4f4b67 -42440810cbea513df61b55d6d302d016 -d33275097d6bebd585677c168c300edd -3dcc084ce334ead658d20ab550708485 -f40e4a927307e90e40963993505a5176 -e12d02607660a1ac3b0a9405db345e44 -3a0eadfdd703555642e597cef7b616b1 -8a70a3c1193b81a51f647fb0698a3734 -c7316a362f39d78895736adf9acd879a -7e76cf4c585d45677d98ad2ad6aeb706 -4e243f083fc26a4f21178666a7fda7e6 -2bc72a9ef1e53568deb5e11cce4d9880 -a9562c727d00789672d295f341b69f60 -7727024eecf5d1e9cfb53c7c2ac6ac5f -ae0f249fd4839603b7af296eeee6fa24 -d1cb2d8b299671f03ea161cf76395c66 -b35f762a0f0a611bafe5aa1beabaca84 -41f1c2675d65e96b71a882df32b62658 -bd40d4a08f61ac214d793bfa0254f872 -6b33fb0a9c5afe25767a53463dcf1ac6 -c7316a362f39d78895736adf9acd879a -708943dfe95663bd69b1a769cff9986c -2486e6dabe6981225cb3497ae033782c -bc26f4f092e950c2977371190704b86b -0e46504839ef77de7bacafe6235e09e0 -bea3bb1c77af1d40753744033b7aec41 -809967d0e9038d16eaac66d799bc23e5 -78d22dff10b7e0015403fa655de6a612 -809967d0e9038d16eaac66d799bc23e5 -8a43eb20a34ee9fe0cd5c5323772eb2e -8f322558059b0f17b5dfd19f4e62987a -6c1959eab0012459d92c87d0e55feb39 -0ccb1ad0f8634cfd10af152856b9eaba -186db86d5a27c9e822455dec2cfb2e6a -a61e86465fc293d6d80b22bac38fff33 -3fc476bb4b09700246c5cae3fc9b39cb -a61e86465fc293d6d80b22bac38fff33 -a970ee2a9238b60d1b8884096a56003c -efa63db11734c309b9a8091885d947e9 -e7f816a320aff65a07db29e7c05a9034 -278f8995896ffdaf46ec5aecce790e10 -edbbf6cd2a78815f80ae58868a3e9bac -53aaf24521d2a1793d144df012c39055 -d670320dae200d86eb31f24aaaef5bff -8e35bd8bd1d423c4b0182be954d69732 -41d9f60b2bf1bc3a04c747e3eb3303c5 -4224b0f0e0fa5b680509afdf546949ae -fc00fbcdbcf92d04d79b39fd9d071cc5 -7bf170f9fd9316e0613c8b3222908a07 -ef1285a93de5d4cad06811857fa901ab -4c62bf9c92f64833a70bdc1bdd0462f9 -ad50e82b659fbfca6fab2cec343eba57 -8a24bad7e1eb02757d310f062dc4b0b4 -df60133fbbca86ea80be0478bbc4e88e -291b5d6e34c4c7f5b45a1b225fade548 -6971d04942815ee3fe1a72c9769aeae9 -0f2b75797ce5b5a04b1b6032e4f265c6 -601ce049e75add41e71d0f0a0716303f -68fe262e65da9401f247c08231787be2 -1c2ed24cfd63198898ef5bc51d7a093c -8e35bd8bd1d423c4b0182be954d69732 -71ebae9c6b385dc32df250a9bea9db28 -3ed2368cad1b83366427728611882d2b -4cf6038bdcb3cd30cad38dad91f06382 -8e35bd8bd1d423c4b0182be954d69732 -a1c98c415b355b6cc58338e9e8ba2a5d -94bd995f25c62b1473727646048de1ff -90d3dcb573bca7c07bcb6f4e21fafc66 -18f62e7c6aba6d1f21aae503fb55e952 -38fdf0f5d9c34c53a8bdc238af501cfa -64cc87696bbeefde4480a5575f839ac0 -c5a2bc4722c8eda6201b1d55decb3363 -b1eedc171a86d7f4708e465945693415 -320bd2fb2b393dade03c9fcc51899827 -b873d9e67458ba336d92aaa7c4820241 -89fb4937ec959eedbfb1b51f1002d3f2 -37de4120e47b37f7cd35e13ee4f3542a -513022556daadae07e0875077e8faea0 -4a30d618787597982d93531e9463a8cf -8a70a3c1193b81a51f647fb0698a3734 -d3f2153fae046508e5f7ac7b6c446d32 -1f4a014454bbd14c0014da86982dbee4 -9d66d95a7ef8bd5a8f001798c4ba5ae8 -7383f33925c79dcb9516f59453a355a1 -c69df1115ef90701fcdc23dc4b876bba -0e193b595f00cb8b4a667f45c57f18b6 -8a70a3c1193b81a51f647fb0698a3734 -db8fc9bfd64f3f280e2a08714b11d4e6 -a5638a80244b3f7d9acedb284c7a51b0 -8d7141055337722b442a5494387654b1 -13fc166915853ce2b96072c50196a9ac -8e35bd8bd1d423c4b0182be954d69732 -5a4f722bcaac427c9695d4221167b323 -13a62187b5c9acec7890d10c9745bd60 -4b9a443562c0c326aeb8eade12d2e39a -8e35bd8bd1d423c4b0182be954d69732 -0d4409ae6ee4b550b238f37e68141d6b -6f382fac32b134a3627e03d72522cb8f -5e1674ec7750dfd5c7381ce8c19fec89 -6f382fac32b134a3627e03d72522cb8f -00fa6dd5314fa6c9340aa0c8dc3be8f0 -8e35bd8bd1d423c4b0182be954d69732 -eb92cd71bd72f07682ca8cfdd6479bbf -00fa6dd5314fa6c9340aa0c8dc3be8f0 -8e35bd8bd1d423c4b0182be954d69732 -692971a55c3b0374a5c02371805129df -59912dc34063922df7a9318b3f716842 -8e35bd8bd1d423c4b0182be954d69732 -d2652880970c7e520d9a294217518a3a -8e35bd8bd1d423c4b0182be954d69732 -d3b74f8e1989020615374f13df56d37b -cd2119650117fee81343a2e704b860fe -cce521a7e0a73da709e5867539f505e0 -7f01b93791be0bee3ceeda2c9e8888b2 -cebb06b969fef060e66beb71db6fde58 -21bf3bd7324c95948ed6d148baaf1c7f -03682168cca135f190bbbf7e1a6bb163 -83bf5247e3803959a770676859a0cb5d -de7914eb8f440aa19bfb5897f48b8641 -292a2b73b75ccea1f8f704ef90f3e574 -d1611fcc921febff3f3877b74aeba0d3 -1b61f4d1f4209ef842a6d2969d5a5fea -0266d67e9655dd09c776d86bf290f952 -0c3dbe4dd3e05074de42aa1a17aef595 -f599ff51d8f937b79826794b8005d3b2 -3fc9090d16e75f544478572b20772b2d -fd0bdbf0359eecc1c847951167634534 -2d319fee20f4e377d74e4c9f11ed90dc -0ce4603f05e789593c332bcabd89e761 -428f25c747026082e9bc75a7f239f6a9 -a9a601ec1574407475f3ede37b801be3 -75af969d2fc0b3fcefbd1ac2cfc9ee4b -bbc4387b645add5fa23f0c608549a98e -8a70a3c1193b81a51f647fb0698a3734 -7e01fa1eec6f1cd59dc071f9b9733fe8 -bdbd150108a794b8d7bfb7cf991fb9a9 -df5d0bda23c4bca9abf08257d8f8ccfe -e114f7f5bbb1972c2b734072bc3a0ae6 -1012122452ada231f9b4855d602376e9 -c9f24708b2284ad45ab514b03e7b35d1 -edbbf6cd2a78815f80ae58868a3e9bac -53aaf24521d2a1793d144df012c39055 -d670320dae200d86eb31f24aaaef5bff -8e35bd8bd1d423c4b0182be954d69732 -adb825a591bfb836758cd515d87e69ff -a93a036ea60370b90c09d690f1e8bc38 -7ffd5074a0719b399df4597b187d88e4 -ea8bc5ec999dd0c8664eb841ab4bf696 -1f9fb91bf2adb29e234f0033b6323fc6 -ec56012eecbc15a03f26692e1d584c8f -3289a12ae210777d149c299c46d145fe -7a2631593665569ff9d47a1fac786f7d -d11976a1873bd92abb4e8e5c43ac9856 -c24440df6e71ba2ba3db54b60199022e -22ea17dee8206438f1e86fa9b9179e51 -d05b9d048b6f9b3dfd8d818b68255a84 -54af3ce439e9943858946a0e6f45ebca -dbc51d83dd5237ebe473fbdc681fc6d5 -0ead3360dc6c01386cbf8d9a213bbba0 -3a5f81fa5d5d931708433756acaaa94a -b78b24c869542ec4ebe6898acb108f0c -a323a15fa94fa2fadcb373a6dc53c9c7 -d9844a32026fe48e218bd57c2b930fd0 -3b0f54ec94d98ea37b03a219747d9d73 -3289a12ae210777d149c299c46d145fe -02fb57d6f0b3eb8b99c6f5a8c97d9fa3 -9388ef6cbc0ef01d7f887f0e566282a9 -73b5efb6752d1e483019e6ef353c93dc -3a5f81fa5d5d931708433756acaaa94a -b78b24c869542ec4ebe6898acb108f0c -3b0f54ec94d98ea37b03a219747d9d73 -c43c1c7fe40e5d4b3c7b0223a5de730d -3a5f81fa5d5d931708433756acaaa94a -b78b24c869542ec4ebe6898acb108f0c -3b0f54ec94d98ea37b03a219747d9d73 -3289a12ae210777d149c299c46d145fe -c24440df6e71ba2ba3db54b60199022e -e7b219e531d0131302cbb581ded7723e -182f151e8a1a7e7b131536d61085665d -e21c75deafd4f5ff3bbe7ec7fd69593c -3f9f3b779f5bbd2a58aaca4b20280277 -8ace312dd12fae78d08088dccb622bb6 -a06a140039cd02ba98900b479022fa03 -a3213fa8480674bc56b8fbc16d04fb5f -5fc56584c549dbd35364c3fcf56a5b14 -f9cf2897c2aef80d470aed40fb438747 -1725ece7e59a4c48ecba7362cab6f842 -8e35bd8bd1d423c4b0182be954d69732 -8fe8817a784dd0f0cb5246302168d934 -e4b5edb0ce0e21b8b00f5eaa27d150f3 -00aeab5dc6432b72de7971fc88be74e4 -16fc319ebb5afbbb89932fa6a224fe96 -7cca9d838c6efeac21658c19ad57c57e -13a76f7a425a65e16e430181fe1e83e8 -34e8321b976f70946a15076184bf2162 -55fb3a47d33616dad3925809a5cf623d -f453c61b22b2053cda500e2e96d50ed7 -12e23ca1172ea6834ac13eae84a77075 -802b21f87c21661e1052994483d93a5a -5c19e4fc068b9bd64f6561ec0044b304 -3f736ae737119133a0084a94f4bb2962 -fb3dfea6fbfa38115e895807592730dd -a6b38ca7ba4aa9ebdff3296aac927f57 -aa1aa528f416ea76b06a0eac1326819c -802b21f87c21661e1052994483d93a5a -5c19e4fc068b9bd64f6561ec0044b304 -3f9f3b779f5bbd2a58aaca4b20280277 -3e36ca47f02179a142f81a78f7e504fc -17aecca37e23aafdbd6964d09225b1fc -c24440df6e71ba2ba3db54b60199022e -80402c6479871cd5a85832869ae963ab -5acca285e37b6777d8b845081faa67fa -72a7c49803cd4abde16f17e79643af5b -af12573ba1a5222ca9ad002e4d8343aa -3796992687e359b9c4bab31792b3b11d -6657ff44d33b296b8d0d823cde8abf67 -01fec09e4f9eb7ee624ff8cb00fee7da -17aecca37e23aafdbd6964d09225b1fc -8f0ce8b56057bc5df2aa786191e19332 -1c66ba0098b541854feb7dde59600f6b -1dcd0ad03dff22d1a91219c5d5e67e68 -bec2d26fc008e4a936a9d35b1d6704c7 -4965299a4211828aaadc6b2cb1d8affb -80ea8f0de2459ca7847cdd3eeea643d1 -5c19e4fc068b9bd64f6561ec0044b304 -c7dbde180cb3525d02726110ee815b5e -13a5a45eb3007aaf21441d3f1cc4832b -3f3cf041f3b0eaf0e22a53f249896759 -9b58592276970f506a0aaaf066eb4b15 -9ed32495063db242f05ee6c1c396c86e -80ea8f0de2459ca7847cdd3eeea643d1 -5c19e4fc068b9bd64f6561ec0044b304 -c7dbde180cb3525d02726110ee815b5e -c6d6f504380cf10aad2a30c2cf92ddf4 -6f9786ad08d3c03fd3d66b2e88970641 -839c5635d3a4c7248641e4f8f8275e07 -80ea8f0de2459ca7847cdd3eeea643d1 -5c19e4fc068b9bd64f6561ec0044b304 -c7dbde180cb3525d02726110ee815b5e -3e5f0e18962c2f6e26c825b6f62dc35b -8107e4595fc4f358172bb8eeeaf1629a -d8586bcceb3ef57a1a466bf591743a96 -9af13eabdfbadd16988c2946b7a2ca12 -70311f8c300e57eaf3e0da0325fe9f0e -4074b63fa3ed12def2f6881ad8b4a10d -1ba6d2dd54a7fe2a67daed25c41b4e3c -085a0603c229100063106ece5227cc09 -fab995fc4e26d58275cd5c311f871e8c -26244199797b05bff728b59689101341 -c897fc99018586ad8729cec0e6b9f425 -a09434ec2318d6f3b37772d12e6cd6db -9ea114c3c50140fb0dc9f0b1a252da6d -791e8054a11723d419ac934c8c47865f -d6974c3e26c3fc0a36a213219e7a8643 -07b13c06c3f07a4b014295a84c776a29 -7f60e6a63779e2002bab98c9fc443dca -1fc9e4cd68db11a29e3729011fc97cf4 -15ceae8727a3d9a991b4a9d510934db8 -95b64600ae3a59412be694e5b0cb8499 -fdd37a82b1f65cc7b80b4a87a2627462 -15ceae8727a3d9a991b4a9d510934db8 -728870df30ed7416f43ed576b6600815 -a2a12fb0bd1cfb24585a22ef64baec9d -7e9d7208435a735e251d5b645aa2caeb -0e037317a778c85b6b40c39eb623c470 -1f50b67c43fbfbfbaffb22080fd22fd4 -4d04302de3e0cbe7911db461e2d2f467 -17aecca37e23aafdbd6964d09225b1fc -42f39b5b2ad0179f74d82a5ce0446d96 -41907d539da480feecdedf3cde8f5e97 -477cd0239bb5a2f41a93559348ba90df -aaa0e6f96d12e84158b2a608b5aaaf12 -1005fe9fe3878b9cedb5c7138ae7f013 -447ed7502c115b34779e5b4f2ef01407 -477cd0239bb5a2f41a93559348ba90df -3017d33ec2500516819716dd370b3dc7 -7299d1431ceca5a6c97743d9ef2f42fe -2e11de64e0ef05cd085b8a938d87d7e8 -3017d33ec2500516819716dd370b3dc7 -e1653eca4809abbfe89f2a73b3e664e6 -3017d33ec2500516819716dd370b3dc7 -3017d33ec2500516819716dd370b3dc7 -3017d33ec2500516819716dd370b3dc7 -e1653eca4809abbfe89f2a73b3e664e6 -4bb28893faf4f0655198a9983a4f34e0 -71becbb0994200926e59eb549b6d9f84 -2cf62c4fca5c2301adc91eb950517d2b -67a5d9a1808e1382b8791345624e5b27 -e7dcd69c34a333378f37c0cdf1dba487 -99b251a0104d6ee5d403c54f51ea4df7 -59dec033ad0d574c5e44e5efca8e1a8f -5d445166aa604209f5336d36c4236e4d -99b251a0104d6ee5d403c54f51ea4df7 -bee384f3a06cec93e550905ffea92866 -e85077e4477c5891de412f6c3f5f1b04 -3e704dbb845f029ab4778156f2d1d008 -e21cd89e45e37e84464428a45b51c536 -415fe72b64c28e126fa4f9cc625b4037 -e772d26fd1a3b9ebe9143665eb873340 -76a7f8565a8c964b4d07dace85dd4f84 -94a130720e7bd55af8c53717f8d9fa01 -15292eab5b66f3bb9c07fe876615e57e -e85077e4477c5891de412f6c3f5f1b04 -48882d540c17e3b7cf11e37f8dc2f6d0 -201b919f7045007486c72c4708753f68 -c66c33ef2d1d8c11a1fd62d30fe60023 -e7dcd69c34a333378f37c0cdf1dba487 -1e8bcc6499b9bfaaf7cfd888e3559255 -743d62160e9e5ae73922a6caa887a210 -99b251a0104d6ee5d403c54f51ea4df7 -8a70a3c1193b81a51f647fb0698a3734 -6aaec7e00c75182f7a58c854c021ffdc -f7279eb18f8b8c2f455d73616823006c -b4592b39f8acda39de61fa4186b1d19d -aae17f7350338f9746357a877096b559 -15b5a21ea7c689b66c43764fbae223ee -5d445166aa604209f5336d36c4236e4d -73cc48d5eacbd0a9aa8b5b6bf390c504 -b767136cbe4a1f889664da3ea046470a -383b7802d7dd0710188dd8c3825fd3ff -415fe72b64c28e126fa4f9cc625b4037 -3e8babb1864a94643c1712d6459228a0 -fd2526f9f1e71366090be0463bb789c8 -461bb86792b5481d338ecf54b28fa71a -3c44449165173f40b21919dc8fd8d06b -48882d540c17e3b7cf11e37f8dc2f6d0 -201b919f7045007486c72c4708753f68 -73e3fc7ad804469f9894377720e2fa1a -d217b293fec9bc591ddcffb2b9e7f0da -7f9a08d2afdc7b16eefe72f6ce74d3a2 -5e47d3fc4453b22921cdbe13707d18ee -371db1014ca75ded68cace0df7088e5f -a2a12fb0bd1cfb24585a22ef64baec9d -23b07fff526a004c6aba5eebdde6567e -7177d1c64c959ce38a8c6b83e205d9ee -00701be606baff6d0529f4ff64e6a73b -73e3fc7ad804469f9894377720e2fa1a -e5259dc5a071c958f060af33803b8491 -0bb5a240d752cf65e34eb2e8d2801634 -7f9a08d2afdc7b16eefe72f6ce74d3a2 -3f9f3b779f5bbd2a58aaca4b20280277 -3e36ca47f02179a142f81a78f7e504fc -04f9df52466423548983cb87d9bdeb54 -17aecca37e23aafdbd6964d09225b1fc -9f587ed19792899185bc07e11510ab86 -8e35bd8bd1d423c4b0182be954d69732 -d5e34a226169f950d5b0009dd4498700 -73c4f83acbec8fbacfe25e087d4b12a7 -c24440df6e71ba2ba3db54b60199022e -ed55d3f080b89d9b73cdc00b6298f2a3 -14d6b58400486ed6012d39de6a38b354 -040f5af6ece9cb482b5d02bc184faac8 -be7500f28671addf8b1e019d3eb832a0 -8e35bd8bd1d423c4b0182be954d69732 -1759f85fae722a97ea7ff97b146b2fed -e1f2672146dd8269e3a27d03994934b3 -0adc1faecd23c17cdd956ced14189ff4 -055d3f28e91af0407bdf7076cea7dd3b -1446775c6950d8780686d5ef326ec467 -93d182895d1167a1145eb6b9af50987a -8743c4a92d87cb3829a95d5013a01ef1 -7f966562d8d0e5cd5df958ae779d5145 -8e35bd8bd1d423c4b0182be954d69732 -8dbeb9ca18865b84b6265f655bf20032 -6883d484aabf7a294e1f8c3d67228681 -311747e7b607f0be7f29de4922dbda3d -b7e892994c4a72854bbbeefe8c7e35c9 -53a08f9d1c484aa6ee4aafc4f5afa461 -04e70425ae0d858de75670ceb33816ce -ca780a14c05cad1384122ba9d0b4463b -1ca6b25fbc4b63b405b3f7472b14c5ce -b0af4ff39d8246cd3509fa26690d85e7 -5e4aa7fa36afd00143d5a2ff149e8a31 -7b6cbb85368158509f2b1a6513a7ccf4 -27cfa51cc6690a220fdb2f54f6c4806d -951f7b8c22c6fe7d280475ba18b15f4f -158d28a004c19edcd72818e87cca3b03 -292e6ec873c2f1152f7c8f030b03497b -6c18921acf1709d66972a92c4a7e920d -2d2b588337348712bb264cdc79132b83 -dc52ae12a43ce43ea1c18b4f9832480e -93dd1f1856ab3692d2ea3b62b7e7e011 -ac458b4a6ae7d675c88b890cc583ab7d -8e35bd8bd1d423c4b0182be954d69732 -c1d5d0e1a52c899255d2ccb550900c50 -d058efcee26e952851dd6b21495941d6 -af2555753f3ab2096524c7540a96913a -a45d759d4adce67d54a053f7ff5f99d7 -291667df47f85c6b110d0b68c018eaac -a00fe6199eb328ec64c87e5056c08cf0 -5c83881eda7f8e993beedc77b5fdc724 -8e35bd8bd1d423c4b0182be954d69732 -fec73ffb6cc4562a3c5f0be74367423d -eefb4baa8f85411baece20ed14539bfa -14f9b023f90889e17471d3ad716f46f7 -c24440df6e71ba2ba3db54b60199022e -04e70425ae0d858de75670ceb33816ce -8e35bd8bd1d423c4b0182be954d69732 -52d5bcf505dd09d4f0ac1994f270f6de -82e1bec1ec01c5483b7ede933ff5a96d -04e70425ae0d858de75670ceb33816ce -a0a53163497d4776516602feff46a28a -df49ab0dfcd25eff1378f9e07a237180 -de688a4d8b70fbeb793d9d4656321ecf -e152dc1dbfb84202ca9664e6d21d4170 -48c239ab918d8a6d6cc9e6df2cfa883e -7422e8249703efb7cf90cb1e866599a5 -7c3ee0839c62e90a2cf7df29e6789d26 -c2821cbf0abab4ef21d6dfb60642cb96 -49b6d6dc77912e307638415f57a71a66 -0d8ff497f64deb24ae8eff5b6d04e408 -43baffd1dab7cc9ec49bd7cd7a1a933e -0f615c6b4904c7abc85fe1bf83e214ad -c24440df6e71ba2ba3db54b60199022e -fb5ea1f3aed9799590dc5247e5030104 -901ba683aa54f62f60c1207b48a12854 -8e35bd8bd1d423c4b0182be954d69732 -23d9a8f005a8aebb3d10550ccd44d0e5 -e0129036129d6924451bcfc100d3b388 -941f0ac5ba76ccb2664a8e34a7ca1187 -d108939fe6c30672badd765acc956c4a -19e4445dd76000b9b15fcb4dd7759062 -f95fcf1e441081743a9c89420775b102 -8d343d07d1003e55de5e289ccf400219 -719569bf4b16285feced7cca55e7099b -aa605f966dfe4c1a0bd383e244a02111 -9ace7be4380644b0f5608619d6af6b28 -941f0ac5ba76ccb2664a8e34a7ca1187 -96b92762be7d6ba1a8e20f6b290d3c10 -995230b3a4ea67efe57b7fdd6812c24e -77f339d687b45894173c9fdad98ab2ec -9864131305052e7b0f64527355d4db22 -3289a12ae210777d149c299c46d145fe -c24440df6e71ba2ba3db54b60199022e -b9e27f751a57ccde1d1ed9f70fa56b42 -57dc10a558d23fbee485976dbd452038 -c24440df6e71ba2ba3db54b60199022e -0c4cd151138b8861b796f16d56eec908 -fcc0248d0be56e5cbad3dfde0afdede4 -4d010c11f4dbfb83f57b546e6e0943b2 -6babeac2ba5cdd16fd9451ca4ba49d49 -c7f6be061c7be9e4dfd534558555a22b -d4c62dd5997d4edfe09458fac62724a6 -e143cb650661e27e935bbc6c75fa11a6 -b98dd3ae2f9e2900fafc1b121cc1156b -221c3cd7eeb1361493e461321ad11375 -e60de804001a4e84b71b95fb94c2566e -b3fcd2ee03bb4f0fa23d204042e7fdae -3bff1813a3c0dda3f984526760edc6d2 -a64f0a72ca40e857882553d570a3944d -fef8eee2c9cf20cc090d6c7c91f35734 -cd041e0e69a47fdae8513def918fddfd -70dac5b622ed9fd74a4aeae659a11373 -8758ea105eb1702d61bf39f662e11ee7 -58a3f3158ab38546aa555d317e67f845 -88dca273a765746d838ff640506a1b2a -3289a12ae210777d149c299c46d145fe -c133d927b59451c7f1f5290e793c8bb9 -6140edcb882b02c35cf6dfec49a2ddc0 -1529490838283407d3a855bd840a3393 -a32c80cebbd609b2ab3a08da7438d9a7 -c271134bf5e2dbe80b99f355f15feedd -57d60b492bc8acfe2389880a89a81f10 -be3bb731c2fa3fe37b8618adab15604d -00bafbb2890782c56aafaab36838a203 -6dad4f4d434ae153e666165b687948fd -fb15e47dfc5260144a0403a5fb139881 -bf19c64fd5ef2a2be0ee35c162e70d27 -ea933664c09da9fccf28807105acb5f5 -037b40bd526262416486691f1237d3d4 -e21b15eb95c553b6b692434cb09e570d -cf3b6c7076dfbffa8f18000ded252775 -c24440df6e71ba2ba3db54b60199022e -9a01ceafbff982c0d39320fb2152f095 -c74b130d9fc051b75c814bd410da4981 -3cfa1ab0900265f14c31c4da09831319 -c5a9aa9624206f3c20160869e4cc723b -40a9fc382830111dc22e94114d35e7d7 -1ab74ead031a02fd50dd6fbdd192b955 -4d2983a66f65cc0fa2db53cad321c0e1 -ba4b409bb54c5b236f1fa659be37d26b -d9aa8887313044d7e89d9124382e1048 -7ac7c2a749f33881354b5c93e5eb32df -18cd3758bba2c3ab0fe91bba5a8f9af9 -1fa24312af4364072f49604fa79d0f56 -b4ca6563d3f03050d702865c57ce8147 -26319750afaf767cedd76f17ebf3886f -b4e9a13649bb8fd16ddbe20ae03bed68 -d535e2bce4d57017a561658755e737b3 -62c634cfad3f6bd58d7fd9f95ac6af2c -4cc32c82ae40d27b1214843f637f5a8e -6c10642463386999816b5eb788c5d168 -554131a54fd8401bee511cd04a3f89bd -ec93e04b0ae0b0078623c14c39ef06c7 -12b7055e052bb485b5d26851edcc4280 -fe4e08c1afd1fbeadee2a847dda1b0d1 -0580a40bdb51a694ecefe87947123fd8 -3e1a89b8fad38856e3a24dbc8f6231a0 -9969a11ec1b375417218cea610e5372c -126d4c24e4e45af563835d16105e7197 -0bbaf370fb068e433551f9e931cff4bb -9b8201427d8495bf603e93e120c74fd2 -4cc32c82ae40d27b1214843f637f5a8e -538096794687f59425b6938cffce9644 -d053044bde12006261123c4162f4ca77 -550fef7cd55b107550bb53f96c8815c9 -3039561bdd0d8e57fd5a0bd38edd68e7 -037cef035af7d9cc3ccce2ce77d97374 -6e4ab0310e96c79bcf7b9daf5cfbec74 -b4d6899419ee7aedf6ece583e1fc82eb -fa5109df3173762ee9b7f3c428eb28d0 -e4b1707252459bc003841b342b08ac66 -60b9ab90929e69fa9d0f94d255d8cec8 -2e6203c7e0b11fb4fa03c682e9af59ef -c17dee9b0cc1a7b14e0dbca780d5cd84 -31ae4ffc4eb6145a2bf149b61da918fd -4dd36c0932d6a2ed1340fb785a94adc4 -0f27dd847b6c8a0be883087633b3b748 -4babbea809bcdd419753dbd9ea1700a8 -169fa7301e7c9d857bd4fc3e822a684c -4fcb7a42c58a35a1f9d56a90d8f813cc -52d549e8e7253a2b0a7285dad20ded68 -53cad64b499ea766748ef31e58b263b8 -bffcb0368822bfd60209c8e3faf441cf -69f36278401b09c4f066d07c569e5126 -323eab18b5b878221150c74a85619d94 -5da880f69ec665f3115d8d7f5b2482a8 -e105199249186e565965e687b9f5224b -754826978dc692717ba02745f24bb8b2 -16fc319ebb5afbbb89932fa6a224fe96 -c24440df6e71ba2ba3db54b60199022e -3b82224bf86a5362a3ffdd0c2b82160f -b3054b34bbfce64a49cadac86256a4a0 -ebbd0b5b2568c3faaade010cd4be1da1 -52933e126084bdd10d656e09c6730466 -a497dffa718ccf3885339f0e4556bdf0 -73c2a26d5cca5b662e7d4a12a5defb97 -ad6ee08dac6b7c2b9e20051e7123d5b5 -2feb197dbab3013db716e5b2874deb3b -927126892af3ae3b09994dcdd7de4a9f -02f6bded5cfb9faf11c05c50bcc0b511 -7a301dd1db2ea84466a96ee72f99ec7e -69b890ce0242ac20866e15459e963e02 -b80f1298043c71d83eac9824ba10fff1 -774692284071d61c4915c676865f28c0 -7b82c59f1ac1ecd7794475ff016f3b25 -48aef16b4339e7270163dc542bb57620 -a9ecee6416b347bc4c917d8d6640fea8 -6dc893475f5f49ea85911d2d46fae474 -1f833efb9db322e9398830f9fdef9f7f -75aade785cb8d3c8624d78a70bb4b791 -ae3754a9e2744c043d87ebec06b30083 -140cc55794f7c3c2e335b33ce06c040a -5f1f01e016169cb135627628124815c0 -8e35bd8bd1d423c4b0182be954d69732 -8a70a3c1193b81a51f647fb0698a3734 -db8fc9bfd64f3f280e2a08714b11d4e6 -77e9ad320d2271594088cba4689fa353 -fd13f2328339ae449e18092f0d15c594 -f7094037017f74bccb5e36f0a01d111e -21909267e41b93fc09e21199b0f800a5 -038e7990b4e13858e242b812d488eb21 -80ea8f0de2459ca7847cdd3eeea643d1 -852150053b39190f43ec5055717805a8 -df30dc28bbea03d28eb5ce6da878339c -bc7b7f1e6d06f0f34a22e4fa38be702a -cdc5ca78af79585b246f5f112ad2a5ba -0bfb0a32d94cb1eea7a96a000bd1464e -b7a85c61cce6c9a4aedf75607a02216a -0ec9e734f1919f3f50d8f8e2de636067 -97bee327a71f275d008c76a28f3e07c7 -28422fdd4a99f1510e229e06d2721869 -50b6544f50f0a1b3eca0824661461927 -8484a197431df5cadeb28a74042fa1cc -9086402b158ebd1490767135c9e4bb78 -e46c7f293f8463ef62b4ae647db9b360 -73e3fc7ad804469f9894377720e2fa1a -73e3fc7ad804469f9894377720e2fa1a -73e3fc7ad804469f9894377720e2fa1a -73e3fc7ad804469f9894377720e2fa1a -73e3fc7ad804469f9894377720e2fa1a -602b93d59a8217e9fc4c13c5b97eac7b -b70670e7974af0113405372b9a375357 -a3e58105cbac404bb4268595ac3c2136 -3beb1fd3546bdc41a345e8704d77891c -ae609644ff76f15a015d58c16ba84576 -cfda7e23530f39122cdc2f55b5b84e40 -36af4498be9146ddaca8709f03b3d606 -b96564768d8acc23114392c702c0b9f2 -04ee19c731863f90e465de5139662d62 -5fb7e5bbe43b2579de3dba83c596185f -d5ef5933b54c7e21c885b6a02f53bfdf -d54230d59ad1b86a3bf8a773a9439a97 -841564810fb850d43ce34f0aef1bb076 -5334eea7e4cf53aca580c54aac12238b -7e19792843d8171a06bc99c0737799e0 -6689665a5b1fec37f1c4b9611f45244a -6f7f215aff58faa4fa0b8c0f76c026d2 -307be463241104aa550ab9b093fd88d7 -3aebdd20a4b222c976960e106f3fb6f3 -69c34c8a388f1700b5dc831ceb760660 -a361288007477ef931ba74a5cf6e1817 -2079a0ef85be57b7b13daa7beafcdc3a -4e5866148a472f74b75c5d8601aae689 -296513e3e77f873483e249b49feecc33 -4816c490c7402f9c8fb0263ec4347992 -9dcdd884caa3c7ac1017dd2164396f38 -6a50fc4ec3065582602d31d3a0642e1e -81899c585cde82f8384a3f89485c5fc7 -7494ce0a00e6d6344aecbe221eb09340 -20415de8ee7f21c846a9ccd0a601b631 -49a5430dfa9063d22d04320aaed9c28b -4d98111d296486089679132e0c093e20 -85d9162b607a8e07ddac21392575a25e -9fddee3df4ccd560997149f7d03f6ef0 -ac0ab5e1b0cdb9decf28e3f2305b8fd5 -e4a6e1c7637c77c04e786deaaf40983e -bbe82be2497266c041d522fb19d95f4e -54a36133de486e93d4f292af4bb03107 -2b17d90ab9071008fb64e59b656736b6 -069d629b72ce3f40c730312029bc47fc -357fa4e6ae532bec68f64597b47294ba -027ca133d15cf9990ec8aecf6435adb8 -cb87d0d94c57eeacfac143b1a91c289d -5f9d70b665b1d8230cc77aa46ec52600 -6c55a109f9f56d013393913aa85674df -c03fc4f9f07ddcd3f16ad2eacef3b56f -ba869818258ce1988bceb9926103d4ba -bd1c688fb8ac9a2952ed43ea99efb0b8 -b5c3d95110dafbed342e972230a27f16 -6701daaacbe6899588ccb120aa2f75f7 -cde5d3dbc506488804d12107683db64b -47aa3f381832f7e26908452c93f16585 -b00f977a5cac2e94c5db8845f5393762 -77d36d6648d3b415fe77d03c6a698e8c -75f1ec81ca8cc00d5f09243347d8a51d -ff441b20abd0575845c059d18374f3ee -5519bc266750979f80ab7a82d0b6ed0e -7b3a5ea54b64e23f416f1e5a073d2b08 -15aa4c88e59a71fc002aae7e2e5c52f7 -b3b97ec60aea63d08902f587ccfd44de -b3b97ec60aea63d08902f587ccfd44de -ad5293e4b5b3cfcb2d7d69feacdc9daf -744b8ac607a13e66fdbd991d147bc7c3 -f1ac0d7b83bf55232cf02e2950790d85 -8268a28b8a7e0c2761cd8bb8b12c1f46 -6e8887fec629f3be1fc9c052cf02b9c8 -a5ed9efd26b4f6b88f27486d1d8ffab3 -cbed67942f78847f617505889bf2e144 -491d1dc83b6bd35cd20b493541e6ccf4 -3bb7883bf437a91843cbe4176cb1bd9a -a2943a4c4b3e19ba4e6da789a4559934 -59b40cd335baec91b74df42113062f0a -e7f304ad642e6ef5753a00fd12483538 -bf70054943e412fd976803d78466cdb9 -6bb12063669309a50b5550c0efd1e2bf -507fd8118c3afb62497c7ad872c8a4d9 -f773b9595507fe04b6f61873869675c0 -08d38b41a519a2db4c82fa4f842beebe -ae874e5e81d22c619045a09048521752 -9feea1f6ea468a8cd10f9430d5436247 -946252ccaf002375c38615958b0174c4 -3a955aaa9ec5a3c62e474e24be7b0348 -41f36740bc209d7589dedc04c8185e3d -d6ef01b8c3587f5397baf23c43f23f9b -f038ecc6679cb013562f05899d783433 -a7b51c0a57108e68f287224bdd5be3f0 -d6ef01b8c3587f5397baf23c43f23f9b -1b80cc573e168e80452e003ebe138f8d -f87e84ac52544ee6a0d2cb81d92aeb04 -71f66aa1a6c14abb472500d228d108a2 -f4028fe905e99f594cd22967ff65ffc2 -71192b02af6e3ebb8c054c6d85ced6ca -7d292b29882d48d4f06a828b5ead5766 -7d327d85f04c90df0ec9cd07f3865549 -e8e0243092148befb9078ea9d29efd20 -c8193b0a54ca78e8c94b95d484499dad -83e1087f4e435ba98e016e6901fb774a -1bbeda2655579ba3ff8a42eb1c7d4ed0 -755c44a264789cffbbf6e3080fe5c329 -d181a178cc7d540558f68e5feea2fc65 -add9ed0e85625c66ca945e60fd4212d1 -a08b7d142676fac9eb8f3bc0e2cdc382 -1f5a426772bc539ff541fb49e161a3ff -66796e8061dd18de37f9a9d2bf7088ec -a0208f6e0836adcedabccea1389546c6 -f5f938e4cf169591edb0a3f49a01c0b0 -84c2f177e348d4e838d75c80c9078616 -1443f3f3f02b7fa66d96999d5a244742 -a2f8a3db2fad5bc5abf13052a12d26ca -2a2fc48b3c23a7ad2895f815db6db331 -a0208f6e0836adcedabccea1389546c6 -8c308e69fd495c6fd3e1ae19e17aacfc -4303bb9edbbd3c0298c5f537119b30da -c88aee7ef28657783c09584d50551b65 -762590a7dda7c8264c3d70aba66d8eb4 -b102b0842ccedc8ad1920e5426052059 -c8a5428702e2aa349d7ac9be1c65dc2a -e3fdd56e5971903530c7aac65c50159a -ff828aad454f68bcf63edd743b703a1d -93f0c8c04af94bab6a62618b836f729a -3d98ef84d6d1063e45a0c44406e0bc6e -348967bfb68c41ef72af2014830c50f2 -dc8dab983327cb3124db8c878c89d4bd -dbc60836bb6031ef6e61998630db5692 -f9db898c6c314e1429b0b01821cdf7fd -8ccefe61c2c1ae09817bcd4663a38016 -93158465cdc687c29b74fe6112d8474a -eeaba871422108aff25329a1016ae5d3 -3e8d9da55105f5b1bb0b3eb327da8d05 -99816e1f879b9f41ba356b5cebe3f3d7 -615f305e6b19cd9aa7a2389fc792964b -c09871bfaca0fd080f3c7d78cb6e7107 -4ab7461a07ee4c112d5ba6957995dd8a -c5c1e8f09cd84d794c5016a5f058dcad -56bfb1a54058023eddabecfafff95f72 -afcbc0bb57c9fe28cb78b8822f1a4587 -2d9a7af79d409ff618a207f487a6931d -500876340216cf1b7cb8b2a023b3361f -9e2aca9c630e0f9922d9930d6aca92d0 -82f045cf7d4f420083dbd1585f46f758 -172a2f3db2ecac1131ed74c35efced90 -a0208f6e0836adcedabccea1389546c6 -5a6610c399975f08cc750b8f7c0e63d3 -51b6fa2a8dbb8046b89059c0b236ad0e -8a59a67091ace824b2bbd40f9384cff8 -45e4016efaa48f36482c65c05584ae11 -20fc0f8cac110fb10f02ef38a6015788 -76d4c9de1125e49bc87b5cea0e398fec -24ad1837017281fde6a5959ea82bf6a9 -db14f0be8956554be1e3ed1209e23e79 -0b3a205cd5a936fba28192d892c75205 -c68f53a1e251f009741d848d59bcfe2e -a9033fb36fec25591c95b75209155f23 -76d4c9de1125e49bc87b5cea0e398fec -24ad1837017281fde6a5959ea82bf6a9 -01b930e9cdee979cf4feae4c2e445263 -4a0fce8701de95fdd962b93f217c774c -80e46456065662f51b204a6b7772f2f3 -5b7f3c2600ac18ea0ab1d693dd124674 -90028815bedfbeb87dc32b238a2e5140 -29e1d20b1c6cf8a1f7379ef8bb4da5bd -287d2a4c1e2124d7fe3e97067ba9aed2 -ecfd351bfee1d98088a32f2f5126a7f2 -8fa8a82db73ff11b620d612e4c7aab18 -3f71723e97f506ff787224b4d725cb69 -74b5362932893e5aced4d90e9c7d127b -5ded4305de2d1d06d134f84e0f617183 -7e3d6e4f30aee0b4f04bf36502d5ec47 -d56d2b835296bc64fc4edbcfc15b6e62 -e2fd943f07996bfccedf3d14976d3cfb -bcc4462f30fe40d5d1d5e3c772abcf69 -37586d49e6df806b261a6847e7d4bdb4 -5545c64c55c3a9d27ed95e32140f9b48 -9f58f4f9786a31a4f4c5b11b1144f922 -e3d4aed6825131babbf5ff4970641069 -827dcf985ea810370e55cb49c405ed53 -a5834484eaa8002cc9463d9cb0f8fe21 -fb1f85139f6a670911257c1a70e8389f -01a5b066e92df1d7c6aa3e3028b0fc0c -ed02700821e96fe59ec6fbdda4c67e50 -31bfc3c39cd79395fdcef2e86ae2d261 -d1b3b750f2a6177dc953172e6e730964 -141703c5486f4b1f4f9516165aacacab -8f8a644dd9b31a415e171db4aa911183 -9f83c6ae65946a33a4d23836434bbb42 -fc4bbb3c68aa0533d6c5086ec2e884e1 -2dec5b65715339fbb4730261054cc89f -3b89ee7763a2e8ef4edc251564e47d40 -5a900db809958a8d844e825bc6c14688 -2ae63f035a241efb39c7c32adbb469aa -ea50b5ddc1b796fdf756aaf24ae7d053 -f8994bdc196a8c18798637eb66a34b92 -644304d50b7a81749624b02488a02018 -c6e5976fd57cb6c6117a0a613e126944 -937420f8c7bb71482611c15f2a3a65a9 -3926ef33d1cedb641d93e636aeb8d592 -0b956c6446a52f8d119ffc9c97929004 -5aca7c90759b6cffa0f35a3ba84f35fa -2ae63f035a241efb39c7c32adbb469aa -0b956c6446a52f8d119ffc9c97929004 -5aca7c90759b6cffa0f35a3ba84f35fa -84f11f2d486b1c99a55183b2909cd21b -96c007bc55d9388f92d69ceed48372ad -c0c505ecc00bcb30f943210ba77b97bc -0f97bfbc1991f7772bad6a1799194811 -e07c9864f948a971225f3ce48bf633ad -cbbc2f82db96e6a1397f7cd495117782 -f9d41873351d5c3d5c11283cd5ba914e -3dcca6af331a27e7c6bd3809a63964a9 -4fb398c11256060e6c25a0e0ead8b67a -57ae15c3b541eaae00ef4af7c0e7b742 -b7a72537a66c11fe0bc5e9a6972cb8d7 -077e79012db5f69eee1d765647495091 -5941268b87052757391ad9133e2b3a21 -62d616364062e0174efeed7667993e40 -0b265a13a179ba78f5400b8014a25913 -5643ee3ae7de3fb478cf391b09879fb0 -4fb398c11256060e6c25a0e0ead8b67a -57ae15c3b541eaae00ef4af7c0e7b742 -41cd1b012797865e274d891d2d62a257 -077e79012db5f69eee1d765647495091 -4c4cde3222df105ac8ec74b95e11d249 -e3a326f9c3a9a80d815464024af66729 -a2d94b1b7a43419e73af18201ca5d83f -aac260c88ae2c2ca5459e5649a931b8e -f17995cfbfda2bb746025f25dbd0793c -40ceef2f89177b621f43e04ee91df1d8 -3a8baaf47e52761427ab9f495b1b3c3c -679057743aacca7c7947ff32435fb232 -ad853dbc5648f840ef6311456a89236c -f6b7daf65c9117ce2340216bc08a7838 -bb5c44e255d2f046222092761da9d871 -3f50afb6ec8fb215119954d95b342d3c -a0ba21c49113b67e1c99aed61b9e0a71 -f2324442f25ee22098a877a762fe8e25 -fc95256df0eafd7e8c562ef12488407d -d99fb7e0b20b5d564fc17339963475f0 -4a997c7ee2905b44b67a45a9390416cb -553b4e80183ff15c54bd33ac6ab42627 -647d0a4ac34bd2404858d5e7efc647b5 -0e72b867db52a1cf16716a7c5517242d -671376e10ff215694ba0921a25872541 -76998d670b8a1f4cafd38d55aecd98c1 -f747a97703e0135a57a349febb11c699 -1ce474ac02bb1fef3449ad8bf89711f6 -3c5758baad3a7b2954e7508f6817e754 -e1d183a1da246eb327c4e95f90631c67 -bfbb1c9c8909db869d28ce3c5c8ab911 -7e096ec818b85264cac86bca2cdf575f -4daceb8bebaede39f7d93c4918ba4e36 -6f380b6c8efb22622a262fafdf8093f7 -0a95d6c0e852c4c88272aea04e6c21fe -a9ff2c84171e0d55b7de5c59aff19f0f -6da5595dc59cb225d31df5d351c3dabc -07364d02ff12a5c503a90f93b653ca21 -deb6a3f1b2db4719d5ffacbf660efa6d -e01bdcfa959a9425db406620801c16e1 -460384e3fff347ca6a0fb2da8c57fc5f -4706216a060009f7a38cb05022c9153b -ccabf2f3b763a3706323507c4b76450b -fb720aefe4fb3fa238d0ee746a437ef3 -63b75627fe780b732fb94a793522de3d -a0208f6e0836adcedabccea1389546c6 -8858bb4b9c9b72caeaf7b4c14925a55a -a84b761790de141aba9e5469fe2f81cb -a0208f6e0836adcedabccea1389546c6 -f32f22375dcdfe3f96706d748d6a249c -f2760dbd7c7d8b5ec4667e7ee4a695b4 -4888009791319f630233f6948c8fe0ea -3735c57a54a8380bce886b8bf67e9c3f -5faf810d4b7abf5c3f2e5dd5b0af52b4 -2827a5e1e8c99335818194556ab76c54 -e644011df387ee2c43389d5b5067f3d9 -8d4c0994b43a4fccabb16877672e161d -b51a8b070e38aacc2ab53469e565816d -b3589673f970f3071edfe9a291690404 -a7f2d0ba4b62481974c6396e0810a2c6 -3488a50748902ce0033db32a1e0cd189 -a0bff5e33d03720996fd36cc80d2758e -715d286b7354cbd1adc1b097bd655de6 -d3ffeac13a26fc4b694f678318d12837 -9496503ec7d4d52570a565d228d56c5f -07fffcc44a66969c93e6aae15b10b970 -44d4685adc54fa7a2d8fe8b0d2ef3480 -e00c1a02645128dd98231a2848157b5b -687fcd87f21d2f365e25ea0737baf5ae -0354b5efacf600590ad08d363fd365b6 -e8aa3e2174355d11ca5ec34f6b82d178 -8ec822b4604f2350d42a3fdb13a52b61 -5d73127e9773b88b298d394453bc87a0 -b697897ef25025a7ade6cf9971192ecc -9e59e5796a21b26d13c38c8cdf356771 -3adf28ab5f34431b57e88e1df5191e44 -a0208f6e0836adcedabccea1389546c6 -ea63a4ed44e30a0b895c47568bd2a3db -d6304fb6e45c7cc2ff08182282f3bc01 -e4cb00c9780267977829ac3a42d9162c -857e6905b5b6acef15e7ecf9166c7c82 -7c9c5e0f9e1c2f41c1f71056ca96f097 -a82a853b856636719867762728d41c5f -a0208f6e0836adcedabccea1389546c6 -9632e4104a9181257483aa68902c4b1b -2dfa8be2ffcd9c761781dcfebd53c043 -0d6b2cec72fc4e589c45e758cbba487a -1e2795ef408752063b83ffccdce63a6c -7ee90ac309e70f4c59b3fa270a954c46 -43d3496e56e84289b73285968d3ee345 -370531c0a3d2d0e0a85a43bef574de02 -4e4bd8b5a3e736de05e562ec345219e8 -20bf727a6de9f0e101da40f49ff74d07 -ef7cf5d0916dc7c7d9cddba95e55dd39 -4791ddc66da4225fd9f55a34fb30db6a -aaed41115a7b11c6f6ce3265449d69a9 -a105cf4949abebcddc74676d7791a7e6 -e9c8da6b001747415fe8595c7b4770c3 -80e341f4d9eab4f0bde7c29c269358bd -ea644642a42c5702fa0096cf1c790698 -6694393837d4287ee10d25bae25e670b -9266a7c63b2554f82b846a26b1689a10 -36364060c3e0f659b68045e6f42b4f87 -8c5bcb89fde58cff5d8c294c46b32701 -f3260be23bb6bce793d5de1a094775c6 -978c41983417573d297b4d80e41d94b3 -764aa88e6192219d200128f32fe41453 -96d22ff28ec23cc4fa164e3f921fdc64 -074f90c89a87ad85606af624cf70a6b6 -c1cfbb46ef6b27a1f98dfeff48db6393 -71aa0ccc03857f3c7e0433ed1606516d -b3109db57a9569f03ce4778d4f872177 -ba14735d4c6f97e1dfc905acb31785d1 -7ec83af1300a7ba6576877eaeaaf0901 -5c14776dbe644aac4df5fe515a5be0d1 -268881e4802c921edab63f5bb511a374 -100d8df86ccb251a9cc20e8df6016bac -723f0edb1c1f74ac1ab3a42b8a96d0fa -2ec2a3babd0f6981145572af43bcfbdc -0e3756a07f64362e480103b436d041e5 -b09f389fe08b0782efd911947dba5ee4 -782782074166c2bd6728f2104975c55f -89e0488a1dbcaa722bd77da550b9bb52 -6fe3dd898b0a7ae623ddee132e3f982b -47721121a606b686c0d5341451955ad3 -287711823a6e6c80bb8aaeb74bb0c9fc -b6aff8ef2a7e86e37f0528b1e848b62c -69edc434c70eddf75e4652ef62f15f0b -e0d8ee253c0c9311155e7841ce70dd28 -d42e893ae75d45a0ec46a0fd69bbc9c8 -b2c71b607c0bb657fb7a8847ff4f0672 -e95e97aca0c0328f3cff72ca56fd7d7a -ca7b0d227dcfadb8bd3fa04c464153c3 -057d00e085a3dc201374f6f39ec6d7a3 -433cd0a682163264c566ccf35c673813 -d75df399d8ef3678e64589ea0c169710 -49fc5380bb47c4c1aaa24ff040c12dd6 -9b593cbaaad4666e26bcc7cfceb40c64 -d7820d18b8d1124032aaad36b83388da -fb759bd9183b1c9585475f0dfd2c9533 -3bea796871f96d9b30f0817e7dab9b07 -8768d85e58e9b8c8078cfcda60905a50 -ac8f4ebeae8f6742a7f2eebc6b2779fe -97325a77d8d4dd0f02bdbe5993855e87 -1f3fe1156ada64f9530651796236c13a -ba5818456bfc9f3181853bc7b0aa367a -322a12431ba541f55af02b544bc6042c -6b8fc7406ae7df8a8a24c9ff1dfe0eba -457847ca912d73b3ff2a718053f8e116 -9cf484906a50c6f49e0195aae2a49f93 -2e8a7beb8589e50816ab45daac43cce2 -631ee363debe9012240da54353daae6f -65b0628b8f20cb03d6d00ec52f0f1a04 -a6cdfa963ba7d48e4d03f3f446dd25db -616297e86f40f6343c64145561eb1127 -292c704fc7dfa47f7daae5ac894c1a55 -1212311549dee36dabeb823f81a5427e -7c3077647e9dea4b21b01f0c170e3d06 -0357736c79808b27e1d9609d547c7d87 -6be0333cf4e198a574cbd90554475586 -4d79507f6926bde64892aa0789c035ff -54ede8e1a879be6075ee9fa7c2c6b41e -1741bd7f83a101afcf847f514be7a2ad -aa730fc4ac1b0291c0c21a9544f0ba6d -370b381d72bf4f92cef16bf58a27ab00 -80b7a35deab0908e2cc91ab84e1e9f22 -460e1f188a16dbfc4be3be87026638c7 -264605b5750431c6f1d60b6a21a847fd -3979e61c2ad1c6a950068f79e4ed20e9 -133cb5d7037e42e1365c88d54b467d69 -dfaa1f6b2aa32794fc22fb7257eab590 -8adcfcab28a2ba5489276d99b8867c9e -15b7f83750f4f2df9b2bb51e69e6c07e -1c32ea8705b6c23c9f25cd86c5da49f8 -f12f681b0188464671179329c78e7bdb -53f2ed66ff96e6c4cad4d322fcf3a6cb -e3f43c8c2947a32f2b3125ec6bf8cab7 -a26185b1f7d905165bf3d96d2a7c46fc -ccdc244b217b084ed230ff5a49b39113 -96d3b92f562ddde4dc027ae65cb707a2 -5faf5d5645f7bf47d409119d8f8aef1b -535117253eded5e84a4676122c16d494 -a5141ce9c803c262a97e2d3113509453 -b538c6226a90a4f539606f4fe1943c3e -1d8cd42f9cb62270e61bfeca73d681cf -e0b5122299c34c8aacfab3111cec152f -e93bb8ce6f432fcd39d79a4d7a73f5e7 -0855ea40249ad15092b55fe89cd7003b -020a6158be78ceaa31382d3aa3d289d6 -e0f8d689957dc90cbacba80f03e55f1c -0be87a191d2e4fb2517316cee2438fb1 -4ea402551cd74f81336b835a9f051d43 -0a8c37f6b916a71b08c9b5ada7563d4c -cffc66384da2db5b72afed77c1bdbcd7 -b9465c9120cac0a6c216e1f07d02618f -928bef8101344d2ec8c68d7f65fc4d3d -3c21bc80a496788411b0df04e42048a1 -34b330009f636120d6a7966f0078f5bb -1bf0a790a5905066b758f94416d3e343 -235f19b59ae83ec65cba802b24eba880 -5838f4fca82a9d5d2c797b69c0ee261b -820543a5a9985a9bf7541b206c04e3f5 -496e4491547c15787de934498e4736cd -e8b4f8ada0909360168de26febd63693 -b8b4be00b8f787bc3eef55a31087aa78 -d61ba71d7611c5094679cec5652a0765 -5c5be562ab702b01fdf469ed5d57919f -5c5be562ab702b01fdf469ed5d57919f -535c06bab892f5b0518f98462ab6a6cb -535c06bab892f5b0518f98462ab6a6cb -eef4d23da8efc1777a6d527ddeadfb26 -3586990c07a796e0230e1ab29e8ea76b -2bed0cf622d11dcd1131591764fcf42f -fe458ef44c8130a5ea0de12dede3a677 -81d9feb419e2c16834c8352d77e134de -cf004bc3fd5de1600459a9654bce205a -5d0bdba06d9b6bb3117ed4d1060d43cc -ec988b4cd693d7448907798912332173 -55c6e16b29e1a6cf6a60aa35dd48c5dc -5617ddfb34e8eaad25ca62ec968b6788 -cc6d72b1520f546a7b57d64f8131a2b4 -033235141336dfbb7aed6a5ff93fce58 -a83491644b3c7ffe74466462aaf84337 -3d307f5f5c4dc14ce53e197c329f7cd2 -c2c8e1360469e3bfef31f5851d5a0ec1 -30114f0565bf2e0bb990c0e7a4142338 -30114f0565bf2e0bb990c0e7a4142338 -58945cb9d8a710700703cae2fb2c807d -a0a15d477f96abb2067a8b4c126bf527 -a0a15d477f96abb2067a8b4c126bf527 -d3c2c7e3fe1b2b4d33be17d6f602da31 -3339aec8955171c76969f3bc4a69a12d -3339aec8955171c76969f3bc4a69a12d -70f22da822989d7857076dc21ee1faad -70f22da822989d7857076dc21ee1faad -8e76d866b5cee80a34de58e9092a2b8e -f94d7217cda54d685c7faffb211314f0 -ff103112ab0207198b717b7423a5947d -ff103112ab0207198b717b7423a5947d -ff103112ab0207198b717b7423a5947d -891e9708440513e3fad60ec245d7777d -4dd973e2046f415edac65af7da5814ad -51f23b513484efcbafc0d0bc8ebc56c9 -6b3caf636641a19567fbfcd2cf2fba39 -eaf0df8c91b20faa8d2bfb9ffb6eec70 -ec40d571829dd06ae1d4fea611e2bdcc -32cef648213ef32bcab459735741e140 -382a2b6d07cf0e139ed5f1f596a8af63 -32cef648213ef32bcab459735741e140 -020c819da684fb2989777dab6b0f5cd5 -c9ca7028fdfe5ed28be9850ea325f335 -6c288a66c6a211e6e42f7856ab86bcdf -1fe0c067f754166c8eb7b08ad3cd63cf -e186c1e18e2cd95251fec3feac6a0877 -5c15dd0e3420d4736b1f4d18c7f057fc -545d9f017b804032bdb5c9a9922a5609 -5c44fe6e34afa4f5a095ce4be571f3ae -93c3edccf17bc1185e7a91f04ed2bcc9 -5c44fe6e34afa4f5a095ce4be571f3ae -8c840131bd06efab0dc113656f5bdb99 -2752d534e4e70eccf7dcf0e7db040a11 -d3d4e3c0b8a1096e079317f1910fa3ad -c023be71a39a16a98b96205d5490373f -8578941ac806badd062f4b4511952a17 -8578941ac806badd062f4b4511952a17 -3948b6f849a46b8d69f6ee5bfc2d6a8f -9558f880b49c3e2100d90ffd69222042 -3a79da3816863a9824246e27a2cdc207 -ed163e5cffe0b1b6a4fb3a0f92292f3d -d9e8f14866e9fc528d9c930f343af4c9 -b057973f9f3e451864791a69dbef0b09 -78b7fd575a7c307c969d1be32d1f4ee1 -6f5689ff1a985a30912c4fba25014849 -729d93a1d81e79d7dee4b5649445747e -a2c346c9f325f35137c31f7700d9a1b4 -e8745895d1c9b1e0d942569c26c8f74e -84568a09d41f8249659a467f2d0e1068 -c06576fa714c8a0cd77642574a44b719 -9106b1a7a2a338cc3c99513c382e035a -fa60e94ee8e2c6c112adf37dba0c16e9 -ca48a30eb966a9bf58b48f6e47f224fc -9106b1a7a2a338cc3c99513c382e035a -fa60e94ee8e2c6c112adf37dba0c16e9 -dc9416d444427ddc0ab38f6fcf45f7b8 -a16d2e2dbeb1a1796df7b18bea025118 -723255ca120c2f53aa084ae3c2149f6c -9201c11083ba211c628eb9266686ed56 -245f33e8321c70248cf7d436e4a5b74d -5cf79161703b0250e52ff625c618f10b -5e97f956c0f774b01db1caf87aa6ec52 -c0b1453f0458d3820414e91e8db3e562 -0e2243b98dca8d9972c3ce17e44bb720 -65a829ac6a58fc9fead1659ea9219c59 -68772c2f6b6fad5119a7a19ea30be442 -34dcc0b5e61d8ca7e1d392db14e53d50 -ed8dd75bd65369c738a942813366191a -c920a2c669709a163214788e7b565270 -4d2efbc89d736234bf8e96d86ad87733 -838a58d4045698ce96a6fe8565e6eac1 -d5b1b216f8121b1ff847e3b50933b897 -838a58d4045698ce96a6fe8565e6eac1 -48901610498a8387ab4a1752ced38854 -838a58d4045698ce96a6fe8565e6eac1 -fb062c4bc05c9532bf7b146e8bc7f0f7 -39e8b15ac37f4fd6de8f875c9fab4c34 -55a84f8268c2b47669e78d8d1b221435 -9f2027f4cd11b20c31e5b342c4569e69 -287bfad5448b3a6c983ba7f01c13afd8 -842b3516356ed28f0513a00a7fd4efba -e6eac5b0ba02fa090aa11490a1d02e3b -6d0baa6fe3d7839aee27fcc27616f670 -d5c147b480a73f2c8cb137f1f11d9f89 -ec65aaa8e88149bb3ed1025b747645e5 -1448744831adeed84780e995219e726d -6e4621e22905a793d36e2c1461aa32c4 -ba37f117793a41c63cfd2f434366d3e9 -90630f38ee2e5bbcee8b16642a8f3ca0 -4d5c46085db506e44df9cedb321a955f -8fc601804ddd5e861020b35831afb312 -2855cf3d73607b6a99732fe034c0aeeb -f5291ee1f588a402694f858f9527b453 -a2791f9ba7d27f60872cfa5e53ec38dc -a2791f9ba7d27f60872cfa5e53ec38dc -a4924e143ac7308594edb8f82f117923 -b2f0a84ac96cd841dc1d8165a2b38fb8 -e2235fb83a39f39579bce5399a28aa95 -f4e3d064a35b099d4cef581f3a4485fd -fabdd42f9a066d4b0d121a1072286c49 -5cbef70738620ceafe48511d54d99de4 -feb7c75bcf3d8239c38c95987c540033 -9582b54cd1286404f71b39c577e52aa2 -578ff87e218aea1d070b9b745ba9b5ac -b6c9a5090445a7aec0384caa1bdde44a -9b05df8f1b73ba28a7e8dbee75cb2739 -e1b46a53bd0d71e8ef8e876b272945e5 -cd3eec1b689c8cbcd1cf457ec3fd68bb -62136db034551446ae406ddd36d8faf7 -1009044286bb673fd7fc29befab06add -c4e8cfa8b23cfbae8aca0d99858194ab -1f860ecf8641371024dbf0c60775ce85 -c289486dbd575dcf1a43bcd6056f839e -c289486dbd575dcf1a43bcd6056f839e -a078a6c8b9835c0111f77c5fe6d5dfcc -1f860ecf8641371024dbf0c60775ce85 -c05f337568d34dc4a1f82caffe32a813 -759ceee0dff121613ee629179806f9b9 -50d4d83e9219f386c84cfe275924f1c6 -b2434b96ee638414d198dbd4dc871ea3 -a1cf6930ea1bbc9d10c3c2d4124ee443 -b96923aec4e1813009140e53b234695b -faad9b3160e6da584399d3642ceeca40 -4d3fb6386f4795d073478b537c0687b2 -b96923aec4e1813009140e53b234695b -7530242e060cd9f27005c1fe9a4c8b00 -3f6b332c191b523466736e5cc7fddf0b -b96923aec4e1813009140e53b234695b -122c1541d11e9568c26f4598f9a90de5 -cd3eec1b689c8cbcd1cf457ec3fd68bb -cf55c68b6314aa401ea6d4d2d03ecb16 -e1b46a53bd0d71e8ef8e876b272945e5 -e1b46a53bd0d71e8ef8e876b272945e5 -97934624e08f6278a46a4bafe5acf405 -86748ff682541221d13351b4bb97f9bf -7e60bbc912a39f4ff5549a6a9b260755 -d0b84f57359fea61783222b909143b7b -86a8aaf2c6495b5e3fe89a57196970e2 -366e7215db9d90d6207abb59a75fed75 -34bd40d4f66005219ed36771b76b23e4 -9fcd4f5ac077b3bfe064d4df54d46197 -e1b46a53bd0d71e8ef8e876b272945e5 -4a770f9512455d005bc47959c8ac1875 -02c3c3fbb2f0c32d8fa05b07f0268dd8 -939987a385aea71dac970e7a1025a72b -28d286a69f7f189d2f4ac260eb9c4a1d -41e5c166630d1329724a1edb05ed63e2 -f16561b1b10a6f442bb46fae7132e079 -f16561b1b10a6f442bb46fae7132e079 -229390722c9db3b4549e7a3d10e6f5f6 -62e5353ec58535bd8d00aba88b6ebce4 -01a9b7a32adf8258292268faba8c99e0 -a73646fe8679d3accdbfd0ba7a7eaaaa -c6278dc7817471e8db5b232855ae4218 -7e907402ae5a70ef1ffac4cd78605ce3 -6de4ec7e8f429e6b263db49323b4b86d -7cc9864518d0b7e76826835516d32061 -c00f49435418509e6f31fb382dded2a0 -351e8f3a08a5cddeea20ea55d8309683 -2e26a1359dd428c61f1dc1c0b6cbebbe -65fa04f02435b3b27c2264ad4a999d0e -c3cf3f7085ae4050911e5ed5e0dc41cc -7e9dca09debe819d5694f5d4a2d2d9b2 -b5a4c77fbc801d6bafd94926124d93f9 -4c150e5c7c95e3d5d54baa09f2c0842e -ed6bb46e4f9608f2989bf4fa80676acb -413e940c2ab8b68ebd09e4d96053e930 -d102b4c675ad774d064b2c61a5db35ec -fd8e8d2625b54ec92794e0982fa2c23a -52f53d3ea180b66cfd35bb5bbec7ea9b -05547182626ab145e7dd9e70fa4152f8 -f05512af5662eebe583043ce4d02bbc9 -b5a4c77fbc801d6bafd94926124d93f9 -4c150e5c7c95e3d5d54baa09f2c0842e -354fe9f918c62a128f7d0b0f91b0b3e9 -2de42cafe937e9acfd1604fcc9e10dcc -70deffd17ae75fa6486004bc42b20f56 -d904df57b65c92c367ecf0348318d73c -c8d3f2d452c2340a8681977d0b18260e -f80ff8a725cd2e694e7832d7f5814f70 -55fa77efc00d88430ab823fb6a03243b -85b36e3504561a75e0494fafc5aed95b -d8c34e28039ae9fd61966735b6de3450 -17d8ab9e3e961c6e858680427d13a2cd -313bd5e4100dc9512d93c614a33c5261 -478405dda2805f9bf8a2c856d7c07cef -74beb7631e0b83c1c876e0403f2b723b -a7cd37d0611bceb9b5f6e91311951b30 -6d66fcb2ac8983610e3dd01371c84df5 -76b91f822af0b15740bbfe44d15eb7ce -76b571ecd270669a47ea216eab78d38b -2df8dc780212fe1790bba0b13fb2b4d3 -65fa04f02435b3b27c2264ad4a999d0e -aa2438477b686a45ea4d0d9b20f8401a -abe01dea6febc59575a2d8a6c1f2205c -9deac208195dff924f55286d7366fddf -761fa9f20de7acd7baa59a60a30c7c4c -035c39c4149afe96354e69ad32449ad6 -6279536ce3e2e8f0e4e8dc8002c71b3f -c9f087f15ae37587df36cd6fab6ca064 -f13c57cc0ab1f9d0921a3cf88d309577 -995c2fc4588aaf228b4b6dd0c1948aa4 -a22b5212d5f0b91f992163194d8b89f0 -0d4c950a914f7190efbff125588dede2 -36293b95ffe569d719fc60b3a7baab1f -9f8e333a52b727435ff8175c8f369a9f -fad4ba250e14529d041f936b97e446dc -bcc33f6575278205d5dd16c6885c3198 -7e51764e70b615695d90b2bba98a2149 -c21d48279fa5910758dc620b9307ecee -5c86618fe93608adae322f3788eba799 -e08eddbf11545aa478e4f5f6522a60f3 -28ae411c8a563584ee7ef88d79e14be5 -d73e39ea3bd1748521a7df1a5d8ac6c2 -e564b9e612e8296cdee02302fb646c4c -15cf473d72c82d4e8dbd7ceb4434b2f1 -3e70e5f37cf562cfc98523f74783a2c7 -a84d699a5fa535efebe6b0b356ff2c1e -46627a26b60ccf1508b3ecb693d854d6 -3aa4060b8192241d1b821fc72478b3b9 -96398237023b3257a481a5ff45bf011b -03804869eef1dd631739453ac62ad41e -03804869eef1dd631739453ac62ad41e -4de19a64dba65e59ee92a21452525da0 -e33fd79e261ee0f59532ba5f0d2d789e -6d1921a926d9a3f4287c6d54bed49877 -aacac10424a1ddbc6e118372edccd052 -117573904242ddba7765b2347505cfcd -5628753f89d48a6388e9ca95a522f663 -5628753f89d48a6388e9ca95a522f663 -2e8ca335cc5165baf7b49de4bbcc8285 -02fd87a8c3690346661590e147bd83d0 -5adda0ac8f97620dfdb78453d34a85d1 -d3f8aa5f4193fe36e13037866c503569 -01f6bae556d6113f87b0752ffd863432 -305ed0ccbe28f4a53ce34d97d84134f0 -6cea982bbaa8a8b8ae18a24cc3d18c85 -5b53609faf9324369b88f1c6411d8d2f -6db88e803b1994db80407e6eb74b6250 -3def0a37d763b151c80d7575456ac22d -4e957326015511e27476555df9288d5b -cd905cbe9e6b290a76d983ab3044858e -96518a38d2a2de0b584293165925d4ac -06e6da670819cb1e7a537d7bdcecfbba -5117678a6499c701a91b30e80b3a6d7d -821b1a92e5b1d6fd420c3767bae0e1c6 -ca34682add5797ee5ebc387318d9d5b8 -23022065850e54522f093a1ff877711e -59f087c2181ad8e6544b8652278e6fdb -1a480692d61d2775a7ddf6885a166f5d -a9704c29ff47c6b67503baa600ec8196 -5117678a6499c701a91b30e80b3a6d7d -d1ea2530463bc3e4fbfe3fcf1a56d315 -292921fe88731310de1ea0b768d441f7 -791328188293fc6149dfb1936420d248 -145cda7a78744d9dd2c8fddf0f61c398 -77b4fbb0f20028aeb9bad852ab3c23fc -38c2c35a5717f943d8f99604657506b5 -8006700981138862f66b331bc08d3a0a -9480f856e3f3b65edda02f1165be6b78 -e4c137e6dcea96cc15d2d7702fa4b21e -22c651b30c78f02714cabeb5a54fcc4c -5d7e6ee54f4c5a2e04679a2bd92c8045 -4bc9f968ee05a5ea2bfbc5bd4c11e06f -d010d81481e325ae4b53a6f6aaadfd0f -16d3e734925e6936e6716261991101db -a899514fba96969a62fcba3e642b20cc -5d7e6ee54f4c5a2e04679a2bd92c8045 -e565ffe0d169b47048769518c614ae79 -eb41af5b24b0512bcaac0b38be4abcab -8861fc148fa8517fcfc4c4909b98f06b -4e54d1f6aa40e7d996c9dcd9091268be -c08a53a27bd5c90e8186bd8249a4e6e1 -a763f0fdcbfa65bf368c390b81bcede5 -8861fc148fa8517fcfc4c4909b98f06b -a41fdde7123168d2f3c7a31c0ad6a7d7 -4a52defb20c4db1a4802a711289fbb4c -4e54d1f6aa40e7d996c9dcd9091268be -08a18ae5565515d84d2ae257b2523ccf -1d6bb760dbf3fe8b020f6e59c0f3a725 -505942f557d5f00588633e92274787b4 -b67aab2a3b3902e0b8053913a64522a3 -8f4b4b6a07a52de8eef6caa5099e0c13 -9c578141d99d14a87441bec91882ca61 -6949e1d89766896b18048e8664eb04fd -b42c33276bfa1f7d12383de7543789a6 -ddb9ab165676ceb34de56d6101251322 -0b192adcb1fed4bb96ec33cf281e55ee -db32e7c3c1ef154c129617f5472b3d25 -38f820bd6bd03cd4361d62baf142a66e -8784503c40ce7d0bf053b8c8eaf81845 -07d2be20e21621157b1ca5376d3f0423 -075106038845efef48860b68cd8ce6d3 -58eab2706dd20ed8bc93a21e07f6785c -c2bf5087bf1f96a30087bda8eb598bff -7183580c7da307914b671c7b7109e107 -84e82910c7164f8c8376d2a0549c0e05 -ce08c0be058378188c572436a78f8ee1 -8708d7ad553c03ced3ccfcfa5927ab20 -8d057599b68417dd7630d54149d7603b -5e811ee2a68d1adc9710517e7865c142 -1a0b5e48f08a17871536b62f3228ef6e -a5c54357203503036823c14da4f6311b -90f9a0b753ca8753744db67d9f287a42 -180b91f6e7ceb9083612ea66d59a93b8 -ae048638762e6a4f30764e4533a5c195 -a68ebfc73490f70268a53ee37124a225 -b681af435006867693dc4636e6035557 -b681af435006867693dc4636e6035557 -b681af435006867693dc4636e6035557 -b681af435006867693dc4636e6035557 -ff78f940cacef67dc03550146b940fef -ff78f940cacef67dc03550146b940fef -ff78f940cacef67dc03550146b940fef -ff78f940cacef67dc03550146b940fef -5865c1296e62b19f893403f29d9a4ce1 -5865c1296e62b19f893403f29d9a4ce1 -5865c1296e62b19f893403f29d9a4ce1 -5865c1296e62b19f893403f29d9a4ce1 -5865c1296e62b19f893403f29d9a4ce1 -5865c1296e62b19f893403f29d9a4ce1 -e08bd2498a0b7c49abfceaca91ca8d98 -e08bd2498a0b7c49abfceaca91ca8d98 -e08bd2498a0b7c49abfceaca91ca8d98 -e08bd2498a0b7c49abfceaca91ca8d98 -e08bd2498a0b7c49abfceaca91ca8d98 -e08bd2498a0b7c49abfceaca91ca8d98 -629bedcffbd8d3818266a34071d85503 -629bedcffbd8d3818266a34071d85503 -e68bcb68f8a4feee23acdb6faa6180ca -e68bcb68f8a4feee23acdb6faa6180ca -e68bcb68f8a4feee23acdb6faa6180ca -e68bcb68f8a4feee23acdb6faa6180ca -b883396c7138e6c71f5a87ac2e8eb72e -7cc5ab03adda7b6ae2a1f72b7043793b -d5803ee9f3cf3644387ba008f2557ac9 -5f9e0ff8f3610144847cb2b4c69beaaa -49b464757f086995c367b75188a51ecb -33bb881ab3798df55f751cf569da0d5f -471b7a0d4d0eeaedcd1adc91d1bc0a79 -ecd5a86d959acf07db333282ccf8196f -d8bce423a8d66c12fa05fc343c24603b -8e333d7aa6d399981959e49cada6fa91 -6ec414e4185ffa4632d2bc6cdc8084e7 -44e6e191cd449cbb6ff8bb6fb2ddbb77 -166a3109f2c7dc3de4fabed2ed03ced5 -f38e9cb68f286a7a8338ed0fb58b1565 -236052a512eacae7ed45195e5dacea40 -c89422161664338d574b052aa288d8eb -65cf8a32b0efffb9c1a05356f549b557 -45c57cccfb176a2b56cdb5b8dfa766c5 -012e17d58328e2bc3618ea83db11c820 -2c9d56b67a853ef19302202c0c3a3c33 -92cf208180bc8f6382850f54e86f94a9 -5930d29019327590f8e5758f1c96eae2 -2e243ae20ab9d8ab0b71bac57f632f13 -c452910fe47282f7ca3becee113ecdcf -6d557368752241e3185ed6e77edbdbd1 -57eabe8fb887f307c8fbc26751685f11 -00fc9ceeda6cc3f23c86b54af6e5215d -ab26a9dd226382ec881c44704b322eea -769d8c4fc6376bed35e8ad7a949eaefd -bd02eeace32be5707dc8e901c27bd8b1 -a8b61875acb6e7fa14b66748c149999e -a8b61875acb6e7fa14b66748c149999e -d78383241bbdb7556fc215b51eff94e1 -7d1da55e90de635b8981794d56c3a799 -af5ca2ce8a9422bfeeb0d9af49705bf4 -e5f3a8caa4d8f89a064b5e1db95d6d7f -29c19208996d8699d6ef717c323f8bdb -632083a53d4004d08fa124e82913da7e -521c532d8127d29d9d8a83fc7951b9cc -d72b6333cb528658fc6ee0e670dfdeec -0a01fe4c4812ba86c68a9a13dc9cab98 -423b86cf2720dad32e889d1a2571bb1e -405a0dd73385d001eac2d3137038d4c0 -c618977ce6502537a63b0f6ef552d415 -36bb5ff71ea010e72d30cb3defb610d0 -a73b4f5e6a71adb88bfe92eab5d729f1 -39f388ed3cbc550effb50f1a3eb0bd89 -4483c28578a8992074390f48516d66ab -03d599353f69354b1111488c73f5008f -a73b4f5e6a71adb88bfe92eab5d729f1 -8365c48344a9b2b6a0b883e56dc455bc -39f388ed3cbc550effb50f1a3eb0bd89 -8365c48344a9b2b6a0b883e56dc455bc -4483c28578a8992074390f48516d66ab -33e726f08cdccf945ad7838e8e72eb64 -a73b4f5e6a71adb88bfe92eab5d729f1 -24657de57bde5de8f73fdac1203e0fa8 -39f388ed3cbc550effb50f1a3eb0bd89 -24657de57bde5de8f73fdac1203e0fa8 -4483c28578a8992074390f48516d66ab -aa355bcf78d9721f5577f14ae800edff -781b7d77dd7777d6ccd8505a0c0c1a99 -0e4b37f32afdee8427baaef6c1e71235 -185c68196b84694953bbb42276464b7b -ec2c1e8d897fc28938ca5ef6be1e4e57 -a73b4f5e6a71adb88bfe92eab5d729f1 -39f388ed3cbc550effb50f1a3eb0bd89 -4483c28578a8992074390f48516d66ab -50fa284bef8f5e2484e4a4f9e44281f0 -d6d720725d3ca26323471c3a8b625147 -a73b4f5e6a71adb88bfe92eab5d729f1 -39f388ed3cbc550effb50f1a3eb0bd89 -4483c28578a8992074390f48516d66ab -d994cf8e1d2de07391d7b3aab8f4d45c -85c77019d02683d68c09d58f21d3ecd2 -b5de48d728e32e1a1722145abad6d2aa -a73b4f5e6a71adb88bfe92eab5d729f1 -39f388ed3cbc550effb50f1a3eb0bd89 -a9049aee561790809aa204e52a9c1c15 -4483c28578a8992074390f48516d66ab -ea4ff82979f964c6e82288898a94c7e6 -7bd5be5dcfa701f59ecf6a13e986f2c9 -da0db0efecd0fe02466ed6fcdd61ce3d -672ba75f10d8fdac6525f98f1b9ebed3 -92d180883ae246caa437f7ad35151712 -1e12e56f803535a4a23c6e9f73281de6 -3ff963fe5044b15e50b749ab787de116 -f9a10f431b9ea93015002b270ce5347c -db8e13308bc332df3f45ce1cbb232445 -a3dd12ca42e641e28270c2367e9f81b4 -346d07a057b638b0228428df5544dfb0 -1e12e56f803535a4a23c6e9f73281de6 -83074853c568e0157dc227fa15635c75 -c872f2dea8dc4b18b026a41bd5ed9827 -1b6991a77a2df1c7e571e831e10eebee -f116940a44a97ec29d87497e66bdfb64 -9354068e626453f8b9f47cc4584f9fb6 -e494f9a266c6ef6e808e0707244d3043 -3b8357e19f097834ac9b98d04005b803 -663166002e2f691d4492b50f6b5a0846 -0b3093c8e02f9ad91eae34a8fc024928 -1e12e56f803535a4a23c6e9f73281de6 -044834b4e91ce67acb1b7f1da6a662db -663166002e2f691d4492b50f6b5a0846 -db7a346291ae8152d3c81b420f621d2e -1e12e56f803535a4a23c6e9f73281de6 -64cec462f4e71a20ceab172aceb2d982 -d7f287b74497d31b6a1bd61ed1733ec5 -993861a89b457fbd0d355602febdbaa8 -4354922c14cf5087d719115ca09ab76f -84a66c14bd8ee7281a59642d5f59a5b9 -db8e13308bc332df3f45ce1cbb232445 -1e12e56f803535a4a23c6e9f73281de6 -b9fb7ef46cc9f6101e4eff5b2ea4b67b -29b20a08fe5ea4d76cc9e1ecfc1df528 -fd1d43861a1bc02ee7ddee278a524133 -29b20a08fe5ea4d76cc9e1ecfc1df528 -fd1d43861a1bc02ee7ddee278a524133 -5878a6f27aa040a9c40c523954362174 -43f2d4437f720f52bbe89c1127f53d57 -618469d5274f5edb8cd623b756e9153d -9fc104471271d4cb94608034b92697fa -911045fccb9c71ddfd58f3a7ecb948b5 -c6face443bb9a1875d0b367f8df88685 -6b1b356dd20afeb027a3bf18eff7c036 -a909b5d8a64313b3ac0ac2aa872e081e -db8e13308bc332df3f45ce1cbb232445 -0a4fdb0be1714426eaeeed4a1f8b1d81 -1b52cc642d523004e46e48661d05edc9 -09b540ce05dc4d3dff4aaa5d9b1195b8 -63be36b0bdada9248da5addb28c115ba -ac22bc0f6dfec05948ebdf5a348d91eb -c09d90bc6bc3ac2b85897bbcb2666998 -4c75b3d0a698e5245a9113121e994b7c -c7412f9c09504cde695d9c269378b6d7 -11860b9f3281f7017943518679259115 -4c75b3d0a698e5245a9113121e994b7c -64b48a367f0729a037f03216308fe14c -c7412f9c09504cde695d9c269378b6d7 -62b7158fff30af1edb2b931bd8b50728 -7951248b8b530daee029c1ca53aeaba5 -003f0167b1ee49d4e4e40e368df537a1 -ef1a594f730a30e77ba47907e5a0149f -65411121c0e297998478ac36dc85db4d -61569db398522d147851cdcaf57f3595 -0f904e8e9eb601f52815e8e6486d9b8e -71cd61e83e18aefd73331b248d42dcb5 -992ba6f391ec4b78e1a7b66a44743578 -8bc2203c0788568603c0c825c0d9c19c -dfbdff256c5264804bd773685a3c8264 -68a10b6e562ba47bb298158905407b8b -bdba150ea20fa1d0f5d507946b7c103a -0757ee63ed776b98b8d8161bcb6c2cb7 -5a782eb4d8ab6357eb5b0143758dde85 -b0260076d558654282fc1a2e6a9ac8a9 -cf4177251e164ddc4e08373f1ea89612 -606da58d4a7f2d0f94650a9c5acdfcca -61569db398522d147851cdcaf57f3595 -0f904e8e9eb601f52815e8e6486d9b8e -ed72279d2e2ed36c84f063bb1cb72a86 -17a341f935fd6b1652ed9f7f8bbfceb1 -2ab0ece4455a951f5f6e5cac981ff472 -9edc3c28a9a5ce22d7d727131388680f -1bc77a09e343930c0a8d14b8356a47f3 -5fc372f23415fc841561d578d63cdf44 -7bd05625cb84a65d09af3ff8d0490d6b -8b5ce4efd6ca2d174200eba2db9dbe68 -e569a403753e46cb05217e7adb15f7ec -a94b2373d769aeafa1d1e8fa422d4776 -4ada68bf9e0c04e236bdc648d27869e0 -e7999206a81fc64d943f71aca4990592 -f2a3c20b829ab8e6e7957ed9899a3d2a -af43789955dc7db1bbeb6c25ee030521 -b75ef4fd558f16aa7074fcc5935ce270 -07c41679e065ea286866d8da49731c3b -69e77760e75c4ecf0da9986c8c11ed49 -c36f936b72bb567882364d81c31cc603 -4f44d98a6cb5b6cce7fcf3364f2ac1a0 -978105881a82028e2cbe0314c5e5f4cf -978105881a82028e2cbe0314c5e5f4cf -e13f6e2c96ae816404d76fe7cd040de2 -978105881a82028e2cbe0314c5e5f4cf -978105881a82028e2cbe0314c5e5f4cf -e13f6e2c96ae816404d76fe7cd040de2 -8fed8e062adce793d9d8d41d69d2f8ea -978105881a82028e2cbe0314c5e5f4cf -e13f6e2c96ae816404d76fe7cd040de2 -e3a6165aa82d43ff7a442ba21f76b3a7 -2c6a6d13cb7d7042f762bd500458d6f3 -9365d4b232e0870988b3785df8f298fb -128f972b2d541789abc51c761de94ab6 -c00c42e47dbde12350dc4cb3b4ea128d -f252c9fef76b4d5cba0470acfdd7e148 -e4c1d0026545d0a225c113b62ee4db83 -10373ac0bda6c1985944c9ed97cf0625 -496eb5b31ba6b1680d88d45f67cfb280 -4d9dd4d922383d8a64ef9eb1702a1a82 -bba19cb87c286391aa11e36445f6baed -97d0ab618af40a5fab356d2dcab68248 -65f1f1fe13f7593cfb47c96ac73bc7ce -b0aeccd0674db66dde929e2d9c1aebc1 -b23340ff49dd36a5ed545425404f60d6 -61f0400086de540644108ae3911dfda3 -6beff5ef7cfc42a466698954526380e7 -6beff5ef7cfc42a466698954526380e7 -027fcf18d6c2917a727371c42fd15669 -2ba66ac960b84ee714d16b89e1e96cc7 -725ac621f1dbe8f4a96724ca694a4359 -6b5252f71fd59c6a3769d18aa531dcc7 -2f660214a18b51542cec0f9f4770a1da -a491a48326207534f0c52d35f66de752 -92d3117a20f9a318787f8e82956e1ef7 -4d0af7e689dc6ae48e9cb657b65287df -827053a645241dec06462754b5f7b378 -1ca9f9807740aab2c5e3c64696724316 -493da00a069dfad65c3fad7202c1bd62 -0af97f945ea142909463a04de0bc589f -7c870091584080fc81dfe3d3eb0bed97 -30f1d3f22147ab61adbbeec81038b4be -2328438f163b760e91500ec559e53059 -c1f24c34ce0065a4709d914d9aec2253 -c1f24c34ce0065a4709d914d9aec2253 -e1ca48a07a9a6c49a4aec9bd50a19172 -3b7abc4bc0461fd1e1fd473e5a3d15d4 -26df2624db87b315ececb6adb5ac6172 -ac3887e928986d06aeef995eed1a1c4f -80f983c632d17b5452fe37803b0ffae5 -0b7d9f7c5da2e931ba5d4a77d0cefd5d -99e2a9b7efce18982f21746d2f91f9f8 -abdc63ccf1e75ad7ae18bfaa6ca22182 -428319fb12991063d87a9a4315e6b08a -b689e0b099a7c17e034056b519f44c79 -fadab7526e7e72a7b298f82e07af8b7d -dca382e7dfaf6783234c6fc9b5b921a3 -217a3b8b73e31998ec0e99c61651aa0c -0849a2fdb443f7e21b5878cdb4976eec -4f6d60fea1d2ff8d1e2e354acff670fe -97eb5776ef88b8bbbdef306ac6568efb -898e5dfd0fab32a4af3adf03045d347c -56f25978cfb879e641a94879314d2d44 -a89ad3c501536bb1dbf1343bed230dbe -23f906919436963550c6326d7f9688e4 -f8897d6f56770db6ccb65675b5f2a08c -f33a2280f760d233a5ac8640e4b80377 -cb8045ed068a931383457b8c9cb72a8d -0b63c9fa2de91c470064e2d5d8f8f7bf -cd2ec95546f25d799fcb9fdefb35c284 -7d38068153d23f1f0ffe79eff4a66914 -50e26168a0b07161a15465ba429726af -7fa73df71bdb3a6979701b458a4f5549 -8ff34006019194bc2bff9197ca29e84a -95526a74a1d687e7ea84dd58f6abc97d -8a8f965c03a7f81b1d53c7524f46ab06 -cd2ec95546f25d799fcb9fdefb35c284 -8ff34006019194bc2bff9197ca29e84a -322a6caabf420609daf23af6fafeeac6 -75a5e733d43f815edbcde1a43d1bb99d -7aec5fb732bf356f62c8a39eab40b8b1 -1734b16e83d2a17773940eeaae1fe9e3 -089019e3c1199e776e87d9bb285c1000 -04956346c9053d9518473a965af1cbcb -315f02223ac9404966370de5b294ed64 -e1b66efeafd92de24ef1c0a4311f6c19 -4258c170d23ac2fb2594f3543746ce4b -adefcde28e2b2cb22949baaed4dc546a -fb045f63ee481609464ab36f6220de2d -5a1c77dfbe99c24e376df4b9f22e8ef4 -947c176470c8e39e9dd4c29233cc6635 -0ab9c3310cd1eaf327f7c5f3a3e80486 -c8f142971380d0919fb05b64929ddaf0 -cc7b8d3418ae1ed0362ecd8b9573ed48 -6e615ca43ea2a97f4945445336d5b7eb -364fbcce71daeed4c5c294bfbe40420d -cc7b8d3418ae1ed0362ecd8b9573ed48 -66e70450feaec8931cb7023f0e31caaa -2786467f080ece0e04319cdba4d65466 -4430e6e884fda66f2bbe663af25fe0d7 -f26aa6c82377bf1d41289d0d1111b148 -95eb1cc513b1f70d1534aa09f4db541e -a5b52b4057673549928c78b341e54582 -cd2ec95546f25d799fcb9fdefb35c284 -4f6d60fea1d2ff8d1e2e354acff670fe -954a2ef8464461570ff224f0479510c7 -a6e8cb1ccc861b721fc60cddbc7fc6bd -bab005b72a2c579160a1a146ddc25c77 -a2bdc6f53a2501950dc699f707243aa1 -947c176470c8e39e9dd4c29233cc6635 -bcb5d47097c9937fa168d7e6f1ef4b65 -d84a278ab051c70ad52a6a289f8672d4 -0a5855d6bd33a29c86e415b8a9775f9e -5a1c77dfbe99c24e376df4b9f22e8ef4 -947c176470c8e39e9dd4c29233cc6635 -f8826ee544377be91265fdeaa5c91f82 -a09c7f63861c6ce65257b97f82dcca71 -003b2a4a77b1a514637c8b471d2e265a -24992a83dfc11e2c3f900f6e4c2d4fcd -99456b6007f0d70041e77a588dc6b61b -0f4da7677782e9f32b8ef07a8373a146 -1bb3c9b2b684102cff5217a2969d77e8 -4fd22f05431bbb4e5c03d20535dbf7da -ff27facdd1feaf19b71d069cf82335aa -5aa3b7a7814a829a64383650707f608c -a88dff4306ebfa94e3d8521897c03166 -417f6eab3735b0b2586c019f69a2674d -b8b178ccb4708577e20233efc4b57246 -3d583353a083a24720ba85a95138ea52 -ce6e1efb83d7ec4b7cc86c1e9eb26edd -28e230d500b68462346c0dc382aa10dd -31cae08a9f8901ddda06bfd208d54175 -a5bb37029f5661a00978255ff0772846 -ca06ad9b32508b190532fe9f3c6e9234 -4e814452f81caedcc7f5de090ddea815 -1ec0d302ecc2dfce077d2a945e2b533e -f5c5da0d9acbfec05f8a800cbfa8a7ac -43999c3cb99c039c97035b191efd7e28 -42b459ec5aca8dde3c1095c2fa014025 -f6840bc1bf5bf4ac6053c73082965b31 -aa2f01da2e82bfc50a274bdce777a8cc -c8448803442e3f14e08b405d1f574516 -0d5180eef7e4650059bd50f9a4dcea30 -82d7002b6881ca7d0f6b03bba6dc89de -e62d3c4ce82f7d29b2a049795678de11 -84889588fdf7381e289007615e0285cc -b4ee3ead916639b54f88b65102e75b2f -077472c16020faa50b2d63c12e28c6fd -919f3e73fc2d3c0b49b1b9c6cbcc19e2 -8aea62346ac0a80b61c1c1b26d871073 -5576a81e6700e300141b5eddfd5fdfb1 -93f9f44ec61ffbc22d396e9778b87380 -64e8c85050aecf4e33c534cced5de46b -d7716ab855cc28464ea15bcf1c429cbd -859485ec344a506946c0a30b76253f32 -f1b7c6e8b142e6ad25b6750e835e75e8 -bcb7dea649d0046ce750e5394548cb92 -c605e3defcfc02481d68552299a87e62 -2dbcdc298fea2a0f5547ad8a2c61377d -6ca1a3ce196ed933e1cee8081d23b1e2 -ed05edba6f9734a2801135cd0642dd4c -d5f7ba4e99dc9a29d5b9bd77ea6a88d6 -01a60a18e683bb49168bc1ba11a7f13d -ffef4fdeeea256618402b832cecdd427 -fa66391e6d5109ea70b48fdda3094c62 -c43701ac319486e661783113897c7ba9 -41ef4d684e79dc7405e62cde8ead8d2a -71c3f445767f35cb69c35fe2f0b40141 -a1616b0ae1bbfb5fe812c53e69186ecd -2c7befa1be8644e1a36b459264fd0ce8 -8c3892545927cd562c1f90d123682deb -d58ec2927399209a5b31cb83b374e9d3 -44631c49e06df97dc4a23bc99d6a0c71 -41ef4d684e79dc7405e62cde8ead8d2a -ab27f155f43c3980571266aa8cdd8aee -a3d6c55ba80506dbc3d2eb482725fc77 -2c7befa1be8644e1a36b459264fd0ce8 -8031ce4c1d44149afac8d7d3c522f040 -b0f00f5c1ed4317095f01ae5c911c704 -fae578ef43c9bb1d9e554397cc408955 -2c7befa1be8644e1a36b459264fd0ce8 -fe6718ea2841a392876c26bcdb9fbb13 -24c74d6350af0b15f5333b7742ee6e74 -85e5eb7706a25c6debb3c1032191d8f1 -4a43695cf7b781c12a1d2f3184a6f6c1 -c8e94479b045df98711d7e0b02a9bae1 -d3cf4a71dff1703319e55821ab2c80ba -aae1ed6a0f6dc654d98b12bea966bf8d -7e99e54d68946b12d21e77afe216ae53 -c92589bd97279ea329aed442e8b917ab -404af5d0502e114f613fe1f3f393541e -a8c2ea37a5babbc28f9d977bf93c33d8 -8795092e5a7b94eb623b7d5d4c5b265c -70f4c00d2efdb986383d03f221978601 -2c87d4d852120e39a9d44604de00a5dd -4cc411c0434c0769552810ee92e8effd -0fa21fd4fbdbacaf117e2ca45018aa78 -3e7c3763a3901fc3928c1fc6067e994f -51a6add180fddce891fc75c5e4bd8fce -2ece043f5b2b5e11036758e9dc4bd164 -b607e31067c40b8ba7bcfa3085de425c -fe4aa37860355628b4ad7f5d5f5a389e -f4d82de446d75c52475873cc8d684118 -f76e5ce5c5bc4657bb8950f89c7518c1 -7e73e5893e9febe4516fd696e14938ec -dfd6d0ff74e179388ce8bdcc727fb207 -2ece043f5b2b5e11036758e9dc4bd164 -b607e31067c40b8ba7bcfa3085de425c -d03c116eaa9b6da2fd431f18317ae0f9 -33d53de042c8463597ae07fc4db3b5bb -cc156b272aa5863a2d386abc402974bd -c96a2fb6bc1b00a05bcfa713505155b8 -67dcb0015ef6dc3a7382f2af721d4a40 -71c0756d5f5265dd8662228c54ec646e -63ea29245a3eb474150cf25af9723511 -ed74410c37f33fd4a1a0687ccc7a83e1 -1b84ea285e17f0175bc13b8bc7c00668 -b6c488041f42edadda08812997e6d947 -df73238f67abdce0047a2e16b7d56196 -ab164a53acf74a9f26418762d29cde00 -bd2c49699701ca07c0705abc8e8e96c3 -c1b0662520455428f8a2a7913d2e8359 -9ec733ef7464c6915ee530c2984198e5 -34e1fd18e7d63be2fe9ddf81a9c4bb61 -9dbe767d21fcf06beff5b1d33c2dfe74 -2701af4b43221d43a38461d9ef600ab2 -0a6f28293d16b863c714bea78a5e53e4 -b2f4cec7ae4428939de954af6f76410a -10079ad4ef0ae90b882ff62c1ade02e5 -71984a23ae325c37b2def4a2173f6451 -a124cd9e7eb4644c3e48ce747a1d12ce -da054a9159205a3d612997a8604af74b -67b8dc49294210092bbedff26daaa4f8 -3ee93d4cef221901f1bbd5b6deba9fdc -e29fd1739217caf7c8c30832f004a5f7 -41a8517bf846ea12d53f0e4bc049a7b0 -6dc75a1f20bdf6b9bbb9e41eb8d86428 -a6eab69c05325e878a0087062b730fc9 -de415b5fee582516c895cd8da91c2600 -c8a84682f7010ce73832ab074e8100eb -2cf0570f11aad6fcf39264985d2b26ba -570b0f45ea7fc0e68a76d7dd285372ed -42c18afbf20af4230f9200b7b6fb5216 -42c18afbf20af4230f9200b7b6fb5216 -bb26456d205b3681fcc9a33863c280f2 -bb26456d205b3681fcc9a33863c280f2 -028d361ae0a7026d94df2a3423bc4549 -d92d78eebe90e0c1b35c4c31dba9064b -44f2ab6641fe2fb5aa88390d50236655 -44f2ab6641fe2fb5aa88390d50236655 -e7716db9e7f9541dec4d43a504b6042b -a2ea91d9db9d80ad86546467c1621dc0 -45c51049a84c02925c161f5c70705e61 -e99eba9c5f25a16638157907e78a6230 -8b43017924fa5d3fd0b37804f068c559 -9b523f0d01fdc7bedef1d1134a8f50b6 -85bb3d1d16b67a99e96b47a637918ed3 -653243854faeece7afe4395f2f52a97f -242d73684cedfebbfd68af2d239ceb35 -2587e770b72cd4a4ad09a27ca59b8322 -8510c0f15a5415043c3045779c2ecd0c -5c997ae8bc5f2166039429fe232f8588 -dd05ccb1b9b84a7e0c770ed74f6a2656 -586cbd7cf30116eb20298f8af033ee1c -8c9fa41f3b0e5d6969b5f921b6b736d2 -b01d4a5e118894014e4a9cad2cb9da05 -653243854faeece7afe4395f2f52a97f -f999911f8f175242e71c71a7c6483767 -a6715019d8a8d959b9e80bb89060907f -bb91e9ea0ec55e871e1ff7c03ba016b8 -877a503ca815a507111d189c4f6b227e -7cb770d00b53c16db160c6eb529d311d -46473fee2f7fef0561ca3f8c2324605a -5f323ef40a67692ceb3eec706fa701ba -15be79b4cf67ba1aebd6bad2988d79d2 -fd7089d5327df934280ec75c108e7d91 -e55acb259af7d0dbee5f686568a087cc -653243854faeece7afe4395f2f52a97f -3b5650ab3b98007339390dd1f7720207 -2dda7b3995aaa698eec18ee49d23207e -356876b5aa58ebe6659b4e3d9fa62de3 -4dbcf6bfd9ed8eb17175cdbc8916a4da -052a3e9445f853b88f2bb8ff0c532c93 -fcc5be9c4ab3dc9a6d351ab8a638b2c8 -f9bb627a1a92d75a5953057285eedc53 -69ba578a31840ee554ddce8980b11001 -1d82476ba4a78758de8b59df945675ce -ab2bd7c565b1ac1b8a25c922d46ad470 -1795bf26d38645a0b468ffe45f53f650 -93e13829f650bce819fa639f6c429b80 -6337843750efbc63af7fec51884d4769 -58162640c7ed1b64d5d70fad7d8903b2 -499302755c288aeeb38cd8f3ae50157d -b4cf036fd1e76049abb577c10c86024f -e2bb0fb982c270a896f227ecb0d0e8b3 -6ae656b16ace4f29f274fb53f69abf29 -e727ad4d9a2635ed72becfb0694b29cf -a17a3c4067800642c856658b55ae9576 -3de9d22fb65a2cc4040daaaef9b9bc8a -84d0f280a8512434fc7c8e147c574a17 -3ae04a4361e56c16d8e6adde3a0d3f5d -29004e3fe2c7eb0c61671c622947d1ee -415aa41d13aa7a3e4a39c116602b4c70 -cdcb91d858db55b250de97dd7b3aff4c -b319b35780f5511e7ddb35f14d00ccac -ce975d38c9e81420c9b046acb2588b8b -7df66e18a825b9368c89124665aa7e69 -74b003f3d30b80185966af7b620c86e1 -fae7ec395faf52d16c6a00b96f9a7b89 -a66e9b1c6ccecd850b36088d4c67a893 -a19195a5c711f1d0b8a9fc985e09f16d -79123f029f04ed72d30a6ff2cc1970ee -6c7c2c6104c04048e96b85e09104be95 -613fdc195552d1102b10559827addb57 -0ad3d8e0d00a4d3292ebd9a5551d0727 -c6d244fc4d07b43ea02eac49615b9f53 -b5d1a0964c6f10d0f0295ec8b08ddcae -a7876195f5a4c7799084e298484374e6 -ba6392aa10d0c248a6dfeb64dc8ed671 -89f2f6c4c63d9e127148d17e5a0cf1e8 -9020e92741282ec61ea3ff50172b69f5 -0276f7a11d3cd5e1bbef5709d1ebbc6a -0c96371cc4028ce24e8afcb1b2565fd9 -a782f7a286f382c6137b9a5ccdcb6ade -d64d4b2f891e7b39318d2aa1cbe7b6a6 -c9d0077cdd0c7d04c104bf9137f644dc -b0fb712220db693f43f36677a81ac1e2 -9da02637c3ea08102f0dfc3eebd3d3a2 -d3ef14af11fd73b16da524959a55f5de -e6fe89ae5b6c1021b304faa678d6bab8 -d92393ad190db6ad877d1083ec7aa117 -5cd10b477a04475a2623f23b7fef9e74 -474610901269ba4e8292b4a0c19959c4 -d20c262a82a2654e5161df5b9af5cf0d -98f844b0999a6edb9b4dacea2fddaca8 -e6d7f43ff784bc720dd117df8af8a473 -45e87a72bce0d028a5207abb0eeb20fd -eb111158bd327fcc9d2221c568ac6c33 -118c5afcebb6443a0bd90767eb5d3a95 -4c3333e83a98e9eb1fef994fc474df60 -822a56db830a9e271f95b76253903622 -3ce020ff392f949c7aa5bae5ea66ba5a -653243854faeece7afe4395f2f52a97f -480be0800fad568e708c4d5609e2b58b -86faed4c4d8774a2ddbc753465da9419 -d4815e164ec981439535c4a89de3d705 -3685058a96c1e460121687b9a198a5ce -1e0bac9b8a0603ee3b85bb10380d058c -fa176c2f53de4878e2fbc23f10d4b181 -19438e08ee4a5dbe3dca8238e3d8c486 -086ea2930696fd29849db69d04ba6aef -d9ca3a8771f4a59a0101536bd5ba03bc -b8728381b3ad6ad714e7ddebdd5f145b -ab3af46bfea5be561aec97ed5d196942 -f7139b2ada81ed44f1cca4affa2b2828 -bbb7de47405e3a2511ed1d8cb9e472a6 -9e937a51c35b60f3249d488e69657a78 -e0c303c3d88e395ba88dc74853149803 -9c83d839cb677ca4d872361c7115cd8a -3f215eb0a527ebe118b4e6bcbaddec76 -310f7bf9cf18a2d524eab8c2e4a87267 -b66c2e5a7816bd66284b911ad62aa007 -ab4155fbb7c643f4bd83143ce92c440b -4c3333e83a98e9eb1fef994fc474df60 -807a81a9a13e1c7687724a36cf22c3e8 -8122a940dfd594b8ba53d518c97d0cb0 -38fbb02a578e4d585105f9f299c4d554 -241546566f8d103ae4d255baab24b713 -5b7e8abc3fff00c0aae4efad9f94f08f -d8e3209031168887937c4e409a1ce9a8 -63a9958f63ba942df71f780d4ba03fda -d9a9843fa776c4a9f3f3ec1a253c3d48 -b47e97d234478699c348411f93f2a411 -584dedc4bddc1eb9ab711f93f76fdda2 -baa4ebdbafa4e2d7e3d02d7025e4f533 -0b47b91b7feff69b212cba9fb2aef294 -aa7a727f6e410dbc2b1cf6fd6115078c -9d712807d13aaa533c17443c719f504d -254769551835030452df02a7353ba3aa -810c15e76a4074295fa02601015607dd -cf852bf35af77dfa7f65e6918571f91c -bfa73cb7ff8938c3aa113d139dd2ac6a -6a440535cc04b16a2d215d840d686c41 -5e458c79c1c2ea2748469dd5ef13e667 -c2069821a37297a581ca08d18b92e164 -24ab54442d7c02979b9d7631c43656c8 -b4849eea1b5bad8351d8faae6116473b -af4d9ebb9d0c0c74bbd6e9fdf6ecafa9 -1632b75dd0fda04fc02335edcbfb0696 -bbf04763efecca7a2b8e16a72a2293d4 -7d0b795cd3cd4472cf24391f507db1bf -35ed9d74b4dc237bc35e49f075b306e8 -3101a2ae3554a0cf3e52fab1585e2996 -bd2e2c7cc966eb62892e3aa66407d5fa -2bfb952ac52f6a05bbff80b822b34504 -e91fa6da1c3b39d5ba8f2484f965276f -69084d14a8a3f7416bd153364e31418f -f5e1175298fda6885573f5df10e8b0e9 -4e75c24aa73ba335cbe06737e989578b -7b904fab5155393f1e18215081956e28 -d9284b15d62ecb5272cb4da5d8b0948c -1e59acfcc7ecf373330855081f9175a5 -ce041c0fd5111269b25ac04480a44d10 -48b6a71d13a2a51df154c8f6b6f3e06c -e2bccada465f053e668808e6ce081e17 -89ab086d490ec06afd0998d049c09540 -861e745ceb95044de7607f5259ce3ce8 -c6627e752eb2dde8a3f090e3314d56ed -7c95a79de9821349f009f0bc4920d76a -a4767ac016e910c80aba1fb10b09a7be -7136ff8437214e3d2b26112ba568fed2 -8fd069bc4e03029fbbbd46f2e8da0148 -0ac3338f60e567c18c9820bb6dac6911 -c2b27586d9feb788ded7df4d0ce24fc4 -810705adfc798e3c7f0ed1e666eacb72 -67f33f18851eaa6ae130a772d73080eb -dd82ee0fcf602b9260766bf4ccaf7208 -7f0b371d95bd6287b98270fbabb36f8d -2436b5e0a7dacaf26770ee1510196750 -22886ac00a90ae533c5eb5d72c7e74e0 -f8abc00798ba5dd53fcd4cc9b3037e13 -61bc37202388df1b2ba5b7487b174885 -27a0363d75cca39093562ce2d25d8aad -1839645f2b2a8a2b8ecec0969e201c11 -2f83977603a512daa0f6e5465a63e895 -1d82476ba4a78758de8b59df945675ce -763693b6f6cd399cef89a5fa4be08913 -e83e0b4795452babfbf4f6ccdc1fa4c3 -f38a487f39243a3be6a0f40db60e31b0 -95a3e3b336b6ea5c4ae329c9ecf8ea55 -dbfbb58a65d38ea46476f2397a520a9e -58162640c7ed1b64d5d70fad7d8903b2 -b793f323c072a557fced8a5b43ea2aa4 -0ba0ca79a6c2060bf8d9fb0a7615b9bb -67970c81ddde5390538b2be248d5aa68 -1536980127b31b2567834bbcb427244e -cf90d2dc141a51c935fd1ea84a56e976 -a8c9b3f9804ed8312266798a42de57cc -21b799c704a5233ae612d9f5bbad6fc3 -e846c6beedf7939f4ff4268a8a1bcc7c -b39deefb31f66f0bc2b116c2f1e062d9 -8256afb3524a8d9404bd05010b49d6d3 -d601ea5ac05a3f0853ef0e83e48ac944 -75c9589cf479783698f9e7f7224b603c -650c4864a3868e711eff44f87668427b -dd82ee0fcf602b9260766bf4ccaf7208 -905acf066ed670d6fa282617548d526c -d414686ef690756322a34519a39ac5a6 -cedde092f70605179c063b349624b818 -2cdd96ef7045df7a106aa0f2f4add744 -5fe1dc68e40d2becedb52ee03cb5513e -ddcc1a47a631cea7d295aeab58ed3173 -c1e6ee70ce9d367c55dc616339227630 -30593d845e3592228dda72379805ed06 -9a6561a344ba48f22ad99a0cc0bf98af -d53305080ab935f63cd27276bd2bdd55 -5cf1c3cd2d5f34457d3e87da8f8a03a4 -6f728d66613888f6536ab16670798cca -6cf5ba80682ebad185596c0c8f8d49ea -653243854faeece7afe4395f2f52a97f -d56436dd174ddff31f01503a6ac42fa1 -dd8c89ec7882c86e35bd735258d8b2cf -8c7ac60bd2c8dc17b82cf083575def72 -8046ce1fcb508057a88cfe17c3555fa3 -7cf2642d8b164d984acdc7e23badfef8 -6fc65e6a7453243030ae032a2609ed7c -6547d739f27f78a3a401ec31e8346363 -38a987e9509c13d107e848ab22c5100b -fa20307d15eacd671012c9227cce81df -39fa9e3efd43da9d33732d313517f162 -c5795f79321817cdfe22f20044ecfd9c -d106e5a27490712b64da52af193cccaa -5fc26bbbd7e8fb79f9e07a517a26413d -da84fce62bfc88818db22454d3ba0086 -9d698e98b9c122850cd53e3572c6872a -aaaf55765a9b4c1a1710fc62f69d56ff -e1d3ed97db3b47830b1e3074ca893af3 -3bb9733444f2f038bd8065775713ef43 -5c5262a162a92d2daf532f7831a0123a -ee22a824e4d217277d23c6961ca10153 -70780ed85ab3d39ff7d36b195b654845 -7a3588671ef736386af438668d4342aa -4f4bef2e3c4d85716fcae14570623768 -952a4e84fa0bd67b08994ccf2e11ec16 -b6a74d9f816ce72cb8142821d96d2124 -7b728d9eb8091afe72b58eb732430287 -ebf5e9b0dd51a6bbfd15b2ffadc131b4 -71b134eea121d03ba862d79c2059ac87 -6db1926438e7db3ed5ec3dc99022b742 -68923cc05d2bb2e2003b27f305ed817d -b08ae9996d020f68c9a6a080f3e79217 -f70e98ef897cb114bc3b5bc56ed069ce -ecd88209aa123857e05662daafe9525d -a9d747748fc4f5bd71de77b306e87da7 -e49f4ec3125b128080630e8271accdd6 -e95f7698c13cf4ddedc417ff2a9a2d35 -e3454c908cd16b397e7125697307148e -a3e6de0b6d761a58ea4d1041a31141f4 -328844e64bf83be68e173972b962fac2 -ce64c18e1a3f7abb00e8187add8d5587 -27cfe0c5502bb8bd238f0901596400e1 -6480bf8ab642754bf06ad7f5e16d9412 -3f0800611b68e23d82e9e5490c81ca73 -e61451b26df080d3c7c9ff5a16707ec5 -60ab74174d52602c8e2393d68e6c2580 -71bd5c7d718d8c551372095885f23773 -a8c6312a08187e95808a4b7d5bd8293d -793ac608aedd525a05f7a41a49b6a63c -d28c13f8d8d34facc3fb23b3310cbd36 -928f360f66fa93f11910e1ad2a79642e -339f6968ac01c4277cdfceefe5ae5158 -13f1c83d80a43390f9894c42502e7b67 -22bb063b69d87cceeef2f3874d80ba35 -60e55cd45cebeba2601981c3d088350f -115c13a74e6225782b341be143ee6a2c -675e46ecdc7ebe8478be99bce1e40943 -748c85f4a1f94c1ddefb5c79c8050626 -7d2c1551c14545ff0ef57014831db824 -0c457f7f4cbcdb9da345e9632de38d2b -c52b5eeb94f76f96726ae84c1ce827ab -dcc0740414e45f9f993128c647df1ff0 -f34bdedcf6dc73389922c0c286db15f4 -b13a39b0c80b63a81ce61ad8fa52b4f5 -3b9bd85f5a42c43da211e3992b7424ee -3b9bd85f5a42c43da211e3992b7424ee -b6849680b11c9c713d3969c9c459db5a -64249205e6fb68edc4d50d0533049567 -e773af20fcdc012543b51ea34d9fbb69 -e773af20fcdc012543b51ea34d9fbb69 -e773af20fcdc012543b51ea34d9fbb69 -ee5c58184167d5ee5ecb52752cc2d76c -68543b11d06c13a9ba81cfe89797b003 -582f6141e0bf9856f2e7ab636ad331d4 -ecf9fcac41e1f543ef3eb9b7376adafa -d8359e54b63ff1b8d6689211f8065cb9 -48f30468366ebefacd654822fd5d18a6 -39c8bb66f2d8f919abc31b9ff8142f57 -e27160f43402013dc273cac229b82381 -fa12b6a57b214a40b8334068062102d5 -277ab90281121ec7f6b243d0b9431de8 -592b365ab498a17baf74b363623e7d65 -713d89457d757cca482e6eeb28cdbe45 -009c06b8dd9e9c3cae4cebaae042cf67 -742e072bbb3d373ed817d9b1147d1fc0 -de4be96d82be7690f0d8411995315d74 -3353bee691933f5e3bb3624e7c2a0648 -a8453fa132f00c0811e2862ae99951b1 -f6e7d12091c8f556a62ceb0dbc679a1a -b62b40fb0975390889abdc521e86cb54 -390b20e53df4e7cc5f9fd98d24c35a07 -ab4371f91fee14223d08e19701523719 -490272fb4e6b2a4e865b2120304d92b5 -b69c1eebdc3b1dee037623ab2a3212f5 -3fbec3635a9ed291d15d4f54665371a4 -7ba817432d40d4b5e3e98e8e8225e01c -750300007b988859aba5490fdd3669e8 -305fc61faa4dd114e50577152b9bd4dc -bd936962fb7634d967b7ff056c3cda00 -b83dcac195579858d3ad201cb094f7f6 -726fc0b9db622b25e9bc4676cc39d4ea -5179153ee75c221b18002b69a371395e -3f363e1247dcaa806147656f29d76161 -51525d3e573f1fd5734ab7f5f3b10225 -f2ac9143cb1954e74e89f5e4f55114ae -c49ad9e06c9e4da8a8279d51b88dcc7c -d530e12da6cfe00098d46ee8c5cefe41 -8b373c3ec0f37cce4498ba07790541fb -e01f8b483b2c16b0a588db3578992312 -e01f8b483b2c16b0a588db3578992312 -df1bac165f445c20bed3dabde2967d1c -3187881fef34f83f77f0e1599a4359fe -0965159219ef617970cca0aa726ae525 -580c207fe06dd7185ddb4fa203f6d352 -feac45d612cf17d7743e991a6669f788 -5b27da40cc920baf79f0b185a1cbe8d3 -6abff623b82a282f4edee14ffa868ad4 -ceecc6e2b4567047bdb672f654a831b9 -68620be02ecc9a200795b499c4723839 -c5c3d36fe0d088bd51d20c8e3c983c85 -1edeeab43315eb178c665fb3576813d6 -6156480ac4d5975e11bd1756ccfbe27b -ce68db78588bfcbdd8c642c2478b046e -57af0300c201f587d9fc99f38e50695c -b2dc8bc78fe0856fc3b60ee7a5e70dad -3b1b325e8588887b5ddebfd35088695d -4c5cf0d841bc57a8a2712f0ffb8d0cef -09cfdb4f860fcd80fed5cdf575c2a2e0 -3b7e82c64167d17d488bad6ab8d85293 -fda0bef8d627f7f51a7be148e6cd06f4 -3e240550f1860fffb9300dfb0833808b -1660c82941499d8063ea8352cc980bce -4605472639c72ea565906b931077a730 -a32db5c5f107077c451abcfd692c05fe -dde66af11042a8ba7a5bde232d62d809 -e33588e54df381a066929c148324d083 -da2e5e3b705aadae49a50b93fef1c1d8 -65102df5fc36f489cac9da02e9295eac -31dcddcc20397d13bdb7f9ac06d88fd9 -018ef9ecc1c0231df7e524c782c304cc -16011d973c8f7c20b2b289c64b360e67 -ce06b6afe2470d444c2bbe0a29c39d80 -a974d6fb7e019c26a7c0711e6806b384 -88e2c3406f94764e6f9e9c0dea243d27 -1e081e4980404c07775ad9e46613b4e2 -fb4ab632882edba8b7721c00a7b87ea7 -6ab4cce66cd13a3562ad84ceb6a18c0f -1e081e4980404c07775ad9e46613b4e2 -1ee7f9c56cf3c6697f6afacde90b636f -88e2c3406f94764e6f9e9c0dea243d27 -479e31621cc090b2cc2a2c1c3e247cf3 -146501619cdfac1eed2e0d4c2dfa6548 -cc97538b190626d4707a722fa5b0dfaa -4482cc8b6468bb7183fa6715d5007c73 -d5850f6a35928135a12ff3ca8dea9f24 -230ab831b43c765d4405213551509e63 -223699e89890be6044e686191a01b30a -bf19884c03189958bf14cf58ff2f80ee -31830a635e74f4c340bc4bb5ad3c90c0 -f7ce222f5036074bac6c390011c55580 -a083e1c9aac8b77c2ceeee289f5b729a -11d6797ed16b0a39109b203a5899c2ea -d190645b612c3e1ca57b37828d268ef4 -757f25e12783b0b2597d5a7fd70c9e6d -e8e8a12961cf1665e51c3be3e442c45f -e9f640d49004b64e7e20d25eda12ba33 -7c006704d2d47f3c0410afa6f194b288 -e9f640d49004b64e7e20d25eda12ba33 -45bc97cab20b17ebd090860e4c415adc -360969bc0d53c0dc48767b40a2569ef5 -186bf8dd7709f82789b24d7211cea808 -8477ca16476be3c22229f761062d768a -8726fbafd25ab6edb90325c08bdc1038 -cb8d718d167fa4f0defa10c98796a6bb -cc07d374be9266ca891203123bfb41d9 -91c7925fd6b1e7d3d9ed2a784de18266 -ac03e0fd21f4a52fef72f73559c8c75f -e8c5a720b4e04a0b219645c53bbd0a90 -8353d7746f645609fed0e2fa83eb437b -dc65b1a80810404e2a263b7d5cfc2a0c -56fa6b33a3ae569bd3f234186a58b8ee -d4ad8f9d0eab1809a421a8ddedaf5bb4 -75603bff653451706c9848c27018cb4e -80ea8532d0ea1487f50ff81f964060dd -2f071da5af1669448ab5bfbbfccfddbe -a3468e90fd415d9c9b3b498190b2eb94 -d8d3fadac43952a1c18922a8c3de9efb -ca1617456cfe1ff60ed37b5380b46c2d -b4ab0de0e1f0bae61745f7b3bcde2ff7 -517e95acac131891aad30f9f7fa1af11 -e53b1f9d4270d53ee91f52c4ab06f9ee -d96e64b2c48c624f6060dcb27c47eb84 -92a786cbca114c052dbda3146796c681 -97a0a01f8a5a97aa6ed1ba79642bdd10 -75089bc3cd926b7706cf20dbf475a6e7 -23ddd557d2797b26cfa48bfc051f275e -1d0aaa5027048b5aa76c84179c2db6d5 -bd5ddd95f206a08df2fd3819de13ee48 -72bc3502b62eb0fe98b2ae7d03876528 -ba95620576afcb1022aa65368e1d9db8 -4833041d43416a12f8cd6f0e8f45d106 -9344101912a013965f156450c33fdace -35f53679841cb25689840e993ae27dcf -6e89a5d043e41be7958c13b10eda76bc -6e89a5d043e41be7958c13b10eda76bc -93989449f0a08e59d4e18a56c46c746c -6c2d8f1fc8427f7d674b18d2aed75b49 -78730777e70f3ddc7d84effda6cd4294 -3a3bfe6486a5552d709a69a6912869a8 -7ce78f085930543aba33029ef195ddb8 -8f0f402d5004ea47ff6c683993b729a6 -ffd930592a814cdad4a470eed966c6bb -f77c2e03ca38049852df0b21a8e36cf5 -fa416e8758de32bbf9a9761d6e7d2a5a -43ef1984cd053dafe599fa2ba20f377f -092dd8eb9ba1d8c2259f57f4e43f7bdf -e1c5ca35a647032b2022b29ba0d3d69a -5b3fd343d2c36ed6de4678217be77342 -dc2b39567fd6b5925954021331341ed5 -db505efae40811f4109538607ded4e04 -4802bd4efd52ac72ad8a2f2fedee2c35 -2234b67996a3081fc2118fa751fc95e8 -20ce0e2a9ec83b9f4f73ed5f0e5919fa -3f4f8a7a08b08b5b8820e65d786dd1e1 -e8ea4636c95ce150268cf43b6147ca42 -ac8975f70a47f9e7312c817f30a61422 -13936ae04e0993607895acfebefceedf -035f1719523f52edb185c5ddecec5f43 -9a7a5c15a3e59d5ab746d16f3b892809 -8b89335a40bd78f9a1a9c56302b2aea9 -a04f3b728af652dc50d068d33c5a6f75 -faefe3ba165a8e07d6fb835bbf865a3c -91a1d0a1c6769d1398271cbb993bdafb -b1598307b001ae7687164389306cf9f6 -33a8c5b159e0ab14461f096bd76b001d -6ee960b00cb8bcc613c59038c2dcbe2a -b7f7e8eade06ba639f7f26b13ac79023 -4189b01d2d94ad295a634b7926a198d5 -34b835f5a9b401b385dc4f2a465a9c36 -cace29d100db104addd518e7b1e2f703 -ba96779473a3095da0b0fac2c880c25b -a5388923e53b5c1645161d27bdb8448c -6de317be6d5408e1f5866a0d053cff27 -d92fd02a11dce2605103891176a4db73 -f7f09c1fa5a0d77641857dd3b4e470f1 -654b297c1fbcd3a58dc41a454c60ccf0 -efa76524677297267c4a1c94491dbb39 -85e0097c92ec4afb128a52233d4b00f1 -8e06cf78104ee4ed5234b6d2a31a8153 -34f267344d330674560e742277d0501c -be39c512d3f9bd23b881eb2b432fe5d1 -009774e087c7d857dd81faa7ed5289da -974a054433d73b8ffbae6052edc8be6a -05b0c385e56e95dfa0f65e1670fecd28 -b935978d4f60447267ec2bfeb49b5319 -c62105554f7a545725531fe7bec5740e -d855d29fc92e3f8c3a5492604f838911 -b5a4f2af73dd6a30506c63bb143ee41a -4b9376817dc756397fe74c580340ed35 -c094c199b05d47bf6305fdeebcbb7b5f -1a289e2c4290d7ff52710c347aa5e71f -cfff5d0a4fd5d94d3006310859d23d61 -d2932b81ffc2d2d8996a77cb240466be -e8ea4636c95ce150268cf43b6147ca42 -3fa7f806a014d04441c4a94b2152a7af -5e49890de2801947e8713beda1863b2e -f85800a23d5cdec947e0a9861e0ed263 -f13a96d795a9e0d622d92680577add0d -942c78439b48d160f2eca597590a88a8 -9368370997cd54874b5419d47411c41c -5c8b4dfad08646d7ec75338ee7938762 -c8d58a8eb925728989e18db8ad001ba5 -4c4a23ac72ab92a134b60a328ed6d913 -fb1cac9b33c1aaa2ebba661820c524e0 -c0b33ca6fbae13d59eeaed21b610a612 -45e64c4e8b1fcbe71adecbc865005d72 -5218acff6feb22c9a77a15da860f88b1 -84e1bbbe8c932ad50d37b51fd1681252 -e8ea4636c95ce150268cf43b6147ca42 -79f99aede155165b70c6b343bcbb0bc2 -20286ac5fa706b76fd800d2b35651abb -1c67cb6114ae1e3d6360ca768a0576dc -6d7f871e8140b17ba605db8fe3170d23 -b62b562e67f31671f702b4b1148ad55b -0c98d3885895c7cf6a4b1479097fd31d -e1a845e2d8dec6168f0b385e08acf698 -d3d7f2efc894acd41454aa36a576fdb5 -88ce178c132e4855ce7c2a1265f4a8ad -8375849c88d232d0bd67cba8fe02fd24 -d180316f6517af5efad30a97967e79ac -4f6ef357e438dfb1207d76fdb8c1f27d -8813b587e71757f2b0d27e21f2107056 -8ba5d61a6daae0a42eae102d81185576 -1664020a7ca05ba9a77304732738f91e -599fac857b9343beeaa885668da26f23 -83f8ce8c40828b8af34ba9cf29b15bf6 -11454c036896072ca704207275191b23 -15bedb4c86eedbfdbf1d31ef9ae1109a -fe76ebc8431356e667f9c2e2d342ebf6 -d4037cc5947312fab38e7b957846a4bb -e02b661381b151bb3613044356e64d66 -2324a8780c8199dfff88b93a55e6f242 -3195b786158001699302798a14641541 -f9dd34abd6e7af2ed7d1f1447a980c31 -de82fb017b29566259bba984f3a57c70 -fa066a803da6f1eb29350eebe23ea899 -526c52e1fbbeed77c791c53bb8f8af21 -b9d9655b892e3f9d866f3e68324cbdfd -38f1de9e42a5dea6c78145887e268585 -493ce1342541e6ee008c63b803ab35f1 -b46a26d2b1a3ee0f054d708b1c0204ef -b4565f4ab909dec362337c4aa03374e7 -dbbf770deef956eb58e8d93b6e4079a9 -425d2a6dd28fa682c344471b9ac6fda5 -ef4e45b5bdf2bb8bc44f4c82c8a95782 -f64d0bf43d0c95994e4f07d6f1dabe71 -16cc155a558383a62c793c457d635fb8 -83438b0ab5b41421cf32f4abaf767825 -4da9176f2fb346acbf002b2044dfa140 -9b26d569f7681ae521fc03c31962a7fd -51e40c8c3f0f27623f8612f6842b7e84 -e8ea4636c95ce150268cf43b6147ca42 -97a80af43b8d14916539029c8fa33e58 -aaa303cd6be55e30d74c2d68e95ddd6c -5113f501a0fbff0758564aea78d0fe8c -093f7149ce4c96e78063a4c26f403a73 -0b671f048bec10e2f7d78412b78876f5 -c7bb4aa3fa439ac4edcc33215d7c2844 -447ba9b040162fea9157171ba1b28dbd -0fe8e1dddb835e287013aa5b0dfe859d -c50a0bfe339e6ac6aa66123a395d12f5 -424d0fc1433719ea5e49b328ede85daa -5ae1af52eb1f726d7105ca2937461c04 -3991e13952c38413c8a84b56cad89419 -a5cb946323890893953e85cf545a026d -671d75454b333758febd0e6ebea8f0d4 -4bbcacfb4b7d52b6955616552b140cc1 -bcc62846a45d355cbda6a509062111a6 -fa1826202eff15221aef9efe0280e193 -2dc8f8294491a2f68465a48a4d085309 -ff54de7338f90c9eeba1e8aae654fb0e -b05c4a57e051c4990c6449d2f44471cd -841ae7358f4c6114e6f1671d8a1bb765 -c3cde3c2b2c1ff47bcd1fd7ee0365dcb -a81cd2fa9e23546f650497e9426317ff -cb3ba051620b5edafb23cc135d1eeef9 -dd8f47091c1e23c5423421f0dd540ea1 -822a74158b1dfe3fd865dacf00c83300 -b46a26d2b1a3ee0f054d708b1c0204ef -5875e863b048bb208b35c1a1c9f7338d -7b8d6a3ece4c596314b81af171cce39e -6166d7f7fc76cd99cb78a328208f3e76 -b3a51b48ff1b167e732f4bd4f25fd31e -380e4c3a580fcaa92fbc7129ccfcf333 -7975262647bb23327a3b4c4cbe0d253c -ec98344105eb289a878676dec53f09df -419a06d1d3386c7a9fe5ae8cca4b50e9 -f65df21ad4a20d240594b3d38ca90308 -ba50185e1cf7975b1fa476d2a342b882 -f1b27b485b41728b509000e1a38d5040 -9c9f7cde70dc650d85e36e58e084557c -e8ea4636c95ce150268cf43b6147ca42 -58bd564c73fdf7e11a225033c9786eba -9c9f7cde70dc650d85e36e58e084557c -8285e5139984485bf47345d617624d04 -e8ea4636c95ce150268cf43b6147ca42 -09b7eab39a57d5b0640f3d164ceb4696 -281b1ccfc8ebf459382e260a1d63f2eb -e8ea4636c95ce150268cf43b6147ca42 -9c9f7cde70dc650d85e36e58e084557c -6d6e1e221e2ef42f5de7f2786adb3858 -152821e51c79a9b31130a079fcdeab60 -76f8981a010b92094a24f315de962f2f -7087e9468cf012038634d5ddcee19c2a -ff53b6578d53ecf59acf5c264965d4d7 -5de75736a54fc097aaef16b9faaf9120 -576892ad5cb38db8673b20638350115a -34b4760cffd60a45707b0ec35818ed34 -52fcd0c5c7e6948d0aa80baf97d537ea -58fb96bd7b90706baddf12badc26d4c4 -61615fae1029e45a408ea730f161c52c -467ecebbb4dd09fa917f3f417fc25f8b -8248b94063b470fccace196cd1bf4edf -87ac13b59e95662afc0605aca2e9e1d6 -86ec03599d40b6c20ef418a731b80e5a -dbb3990dc44d82cad4de833034e079c1 -de764f0bec95aa9bb2777a8614c8d629 -86ec03599d40b6c20ef418a731b80e5a -efe8fb37952c727a52bd57d27326448d -41601da383e12e2f29e4b6c0eda7e882 -5f98e3f23a1dacc3ad6b059eb525e51f -36cd0919c70bfe1f45f7050028476051 -38c07792910b72b167bda44de6264ab7 -f7f09c1fa5a0d77641857dd3b4e470f1 -40412d3c44cb62ee0300cb19ecdd5108 -d65253084a7dceb06eac450c4bf4bba2 -048f59297ede3c6ebd20cd8dbdc686bf -3b32892d5c490d58ff7fcbbbed0b0b22 -582cc8ae4d21f2e63c6053bb9c826487 -a674382e48ab86ae4ad01becb0111671 -d2bb3e8b86a1a4d15e5ea93b9b5d88df -3fa7f806a014d04441c4a94b2152a7af -5e49890de2801947e8713beda1863b2e -c95b472567835a5c3709fb5df7e4a621 -c05ad53d8cfc9723806d7340a5324203 -f13a96d795a9e0d622d92680577add0d -527aa0caadd4b04939a3f5dc3adfa1ea -11a8035cdc2d15b5af4c22b3b8bc2410 -6fa7c985d378ba3947a4c47cbb4a294b -2bcfc74672c82d4a523a7c003d68340e -2a2a6a0ecc04c323f1286344dd1f1a8f -a89674bbf0fbb01298a75a0f07c7b8e6 -d7167a9afbb28ab05877ea70fb2789e7 -31b7781939f7427983c12374b7cc3b31 -ff0217fde72d82b4213a9d8f1b903674 -4e7eaa2d3af71797c4e63475b13372db -31b7781939f7427983c12374b7cc3b31 -2760bc52969744a6b05136c68e9a39a8 -31b7781939f7427983c12374b7cc3b31 -2760bc52969744a6b05136c68e9a39a8 -7432611adc2c0f204485f3105b8fa883 -c05dec50e5398b8f6019f9d2c0a6aaae -0427fec1715ab0f87cb62f88cc5ecfc2 -709ee52f87ed0a0132ea312b48e78217 -2c548ac6f96023820600410a08a423e0 -c027e3f7fed6c3901094f303098ba55f -cb231c4bc998ced92227eb745b63b8e1 -746144992c876928cd11f5849f50caef -2b4bf574976348343630ffdee91d4368 -462c5a82c91d22a72520fed9d071aae6 -16216c32b619af551bf7580af6a0b301 -38c07792910b72b167bda44de6264ab7 -f7f09c1fa5a0d77641857dd3b4e470f1 -be218f2bceb0d4f66db4d5ab538a5ab1 -f13a96d795a9e0d622d92680577add0d -3b64bff90b45295c481fa9229a5279ab -e11858d9821a25e97fcacbc4cf6bbaec -9368370997cd54874b5419d47411c41c -9467f029bfb0f36bb9265a64e203dc05 -83ae8a49118dfc5cec5baad66101700e -a30e2ca6a8e9f37ccc43f7ecd1dfd27c -8aaa7a05815316f596e81ab52c1cdb87 -3fbfe326796b90c024ee6190c5662340 -a4a27e5ba18608c607c21c4da887ceb6 -a969da482f78095d272ab7d717db021d -f254c06dfa221c1fb5129f7f449c7873 -6fbf6ddff3839aff5a4e6cfcab90e605 -c05ad53d8cfc9723806d7340a5324203 -9648f1d22d94eaf497e1127c7a33425b -75574217b713c473074272da095b10af -c05ad53d8cfc9723806d7340a5324203 -8bd4d75917b68a8ff8cb8307f7034c8f -3dd75b2bfff0d30ef1f87c2b2c9cb70a -c05ad53d8cfc9723806d7340a5324203 -5c16ebd035f872c9c49931e23581d453 -588ec8231422c61d05c7e74b30b108ef -7f11b515648b97bfffe2d143a86fa4cc -6a7c464d4b75546806ba68be5eae9fb8 -cb7594e93c8a653839e17867ff388fda -73ccd139e6e8563e0f60e9e1eb49993b -8c8534a909b25112553fceeb9fd3912c -eeb1601632b1f2603eb4ff7aeb08d913 -c872cbae93b7eeb8c9c14e38ecb69051 -455d4e0f648ab5c18038bfdffde80f56 -8d0fe049e7e48a723f19e38991a3403f -dacc1af3d81d0820671956a98ed006fb -e8ea4636c95ce150268cf43b6147ca42 -5d2b7f2a03c8afccfdff9056b58487f4 -9818ad14d17210011f00f7aa4b2fa59f -ae9f7b22da89c674c91fb477be46fb2f -85604cf04cc4bb764973624486f65cee -7c70df4d55a4a199b65a2919cb757aa4 -b29d9e00f00fa01317398e616fa8a32e -7606797442f39da8bc8a7528e0c01bbb -e8ea4636c95ce150268cf43b6147ca42 -942a38e4a0130a5db8235f4ef8b9f68c -fd41f5a0a0faa80398a42a682463cf45 -ff9554267f6712974814b2a74940402c -c281f943298b8b67c878f0c0f81b0f4c -871822c0354d5211a9289c5d3bb876c6 -b289a2e43f73328d168b8967f5933ce9 -58d4ba9c5dd6bd78cc794f9ca906f025 -ce80cf907d17a9704a61349c30373076 -82f8eff560b84556cbd14b6a3f21104e -97614ae3dd91e516f03276c9355a60b3 -2671f7d65061cbacf169130f8de1d2c0 -67d7babe3ec50a00e9669ab26b858087 -14936b7bb03bbd4d160492a1f11955a5 -e8ea4636c95ce150268cf43b6147ca42 -2e55292b62ca4cedc24ffca3d58fa725 -a34e9432bba9ea98e9a0632aaddac4ab -0365563ce19512f91d472015330925ac -6826a54f285694ed6250c8670ee9a6be -6826a54f285694ed6250c8670ee9a6be -a506465ed6398bf7be7162ba54566dad -998ce4cb9c80d5021dd0586143820e54 -e9a2a17c899f1a87504697ccb37366b7 -08653c51b0cb0ec299c8eae9fb26af5e -f1caf7cc29a3235b86e109a0d667c8b4 -9c8691dd3acef613ee309df97e124a0e -2b4bf574976348343630ffdee91d4368 -5b27d6f7e4b4b4797c9419bac6a29187 -5b27d6f7e4b4b4797c9419bac6a29187 -5c93880d36cbb5a90325b2c7ae7c70be -38c07792910b72b167bda44de6264ab7 -1527987f9bdb55c384df619e04175ade -8ff995510b0fdb9b634abf02554e7a97 -f7f09c1fa5a0d77641857dd3b4e470f1 -8abbb0b27d35589a72a797f055327d72 -cb7594e93c8a653839e17867ff388fda -10ccabfe8c4d4e69fa2a267d8804f799 -10c6634deeaa95e9b604d13a49ab97a3 -2af3467797499bcd687a1e0df37e3626 -7292d2e65d941e7edffd7b09ba1454b2 -e8ea4636c95ce150268cf43b6147ca42 -6bfe3ab1950d45b2393c18bbb1c7c4d1 -de1fa4b5a6b21237aede05ac533434c8 -774aad3361bd585fba9edf554fc04f47 -5b27d6f7e4b4b4797c9419bac6a29187 -36cd0919c70bfe1f45f7050028476051 -38c07792910b72b167bda44de6264ab7 -db9c59b4a1119b0df8419c033aea5593 -05da9adbb61b802510edc94415b6ab7d -1ef71617c48edb585d1312adb8f7e2c0 -903334ccf8855ab5a2bf795670706b7c -dd3e906a26d5d291b824b3d378339bf1 -c46851c5dde8172b995d4af1cab817f2 -d9a489f85b60cd5e4bd4bfc530639069 -49eac4528cc1694b5e2541455bc4284c -07c1b9bf10f47f392896b8bb52c931bb -36cd0919c70bfe1f45f7050028476051 -38c07792910b72b167bda44de6264ab7 -3fa7f806a014d04441c4a94b2152a7af -43339102de067f918efb6e426d63e764 -c6ccc0491f0da41838406193b5f119a7 -5dded12b5bbfa38ee76deb4df5d9f151 -db9c59b4a1119b0df8419c033aea5593 -9024e069c9dfc2baeec989d2d4c5a22c -3eebc8590ae7e446ed48ed06f007ef04 -1b8902e363de623f65e1405788599d1d -fbd71dda574d650cfa102217ea5f7fa4 -dfdfbbed8bb1ecd6c6eaddd3f2b501eb -31b7781939f7427983c12374b7cc3b31 -73d80fe002173e99d37ccbd16f28d589 -05da9adbb61b802510edc94415b6ab7d -e385b11ce35ef3964ba848936d9a575c -e329f6da281ae47f411d9ed7998791dd -e8ea4636c95ce150268cf43b6147ca42 -db8ae9860ee16a64b7ad563f5d4f7ce3 -1ef71617c48edb585d1312adb8f7e2c0 -d391acc37e661b12d094fbcd14403449 -903334ccf8855ab5a2bf795670706b7c -95c56c0f4703e04682d89d484d624f80 -c46851c5dde8172b995d4af1cab817f2 -aa4d70a5f438190c592f6d15b1466994 -49eac4528cc1694b5e2541455bc4284c -8fa87b2f87cffbe47dac5f5e7962c92a -36cd0919c70bfe1f45f7050028476051 -38c07792910b72b167bda44de6264ab7 -1527987f9bdb55c384df619e04175ade -35aa47bef39e8d3d81839e67f095cba2 -3fa7f806a014d04441c4a94b2152a7af -f13a96d795a9e0d622d92680577add0d -8b70f5bc7a509fb900f1f205c4b6a8dd -36cd0919c70bfe1f45f7050028476051 -38c07792910b72b167bda44de6264ab7 -f7f09c1fa5a0d77641857dd3b4e470f1 -41ab5cc6b96a4ad75cdc38a0e6f302dd -e2cd6241863799bef46a5e2e6a964c9a -22aaefd9ce45a6c1d1db4ed8201246b7 -3d50210bbb718b66ad8243353f836b10 -c7363f683fc20c1399688ba592422a83 -ddf4414ddf50f541c563d3cb161ff7cb -ddf4414ddf50f541c563d3cb161ff7cb -67a0faeb2ce3b3082f7379ce5701a9f3 -e8ea4636c95ce150268cf43b6147ca42 -ee4dd688adb63c229089ba65c075ed2b -a414b66a47b624fb408ab725e2b9f2cc -2884026bda631f584aeb3d887ef5f194 -5d53ed5fb858e36ea26557fe52238349 -2c3a33a9d3e61d07c6c4ea3b5ca35351 -1bb6d228c0b69e23b84d47fdd6cf62cb -9c69fad337fc810c23bfa6b25e495438 -e8ea4636c95ce150268cf43b6147ca42 -6089317dd08dbe305ba5a9557ea6b984 -3fa7f806a014d04441c4a94b2152a7af -e2cd6241863799bef46a5e2e6a964c9a -3fa7f806a014d04441c4a94b2152a7af -e2cd6241863799bef46a5e2e6a964c9a -3fa7f806a014d04441c4a94b2152a7af -e2cd6241863799bef46a5e2e6a964c9a -3fa7f806a014d04441c4a94b2152a7af -e2cd6241863799bef46a5e2e6a964c9a -6bfe3ab1950d45b2393c18bbb1c7c4d1 -0bf3ccd481166522d8d965995b5440df -ace61ac2715defd91ff8d61207dc5baf -7efb030aa0e297aee9dd7de79ea4197c -38c07792910b72b167bda44de6264ab7 -3fa7f806a014d04441c4a94b2152a7af -5e49890de2801947e8713beda1863b2e -7efb030aa0e297aee9dd7de79ea4197c -38c07792910b72b167bda44de6264ab7 -bf4885789f22fa3735f8335e10038bb0 -54b478a57cebe5b20efbcdb8cc5a9644 -3fa7f806a014d04441c4a94b2152a7af -5e49890de2801947e8713beda1863b2e -e2cd6241863799bef46a5e2e6a964c9a -8df0f4a81c7082fbd4f6a9bfcc4da67a -d9fbe57e7e62be3a12f38ca2f014d641 -88c9df6d6dfe790617aae03c0d371fda -7853e2ac5aa85e0c09ac024f7b8e8455 -0455f8afab63c63ffed484a20d8a74b7 -e8ea4636c95ce150268cf43b6147ca42 -8264ca8d2a63203b8ccdfb5249fc4820 -05196764880713d3612a74cc35640a72 -409d2a79f0491028f3e8ef3e141894da -36cd0919c70bfe1f45f7050028476051 -38c07792910b72b167bda44de6264ab7 -3fa7f806a014d04441c4a94b2152a7af -f13a96d795a9e0d622d92680577add0d -f9b87cbf8bc07aa5f55fabadca169313 -36cd0919c70bfe1f45f7050028476051 -38c07792910b72b167bda44de6264ab7 -654b297c1fbcd3a58dc41a454c60ccf0 -3fa7f806a014d04441c4a94b2152a7af -f13a96d795a9e0d622d92680577add0d -36cd0919c70bfe1f45f7050028476051 -38c07792910b72b167bda44de6264ab7 -654b297c1fbcd3a58dc41a454c60ccf0 -3fa7f806a014d04441c4a94b2152a7af -f13a96d795a9e0d622d92680577add0d -5c93880d36cbb5a90325b2c7ae7c70be -38c07792910b72b167bda44de6264ab7 -214369748e86251dda1061686479d72b -38c07792910b72b167bda44de6264ab7 -030c3135f79ea056378453443706800e -0cbdaaa75ad46e6deb95f8d9a48212c7 -ecff192e00c56eb539835918a044ec35 -242a3d63af97735318594c7527d9e9ee -df6e527c9b300485e7c9b553038d81e0 -d39b8007a685cc34f3851a132864d314 -c9c8f972a120767934b062e83aefc6e2 -1bc91d57dbfcb84867aede76c0d01a32 -3359424c560ae6f4198c66c7e7387ac9 -86f8d99f5ea7f85f73a58cb9ca973c49 -15d700eccc5881ed2c93b6fdcd93eab4 -1bc91d57dbfcb84867aede76c0d01a32 -43339102de067f918efb6e426d63e764 -5dded12b5bbfa38ee76deb4df5d9f151 -db9c59b4a1119b0df8419c033aea5593 -05da9adbb61b802510edc94415b6ab7d -1ef71617c48edb585d1312adb8f7e2c0 -903334ccf8855ab5a2bf795670706b7c -c46851c5dde8172b995d4af1cab817f2 -c57b11153a4a141a2478d8514ad2baa2 -38c07792910b72b167bda44de6264ab7 -fcc572e863cc8c4f2e0b9a359e615f30 -030c3135f79ea056378453443706800e -4674536bbdd793bd558175a2c308af14 -0c814679ab784b5a2de9a47a0605bc43 -2ba01998b377d57b902221ba6fe5534c -16e140a68a5eccd743e8f46b9b71804a -88909af9d1dad29a309d5509f54b388a -4b6bac9b7acb3807c0e337881c25a4c8 -da51d36f226b47cf9ccd18563a295082 -875d7c89b4ad978a308eb721138cb3a0 -26c1579ae1b9d05b52a8a38549060ac5 -26c1579ae1b9d05b52a8a38549060ac5 -6de6cc7a2530db5af36e4508ed6a2130 -c87cd53b196247a01ffd4b4175251bdc -e8ea4636c95ce150268cf43b6147ca42 -5517a8f6594ec282dfb66a59929d8973 -9c09717a3570aaa7a791504dfc683910 -9c0b7f0fe1dff6ca56a92882d1a07d78 -85b587df6489edccc847577716de1fbb -a1ed512e5919714346f4a22cf20c0d2c -21057c085b0d21d018d7c3d97f5589df -0368d02f3042c04db97ce235b9c676a1 -7a029d119d8e9a2a70bb0675944011e0 -c46e7f3f5e6b750cb679fa347f248256 -c05ad53d8cfc9723806d7340a5324203 -b838c3db9264c1adb714636226e74aad -0ed2ec0930b4fcd61944a27df7eed767 -920ae8f50f7982305ab0ba51cd871a05 -12cabfa13030f73354fce09dcf511679 -ed453c5619aa7e8130375d534ca83a84 -f1af324134813ee80d91931d53c0f8a0 -988dc36e630fa089a8b87270076141ed -61dedfb10821835cfce85f4f821e5543 -a0a11c5b26b1c69f71a1c79e945a13b0 -c366a245ed1d5ba3e513c3025c3b662e -a796ae00a870891ebf64cdc744cff882 -12cabfa13030f73354fce09dcf511679 -ed453c5619aa7e8130375d534ca83a84 -f1af324134813ee80d91931d53c0f8a0 -988dc36e630fa089a8b87270076141ed -c85fe0afe1772f244fb91d37878a3651 -4a04866d32238a79a223f1105c025a64 -02a7688cc35fa19fff437eaa8cc20486 -f12f71be65a39c1ecff8f8aabf59debd -31abe3f375c4351f5592174bf84a20db -8a77ea855d11fb1a541efbd1bc8815c4 -4c4f53c4787ea3a3b1493eae5dd6cd98 -654df013835436c112711db4c865f4a8 -df6e527c9b300485e7c9b553038d81e0 -57dffa5fbea887cfcbe8c658ab022d7f -0c814679ab784b5a2de9a47a0605bc43 -000fd13fd4c1bd21327aa6b633897daf -021b2085e27a9a3d70c7379243f4c281 -a477bfb4ee02093111c26f1c4755f414 -5b27d6f7e4b4b4797c9419bac6a29187 -cc810140de7ca984f237eae5572b7d44 -ce58b23335773fbe6256b789e7a53b8c -38c07792910b72b167bda44de6264ab7 -58491f4f124b18e71a5a8bcd7506cc45 -3fa7f806a014d04441c4a94b2152a7af -d0cafe7fcbce00269a891045ccb65cd7 -0dbfec128d0f94a6022601e1c2533da8 -f85800a23d5cdec947e0a9861e0ed263 -4f6ef357e438dfb1207d76fdb8c1f27d -cec983bc64550f458cf3879f3e6be766 -15bedb4c86eedbfdbf1d31ef9ae1109a -c6b5c105379198493854137a67554713 -d0723afef756d5653249d60ed5cb137a -19c7824f08f18258c3364d2e8a8095c2 -988a6048fd6628745f326a7430066c34 -9e62d046070b47de96edc5b1faedf826 -c7b87591b321d9104616092bccf2c443 -5a93872ef5e5abad15497e3fe8a6d29a -2e1b7347fe28305f3c3303f2baa3eab1 -2bd3653e3c647e3b49e76ac063401767 -39f698ef508a4132bad833e40851409e -6248cc0745fa0d24d9d94f8ef9eb0ebf -1da5dac989c175afbad2fdf53f3781c4 -83539ce8233225f9ef3141cfa7dc57b3 -fa019f5718cf6487dd44bd58a879c9b7 -894f05ffe9673713e72b004fdb689509 -ce3207ea1bde8aa486cde570f5ef4375 -eeb13f526aa547cf3c8c97ab500b8577 -4ebbc4ce15ef76685a849ce0f2eb024f -8b781c220c8b1c3008198064165d55fd -3acf449c3fee611cb434f5b3f42b0448 -152476b42ff402925a3da205e40e18e7 -a3c2137162cedf10bc120eabebf99743 -bdddb42e728f90a0c722c37541e67e7c -e8ea4636c95ce150268cf43b6147ca42 -8b5bfab366582c9551ae4c5137654350 -a1b535908082a015fa59c16db6bc9eec -47cf884c8023fc63d2df7fd4e97d4886 -86ce5279e6e01f004094ed7faecedee7 -96cddd130f7625eb92def8458beb7589 -4b208acb689e8a459884170549ea3dee -2562540e3aa1a4696270c51b88298861 -9986b4a189fe69a9814106bfbeaa371f -576d3453d44aa465c8e6a6388496b34e -a42c541789a5c647fd0ba65538a2ad58 -0bd311ffbbdb7f591569082833371820 -a8528224a41bb5e8cb07249308a6e377 -f4606f280a59631649e85bf41d44ce29 -bdfa9df52db7d987c6f069639a66b754 -c628ef1b9faf812a25780c84a6cd87d4 -b1ca7e0188827bed0e2ced9b668c2eca -bfee08dc78d65b741bdd1bf1f1cf1c96 -ac8d3bc913328a625b1f31e743ada6e4 -7f8b117118186d32aeea2e47b221af37 -40ca1dd6784ebc1773e5be9ea7ae08b3 -d0b006ed8ca148da8f5871ad1e9c31f1 -625345c2c55e9b4e4d61269063e5d192 -05be978ee197ec446da4742f779448c8 -a498ad2b82057010422c18d81bc3e1cb -0fc10324d697a048be6b066aa9df8dd3 -41c35de9312d3cb4c0340ab44fb022f8 -9d607003f2481f21dae818f8095d5162 -e8ea4636c95ce150268cf43b6147ca42 -53e39bfb794e7abfb62d8bcf8f40f222 -f39c82909510d5cb0aaf1c9fa22cb8af -2f2cb4687acdded91d240d451c15b82e -888f40cbf530fb10e816869ddc12dae6 -3acf449c3fee611cb434f5b3f42b0448 -a2745af46be7d9761a14f5af9d8fadef -9920a16b10002f45905698c6c3915e0d -933070b127cb34d98b8064833be95227 -aa76618259d0fd1d41963fa5bae0122b -c85adeb514181c793b9ad527db9e7938 -3e4c8964213a004d7bba1d3582571055 -45915e239a59b94273d9dc74113de254 -023d0987d60b7a1fba57402b9ba38b45 -20b9b4cd592a02cd2e629ffebd3c1854 -7726b9697ac878a37132681d90d36752 -c5a9290ef9577356b468232d0680d2ee -5071a4fdff58301676fde5c6b892ac21 -e1b5708edbcb7297738d370fda402df6 -36cd0919c70bfe1f45f7050028476051 -38c07792910b72b167bda44de6264ab7 -561f0f98fab5fe53f4f384447409a2c6 -c7510f7f574b6bc2eb537d68840cf542 -cb3ba051620b5edafb23cc135d1eeef9 -e361899fd046ff5882f8d7eed671a18b -430274cf441adcad58a6c9bd5c4d64a5 -31b522c8e8848b0b8c2d660efb66e2e0 -e8ea4636c95ce150268cf43b6147ca42 -0737f2dc9671d7155e9127b62ac830c8 -d90732892d00f724d436e00ce8fe77bf -73675e11a55c226b47b334cafbe17bf4 -4155dc1fe90f69c1777024d530a10291 -518d4150e5b2a8ccedafafb71c229bda -94eb406d30d0d76dcd86b22786a3e1e0 -f9b4eb22e3c050818dae4715d8a1efc7 -d2786b700b50e2be18da068f028441a1 -0744cc2a547c30badc815c1ebf8b4aa9 -8323b1ed8aa6733935b866c51099829c -3b86375c03e16d307b63395c1fc92662 -b5585f278f7a9c01e726ef4e4acfdc99 -014d692f655fd2eb64ddd19e1458f3d5 -b8d66975f6ce82f42ea9ec4ad02d061d -11209e2d78dba9b9415039d14a780cc5 -526e20ac6d5de6a0e5cc3193166aa53b -6c2f6c0044be092296ad6d6bca295c13 -2cbbf5067a4954129964df9424020996 -2ef1ac396285ef47f721d34d81394ac8 -e04feb4a4636110e8b0935032ae0cf07 -5804d7942312d6cfb81964d43c24b434 -865ac3ffffaac8e9761bc30c9843c5fe -baa45fd711d057c838960442de38b4f9 -7bfb38194f95a3155d0e5c4ef8b5f2e1 -273a6518eedc33125aabfffe98e5e56d -1c7c16822a9d33f8eb316819eb014c2c -e7989f4066e5f1aabc537f6a2025846f -44aa26c31a6db4ee6b62785236e3c19b -6b0ea4e9ff4d6c19818cc4c0de383c09 -b597bf3f88b3d9f8dc40ef50e6061552 -6b25997d219fb541de781c6b77bbade3 -d7feca764e3b6891c78445e9c281b74f -52e15c7c6b191ef7464318ce900c5c23 -bfe6d4ca214a51d108eef0a686812a7b -17cee8bbe70c833a31013883e617e250 -1a5d16746c6667726ccfad1ac28ed606 -ecf6c89b384d2af3668a74ac1e420c3f -4d1a6564c55a56f4ee9652e07aa118d2 -7acde40b996648e3507727a641be449b -78dc26bc39feed7ef5dad6b46c71f9fc -50a94121022aafc6653d78929dd16367 -9e69d41a192734882c0e5b5f12821ba6 -419814856aa02b1fe9b7a448173821a6 -01b4bc809e6d0a33574f2fa60a7ae814 -816af1f36ee405d36d8e04622e97b866 -406c6ff80a7687f6db38640128a4a803 -5a9f1bf248f8df5164b4fd13ba78c9ed -287ecdc6657f5ae391a6a44c4a75cd7c -9d2f7d268a79a0e84d7de54b4e7d6f1e -2710d7cba565d4047f6d98ca37964c19 -5cb138400b3064aad334180e8d4834b4 -24b44ab89b5329b7c9229dc4fb691789 -269372b2f561c90f964b22afde1dab0e -a728968b016c83eb94c852375e1a18ab -f62d97e9c6542fba5ab06a27efe88794 -b174b3119ed727d3e261b368b6a4cfda -750aabc603bb602b4ecfe968fec937d5 -21499a96815a54820756de2a88884603 -a70941102240818ba00ca7c4c8d1f7e1 -2e87129fd1d9ff564b4e9df01f1d5503 -8dab25004a0f7f8c3c5a21c97337a81c -60ec7ad00eb0148c7be8c2eb9fd9646b -07e6e31b7163e946f50876f9b890296b -d55b21727d8e267b991394c45c225867 -a5313b0bb28cd9ce667a0e15b453f898 -3e008596754e7a497227a9ff6fcb1a86 -b15a4fa5fa536d40a21dac0afcb97ea0 -37a05e3f3ceb4bf41fde5920fd2836a7 -0f0c518b7d3b815dc5bf95327b03ed0f -816af1f36ee405d36d8e04622e97b866 -e762de580f5c41f51c39a7583958b0fa -06a1b7c1b45bb2a16743dbce5bf0f05a -fe2cab8dc31d6c261e73e983beb4957b -f58bf1c724c3daad7fda38f68cbe824a -aa4de6596beb070b09db2244e864702f -f9ca953cad293b7075f6428df356f0fc -d051a437b4b573e8196a859931101e73 -ff4c9f712afdeebd0956836cacb5574f -5264219e0a4b79f953e5362b05924a4c -b814166d3a6b6793ee426c27257c1a67 -ea476bf8712aaf063d10900c5a9c56a9 -5acfb5c71ba046300cb1afaf6b7a7317 -ba9cf3b2eae976ea879839981d9e2a4d -9307c07421dc660c21a77cfbcffee7f8 -06838311a9fa4d08fa2ed47a921f875e -fd4482f7b1f50372c50a890dae286c6c -0d69ecf5d8817033457b817ae6a9823b -2763942640e8b7a9b29165a4efcf825b -805a7baa4d2fa6ffa03e57edd84852c2 -c912a842588054c29ead6a62993210c5 -c912a842588054c29ead6a62993210c5 -c912a842588054c29ead6a62993210c5 -c912a842588054c29ead6a62993210c5 -9ed42d00684fabb33d0934846a23e032 -331a567540fc08f7d513ec3e90cd6327 -ce5bb04fa6060129ffd958add5cd4f90 -a4d2e29e961c1fc72e2c1a77545a9166 -6afb5178496a7aba69e41b1c327aa7c1 -1ce711c587ae5a159e38521a59c3736a -0da43ccd89215e2aa2454cffa7ad56a9 -a682358c6ab18a347b44a77ffd58ce7b -76c95ea279b7cda3771131de197b3ac3 -0bd3029fb064981d53cf77a67a5ad749 -1b724fd3c0476b77be6750f8e07985e6 -cb0ff670e7526071363182646e8db431 -d6e7e01ea972a3e1eeecdc3d883dc3ae -488f1dd99834675ae6b3bbd74fad59c0 -6d695ab0902d55992ac2e8c7cb659fdd -70f0488b76352c8a2ff0ae1da9f2aeaf -761d89c7acde64de36ac916316d233b2 -7df1be5923526b72d2d8e4401acddfc1 -488f1dd99834675ae6b3bbd74fad59c0 -9333dc5f1ffae403a113b27a006ab0a3 -c72a3c7b04a8f7cab78ab60fea7781fc -71359f0fa440da44f85d207e71e470fe -dfbd136eda8b1fa83472da5e1248aae3 -cd34b73bbf21f52360bc30b0068161b2 -c2b279021da7d101169c6be3a5825573 -48fba7c886116dac08bc1c36a960fa3b -59fc2ee36896971b1e53deff88fd3a71 -3aa1bf40632282e0e67f51f184cd1308 -583f53530ab8d3d484b93fe3009dd212 -2d115f5c4be29610c5e1130986b0a5b4 -d90620c11cf0a50d9e087445723ab051 -a3a007f75338ab232a4c82f1f9584014 -ee833d748e585d8381aecc7f8ca52962 -488f1dd99834675ae6b3bbd74fad59c0 -b885a31fe34dbb8b5d5eb368e79288d0 -58d79f4c4695242a0ec3bf2971bc9e63 -edb0ec24bbddbf139dacf579b2ae0cbf -7a9a12a3456ad75b8f3008278463c798 -488f1dd99834675ae6b3bbd74fad59c0 -5e9d823ca1e9090438817240640ad5ef -34d0a9b4ea215e152c0878665a936be4 -b3d5c480da85c765d40056855da31737 -93da98936a3617c761af172b6ab3f5bd -ee1f872a10bfcffc724f6e9728b3bf11 -466897911c37873ea70cb3d049509c57 -051b541f66fed6ba584228b697473dd0 -488f1dd99834675ae6b3bbd74fad59c0 -ad062b7c53dc12205f90c2145ae3196f -2d38c8f2b5e4cca22b31350cf65d1a8f -4b962fe00e9feb033342821e638def34 -e141ea1b4ba009ee19d2cffb18056d77 -81b2da1d702250c2aaf0920d6ecb663a -6c2b52b8dab3cc146aea37722462c692 -3dc88b7c0710abbb84626c3169c4deeb -feb1269af6792bb43752d969eb4d50a8 -466a60f7d0a619f1e276c1a0bbefc46e -220d708be3a3f8e305c086e182e4a0df -66a306728fa3db5cb99aea2e96286520 -c08f634b4cc9364e94171cd3ef8ec7ac -a68d5b46740b9906ef2031b1b9783ddb -615bf2df891881e38532b91b3a9ead5d -5b5415574a56da2f3cd9cc7b4de2a3d1 -3241ad10228b8642fb972c6793ff7dbb -48cde162ce8350a990e8c8fceae68e1a -7b662db4dc6e1f1cef038fcfd3c1dc54 -7a9a12a3456ad75b8f3008278463c798 -7ed906e27b3ae435b3217db62f3ad251 -89b0d24c09f5ad60e6da6e072930515d -bd66e4411cf609e97608a6f20a45ac05 -9f5ac45286d6170cfcce749456acfa17 -e43f5c250df4f7eefb527f2f9cb9bf67 -460cf9070fcca7ecfcd8857108771c85 -8ece47e56e2ecdf94c5240911a307704 -f1a06f8fd5b241061c6517935fa3e701 -f86a206eeba29babaa54dfc8a5762295 -19a054fc3ef1c16484d5f94a5dc620ec -8841b6bb2a40b9e06cbe56df10856d59 -42f44d7952936121cd7f1c79d1bc8049 -af1f3e597e1aa9f89b2f7e7492d8c8b4 -9412d1ca5ff2849e2cbcb3c3077074bf -cb274b80567f48a9eb48cdc8c02e1def -f937831604eb363b4fdb7eb4b0f98778 -9a05544ee5bce18c8059d18ace0c66b2 -1cf46106255d5af013e4fb48dd1cea3a -1a317b0dfccaa05cdb6cfb6bd801f98e -d694ae5c26d7183ef1c0c56a91506531 -cdea7e118f518b379832f4fbd8b6989a -c8ac601ad643fb3576db4558cc68280a -3b1570634b7cda426d6299b1ae521108 -d756d6b37de1c1d57a020ade5e048b0c -f9a561f360b0e2b0cca79d06e9fb8d77 -9f6b48793923d2f779bac35ce26cca2d -c1a8b9913c5b782f3e5c42aa69e742a9 -d7584b35f943e1e50c5331bf2e20bf84 -82530756ddd47fcc96c420147bb73302 -a0ae87f9b71f21f5dbfef3e259a7e7c5 -a84f58ed52cf2a99281620bf6404fd80 -ed2a24af5c52de4acf20052ed251a77b -7cb2c6f421e09b22c9b05535b47c7537 -03405a3bca06c97445155261f44c9dfd -00d072b5ac72cdae3f2b4197898f0e1d -4acb2c042a7392d1f5d91194c98804ef -98608887a233b6bda16ed92c9b5fe03a -3eadba630dc349a9b53dea7e7b72d5b0 -cab5933c505bbe2d97e5be8b65f2c560 -62e4f64d83255c5647d69ee13b278fdf -2a5f03bc096206e23824736840dc31d6 -b39e08c7043f482fd27fbd9c6a09a74a -dd59391801149109233a2852cbcf09e5 -765c593fea114f6c7b7fe72a111eb8e0 -4ea957f72f6731db8e129808220417ad -931986f29e20f7c1adec4a53005947ff -a857d5802a9d86a5a9e719f859198582 -34fa85726c1f3c3c6a410c63f1850e26 -173b4c82f99d2650a0b29aee127096cd -2df50743cadb9fb33a9e7c07f6dcaaea -ad5a354e7c10588689a9db88167d81ac -d0e66c4d7830ac995e3b3f93859d12d8 -757bea743ead192ce8915795271aed55 -db52d2b376c1d00d1dc535a0ab07a10b -15e81ade8510ada564e2b9cbcc7d636a -2df50743cadb9fb33a9e7c07f6dcaaea -2df50743cadb9fb33a9e7c07f6dcaaea -2df50743cadb9fb33a9e7c07f6dcaaea -848247d4fe3827ba4a817b08a2803910 -b18d2ee3cb882dcd2c8c4d09358766e6 -a5d5be9d09f7594bca616648e6a0fda8 -02253cb2a8aa53082b85325d2428ae3f -43f7ff9e2f7373dae5882eade29b01a2 -34b4b09b0169fb6467755b3c4d493a71 -5775a12fa037ac821e04a1ba36befe37 -35f0cbda40ff66a822d6019349db9f77 -77dbef20f96eed67e56cb2fbe2b24575 -192505ca95738d785c6054ae3beee3e2 -6b80fc376460c6bb0be8eff8dae98710 -34b876dea0728c70546f04e91d703093 -ed85d1380feb2760b169bb2b4c8aae28 -2b49d57c4ef097721d0dc657b03aeef1 -a502dca825f423374d406632d7034cb5 -635cdd6cc72878c1d8765edf6c472fe5 -0b680a137c5e85394c72a4a0d0061b34 -b447cbb4c226cba611e585fc4e704a26 -b9ec1bf014b48c1a1f19826034b0475b -14a61697cce5b0531a1cdb07e93390ee -24a0eb57529ff231d9cc05adad2d92bc -f616b66dafb34b3bd60cc0aa3c8c4a04 -4777f7c4213c6ba8b5682cee441b249c -51f5cfad6c6d7c59d8cbcf9fdfaccc16 -d1c7a3f4ee9ad1c6d0b1e254d664b1e2 -2fa32ef818a2026b15f32879dfcbe633 -13c9324320202c6bbfb8e4a8cc4a27cd -46721a3f1c3c288590faa1183774bea7 -d264411f0b9c11c62c86747377c2a3e1 -172952b63fa06abf127ae16ba436cb84 -1ceaf5be70e8b7c12227aa748abeafa2 -0b58eff5ff57911ce7a37e401142064f -33e03d7b6e3241416380fc0b43ca7dc0 -33e03d7b6e3241416380fc0b43ca7dc0 -16027775e7bf0add38345a06eca84232 -16027775e7bf0add38345a06eca84232 -89364f2a308fccccfc7b8d4dd085a529 -cfa5675acd24414c57e6569d5ea39e51 -6cd8450b7a5f45b3e93285d05277658c -409a401b4f4dc8dd3c97f57a8bbe575a -6a1d4ab01f1fdeff9ac2542b91943f1b -6315c36dfbe235496789c52bd74b0806 -df631a3635049e7a2206242b8de5729f -cadfa79f3c95767e52a153de74d211b8 -6158f009542b7630f1dbe89397653def -fd25a678d55470bb03e89f7a4173d420 -b7768409b26503d887cd4f86c5f62bb5 -7318cd74c9b1348dd80789abd3e8b3f1 -95bc46e41724badaf9243e3369095b4e -d2a671adc69e112f42bd5d03c72b45a3 -a053ec5f8bb4bbac6dbd7444d03a5cd9 -503e3c0227acc34aa21881d27444abf0 -023b3a225cf3f9e21671f6aab7034146 -5615c223136fb62cbdb99af4ea7a7eac -1562356711a7c56f085b2ffb8c64bcce -cc9d881582714463664f96b414b9912d -42ce1c7279a035b08ba150095639e952 -da99f0342f45c1956e5676ebc6d481bd -4253c62674e49b4bce57690a7d341157 -cfbd9163663a53381a189e26768b53b9 -f8ae376621d77a7942acf02c4261987b -61fc6eaac225d3061420b6a46a5057cc -999bf220dfeb445d244d05d38baa2dad -b2cb13eea99764252e6b5adadec0364e -cb73ef40e0d7f65befba0deb948ff90d -7364c8dcb0a33391cf956dbf79eb208e -8cc1259dccb8452a649260e8618f620a -3a9936e548b71bde26e558c6086cf3ce -74151ac61d0cb26e46eea08e4d029501 -e00de731aa335ff40be55814d1b7ecec -9def957a592a6d069e41ef9cecdf8e30 -0d80de8abc12d745231e6b5f4b445ef9 -283932475c5efe421a6c7cbb210497aa -89b09e9cdf5eebd5eaf445bf40dc8745 -beb59926cd65d87156f8e8c99f99c3a6 -647cc449ba1ecde334e2aba26162697c -c0a50499147e6ffba78c98fd2c4a529e -73011c59606de4480f7ffb666d88328f -503d661167f2e427e4dd419aaf2f0440 -2f0891b0577dbe10abca1106a4ae088d -c202370a615f3c820c9b7a0a16680c88 -324d4e15a7e0a2e6b9254fca15ec23c6 -77dc25e8fce7c6ca4d3830cad19f2fc6 -68f306a4cf8443deea6625d35675f132 -f28f8fa7d9287fe9517200b812e4f5e7 -f28f8fa7d9287fe9517200b812e4f5e7 -a8ebe84966ddf9c5ea12c59c39b3a67a -7d4da841277ecac95b854ffa336463b1 -6e925a296835faee0ed4121cbdab9fa5 -6e925a296835faee0ed4121cbdab9fa5 -0a7b6c500e55c35dad87dd645a6fdc46 -3f48faeabc9e1b86375568b656b9b18b -b75244571197aae89f4c62eaf685fc6e -b75244571197aae89f4c62eaf685fc6e -c2fbeaca21eab32b003c4c2892c603e6 -c220c4154c07db32848e6854fa45906f -0e6920adeb56193b3dcb79536d579f23 -0e7834a96a2c6d96aa4c930be53940dc -d5a64aea2f3ffd2b9a032370258008ea -ee4bda6e69bb8ccf50cd4dd46e20ee1f -36e4de599440a2ec5b17102ddb5eaf8f -15b6a39b88443467f6ce37d44c61f2f4 -0e7834a96a2c6d96aa4c930be53940dc -bae779e06e276c2fbc2699adf0b1ad69 -145fb68cbf55d23bebc43b70fafb7906 -75d2e257dc7405c900f8faf992fbcb30 -44f1d9815b8d67580d96fe9d68ea803f -72e24f90fc4474ebef1ad58404e6f994 -ed44273e6791b7d1c98277fc41955290 -ed44273e6791b7d1c98277fc41955290 -fe98c50fbd7590f0241906231c3b742e -10b8634f637297032c0462db40a7e941 -10b8634f637297032c0462db40a7e941 -5a099e5e07a9661fa1e0980e2ca4c02e -5a099e5e07a9661fa1e0980e2ca4c02e -be1bb1592bf248c6f9d4e57338d48615 -be1bb1592bf248c6f9d4e57338d48615 -db4053beaff17a234dc20cd16c428455 -db4053beaff17a234dc20cd16c428455 -4c1a87015f62bb45c0063b424126decc -4c1a87015f62bb45c0063b424126decc -396a94e1649484886fd8f2238090b537 -396a94e1649484886fd8f2238090b537 -48f549ce639ab397b94edf017b67bbae -ac48cd395710f6ca4a1085ff2d36291b -ac48cd395710f6ca4a1085ff2d36291b -0ebfbbb159c0430c13c7709bc7c60014 -0ebfbbb159c0430c13c7709bc7c60014 -c98631c5a83a42863f646fce0fa4575b -2248f7b497f6367c769838984908a11c -c1478e90e40bcb8831ab11af5b200428 -620b2ea3f999cf20e9e2cffcb63999e8 -23f8b48b8159809f8853013874e86cb0 -2248f7b497f6367c769838984908a11c -818bd98d487b607754643d892736018a -0c2c8f46574482c5ebadf7451d5b2e39 -5ca4e5e88b08f6d3e6504e4788f54539 -5ca4e5e88b08f6d3e6504e4788f54539 -a7352293060cd5d965d08e6738f519a3 -a7352293060cd5d965d08e6738f519a3 -bb39152fb4d7f91ed1da5bfe87926492 -bb39152fb4d7f91ed1da5bfe87926492 -6825ace39d3b3c69c9ed5f6f532d4bd8 -f3798e2e8115b4a5fad11ceb4326794c -135865d7d15301e59eeab29731f7fa50 -b914a1a3ca798077926878c4463f1471 -07e346ecdfebed3811bfa8c56f17e848 -8ab64469f9189d46e661ab82b79add9a -b5fa9edaa78e59caa370e6102e14ad7a -20c4e0f9b88735089332e2f540554c07 -d5244bd7cdbcdde28687ac51cfe107ea -92530d42827ac0a135187c76d7cf1474 -0d282daed86826ed0a356e9e1794c394 -4b34b1a02202a0ec3113b68e2f994d8d -3090b1fe8729322efa274324e6807d62 -dd8ec5ba0b75874f44348b036491cbf0 -15f796a3e47571b1d02a380b89fb4b77 -8e2cb2daa1565f8bade2a6ebd97524cf -8e2cb2daa1565f8bade2a6ebd97524cf -2c9f2c5d57f399bdb7003e83af3a8449 -2c9f2c5d57f399bdb7003e83af3a8449 -1b7f7635f39f47ed6533dd7f414891d2 -1d5785ed38cd9a1e9aa10bd5aa64c9da -1d5785ed38cd9a1e9aa10bd5aa64c9da -e59c91d69820fcc1f66a81c23afd2a88 -e59c91d69820fcc1f66a81c23afd2a88 -1323fe306328a051ea276d25c64327d7 -1323fe306328a051ea276d25c64327d7 -b45abeb1930e880c2850eba03ade6517 -b45abeb1930e880c2850eba03ade6517 -68c96209dc487ec71b00b385dc1d80a9 -68c96209dc487ec71b00b385dc1d80a9 -7faae3117fd0c865642ba1454b0036c3 -4a0e38ce4d0717f24dedd7560a096de0 -58cd4216074928a8ed4311ad1491bff8 -45b197098bde71a066c09414f20e4316 -d9d39823f14de5b7de1f3728ffceaa94 -e5f763ff369909f6a3f06b2e9e8c10e5 -d1c4b3ae93b2a97279952a6272dece71 -bccfddf6b606ed767b459065fc01d908 -61ba4e84bc9b5e3ae098df71a63fdf55 -0f2d8b0c4001f2dbd7e0bdd533eac250 -1bfa36a396adc99bdc9fe7032de082b1 -0a9b54fd91f9e4260ef2530449f5dbf7 -d479d7851dde40c9ba021ac1656fe59a -d479d7851dde40c9ba021ac1656fe59a -11c12803f331cd36eafc0e3c6d2279ca -11c12803f331cd36eafc0e3c6d2279ca -bba0ebdc1156079f771007dab558615f -cb0d0b64442e64f76bbb2ba9f152fe33 -6bfbaa0faf23b8a5e819ec088bef66d4 -f65ee71928f91027dd50c5962ca5715c -d00f88434efa393a2998f2307cb6366c -c9491a62119061998a7b34707ade328e -61be2fef218387d76f521f06d78e7781 -967a0170ea4286599ef5c3b7db3ca822 -790baa1dfee094a2286d030e5f721b92 -29c3e4aea10cab954c7d808d9c644ebd -29c3e4aea10cab954c7d808d9c644ebd -85c8377f852bb527d80f3a90d7decb98 -22e681ffb5031b19eae9f15eacde035b -22e681ffb5031b19eae9f15eacde035b -2d9d968eacd4309c298770167873c49e -2d9d968eacd4309c298770167873c49e -bb6c93fdda39734cdaff7ee8a332f44f -32431280e0cd2856748b12681b982c5e -b799a560c4f7d127cc6881c3145f8971 -b799a560c4f7d127cc6881c3145f8971 -219c59d29617af0f39117c01d929cbbd -4220baaf193baca2acbde36ffe036971 -a36c43d062e87118a22323d74c5f381b -5dac223cc25360f93931498a8c9331cb -325026747a3346408b05f060537bb8aa -325026747a3346408b05f060537bb8aa -325026747a3346408b05f060537bb8aa -77135767f28098042cc2d392f8f39fb9 -ddef5a14fa04e8ae0dc410e6b08c00cb -1d99bfd4053e9eb972be1b013323f801 -de1ccc4462eb9c942e63b38bcfaedac4 -1aad965a6589f796dcf21c82ff1db1f1 -de1ccc4462eb9c942e63b38bcfaedac4 -9bf2dea9f2ea38fecad38d5e0723d240 -37a94c6bba46c800b3ee8d8064f2f9ee -96eb6d4c0a849c1b15b8a1f8495cd9fa -9371b63c50eef027cd922a7991da77eb -15ffd9de5d89908108f69720a67fb894 -9acd15e8b3c8133f788243b565f0d026 -ce68b762df8ddf2858612923d9f770f9 -de1ccc4462eb9c942e63b38bcfaedac4 -f3e330529179fc28638f71c3ff2f1308 -8f2c518357e8a45d21131d46675f10f4 -de1ccc4462eb9c942e63b38bcfaedac4 -ac2d690f46ee9c15bc259e44351e5814 -df7f24c2c6be48f9f97c93c7205b26ed -a9364dea2b839e9f2869fc90fe27a34d -6e007d66bb4e008b52f54aea2d08d982 -3152eb6405c106a74146e549706a2228 -2567c0f3700cbf2c0c7a4eda420cd399 -207d1c2b1e8cf2c818c6f61e9ed44665 -ac3df63d4e5e4f7bf9e0200091933c95 -5ce53ee87240a76f508ad6084fc9e2a6 -5ef84fc2adc80fa44a6ae22adc0726a6 -9cca91132200540fb2832d5ba780da8c -ce935433ac89bf56294c87e563910b84 -541ee0406e54146749f972dadeef0d22 -1fffa8179b7d08d811ed3d1a08c5d8e9 -1fffa8179b7d08d811ed3d1a08c5d8e9 -408bd3d2a535855648efcab874d3fa75 -63b2a984c2b36ac0ca4d60a38bdfcd4e -f65c6e21fbf975cfbe6cd3e8ec7fba7a -f943bef98e0cb3652ed19c502584add4 -5b62d5a5311934b4b357c0bd087cbc3d -11e7b143e4ed3ef11f9fe70adeb88070 -42b014a0ac8a891b61d09c8cf78f368a -f432a5856b8a4fab69a1ca80e2611a20 -7a6448b46ec8854e0fab2fd78430df33 -9704fcc9b534c5e33d4f4b6c9f9c5ed2 -dcefb9371e371e69de9acd753c036a61 -3c1a06cef399688bfdd875c81de1f667 -6b9c66385b3a7c75d3d52646926344f6 -812642845cc493abc6b66f8316ad8e3e -d6bc257587f22367db12a06b256d0b5e -f969e33c2f241bb80bf062029d428966 -b0ef5934b8cfc738d699d9881c92fd8b -83cdc850d87e8de8cfc71ec9c11ec6db -7893fe9299de352c57ecca6b64ea7771 -a5c9ac475ecb908646152ef976ef7b48 -740c7180cd78b4aa06b1716a523df71d -e773aaa8236b54b6af8352e9df722f50 -b91fc73f6bce6a94a805dd2a4f44d8a3 -c6d47cd2e8a5af1a4b7d0eb36d5d3f73 -e7fdde9f677823937ac092335c7dcde3 -aa1c590f0b5bb52faeaaff6cdc597481 -51775b3a4ab419b9afb395ff6d495478 -b28a32a4259237590e1cce1421ad7e06 -4416f9bd47ff5ea3cc49629505120c50 -65f8eaad504c2f5fbade1e383ec98296 -2f46b882661349338075e7b5b796db02 -bdfa71f9b300319c27c68cb52be6ff36 -bea8af1996de3d0fd015f35beafd9499 -1c5302d90c7aca44d74f285c015b93b9 -0a4e824f15c1dbb23e9aab010e97de8b -b851368873dccc7525d40b6fe925064c -a57a1a88e18dcf3f0ae277e3b17dacbe -caa03f47cdf6c9707fa85e952828da0a -4668c7d962cb4e8342d50b324a719100 -5cc2a6a94f0e8bdcef268ce8ebc67dc0 -030d7c374c784683d5aa0e0d52895727 -5fef7d18142840387d2e5197f035d915 -94b61b53c74c079ed7869c50cef7fb28 -ad92ae2c9cfc48ae62e20c2d0b1d1b98 -7dc0f5803011c7b83dcb6f6d4150c3a0 -f9ed88da5ccbaef77aa1d4cc0150c38b -ce6468ab54b06a2cff9cda9f88dbc5fb -972a98dc14189a7f46de184ab73bbc7a -e292e90d63db63f5d30a6f61e4a6b611 -78640241b96603822f180cbc64209416 -8782e76634d8edd920051fccf27bc002 -6202cdf70b0c5d2c3823c082fd01a65a -43d14d67bdad170c8cf1a184a071d429 -6aaabbf9ae9a6deafc8a0cabdde4941c -85c0cd72dc422ee0757e5f0e3ad025de -2a84661143d4866813d735d1079ae64c -df48e49fc417729e5e4885d2d1a24569 -94b61b53c74c079ed7869c50cef7fb28 -cf7716b717ac68aa19293525675002b8 -5bec15466793a46f3882337a13eb11a8 -93680c2e2eceefffe34740e301d04575 -cf24050b7a47558d82c5e59350a6c61d -27bbc53a786007bbc92f876f9306626c -5e544830eab950d43aef213e8ceeaa8a -f666a5971c04c0adde10d64f49915f2c -db48c9b741b7c6b929ac7642f67d452b -1dfb70ae69f4b4ef5f0722b963e4c1ad -c39174ffaee80d112a3cb3e1da9a90e4 -079e769a07e99800b6436dfbf0a4badc -150ce18d874b2e30023092c16604e45b -95715c4f8682321a3ca5bd950bf2a992 -05333a73d5e0ceba04d6482f70e149dc -79e7401801ec11030a522af05750ff1d -36dc1b3efe79a72dad18d1153165684e -44bb8c270c69db432fc09f61f7c36467 -b727ab9f36396f97c5ca3a84b39dbfe5 -3aeec6926bc68dc841ca3bda7ae25bef -6d9017b404226dbe76226776feac9305 -94b61b53c74c079ed7869c50cef7fb28 -a0bcead692894598c9a17dfb71904a89 -10f877e5de5e79ceb6f0ca0e71c0d154 -479501e563191967335865a8a2a5ce56 -43c8c79f2ae332ba00798114e6987ac1 -13a6880bc30b47eb1552110ffa35e1a8 -6cdf86a8249e6e49ef9198dc0d81a061 -a675a22b9b82afb1950245026c289fa2 -43c8c79f2ae332ba00798114e6987ac1 -cfb28a2419ea650cfc94d7e7d1d7722f -bac9b90a2ca6ae0f6ac9288c6c1c435f -6ed6fab16dc4202ee35020b414dac0c7 -577ecfb5b4ca23808ae7e154b38ec49a -51df53ea2b795d29d259d7722a3b3393 -00e4d90fe3d5c0e70a267ba6ba7b04a4 -91e3eb08081bf8b98a59703a3457d018 -826717ef0b651d06949d6ee3f18178f3 -7bd9be4448edaef2a72b34f698128878 -2095ae0a6d5680e07877da24b71cf17a -306b41b54a150fa011106f8439a5c2c2 -1f55db9445a2b3c38bd70d4b82b682a1 -6362b032025c7fda974362b9764bb3b1 -7778228cbe4f1a1d1cef7f7a33734bc9 -2f9d3fcbc0a950eeed6989be88ce8ca8 -2f9d3fcbc0a950eeed6989be88ce8ca8 -406d42d6dfd26f431a7aa70fcfe0de44 -0b22d5cd262943234fde4a663af0f144 -37fad61d2c6c8579189a7277bf2c9a96 -9adcf02d787435845c65ac1bb0e3b72f -2c2fe5eb88c9291ffebfe1cb8f8034f8 -d4c05ffe441aa96bc5816ae46e7078a4 -f912c252f7ad2fe260422e72745ee73f -e9da5a1e366eb58a6c09b2bb36cc1d9f -9f750221648dc8645534d31d5345eb13 -0b785ecc540924baeed34821cf258b4c -0b785ecc540924baeed34821cf258b4c -a3266ad288614398fd5926ac344f521f -55e2a96e0d6e867fd65e53e5cf4f459e -13a6880bc30b47eb1552110ffa35e1a8 -94900b7b7a6e97eb884fa449bd78df33 -684ecb8a707af7e73a3c59f121284371 -13a6880bc30b47eb1552110ffa35e1a8 -8934a57b55f07a255ec9e00fa8fe1b6a -94df5561c6f5d3e5b6c9964fcab97881 -6a75e853cc81e8c0de02033ec5f5f6c9 -bec52d3b0649acda79135641e22a371a -c05de231799a8fda5832e2d8e1ecb3b6 -a47f2d044914746ac05c7fbd26be3a01 -4c4141d0c6ae781c825d3b512b0dc412 -ebbcad170679abd4570099ea01a84693 -09dd5355d7fff40c0213d2b942e44ca5 -4214d68530c193f341dafae15141ea05 -55692298aff25ee3d700c846a4b9381e -3b1cf81b2480b25df7e373cbafca67ff -09dbfed51db90c468728347988e46918 -d6e4efef9e82e323d67b7840dcc8f43f -ec3f4655ee53ef5feb1b9da4a55040a9 -94b61b53c74c079ed7869c50cef7fb28 -c98a9bf894abd42ea40fa7792a60b81b -f6477d0bda9c6708bc5c3cf769f15e28 -4f929330800fe5ef5422265e3cc5688d -b31ba49df5f20f45c65f885950b29feb -2a68e0fb12960a9fa9fbf495a46610a1 -ff77555a6483d54137b32eb40b817282 -bec52d3b0649acda79135641e22a371a -e4b55a00286ff55c9d84c1b3bf473558 -8230a8afb8b806e5defabd2daa240071 -00db26ad4886bd82bf9982a64b9417ce -463e0c3bf10c01fcc0d97761950bbdb8 -31a9446270d965ed6edf8fee519b0b66 -94b61b53c74c079ed7869c50cef7fb28 -a1ba222177d801633a6311e03094fa7a -3f9f72e3e84ed8e347ab0883d7d1ec04 -38c33043332830f5b08085714f90427b -f5926ed9fb852427ed1c1e0619be2335 -8bbb4e7462c0562ac3d871627f433b8b -33b99b83c7b19e2c090abd3bf459529c -c4fd2070bd8fe6506e98c49e403e161a -36244a767790a20ffb341d594aab631a -8ef077ced682f546c498a2528489a0d1 -04bbf3f1a7e2dbcdecf3b887f8ac8ae8 -b8702f7af41a0d2c62529390b6663d05 -8cef6e93e2e12bead647e5680134e65d -010d8dca685364aba6509a7b40f3c704 -7c94452f40fc69ee4f5f0ff4e2ee34ff -31dd89bf9835ab6f356525f47fc6874f -9917d5de6288bdb6cf52dfa0f9593d96 -19b34b9cf86a108e19a0d6ccb02b1250 -7e2594712bd2ea71a6edacad583e0727 -65f42ed222be69251057602f27a895b6 -f9818ececd57b849912f076f7b0fc4ea -cbc33e87ed9e8b8da99d5936d0f622ea -758a94d73f963fd65db7f63e4bf66e26 -c01cf69b6348ac3160a459cda3f367a3 -196edb90863901fadf6f4b73a676a45b -34dd50fa2965b6afcdaf42db05e7c044 -3aca9d661fe168c7fd269c1999f856dd -98b3bdd104a914eed48f61f507b29022 -f7e7ca5d59d48e7600f01755dec26b30 -e5271e0fa15fb2310a42aa0d05502204 -a0a45c1bd8735c6a1e509e2ae0e366eb -c531359f59d83d3eafa97da53dd5eef9 -c2d7f5424060b0572ae051dd778fb3d7 -59ad00d9bf24594fe88ccaa848772660 -94b61b53c74c079ed7869c50cef7fb28 -431640390f699aec1cabf94442f9cf8f -47d188301c62f62ed96358dfb6a325b1 -e8d082194f2e99d36ba85b99a1502e55 -343346f455adcec24c349acda7e3bb5f -2c0d6cf181904a69a61625426b5f1d47 -a3b29674ae035f75fe59c3c6b79cb150 -77f738d080be0d910a7e20874ad9af36 -eaee9522c35894e2da76a2b3f305754e -0017575ee2cccee321e4604d1f7aee49 -5209b116d7f0ec67941efa54728d3032 -0e2addafa82034aec8e4647f681bd83b -a412417f7638dd2daf95264e569e4288 -98f714043c1cdc22b277b955c1d8e1aa -cb725ae11275afd3fd4a4147eb4c0a1a -c799b5b679e3b685e42bc63cea00079b -d373684a0bb7c56fe1cbc824f2c18f37 -b26a31f1ab37639c5a9f497ef2471d48 -ed0cc1b5e380ee024bca05f6015f0726 -a412417f7638dd2daf95264e569e4288 -1d83d36e3ac70dce5e115247ea4318cf -a357549d2a6e1c3e275cc09454bad502 -5eefe9cc24b9f46ad38c0335095997e8 -94b61b53c74c079ed7869c50cef7fb28 -a357549d2a6e1c3e275cc09454bad502 -9d2d111228cf7afce7662feb69ac715c -8757f64724cb285f480a1b71dd10a50a -8f40409d783fb3469843e4281ab5be01 -6ef1ffecd6d77bc0d9880afbc46718b3 -20921a65a4f158ec9196b872c2077bd5 -5d0d8de7ae14a853cb64e36661a0d7ff -f361f9ef4541cecf1bc95edcb97da694 -45dcc185b68122581d468a3841d56d97 -fd22deb318e42609f0a9bde187819eb3 -f1db50e76b7a87ce5f0bd7f894c4096c -8da9812d53ade660e3503bb8d663f881 -006bf262ffeb8ba485e79ae643872d23 -36244a767790a20ffb341d594aab631a -8ef077ced682f546c498a2528489a0d1 -04bbf3f1a7e2dbcdecf3b887f8ac8ae8 -b8702f7af41a0d2c62529390b6663d05 -8cef6e93e2e12bead647e5680134e65d -29f934a0d95517f2ebc61b276767c58a -d8c92b221b65e0d265a64275afa0fc48 -cacc6558079f67a839058ccb069619d9 -f67964a0c9489b6c6592f13f8659591e -19b34b9cf86a108e19a0d6ccb02b1250 -7e2594712bd2ea71a6edacad583e0727 -2ad8fcb185e42810704faf95325a3b5b -6e4595eba211d367ecd289414a62f066 -0fb3627d10836219f83f783ba6e1dab4 -6c3bc9725e58a6cf54a26ca398ccdd9d -ef82e9b6c843eb14146ab99d3984591b -c691d9b14370d55760dd1f9f8cbf0134 -e19395db852d28a80a233b16b150590a -6eccb8f1e7d15688a771af65392f37be -94b61b53c74c079ed7869c50cef7fb28 -d43162fa550f5fddbcbe182752a0bb12 -96c1843f0da9bd2ce2e30313a4fac5c8 -189d4e6abf00b5f26509fa1e73f658bc -de6747e5d12859d750c8b6af6ed96a10 -8de52144e3d098212b90f3100162b888 -d23b532b00e7fb76bdb0cba9b878187e -77301ee83208ce3a63b6d618bda4931e -94b61b53c74c079ed7869c50cef7fb28 -0c75205a7e4b69b79dfede90cea5ba22 -7e3c914b3331727d1fd0995f9b123c15 -f7bee7cc5d0b9a9228ab803afe0a6d97 -76900caa166a76d1281c4c957d81f3c6 -889d85a454cbfb4e669450fceb30d072 -da048f86abdbc28394a013f22a86de8e -e836d7a1915df0cf44a0d4ed3df308a6 -5c62c8b827e4a5caa8ad6e2891506f8e -94c5a0f0d3e5c24cf15a548828e5d30d -bab4c048719c8590e6f9f385e84b13f9 -f26886cf83b6fd0b0a851e5553adafd5 -15d9df61d832a1a0dd0f5bd4b46a60f5 -bab4c048719c8590e6f9f385e84b13f9 -4d5ab1d1839d5c6362a29dd3e9ebacb2 -93a455abdb78c6e2587c89a9cea7456a -1ba9b22cc16dd3cf12475e762273ea4c -6bafd9e80d601e5ddca18a425ce8a33f -6bafd9e80d601e5ddca18a425ce8a33f -910f3abb807c843a60f64440721a4aa0 -93f7be6091c904f3faffe8dc8a46783f -a412417f7638dd2daf95264e569e4288 -1e0381fc92a3c861dbb30f6b0d21260b -3b603f89e6325aff9b4d9a77181f1db3 -4015f92e1fe4ea793ef7d172cc3b0188 -1e2ade8b4aba6717f622c60b3b326ab0 -85c2347c28afed4ab8f7f5d5a117cb8f -fa9639b513b205057f8308e8b3f86aa6 -f71c6c46b42c040c5ee6dc77186c0d44 -21b01e0471978dff1ee14a7ac3be6e69 -943d7d90399508f338d89e85cf2ff422 -d28110b124068c02e806a49d5948b558 -6ef1ffecd6d77bc0d9880afbc46718b3 -94b61b53c74c079ed7869c50cef7fb28 -cacc6558079f67a839058ccb069619d9 -61f9d4a2a30d7ad38b95b6d31c90a25b -2d5962d99afd75c1a61160253940b81e -c2b98752f48e197995133b3c3ba7fe1b -be0ef003493034ae58661329fb818381 -99d401a685563b13a8d1d3a3006ddadf -5ae7c6492b664d705513bcc04a6ce2d1 -7b9aa77fcf441311b54beb38f813a5c1 -3663b8f3404a988b0c8057b62219457f -ecb7a2602d213a0dd8fb3186af1f7677 -0f2006ca9b09ede5535468c837cd0b00 -a7e71b99031cfc0378c4c8cb0285f664 -1fdbbc4763c1ef8b8edd2e3bb5132ddb -03512c234bda9c97e74edb3567776f38 -0fedcdb903e1b31651fe0d11de99737c -e9f7ce1da586586e712526018e61377a -208905f1e5cad11ce75776b333884f6c -94b61b53c74c079ed7869c50cef7fb28 -1eb94b823fa1c78ff3b24ceddaa0fb1e -cf831cd7501387406e0bdfff427e1e16 -8b5dbf95930affb5bf9d36e73fda5b1c -2e6d8c5465be1739c85569ddfb6b9582 -b4436732c7f66c80806cf2e1b44ad1bf -e73ed083681ec5e8363c2b1832f5efe8 -39a4009fa57d2a3ca9ba008d527df2ab -0b22d5cd262943234fde4a663af0f144 -2812806a3126d6962d111788bf966f69 -854ce6728cb99e28cfff08ce801a1b5d -0b22d5cd262943234fde4a663af0f144 -5015116334ea61c5d1b7a23ff46a8b4a -12e2b5c4d03a999c5eb439946bd95524 -ebbcad170679abd4570099ea01a84693 -d19aca3dfa4661b4393a7dc6639eb196 -f71f0ec82fb568b6656a62af9df7cb60 -037bc3651003f8cf83b27c02b64853ab -17d2f0db689564f458ddf0fce22d57b1 -a576b39684bc15cf14bffc276bfb2c8e -c45510037f3cda4692d330ab56a2338e -01b60c26bac175742dda5f5abbef94ca -b43b7f6d543fa8a9fac760572f5e05c3 -80b1b494e0a97c154aa9a2f214cdf6e0 -2529d2388b370ea0cb1162858009cd32 -d8928f6e126ec7fff56d78c3a91e8d9c -b39389d18a0fd780dd83e615cce18fda -0b22d5cd262943234fde4a663af0f144 -1f530de611ce54cf0d78f661e363e67e -ba76bd4ce19849e214bfcec287971e16 -6bafd9e80d601e5ddca18a425ce8a33f -ce7e91e968d717870ccde583c6196818 -89857519f5834f2156109e1fd76f831d -63bfb180142321a58d3f1d4af94cbe14 -bfb2a028368ec7762925703544521a72 -6bafd9e80d601e5ddca18a425ce8a33f -6daec7f84c31ce6311b2cec40120f5ad -1349d40e96d72a34c33323b871d90820 -cbd8f648f01deb7ad566fbb8bf859329 -70ba5ce914c793455595af08c12ed3f3 -eb8a6038aa139dd241fe53dedba9e8af -6d36370d44272650bbe66969c5aec5ef -0825077b9cb40b3175ffe7e4af28eaa3 -d93a2cb797bbba8df15bac2110dfc9fb -9ad3707b8060f940148bbbd8d2a65c14 -f002da2a70b782125f636bbc3a241377 -ec149c1adbf770e5a38de7bdc6b07a0e -b1c330ba209f3e5b4e8de87cbd685539 -332992f5fc5c73dcec7fcffc78e301a6 -fa24edd40ca097f14be76fe299f013c4 -5f527cc388c7ee07595d36756c3e54df -b83a9ebb3b7686aec9aff0f5129a3fde -8008b1d6ba9fe1578f18bbd2f99f4600 -e453938c40a3fd0aa5d0e9b411230a8e -703ef18c2d2b2fca867a355808ac7134 -e4797649464d674a5aaf3302c87f0187 -513c286d4243643a1280c9f6100ff39a -9060771028c9cdf5868b8fe19262bcd7 -390443b7f3236845c1ea5e4cbed0227b -d58774c16e84ebe77d7767e76b62592b -cbc17b5d5a6b421da4195c65b30a40ef -91c15415e1e76d05fddcb3fbe7073a78 -b672937d5d5b9d705e5718dfbd03ae13 -9d9e2a507a0c0fe52cfc403679449ac9 -c4ce4a479a69c896ee101dd3aeea0952 -cf70d04c71819eb8e7d8c75d3d1ed55f -1e533f4cda3c5c1a707de425051c55c6 -b672937d5d5b9d705e5718dfbd03ae13 -9d9e2a507a0c0fe52cfc403679449ac9 -c4ce4a479a69c896ee101dd3aeea0952 -e8078bbb8b918230b656538db1d6435c -df9ef1ff7b9188c3dc28cbd499f33d0c -bc39b84f84dfd94b4fd82c9384aaaa1b -f3df552bc65af8042adbaea454bc2818 -70afe9b00b4d57114a6b3abcdf8b4998 -10a4eb866f4235fc6c5274e954c59adf -111bdff598bb537084b85ab4ab2b31ce -5817d19779a8d42ecad6cbd3176c4397 -fcdbf710e9b5652666657418ad1e69d4 -acd4ad22233058c1ab90d36609560a79 -d1bc8c874fc65b4f2027c103c1647068 -d74ed619c3ef2f079b65e7211a78130d -33affe5b4fde5bdf9b9f13dffd2d993d -31bd6569e498ec008e6a316ad2ad7716 -80531f45eb42709d513fd2a2a0b5b88a -b022ffd083e7a80fddc7cc2969950bde -9bcb86cd0a522aff580a2368d0a861f3 -363a067869546dc1f976a38a5aa7c013 -57086b8565c0bcaa94d9622cfcc493e9 -efb5a1320eb5b5c46c267bfc2ceefeff -5ac049e5c5acab9116ce8a59323c063d -92b991dde83d2547429229141be3086a -94b61b53c74c079ed7869c50cef7fb28 -7496c11149676390f292367547ebb38a -246d1c6b88d19061fe1b5c489670bf14 -823c9722a7e004fe5c319a9d265cd683 -86f3af2b41ca1043fb28b775c7bed7a2 -d4fdd63e428ba6238375e49ec7ee4f90 -ce05d49b02d1523d71b506c49eb224f8 -44566615df05b69977027e841bc571e8 -00a517bae4a8663aea68bc42bc75ea72 -94b61b53c74c079ed7869c50cef7fb28 -638d27bdc44bf82d5497434ac786328f -373efd6a54f4c34eaef7cef88825b772 -93e857e06f017ee4c176e18b6b2fbaf0 -995ebfe307f6fe6840b95a593a2d5fce -00d392c287b9e48b72032a816e9c3fcd -bb88dfa9ffb47cdd357cf51fd6eef2b3 -3995a259a3c31fa2fee6a816e34ad088 -87aa60761e6a6ae4d4e3e284b67ceb21 -6858097f1bb88ebb307afada7013148d -cacc6558079f67a839058ccb069619d9 -43ae4a71e5644210498c8411725a3fd1 -94b61b53c74c079ed7869c50cef7fb28 -a2d8d3f5c5ca6a8e73b4d51096950575 -69fa3968d17b3cfcc42be28b9a78a6fe -051293c57fa36a830860ef312c6cedf7 -58c8bb644c76f7de186134c2dc75b62f -cd96faba634900be1d73e3ee2e582469 -2f671b091fba50ad3fdc378fb2aadbac -50bad9950065c40e75f66a1c2e08dc9a -6ca097dda52d82fb17af0c3337a57342 -b10a326b7f4c941282033e71744e6825 -b1c96249711526794098d550e7f481b8 -74a8c222e6d55e37d26189694cd7f287 -bdca58d86f22ca605829a0a406bf0119 -1d92f34f24b281dac34ff9edfe7255d5 -99b94e36299270924b3e01ef1c6794a9 -8098c769c9220cc75dc0d1c00bfba82a -4064c3c048087a1769f05a9d904840d7 -70ba5ce914c793455595af08c12ed3f3 -ae53a7b524bc7f90b9bf5b3699ca2ebc -f242be521877c56d8073706e435b36de -10ea48e003e6c4f011f29795fd2a64bf -e7a0953d84f42236a22a560a599d23f8 -0c7cb7ee989debc97f4b41f5173e9205 -8d0bd75645b386bb920185c932f9f7ad -c6a711dbd0b372c7a663793c86546176 -378f43ffa07e469c7e0d6f515d2f99eb -e9e1c16e03d58e478708ea98a4563d16 -0a7db606eed171e2232c5f98e5fbf48b -b110aee4aa2777f2533288fb0e75e5b7 -2a66fc3cab29eeacb71d75cc3f56fafa -3b089737b4a1a48334dbce9f38150540 -8372f667d3af17f06c3b7c166aa4dd98 -d23c5c2301eee636a4533e4a12334e6c -757721b8bb00f20cd3ed0a13a251f49a -5c14dbb0e78ee5b04146d05e30fbbe1c -e9343ff5e1dbdebfae8bb36ec41b3fa3 -d27cd8e0c76bacf3c2d125b803ed154f -3b895f4f24ad66f84415d3aa92f2b5bb -a66a7bf5dacf0add6013db12ef865ebf -b2bf8cf40159ff3efa9f12745106180e -b944ed63abe617088cac64784829d766 -e8dd9b25fd56b898cceaa75b6d697759 -fbb9af3baca56fb35d3c27159b83a077 -023e0a6045a6e20afefea641eb936f31 -b74bffa611ca145ff16b01b9102d1283 -30ead6058e9642dded37a883c2dcc7c4 -b74bffa611ca145ff16b01b9102d1283 -f5e2144577aa2447ea50faf4616c0b6d -47f1520c36b734022bd8827fead2b618 -f0d1d91a3a017c71e5854f576012bf23 -c48aeaf99ff1db1f2da816391a0f708f -c279a04363631fec7ba845dd46a4607d -c3807eb53e1b7818a9425beecbd601aa -378f5c3680106a6715504a86ff943ee3 -121a252b15ea69ff8c378da1d08d17d3 -378f5c3680106a6715504a86ff943ee3 -22125a3884097d0c69f9c834353023d3 -3e28bb7cbac85b6f1bfa283aab60c5e5 -dcfbad7eb69d79cbdfd37338a666bbaf -c5c3f9ee67f0f2f5a471fcae01b594f1 -3eb1284098673d325036616d5db2bc07 -ab7508003f86b70b4638095cb7035e33 -5e4937bb80066cf8fd75a4313c457767 -6c90632f5420ec1fce624afdcdff37ed -0c754563c133b4290a092ac99345f320 -df3e2b613ba01169acf1779d8ab0c53f -280c53c216798cefeab68556889434d2 -4f26dc48b12df7513ef72388c36548b4 -c51bbe826af1aa885ec3aee5bda37ea5 -17305866821a3bd26406b09c3dc1522b -3c0f9f4eec8a35bcf7599b974e9eb23e -33313b5db7661592f50f011a17d891ab -78653224cf8da16c3231cd017aa751e7 -316490d0edb14c2632adecfc3a5d1022 -d330a53099e05c8881d42d9057482188 -a66c3461a3e980645287b65864871280 -4e46b59dc01add019bf79a3b5e0a1cb2 -c55d5c5e1e9a61d67e961e3a1a67fb49 -de1b0b272cb2905e770b8f008f27300d -5d6bee4f807e08f4ce743be442f57219 -d751ea97b056e71a9b7850db51bb57f4 -0e057129a06996b5a3e794bbb00fe269 -9b43d9eb594e9a81215fba2258bbed46 -d820c47d688d7a247de97c5c13f040af -27312200a513c9d4864c69362f220aac -f3ecac3a70fa10868d891a9909821939 -1379d467f108720a7402036031d4bb19 -467dab6cbc6b823026ad2e2062c69414 -480c11cf65dce1faa5ee4f99ed3dbe69 -e3c85711dfec5388103cfc76c2e7d349 -ae73b90378fcb23e365c85fd08cc6c24 -8a86023521d99110dce5c3795112ae6c -e086c6e8abbcc82e9b9519692a4c3e2d -c4ae1973d13327f91bc92012b3f82c5c -af186cede2470141ae1d830f68748211 -adbd94f36fc7a4054183ebfa5553d33e -e919d526ed9e800d739dc9b2d1de6bff -e919d526ed9e800d739dc9b2d1de6bff -10892c02906e20da48244c412d97735b -d9122c7390d8a4b1aa8bfc86099bc383 -9db41b6602abada5c3a4e0a2f232547e -68a8b52edc4c487747fe3a311060f6b2 -ddb73afa2b9acae39bb3293e9639e3e7 -52ed2875266a140befd279ad87848620 -dc6348d587a2f8d731e952608c305e3c -8f2c4d65326095ea15bc23d596c6d927 -c20304261947f180f129fa7cb5dbd34d -a3bb7729a3c879c71e1a2820ab1d5886 -92b69e60be8e0180031c1605968ef36b -9997e6d34946e0b8a91b426ecfc147ce -208963e31f13b98321dd3f66494e51b0 -9b5a33ef96e062a8751db4eb57b43301 -1854e08901df5b63776457c1162c5853 -9b5a33ef96e062a8751db4eb57b43301 -ffdfe1bacc7398baf7c3da6cb07f4eaf -a20abc88618cec21a0d258352dc1e9c8 -56f4e60f0b5cd49afa7c0e151a9a8af6 -acfa70ffe19684c82ed1eb566a1c395c -599bbb6d9b084bcede3e35e987d965fa -2cd2d2c34eca42bcc8ae0eeaefda246b -2cd2d2c34eca42bcc8ae0eeaefda246b -b70361a3cb8f81485f340ee62aaad08b -1c419c6c3fa8936a90e0af362a7137c3 -9b6d01bb5596277852cce48934af8dc2 -b7eb691e103bad20832e255ecd7ee609 -41eccf79fb847c1e532cc98c65cb01f9 -69cb5c6ccff9f273d67cf684002f239b -274cce1ef4798ca10f0f92dbeab0d064 -02ed651cf0f04332220d241127abb393 -3b98c4c5b525d40e614f34d2b5c8bcf4 -20a9ac73c265b224d269d899eb60289b -f2729d37d861d6dfa76f464f59c501bd -3b46e0f1662269076faea2d6f9c9148b -0d0ef7d6fb5b85d8bead4b02be67c093 -25ddf89ef08d1dd50a6813fd343e7da4 -91bd3d19ca958e9a9024815d8978efaf -d3bf0479ac0a7ae1d94919fc535863bf -304af67827b8a33db548ca1f4522453d -47e2ad4837c6809c8309aee145318f2a -47e2ad4837c6809c8309aee145318f2a -47e2ad4837c6809c8309aee145318f2a -47e2ad4837c6809c8309aee145318f2a -3cfb877147bee9e909cc7455331b3d6f -e0e4c874a84abcece6cacbfc65e07b13 -23784599f2637aff8496cdec5417b402 -8980180b8a2353f9585cea5843aa1954 -239652159edac519bd2b523e21aff777 -239652159edac519bd2b523e21aff777 -224177a4e310e2b48714237b514bc9f9 -baa3820e3771efb1052f3dce0bc6c3b0 -2334730eb6dadc444ce0a7c6c0fd9cb3 -9d3f2ffd5ec788ecd1381f3b8efe8e5a -459ea2b684e2c34dc0a1a1880cd7e4db -004feba5c5a52db1e80670dd465d4b27 -62c4521c379f2d13163681039bd11f41 -be4008a1020e4ac765ae19d0c88d02cd -7b67de7295dc0de1c772d32407f0679b -6718bf15b0f1ce710180a216f8363e06 -33f4c6cef4fd939b44e95999fe87f2e0 -cf64732f76230e81e4501ec1ed4b7937 -b219f1057918f7fb618f4b4f9cf20f30 -5b132a1ac8dee79b75576dc0aff1996b -f7b76afb01d58a59cefe8d9dd58c046c -7b267d449933a54a2218e7fafd35d28a -918442bf92bd0322d4da3a46a564af07 -a766f062f870023f350d99f2158c4c0f -cf64732f76230e81e4501ec1ed4b7937 -37fa2a6789909d46c1e62c8bf9848070 -a1daff66ea878825d2db3c209ae1133e -0b53716f914d49c388d8495d293e2783 -4c38c6120fb1a3be0bdaa0b36a760190 -6ab412cb7e3b6290fe9f6ccee7493039 -a02e9e474eadac5b8f1a73869786e9e3 -96b66489e013427e161db36d5b229001 -d8e818f662e21083bec843c922108e3e -7f3f32e0b0ae5967675cca5bb1ddb4f2 -eb3969c504f72494e97486da50fd96e0 -0b307696f21d4b8fc0bbbf871415787d -86f6343059449b2bd59e35c5f2a0e834 -35e2091e1f8cb046c09ba498cece9574 -58fa376f756033e7b2136be34ce284e5 -78a9bf15861fadce332f531c8d52d08d -853593d3f56197f94233c810f4c362cc -61269b83b6d539a49b37cd2165e7ca45 -2a0e402543f09908da7d2755d3fa449a -584d5167387ebbc657acc26594be4147 -66b41975f062ff81dedc3c1d761f7d3d -d049717112daa4bb904c63ffa079f8e3 -5d4f7056e35b602c1e4a8c6ff0cf70eb -1d20adb36a50b22c97008cf091deaebd -dcc680062ce735a3bac078a9d776f577 -70daccd52181a56dd0263b359adc7755 -fd960cf49a8812c5bddee753b9c31fbc -c55d7027c3479af060a99d7559783e5f -aae0603ae1c0b6f7c18f3217f83646ae -50ec53e7caa496d3763721c469ec2efa -9b0bdfa45f25c3909ce98b4e4a28ed25 -66b41975f062ff81dedc3c1d761f7d3d -d0a059dba580677759a0ef55cf9cce3a -52df32d7fd6862f9e8fed4115829517d -d2964d2ceae396db962bccf686cbaade -0663cd35b98d912eb737dc2417cc7f3c -c01093944519fedc1fd5de5464df1737 -c658e307a1c560f85d3dc32b0c922179 -8f074cb5d97c1e02dc8e974b24075276 -87eef4eb6459ef7cbb53a5eeb89f59f9 -df970c32ca7dc143ea729aaf35a61593 -3b6a3ad65ae21d77290ea2e2b8093ab6 -105a852b214966be3a43de256d42d242 -208f1aa4a6eea971a6baf662864cd4c3 -f5617da11142f4a4bd68954d2c9a315c -ce429f593d5313da0483c9ff3e5b6ed8 -b33b9e65b9fd97f48719a3287f978a0a -9d722631c4ec8a0c14c0a28dfa6408ff -e91b3d2f59897e6417da5bc28f264fa0 -517b33c60155547f7ab8c42d431dae13 -35ca4d9042b21044eeb425c3ae306d31 -f4b8c65f9031c40fb4d6a8545fd61f0b -df682b295ceee481a06ca4e50620fd76 -646cafab603f95e254dbd6e167e725f8 -a35a15e1660cc76cebc56509a96c9e7f -26a78126c7194cca25a2dc2a2ad74989 -8c5790524a6673894edb1a4f09c62445 -0663cd35b98d912eb737dc2417cc7f3c -743fbb0d033b63c93f7c24f8f51cbb15 -135a3f6a430d44e32b08bcdd887e87cf -68b397388a564e247fdf05f0652a9a59 -b06fb55c51ea60401eff33eca1aab50a -77e7331615ebe57c9f3f4291c56f2060 -02001c06959823a330ad72480e11d92b -92f774909e9f068cb07e782db21e66dd -0fdf6d969fdbc0554f1fc081c84fa40f -904d79c131440e8d595551c12951efda -581988f3d427811d583e1b0700b52e0e -7f2884463914b5d12262f2897fad8763 -0c19d3cd8224cfa01961a8a6c85f9800 -51cf42fe37eb4ddb384a57fded0db0ec -e8059b8fb1a7b897fb885325d5eecc76 -d12e7a4a31786edd35f523c991c219bd -ee510d1f6565fb64327af9e1a105203b -18b59dd960124e0b3be86ff3db8ca717 -692c220cded2755beb41d52db194c8de -f794f00b57aed66789af22093d1265b7 -77e7331615ebe57c9f3f4291c56f2060 -7e1914c4d33f16961c9f18297eb68dff -3d8de413364d40ca6782039f0eed3687 -b88aee607b4da817ad8f89372402c917 -5ee1dabcd58cdd34b95b298f4692500f -db941ee534c0292195dc7915560637cb -8e1700abed0198b48f1673104ab61d39 -36dd3731bf150c83b16e66709024a767 -95689f04ebc02a675536c0302e5446a0 -ce70422745eca163346212503304e572 -4d857c6eac28b1deff973d32b9ff40ef -6388845b8fd6ece8b93fb40e495471b8 -03b0e86501030081cce005d2ae8f0e70 -5584797d820282bfd16becaae28a5e68 -87631cae6eacf9229c18dfe703b7c14a -11fff8132425377d1307c64d05e63164 -0a485d6e5284cf0f90a2281d9935c371 -be7eb399762c1d5836b4880cd1288d59 -a147ff33397721e53eb179d11fe4a559 -88366ce9e042b85bf429effca7ce845a -96f45b8f0de150f4a1c05cb063948e78 -af3ce7919bf3d868ea5f822a8833e900 -02bb331b96ada8537b259d9dcb49a955 -a1aae857d0e08355f55f339fde2ec0fa -e03165c670b45311f51812241c9869e8 -3ef0b8b77c4b58c832b620aec6d2f638 -5e455fa43b3dc60b59cac0fc0ec04f6f -815fe1fb21643195891127531e361678 -a414034ee942fa0f89509d427cb728ca -dfa150c4964157ff2684a4058d4d4b2c -cbdb418428c3349472783e5fa964ff58 -8a57ae7e8b0ecbadcd9f171155eee407 -b84e71e2ff881e8b48faace306bfc4b7 -edb556eabab709a6600054f75c0abfa8 -b5235dba490894bd2b3cb7b6a793b7b3 -5404a9b650bae14a54a31fd5ea9f2ce7 -f811e75e5654fe1090bddc639c518197 -1bcb678cc8d8fea002583a69240f23f7 -9e3f169ac0d36513ee49dba88dc37ed3 -791cbd53796653a4e37b5e8225777b8e -d09968a2bcc3679bce35de8a736165f1 -8b0a7dc044e02ce421b17f249c88a401 -8b0a7dc044e02ce421b17f249c88a401 -494709a8005292f928b651eff8fff380 -8fc471c5bffc081daeaea10df7d3a7c3 -dfeb73861f6de95b4c3f69b1ae95a750 -dfeb73861f6de95b4c3f69b1ae95a750 -dfeb73861f6de95b4c3f69b1ae95a750 -63919cf881abdd865ce7cf2a51f70d48 -98ee788c47eafb2d3e72259db1b6d13a -af0ab21264f80a43aa8b0f723cebd155 -1816a49dc692e4cfccd7a9435d21f9b5 -3ee5272055bd83df8ea7179bba494290 -1fef156e2fd83e0f081dd2f99da88a3d -487a53f76c19622fb8a4050f6ce64522 -9d763b031e989806e645f03a8ec0e0ac -bdb6c38d56cff6ac1c0092da911bd81c -e641d410aa0514ffe477c9d3c903eabb -41e6ca5ed8010f8e70d5d41c0aae86c7 -6fdbb762b5da59f00e6b05ddd7cd396b -97a465fa2812c8f793147435d3223241 -9ff89e7767932e745c29cf197f234760 -11287d7a210b7833afc13ecd95abb679 -8c75e7476858f6169006b1bb09d14d6a -aa9b0566567c4870b4a6d5e74a205bbe -a26e8cb36940858c3963f7d8c5022b4d -0c6462053f6f67eba001f319b4f6a991 -3cb5c61986f5528b6f80e5893f6ba200 -feb5f3344600da43db169c44332881e5 -f67ec08ef7a86ad1f913699926e32d2b -1e8782185a5d3c85e619a699b5476f52 -d0a855edbf3f5045f7a614c9fede2358 -609ae18bb261a039dc404c5fd635d7f1 -7bac9d397ee56d3cfdfff9db2577316b -c8c5716465669678a5584d0c2678f96c -812ffc458a390b642d7c8d3af315cf5b -a14d3921b2624d981a5244ba7496c7ff -c206a0d031ea713f98f53006e9b6238d -345f9cd7540a6e9d594b9cd1b896a870 -9e00d8dd56c3a1bb8e943ab4e19f4a72 -e57a6aee6214fbe83370eb0cdd7239d2 -5bea2903013362182d3efc963638d7ad -e0f61b50a9364dbf8b7a16568e2cdc3e -6307a74c866ed1a9eb6e92b70e2563bf -91008c513d575763d0ad1ed7c15c5f04 -df279c1a918209418c158bbd28d7ee48 -fe6d0b9d8037165f3d6da57105f93a02 -69d934735ed472e99eebcd440ca24168 -f19db186fe109b2d027cec97e13139c3 -1a81dd665d7e4d98ccf524a2eb4e5222 -d058ebf301045639eeb43387dab56b33 -6749897d5803957ad582fc102c7b8b05 -1bc5c0f3fcb5b17b262b0cf512c58009 -57f4fa87524522902e86d5bbde17bce8 -e66b84a9f2581baacfd707856de7f296 -2d3d9ef49d4e60abe88bc58255c20f0a -49ebd5560612666e5c50294f4128c4bf -d01ce1ef8d30ffc774953313894d67b9 -1e19f7848c22e659b1d26fe5e07ce08a -1f7df7c7cf0bbae7dfa78e300f92a3f7 -20e071434baf1a3d80fd6c3f6174434c -4be74e639c6a14cf5fd8d53301edf9df -341d305b7e355a09ab4455bda71218d1 -e0fb79246ccdceefbf34b15870d07241 -f95c0430b38ea012a16e39d5c569469c -01d30bb1431899197522be96b1d2057f -cd8398608bd222ea438ecc1ef1da1c54 -dc6fc805acb9127166ea5314551b926b -b2bedbaaa095da021a5068c3a1ec6549 -4262aea6b10fafc32a692922469288e6 -84b78c06994c08737d5ff3df8641a726 -7477fa97e3ca12521d1e1a78cc72d554 -c7315d9f2e70ea7faa47cf6139b0a916 -c1b820c23091a164ca293729c02c5bcf -a63982420eec94755f8cbd408dc51510 -1828e06023a8c46d045b03404642e10d -842b6a6b60a2ba5a5b58a193cc73dd84 -2163025b2b7a465053adadcedf143ec7 -e2f6c4f93388a070b972b87354727806 -29c68d66bfc206801d435081e8689909 -c5bfa691bc81547c874b35e70d0359e7 -b2f02d144f8d324d299d2a855ad92cf9 -b9062170c9c366e80c576458af096c93 -0c409e917c53043e7dc740dcf9d85c1b -c89daa66ce8ac8e3e14afa6789028a5c -8a3d7cf14e4fa34b165b834983641990 -1828e06023a8c46d045b03404642e10d -63d8ae583c895fcb5877d5a42e9b4ee3 -cff99d97a5db8ddbdc97006478c6a29d -7dca2848208443bd906716a70828e261 -23f3fe316bcfcdf130c999d0dcdd2de2 -bdd47a7cd06225ac90a6d976b7586054 -7e0854c39ba87b8d77cd60752f1c462a -db9573d5096b7b437f3e4ac3efd20d22 -f71b04754880977b59ae5f6663b3c1c5 -ec0c2589f8559773dd9320d51f797004 -d5cf2137bc7e00c9acf5af24aab5e027 -0e87c65d7497dea249ab113f6d65e18b -ed79c59fce3749c8e9728783ad6a642b -1828e06023a8c46d045b03404642e10d -989b7df30480938b5d1b361de110f62d -b7690d832750d3c4ada4807618c4f108 -bb2030cdb206cde7b56b8cc9610a8f44 -dcdf691d82d1be05cd2c987a744868a5 -f08a3c4dc571378a32201a946d2d2612 -b9993173964c5e8a9b47ad5802d1da6d -70bd68a3447cc928c78a167694a2f834 -b2eda6bc938f536c1a3429b0140345c8 -3a39041c2cc4f3652e2665072a24fedb -b18316017c6a11c597c8ca5566e23883 -5a1ea6d3ffe339b93169c89021f4cc62 -1e41728f716e26ad5d9ea23e689dd5c0 -d29ea4eef53dd87120506c26d08b8a1b -87889e7601b39a0725b6906bb80cb66d -28658121fcca82810811132e57340131 -2d54a04c76c5a1bd4a75c6e2133083ec -480cfb1489c9f81e36cda4843f8a8370 -a376ccbd229b295367732befe1fc5da8 -f10d8b8b7c3b56282717051da67df56b -f50ff2b0829034307e6371c3d183b968 -8c4b2ab56d299a408a13dcaf011cc2f3 -83b1cde1e2b631f9b208d98252042b3d -7ada149dcdb674bf49874e40d9705fc7 -55edcd75e20f968f458a804a639c1bf3 -ec069bdb88f57a5ea3941afb51543bde -79caa737eec29ef298965e9283526a6e -d0ab3332e49f339cc8cd772619605372 -2b216e4fa9400ec936f5ae58209b8e5c -ea8af1488dd99fa05b550165a6e2e675 -71948e22f784b6ee66c3ad4c516f518e -8908ff06e82ff4706595236c9af145ae -b3ca01a30cc0512ecf0acd7fc3b6d2b0 -4c5c7c59979a54b2dab81a3811944b5c -8a1e38ad249d15984bd11bae5cf4776f -d6aab708ec49b2673ab06dc19a794c65 -9eb55b814c58df0072f3181fa7057212 -26bb02eaa5c6121eb1e5aed2baa4cf97 -6e89743abcb1f9ce133d079c3f03ee33 -d01ce1ef8d30ffc774953313894d67b9 -d01ce1ef8d30ffc774953313894d67b9 -ece89692eaf349ff650b995061535ff2 -645bd2f9d7cb15992701128f30648a35 -dd6aefa9af5e371aa5a877532bf99a1f -b7a115ad736744299f8bf730b82b744d -4b733c3b8b53cf6517d9682562ff81a7 -aa3260610bd5b05a308fd245a88ccb38 -1ee181aafdbedc2fbdaa9a2d1e5e371f -d01ce1ef8d30ffc774953313894d67b9 -ae5ee97164974b2024733f2810c82b53 -341b360999c6808568e0d07dfb83adfd -bfff9bd75f1015f347bd0443adf87164 -e2af1f8dfa9cc113fcbdfd2a7d40492e -1e87e2803b81fde7b257ddf2b8a78aa5 -a7b5ed3d31b6c83444e3bf0acdb74310 -91c7ad4d8f5ec47f61038937ef502c55 -d01ce1ef8d30ffc774953313894d67b9 -415cca99c5f8a8cf4429c4daabcb28ef -415cca99c5f8a8cf4429c4daabcb28ef -3423b3f824a8dd38bbd1c9dac62001a7 -732e9eeae3af97453a3daf69f54000e3 -83d0c31eba383980ebabb94da49f5b2a -c6ffecccfc5e3081efb29e90bdf6969f -5e205261049365e154bab912aaf381b5 -d95ddd6e15912e0d457fb81e25e5349e -2c0ee616bd9e1c3cd7c486daa0ba7e6b -e27f263414970f87c057e7ad578d6dc6 -211d7d9b2127b41e5cbf56d3011edf9d -3c87796b253e6d7b1f327cb9609d935b -cbe8d8ada8d0f9df04f3517ba294b22a -4fe845cacf6aff1ca7fe92582c4f3a24 -7ad8ec0e6c82125059d23fb23af7ff53 -b0c7352ebff7516d7c5f29cffa438673 -94142fe648d0ed0810a8462b606101ea -1e87e2803b81fde7b257ddf2b8a78aa5 -51aea249149b1ea1835c7693564f81cc -af2117066759c834103b2d526da65c70 -8e53df4e6b82a0320c09a36a2a694970 -a88c44a28a05b30ae72390fe385f5532 -ccb0f7cb2f3ca59d5f6b2557785147e4 -d8e1b9dca561ab938bf8a9613f1d149e -7ad8ec0e6c82125059d23fb23af7ff53 -8a82adb6ea468fe1c65ebd8d33372b6f -89412b1294f872801ef33ec168220311 -bbf1e13c0bd38f1b41447d8536454268 -5f3b1dfc94403303e221350ca0a979c1 -558771e4451089afb6d2696f3b10374c -323d968be5811c5d6d74ab14736095ea -3089ce5ea30f6ea7723b9869a90329b2 -108b76074f72edb3205883a0a9105f26 -80de2d56f8b801e4901bbbc6f3d65738 -b2bedbaaa095da021a5068c3a1ec6549 -71dd53a442cb8288659c0b86da03d06b -a08ff0a908226484ee3d8ae9af665baa -7018637ef1d03f612576f3e8e2a43651 -0c87046e987a2b6eb81d2fd90da461a2 -1fc4ea1d3bc77f6e28aca3407c76a87e -31eabfeb58d6908e1c852bab97160b3e -56472031b3a201023025c95d7e3ebcdb -bde79276b0cc3f3189e8a2815937a243 -f41dc11dd182885dc8c78f9387ecf210 -acf8597f67171c0d7c921f6069b28954 -f314e6cc0a651170d9ec707b1cbf97bd -cce3ee71f7540a6ae5bcb1ae24efa824 -96b0e314f52dc4a0347561513135e20b -cce3ee71f7540a6ae5bcb1ae24efa824 -656f648d5e2843f74e8c8b1d774a05aa -36b66fb8a94c8725357b69a7dd66a84a -86767d6fd447f2ed056ba78fc6600fc8 -cb4b026ae93c3e3c5a44bddce4ec18f4 -a2c4426aa6dc80fa978aad6691a14916 -c81aa57d338295512ed24a754bde9d0a -0ad7a5fa94f1be49b25746e9a342c729 -faca899db9ad76f54985d800c97e2e3d -e5037ea744769b04b362ee5f8112ff73 -a15303c668e2e70fc519955e63cab2a1 -cf8d145fcb0153b8027911c3a80dc4de -8c44d7d6e34a1eb190cdbbbc39139bbd -93f6ca91dea57ed53994f430d3083405 -37be346c1cbdc4b88646a2586fed44b1 -5536ea43b5aa532c5cb55c92c867534d -7cc53155edd922d2c045b58d3eab51df -45307bd2447d1e96063cf78588437dfb -374a07a4a199dcb1ee0be48bdff36bef -bd80a4f970a2fe66bc69ed2f4b4a94de -66321b3d626d3b13fafd0f177a8aaed2 -9fb23ed49a75dec7a0b7c4d1f671119a -a6e12a6befaa40e1a18084753dcdfe18 -4f54ecce03109d1b5072df2ee435eda7 -0d913dae7a09883df71e1fccb73e8269 -972fc7f9d1c9204ca65ab3d4e3035414 -9c910171a59e19d20eba63970ab43d4d -94fbf030c7759d19038c0dfe02e0e54c -828c1fb573167751fb0ac3707c9a122b -9ba80d80f336c5daaded3c729a50aaf9 -3eeb923fd9ca758900cfa38f4f591458 -b672d045645f02a8bc569e750fc64299 -c5ce7e084020b611b73da147537ba923 -5b126736baa635420ad08b50512dcfd1 -f464180b07079e4d89a6fcb154a4d1d2 -7ccd50c8635f8b0a83496a1e008d2638 -47f382b6ed7d8f04de838f856787e424 -a6184396eb6af53ef2ac3a75308600eb -714444d771181c770cb343af50716963 -6f52353b4c5d0c0e6e4123bea9c01f7c -46ab57d3c4110d90b8835d4bd20292bd -eff1933b9092c84c4b745351d5cc71a6 -8dd05d93216cb26c06715707a9751a20 -5b98b97c58ab85c200e621dbd504634e -b2dd69a7b8560e100e4b7680bf8ef5e6 -8a1476ed318c8d188623c4f705736513 -953b221d4ac4bc8ee17d82b7ca0d50bc -3e7b5aebf6fcab5951eaa55628015dfd -7c73ce0544ed594721688ca8ef1eccb1 -459de9be25c03b7505fd6855ea54e1c5 -99f394a20bdf73e49c8f34e7aab6dd2b -31e3a2c4acf555c53f3e67036b971903 -592d67f0546af7cb9c6a41f26fa31546 -12aa4e60e328e824827ee20bcd2e5974 -71ecf22067543c94829cdede5cae2350 -9b3d8be80014ca731791fce7da49a560 -63d679f7962472b9c8798430881bf8c9 -2b85082b232e02a08ca2bd0e6a50c37d -f4cc346466bf1017eff49083fa103565 -72ae9bf66b4f70f3d4cc3fb074a38333 -45f8b9e76062471dd619f6380d8f4b04 -7a72229608ebc68efad557b3b459c82f -d3db386539c958e08cdf751fc8e6385d -a985814c24c43f50f22ba4b9ba061e65 -0263aa2039ad6719e59ebd2f90f199bb -64fcd09b71d07c996c7e9f1c55181530 -0897c6217d06e99bded777a272368c8a -89774ba656b671d14efafbf69df93e2d -4bc1372a61224cc57a51c82459b65437 -b232c3cb726b98961337128494bde73f -377eda2b20be8f705393adc41ebd132e -a9dfa8f83338d2b712e795891bfa16e1 -9a191c842cf372f50ce25f4c19ce0a10 -9b6a582792b1b0e69ef270d087236455 -e7b9de4d1686b3630e5eeafb457a8ed2 -0c9bb209c2ffc7778b99accb24c03ffa -ef2ed8dff9a116f5c143fa342824b8be -0967e2f051337f147a15c8b7007f860a -316d07354d945cc15673d9e7c46cd827 -c4b757648fc0ada5723182cee763ae16 -2329837f834c29ba36e7c086729fb498 -28a74dc72a992c6bdfe9110dd54d84f0 -65f34f8304df9148e319991b0efe1c17 -a4b2fabc05be94fbd8376c2870321c16 -97747af740768c290eafade8ecdc9f95 -ec92c53bea45cd001956196bc5b378d1 -c8af7a47cc0e6d7b32c76105b93bb25d -005d9f5430f87cfbfef4e73129824d7f -b10e01d2f7888fc68e7729f3649cdbfb -d753d2eee37e91fbe243038c5070f4a0 -fba1b0b59f97cd5c350f3485d0fce263 -ec6434f40180a104441c3a216149bfef -d753d2eee37e91fbe243038c5070f4a0 -f49d3dfa9287f426acb296e5dd3242e0 -2c69c51cada0124ace8a0863f88c95a9 -f4c71625af16c4bbd2cdf930c5d71018 -1b1f79ac88c875d62f66281cb0f5aae0 -b2022881ea2a0ec4a34a60418d3ffa3f -2329837f834c29ba36e7c086729fb498 -9e8772fc49ba2b1c9e1f9dae923013fd -666d19c77f9e08fabb31759c82e79a59 -0bf3bfb93fad998faa6d7ed0b3d464c9 -25a3ff0fe2d905866c710fb073cc5e29 -b69ddfc8762a1cf16acd70df3077fe4e -b33231521bbc6cce29a51e7afca61317 -17f134a0f2a47c034e6d97c4edaf58ab -08407b661c9f888c685a7653a8f1015f -285fe7eedc3bc8892672a26ed1ad9d4f -e667b6f1efcce64c8235f05b8b2650aa -2001382ae3b0e5076031bb7f1a04ae09 -a75c586113a0d2ec65800bfb62986cf6 -2446465656a0fe563695aae78f5d11ce -94656d6cb5297c001ced246b3d62d19d -a170f883c8bcd3b795b1b684e0632017 -def001c10aadc3e84a7a84888706adfd -99e6e10c13a4f5894b7d13fd2bed8cba -a732adaa6c2596b752f00eac5811c41e -15de56d1db8274be3ca634332e8bf70a -7de8fc60a44d4176d96a27fef5a3da78 -0789a91a0c925f061d0a35797980de98 -b759133a8855ee1d1af83d09c206d5ee -41c3ba476c7003ddac5609212f5d701d -0f242281d7b68f7175239b7cb539ea7f -9a1bb06a099a51009aaa19682b467cd1 -91d7ff2632d176adbd256140da060f92 -2ab530eb5c52b5d14b458365ea081f1a -90d95ca9f16e858e1669373e433807bd -25a3ff0fe2d905866c710fb073cc5e29 -e92a4d95e7cb4e674eee5eef2247bf9e -fee4e66230f33d9ca1ee392ed319acc1 -573ae7922656bf9b699dfb253b74466d -927551da0d50f9054282373eee4e71bf -80e78e0eafb799c5f96baa9376a62d15 -9c34afc389816ba060f623682e6718ff -b79eb8865bc77eb38673850fbedb8d39 -f4ba14a5d990eb0b764c87d210e83618 -e61e12d79f24ff88190a73010ee62e37 -2cfbf38af921a3ef4eaf5c1ec4f13741 -7099392690c5c4577a490d147b4f90c7 -de38244e0c4570b4c897b586546b8604 -2366c1bca2b899e55c3dc52629b013d4 -4b47040b9ffd0edd3b3dfbfe921580da -515d99dd2b095afbddca439673da3693 -df872882d7e9fad3eb4b3d27a61a5331 -eb8031af2952e40b704cd9f013144f19 -b7a213b2931b9349e0d8c63b5bbe5da1 -d753d2eee37e91fbe243038c5070f4a0 -4ae785f2e1c9ddf10475788938884fe7 -8d2a97dc8075df2e64c8b91e01ca8cd0 -3412ab296cd921b8975c9224e8577bf5 -f6ca241d0dc7fb8cabb432323c0b25bf -faab84127e87009fda4a491d8a7a5b8e -8e3fac61d334c2b79c4adfb9fcfe2a84 -b10e01d2f7888fc68e7729f3649cdbfb -431a7544d0969e76683c246ddaf2b9a3 -f6ca241d0dc7fb8cabb432323c0b25bf -faab84127e87009fda4a491d8a7a5b8e -2aa303032ba7322fb40ff229e8c35d97 -201d9aea947a5b82fc957d0d6658e443 -df6c9a76ef96978fdcc1cc21800b0bcb -9d4a10505c8e448ed6af83a3813097d6 -561b0cd3100a8f60a1477e828abfcb70 -0cb8ed771f29ee2ba7da1836b9215743 -1b6d2919db9c36f6477931b5726985f3 -93286304564a07dba852df65514d0843 -03442bc596008bb61b6b80ca3a728ef3 -fdbff305b4dbdd3b4cd7e5032991cd9f -da02683ea175d0bbe58e6142d0ba7140 -109183b79a7521be014e3df5fd9b78fd -ff543775dcb68426cabe25a7b8fbe5d0 -ed21fe9748c685015a4bc31c70efff2d -fdbff305b4dbdd3b4cd7e5032991cd9f -b7dca79fc1f396095b934c9eb177a9f2 -f6490074a4d8639809078ac03568f049 -53996a2b240148fef2142cb1d1c3f223 -9c09486c97f7d186d08a49164281a939 -790b3c7716c315dd4091dade64abdb84 -d584445cc9b94f51bc2dadb55bb86895 -ade8eee399e164ef9dca13fb2d7f2dbe -e92a4d95e7cb4e674eee5eef2247bf9e -4fb4b5d8ec5721bef4f5dc17c61118d4 -fee4e66230f33d9ca1ee392ed319acc1 -a06503278b8a5ea940975a75bf0cdc6f -3c74edda1e23c1dfeb7e7904360594b9 -f1db01d388abd5ec8b1d8cdda3495667 -ecf4ef7318a5c72ff2eb6f6d67542fd9 -66ce84c4b4bea57670934b885e379665 -16d604f1ae47523c61196edc35ad373f -b12fcaa881373cb40280341e3906cce4 -2eb2b37961998f2cc7bb06b25db8498c -71659ca892514de85dda9b9112169365 -1f224a2d6139e4229bcbece7aa72a0d3 -649be7be6224a964345c53ea6ce8cd73 -c128e3d8fef5a858b9e37873acaf5f83 -f58ab70e662beb3187a858ea4ad18204 -3b71334b7c3132d954f745c3d4c54c7c -f80b01273786a8005ef5a58a64316793 -0ce3993d2dd3aa2fcfa63bd4e96dfc95 -f935393a255026993680aaff54a0a4f7 -6de6e4726bb7737834186f4c301ceaae -a6aa542d71b711501ad88b34773d9b2d -05ed1f034cbfbfa75fe8a963ec2acdba -2ca92dac348201c74952a2378e85faea -b6fba63eb3c0173bebafbc33ec2e1f1e -2ca92dac348201c74952a2378e85faea -032fd38b9dc9336fce06d9c02eb11b25 -2ca92dac348201c74952a2378e85faea -29db4ba4d16e28650ccedf9c88c7c657 -2ca92dac348201c74952a2378e85faea -8c6f0d977e128ac0315cb9926e488737 -2ca92dac348201c74952a2378e85faea -e364cacd9fd424fa0fd890f03af67160 -d2382fed8faca063c718d8f9b7c87761 -24e9a68053265b07d318c6b529fa3b54 -2245dd94a3b89771b34a1b2581b21c94 -978e614ec1131aff8b4ef7cb5e2d342c -d36ebadabe1c14443ad1548df0ced7c0 -753c668b40360abc3662fa3850ef1020 -fee4e66230f33d9ca1ee392ed319acc1 -9f1588c4981ed7ef94b5f8c92f2fe82f -fe522edc004482a34628a5d1cf0d2372 -a592dca29900d2f984620a8aaccd3272 -47e82040b92ab659f931810f87b8327e -595fba915d2ec32c7130f2176a07f5f6 -71de3e167ad07a4aa87ebc6fcedd6988 -6bf963990b343e1dde0919ae6c8c9978 -dfd631270653889cf6bc46b1ec40678a -a1e4739911f6a003631602d643171c06 -eb01a10c2a96f0d41c6bb822939957d4 -b2786560f69d2b3d3ad89ad26ef6ae34 -0d60cb6ebb9172f730ee441d45d05c2e -5f34239223563c8ce054913a55d89a09 -e6e0a827cf363f10bef7328fab8a8d75 -ad616b07ba8977ada8608a443b9b9e7c -ed5f56e3969e44a889c139d2677e9033 -9dc6059b62b47515bb700e11f953d5b0 -f38d5d85edac5950e0826344c920739d -fdffc19145812b0258c594c6b93d9bec -d1683910f0d0a1bea5748c8d53a3ba5d -767654295b60b025258e1986457f7011 -d1683910f0d0a1bea5748c8d53a3ba5d -b11eba42dea3c55ea4caf2be9f265088 -47760632c0fec1d9be67e186fe173e80 -c84c8b74579bdf836f43edff5b234e03 -316ce5896ed28a1aadda5834c65fdac0 -f42869705e587ad04f80ed60cd7c9a06 -d1683910f0d0a1bea5748c8d53a3ba5d -48fcef4706ccf4b6e9765a845f3975b7 -3f5c22c3570ded45e9b40d1a22d77098 -24e9a68053265b07d318c6b529fa3b54 -2a3b6a4da9ec98745ea2a5b3ad65bb71 -f2ce7ed2d052b2d4ebdf707cffbe7c28 -cf78965fc0fdbf9b65c8037f862eece3 -0dc6024f2cd4c2d9db5b8ae68775ca2c -99e6e10c13a4f5894b7d13fd2bed8cba -f39a3e01aec1f37fbd9dc47257848e87 -ca94396a48917fb36f5cdecdce027667 -0dc6024f2cd4c2d9db5b8ae68775ca2c -99e6e10c13a4f5894b7d13fd2bed8cba -423f454829207db6fa4c81d752406af0 -b27e3363b86de7314b651870ba107365 -b24431f270af98bc320050db7c3a2335 -07b39ace354679726ee28980a90e311a -9f28e871e7cba03b0b7efe1bb288c21b -e5b851a3e5684ec8ec2329be89636f87 -cc5bb3e3c755470d050eea561fb06536 -a5db463b6229fdaf81913970ea109d1c -11e424a6909defaa6c7bfb0330416142 -23de47097c2d48153c20404a17a8a49f -c1d9be11aab7a301af3af5f524012b08 -f1804f9d76e03b6f00d6ba9a5ad8e3fb -fd157f560a282adad978d9212d739cee -8afe4ac57b9311e4c9d4b3c0681b2719 -efc8a11ae9def99525d5923056504b3f -c852eeb9d963ed117e62a6a553f0b306 -05259015af60f8d61cabbfe1ce2f3299 -580c0873f202d9496357159ce10cd97b -ff227e1387dc534669f098059cf8e0d4 -4b69dab21e35e59e27c8584751d0da1c -1cc997dfb2290ddd72065557b0622be5 -02c4d7a828ee28f160e554135ecb0ad8 -1b1f5a031c5ac54d71b86c09954a6e8e -7400a3aede0ad7c562140eedf856a411 -edc001ca7ceb679f255e66934a6ba046 -a6ca1f1a82e5896cae2cf4fa2313842b -ad473558032b6de331e4f398f5d97abe -a4df76f85e9664fabd03e1299c521a58 -e0e818abb30500c32205b0bb3b639328 -0e8de3f5082c7d8649624368d4db05ff -f4f360d4df568e92b1d5c82fe770c3f3 -56d85b8feedcee476d304cbb68e8481e -ad3747f11f81f9bb0744400c854e0930 -22fb7049dff0e021372c32bb6307c6d2 -a3dcc8fc1862feb578dd8d9bbd4e483a -fbd4b7730bd1fa66b6ccbf7d90413766 -c57beddfc6cba61b20e4e7bb3ac1c007 -73861369820f653979802c1f89e78432 -5b242810a64bce44fa5855823481640e -e4ab360ce27a68ae8b3284ebdad444dc -3ba65cb4b04cc1f6958e8f4040a643f4 -79100f64a856688c9034fbf09b4dfb8c -856b55fda31bd55b3984a55353f8a0d7 -a72e89f9e767d39e5246afca17d60ce7 -eea8765d13514285a4cc3c87b521572e -702fa15d9a84c78f3d3d4ce5fe9d8b68 -aef889cd9c38b76493f483817e448dce -8ce1ea84a8ab4f0184cb29dc61e4e65f -64da948a536b314d47bca3a1d8459bd1 -0cd9a0d0b7d9c3d8791963502ec6cd8f -cb12d7dee6bd3109a1053e8db96e394a -b9a91613edba3e9e4c57ab9a2e3c26d9 -9f836ff5a7b28c40124e43d6bff6f5f0 -d032f6423715bcc26e4e33a5e5cf3e27 -8221945f993935edd62bb4b0990627e1 -72b2a3a82b1d44f43e9a82142b029543 -c608217293bdfbca0569f43d9261c9ab -72d3144046fee71e99d4769b29fad7c2 -9614ecf9e5217b18703b1538913477db -f95c3cf13805c2580d54ab236b900bc7 -c2bd0066db06826c02cfcb3f65148870 -241e248f597792e2312aad990e501d66 -a71179a4e4eb55bd0966a5a6bc97dcae -289968eb48114a791a4f49aa95d9b73e -05276d26d90e12cf6c8201d60f7b04fd -a9aaf8ba4559378eca4d465ca829bfd1 -928890cf5e04ad08822e3a152dd7526c -b5670f0641f7c8f846515fcefb3e03cb -bd7b0e8e9f84725f990fc4482fe21f07 -85945f8a867ae38c9f76133bab6caab2 -ab0a54226ed6c61082c5732fed9117b0 -8901dd0a2b2165546ba1ee7d076d40b9 -837352cb5db093a54bc2753c79409857 -060e21879c0569798a9fa65e4b315249 -060e21879c0569798a9fa65e4b315249 -d7ec493514c4b46cb15722b6cf527d89 -47a8095cf0314e5fb31bfe5d8f822b67 -0b45a37646154cf332f285439f0521e4 -a4ac9e0ec5f59242caa56e370041ea74 -5587868cd48f3631203dd9944415a817 -d60dbe681d2131a127ea80e7821c58ff -024d7bfa1c1253327c7418be72811207 -edfaaa100d3fbb087af913073836c9fb -7c99aca290ce2eb10007fd185e2865f4 -eb8d383bf56a5dec552a376b9360727a -9a75a48b91aeceda556d701d30c07e28 -dcad6c3019e6d4667ef7262aaa3cdd29 -39c89993a287386170083d39a98180ed -d4702785947d8ffbc33c865002831737 -dae1d1c0a489edff6d6f07740881bfb9 -727f12ddf60fad17c3e64dc17460adb8 -b633d11f0f8f91e834c455700510f50b -2fd32c28cfdaed3bfc8efcb19e9af412 -d6140c66a718a8ac74c7a4017fe26435 -e674cac78ed79bb33f6ceebaf6dbdb45 -cf69b36c60dc004e40966ff30d5c4c99 -fe2c9ace4450effeec0eaeae00d4de81 -48a01f73495e2d68ded953df61eea5bd -3463183a527c613243fce799200a2bc5 -0da20f9ab320c3a2dfb974a4cb26b732 -60222c99d5478cece49f84e500186ed4 -af54bf0bb1e1bfba17ff6792a52df455 -84e6311e70f3fb1e38e22f18a8ece2e7 -d38079935ab0cc00e80941c47de1e50b -d348fd7227f6524b073bf6fefae52215 -8b12be8eba1105fb69294d57ab419469 -d348fd7227f6524b073bf6fefae52215 -4d683c8d430eef444b6b96294ac48ee8 -abf10f76694000f35f48a52ceafbcec5 -f1947a1eeff0f5efded0ffc2932de002 -2d94689785a722ab0c39fd3a539939ef -ab3d43d9d2a8c7ec05579c422dde532a -adbac3f07fb1efbf10bc6c754b6f62e5 -75c42f5d60e63fbf918da3de4302dc23 -d11147b3d821a4d7fd0033ce9600e6c3 -fb83fd610549626f27ea9976fb1dd422 -edfaaa100d3fbb087af913073836c9fb -1db9718e611872d59c6986a4412c8528 -c4ea3126d9831aa7319a71f7b4382ae6 -f1c61d9f2f46a5d9c67ff4516d8ed68f -50e31c24246fc9e2932bb0e36af4f751 -8d3ae2eb7ee39d7327b3ffad5dba6b89 -5af090b3c43b1dc1d98bf52f6ddcc58d -dd9a937248cd4edfb954b21bfe172789 -979a6b55d7994d1bb0cbb5fc2eb087ab -e74c5c7adea694a63653073ed0402188 -7939be5ff197f3a27eff2ee5c54f1083 -19ba06568fbd2a6390e82af28ad2b17f -b5516ea35cd2c5477eab5833d4a62f86 -2cea4f5d1e7828cc156f02ea849e304c -655697431223dbd4e1bc414048a2d2d2 -1709ea8aea03420c71e6830af75c9a6d -96d0c4376244ad22da7c58015dfd01a4 -fc6cf02462884e9e441fc2de9e6b4bf9 -3a73cdced44dc584e8b37d95dd79b26d -d436af938991d8b1ce6cf3e7296a132e -376ca9e1818c134150f5070d053e5aab -65d66a382be249c1bac2054ada661707 -bf03c4252a663191fb9d965e59630e48 -6aae7d2a73253de13ad812a93d5e2bcb -f61ced95d40065a64d279fc6890336a3 -7789c7b73dc89f734221478adc72ab92 -17c2c6ec81c31cc8d3a656cba815f83a -e416cd2ab8ee8966abf9ccdc0fc7a1fe -ba22e075a5be118d12492cf807b947b0 -2c49cd2ee19f2f583b086735594cc896 -bd8aa02388b1ce231871336a32fbd143 -74c242a145e9ddd149220ad0eb3e6518 -7e76defe87714fdc69541fb80073d66a -88338479f0c70c41df5959c090625f32 -11f4e38f3a8a8c2f4be4c1c3f651dd73 -e44e741d0265fccd5e8ce28d9d98641d -155198d8776b5297c7418015a55a6924 -c7d5034b265217eaea4a9ea798c546da -86e24fe7b2d642eb4937a40eb77d2e9d -788da1b3c2fcfa80122a44d1a89dca16 -c7d5034b265217eaea4a9ea798c546da -be74cbf3dbcf6a28b6a7b3d79681aec3 -f6d5a7b475094e614aef2494edbe1149 -50193af601784f2b30de54e123fa6960 -d6140c66a718a8ac74c7a4017fe26435 -b53b56c2aa00bfddbfd0d7dbf8363548 -c6572885609d913e5083746c2d19c687 -513dd25a046de231870f1e46bad587ac -5ac58fe18cdd91968a406975b9eb4051 -3f9811501151a48b0c9a384236cc1ba6 -6875d480747d1cb853536284cb67c04e -06ff75e06e71ecea6a542123682b338d -6f19859e92b90b6e3fa633a4e7ccf714 -b1d4dda9ff776bb0b7e0ce41f54dc167 -585842929205736224fac1867281ce9d -a95205f9264d1db1aa0cb9bde411dafc -4d897f6bad76f5167f5668cb03056765 -def1d24f090129c409922f49aca4ca33 -9ab58a58489bce707b9ef0cc7c4190a8 -86c6b58c9bfaae85a8a8965ac26cef05 -77b48f514b3ff701e38b236596742406 -d185dfd42ce3522d5f95c729067300f0 -98fcf81520e8075c737b2f9376561c4a -d185dfd42ce3522d5f95c729067300f0 -97f609c318fc3a37acce23770606baab -e4cb4be3a16baa195f3508d0ad6abb41 -41395ce7516e22ce62575da4cbb6b47c -c99a48c47c80bfe2e856409e6c9d2768 -f55e7355bff0974d2cd3cfacfba3d4e1 -d4f95f7c610ea9195f21e3cca373339c -920cae6cb258dc75efc57a556d89b5cb -3a4d6e7b69c970379987e3d8b2452666 -7983d3f5206968fbe57bc3b6f7265dbe -2267799aed7c6e962f29cad99b484ab2 -89d3f63149966d2a09072288bb02c7ef -d6140c66a718a8ac74c7a4017fe26435 -89d3f63149966d2a09072288bb02c7ef -d6140c66a718a8ac74c7a4017fe26435 -5b77f27b0da3c20bea64487a41214bbf -5d6383c8b2422640d465f4576a7a0758 -412708ebb8a375f1d57ed331c2a604ca -24571129c1dc514ebfe81d5d346a68f7 -7e983b215dbc756a6daef03457c80a9a -d6140c66a718a8ac74c7a4017fe26435 -26bd7183d39db3a87dba688776941173 -20e161246b0aef396f4a3744ccd64ec6 -bb52764a2fcd1a4d829e9d9633afdc79 -3856d9c4abb8a5a076f0dd2e2fdd44d9 -bb52764a2fcd1a4d829e9d9633afdc79 -c9593194b2690a36804116520a86dda1 -bb52764a2fcd1a4d829e9d9633afdc79 -3d784032657cbd0413d08f0aba002141 -289655dff9f845a4b9dc4d8b791dfd2d -a9d86bbb1e1de8563a7f0d809a833f58 -9ab2fe03bb3fdf74c37ef714f2cd25d8 -2cfd07b2614af2af3b63c10e7881b10c -afa461acf7f0bd21393c233a3b7f9997 -5c3637f3ba9b611a742920fe97e3fa44 -e7d5159dee6ddc25aa38e9931618c3b4 -7734e1066708eb02acd28cd18b6d3c5c -2a09d3f85e39614167843dc9bf37bccb -a7a8075156b5f2673214de61f40e25cf -3f8925ada127ef3b488b960f8911a096 -b48a5a2b8aa704c2ff9a9b547ec5e394 -d3c8a76326d9e0a3c6277df6cc6954f9 -11b34353e71c5f0a06d1d35174d1622a -57a192c98dd82c3548ef3b62eba38fd6 -acb1175acdf4235accd7d0d739a6d3f4 -ebebb0b12df85e3dca7380e09bb8d85e -11b34353e71c5f0a06d1d35174d1622a -49491a18c30d57260b00976655902233 -225f4a328fe3545af71cce7ed9ae0023 -5b91e9f14374b977fd73065766a07593 -71f06c24f3511d53f64e82a540cefe1b -5d5995fa0bbba9ed4acd4055f52dceef -e17b5131613385d860cba73b80cb5ebc -9e9b1087b1ce1e94443d267602ed2f1f -11b34353e71c5f0a06d1d35174d1622a -3175f02acda8a2aff29955a5771f0763 -158929f20e1ee3728f5e452beecd57d6 -ac3dae37b2f48cb72595b4f32ed5c47b -11b34353e71c5f0a06d1d35174d1622a -f73993ee238698a8ea70bcd2b46c6b77 -6f73fdf5aad896b3d035134c387805e1 -8f3f5d86f284b7d966aaefaa387d3aa7 -11b34353e71c5f0a06d1d35174d1622a -39844001dc990516ad260b3eb008127a -001d3080fddfb17ee7c0efc0b6830852 -a04ef7d010294c0c701f58e523c6bc0d -e750e0dec6be3c5d655c7e101f57f178 -46edafde700c93c9aac3c5214f8a1f81 -f66cf1109fa4c6fafaf2911337641318 -9c4d5b693a237ef047675a15b0a41a3c -45a726c83a6702f94935256a1505c922 -b21d061f312776f92573df3d705ce7a4 -444441a0182b07bf076080f266d0dbfe -d6140c66a718a8ac74c7a4017fe26435 -adbac3f07fb1efbf10bc6c754b6f62e5 -7c5a0f85342809498fcd92de836ef39c -adbac3f07fb1efbf10bc6c754b6f62e5 -ac4ef9d9c3ec007ab431dcf1770197c7 -7f5fdde4fda3a6b4145702e1246b83e5 -b2565757f824ad09d7904a75a46e92d2 -0bf5c239017547f9de4667932014849d -adbac3f07fb1efbf10bc6c754b6f62e5 -0cb35b26cb53e861647994fcc6a23349 -fcc62a1c3aa36f07a63e19370507debe -9d37c9c983d59f94320f6c78fa8087df -8dd85144a69e72fba6fe66e4d295552b -a3ad87cfd93226d962276b157499a40b -51e2d5b3afb65eb198764e2e453e563c -484928ad55ef77b1120bcf86bc81eb96 -e7eba9b6dd206159350a3a3db45084f5 -f17699868c8218a316c04fefcaa3011c -3270501fa7da5cfec174f37c5ec69b32 -4962b84094d9acf606300b5b7f2489c0 -02b2096e76c670822483cbc6fc593333 -871682757e34e75189171c269851f2ca -93fc4d58135096e7ed2c040dd16f0d37 -6498a1dd38b2b447add06acd25dc2c9d -62bd9305b330c0c2a8ae050104606608 -27f7fdd91f7f267123ae0dfd9438f6c7 -4962b84094d9acf606300b5b7f2489c0 -04d36c9c00e337fb926cbc6d49c8bcb7 -10352414ce58a28d441ef4d1d22c24b8 -14fbd6d547411efa96b1fdbfc8f1ecd9 -9eb0ef4893c183a8f1be70d5c4014bf5 -2b6e07342bd67b1dd16636ce65620dc2 -291bc1bf4557f43f8a7a834c21b602d8 -053f176f490baa119d63efd5354e6e2d -40647628c13b1391af071311fbf8a4d9 -774f18674e12b41c0f63b7db37937ec7 -c1212fe4686f09570f08e445870ff89d -013da1d044b4331ebb7a46b02c28def6 -4ab25265bf30c3fef77a6d40569c915e -5cbcc2deb34c7d8cc6d22453bcee06ce -1aeb171bda4b47d6dd3d9777d36ac00f -9189cb77b4662a90c8ee548e530b1f05 -85e1f36a90c375735c0078bedf51b25e -fda918fed1463f836ecd8f5e7d7425b1 -6b7c66a6d8beb8077cda87e43015a56e -339f78f883934535ad56363275ec4166 -d2af83c9797d82fdae39995e2b31a3a4 -5f7bc2d20ba4a01d868b50a1cfe04a65 -275782613b2cb480c7cadabd16279952 -ed0e713f5f3db275529e3ea71d012a38 -a2fb242824d690e66517440320a78bd5 -3c038a7ff937509930f65c1d9d579ba5 -214f22d06c4f179e327003f095290e98 -d9e4d34c12954b6bc9ec6b34185c25ac -382ae70fb5653cf1851a4df788c1c527 -81e9cfa0d1435eabdb6367575b5e9ea3 -0f579e850a6a4fe86defd1213969ad0c -5d1de169bce4574a25d55f318494ccfb -58d19753015e919a300aa7e85dc32252 -d6140c66a718a8ac74c7a4017fe26435 -bb52764a2fcd1a4d829e9d9633afdc79 -9ac536d886c4533a435c8acfe99331a7 -d11147b3d821a4d7fd0033ce9600e6c3 -65c97bdafc82c2171dbedd62cd15be04 -7d37dc41172c86f73e059ca6ee509ed6 -c22a516ccd841d3fd0689d02618cc5fe -dc0e9d04e17cf684ea02e6aebb78ff08 -95bfc93f8398c0cb2e401b6f5ae6b861 -47e037566837d421841e897842f34592 -95bfc93f8398c0cb2e401b6f5ae6b861 -ea00ed74d1c59fe911f5ead03ee7da3b -ea9d169fe46e8498d3552194f1198f4b -a6aa4a9aac09bdad91892de48b9dba5f -493ac058c6c3d8ae7a09fd9633c82d35 -2786d6319501a1623870386917a76c70 -188240f36b469cf4a7421c1f5d3c69f1 -99baf1da690e7dcf26244cc627c836e6 -1dc82790806021d4b7a2cc0515f82d6f -605ef13150ad2b8ecc7ee1f2e1781e17 -7c3d9e1a045497ab121ae2870ba62a35 -7abb63c16381a84f9558cd6c1a0b3e0b -9b74527b68c65436286b21766473e097 -99443a7e5e4e68c2a405fdd1e3890616 -00b909cc58f0d16cf53af3e528a6eb85 -206bc66bccc43920c3e46c6a6fb89105 -8482768a384174f6a938f38abedf4025 -356e05f5f8d823b251a9002564598876 -2807a52d093a1dbf821c62c45b54a5e2 -b77de638405b4e09b74022986ab794f5 -21b4477ba32f0395ee69d41acc3e2f4e -5df9f7d192a9735390b95caf5eeb4c3a -69f9a353044590f9b43683348828659b -519e6c39fe445d40976e1acf2ff663e6 -26397545ad4f3c23632ea6d74b6c0bba -d671196dc0ddcff4bbea13cc7d2d27a3 -8688811d48e30839c6bd52e560429431 -62fcc7baf5af5e10274b70021ab0eca3 -144f055d9e5a4ba5d73daac225df3070 -904534ce17511846b879937569e9415a -c95e25d9b96215b73bcce400575fd04a -e0b186323e8ba4b0a5bcf831b5772058 -654841852de60d74fff4c1de9fb011c9 -0de3eb43a0df5622672954425e897212 -1d434277085a728f445956c4fcc14477 -0b7eff17491ddfd901c6e619d49f007c -ea57e6ae55eb5ed12e81f235fe1f8813 -1df8076592121fe24e9e7ab7e075d096 -a4e1569c96dd64cc50ac081fef83b28c -45e350f84a10a796ae7cba95b4ebcab7 -4168b5403ebeab7d58706f0b314f2181 -c0a06053c1b9ea520720090cb3d1d493 -f93b9744e3ff8a796fdf41cc53caccab -3ab4b1589ac91a934ab944452b5c41dc -e17a27f47080e21e880e40f8154e5359 -cc66247c0d8ea6984f4aaa570b540cf7 -8f910f7199c705c4e7eec19c088fc5d0 -dee67f3c37b0cf942bfa657889bccc27 -f3be4819d8c99098d698ed6224f25259 -695dd1e242d5b8fd3eeadee3f7881f1c -6e0bca9d8dcc4d58c584689fc8c0f28c -3408527de2c70c396a33af3a6b24e0a3 -ddc0f4c80c2de7858ef90b0f1393ca9f -2c7185e661536bd9d40df811a9c07319 -5fb5b2a18efaa5f67b8268e70b3333c1 -5b4054142321f1dfdaddc2b66bd9d656 -ae6353d1dfaf11c46d4586bc5a880473 -27379cf1b891a74c1f14f789e804154d -a76baf32a3bde83be17d8e501fdb7b49 -76e61b2802082a2e2ea515c9bae1bb86 -a82d34e99197f7fbd7f37421dc5e43ce -216b8eb7e74dba33be6f6e76939bf3e0 -0a2ae2e8b80266009d460f958d52684c -10fefd6fc9851668ffb8bf275b8392d1 -16a7493168759a4cc9cb0ad2932ffc21 -bc8afd55e7618e74607dcfeb1b3f7da5 -6b49a301c7dc514384cc2180e6350cec -661c6639a9793cd7f7262a277bec679c -a861099d22f7ac49d63bf2d3b88059e2 -a3329072ab4eb657e5ce7bce76b8658d -e0f978ea4ac7dda97b486be34dfe82c9 -acf05d6177aedab999756bf2232f4cce -423435a7c7c0cbecdee5e095b7ed0fc7 -ce4d62089c33f93ad1ebb38ba6433383 -4592c750831bcee1513448bb0a188c9b -9e521435ff142b8b8298bd683ba6c99b -75f6c269209c5d41dacad5d658113d4a -ac9c21aecd42d8b817b718d223f7c4d0 -a3cef168478fed15a149166579c23e74 -0e44ee98c3c378011897835df0ca6806 -f710ffdae40637608e74ea1441822f56 -cfb8d6c4b7e257b64fd75a8978ad2437 -2575613d104c8d802a5678f27f39c7b1 -037fec69d53d381e57fdec7e1c7d04e1 -4b96e84ed48bdd50a8ddb09a1702d982 -04c60382602ea6f7ff79293edfd92b89 -44f5b6fedc2f25af12bf7d6298744efe -32e5f2a10b8bfbd3df6e8001bafef98c -cdcb2f8878a20fe26db672de0e45da91 -10a1ea7ff2e949af5f56429be3811ee7 -c1b83692f30c1776b5971ac00a3b8431 -e971e6f04c7d47f28904cb8b5c2d0210 -e3c7a4c4012d45142b3e044566f7b614 -5077a90924d31c74db3e04a528172f03 -f8bffad60a82a2b6d7551e78d28036a2 -13eda72231b953a16bdd28f719f448d3 -c1b1ce73bc437ea4ffc84feb94888105 -1700e58bdb20d931fcc03d03852e2c0a -c7855ed70ef12e31a2c4f71616b7b446 -40bf8a41a34caa4b3955fc0fee457200 -1e9aa23d569414beedfc031806dc1f13 -9fab6f695daa1ead77206bbd5469d131 -3aa635eeadab06edea8054865ba8146e -ab9f0dc267196e887fe411430105f6f2 -84839e1e0f8c640894aa62dc33565cdd -556afddced59a9e411dcad3e7bf6ad7e -7a5a0225cf903525a8d4a6cc52253fb7 -8e2d3f245b7b809b44b99dd025eb4927 -06775a99326e81acb17aa51111c41945 -9fab6f695daa1ead77206bbd5469d131 -b3b88fe6f34c9f31214c771de387d427 -ab9f0dc267196e887fe411430105f6f2 -84839e1e0f8c640894aa62dc33565cdd -556afddced59a9e411dcad3e7bf6ad7e -7a5a0225cf903525a8d4a6cc52253fb7 -8e2d3f245b7b809b44b99dd025eb4927 -8376e5b72b96656dc95c14de2813545b -9dcca348fef422084ae35a81f861bf6a -4da478ad9063b27eed7a4d0330eed4b2 -ab9f0dc267196e887fe411430105f6f2 -84839e1e0f8c640894aa62dc33565cdd -556afddced59a9e411dcad3e7bf6ad7e -7a5a0225cf903525a8d4a6cc52253fb7 -8e2d3f245b7b809b44b99dd025eb4927 -e8102bbc54b80b172f78d39511c27ca3 -a916da4040eaf87fed38cb6c96816c17 -b8f5d6470caeeaef9a6978b584a6eae0 -556afddced59a9e411dcad3e7bf6ad7e -fb6b0b9881d39cba279594484686c7a8 -8e2d3f245b7b809b44b99dd025eb4927 -ce15e07572e447f6572417958986ea7d -d226cac7fe9cfcadbf175f0597147c69 -068f0566fff5170c87d777adc5a69a0f -dc7a962d2656af75f66f2db208fef039 -b8f5d6470caeeaef9a6978b584a6eae0 -be34a5fbfdabd117897518294ee3e56e -b57cf2c1322821ba514d96f6f4d14ae4 -8e2d3f245b7b809b44b99dd025eb4927 -26672cab90da19fffd7447f1e1f73b02 -86f9f036adb3c577a890392aa320ddf1 -b8f5d6470caeeaef9a6978b584a6eae0 -39a5d15047cdfb5c0350be7d315e7f1d -1300342588fb362e1fa7443ba646f35e -bba2ebf57491bba246fb5d848159b41a -b8f5d6470caeeaef9a6978b584a6eae0 -7f38e690c8e46897e3c452fc74df41ad -bcad31725eb3657feb24344fb793f71f -91a23934b6c0657847c278e889e44cc0 -77e53c132b6bc60a71ac6dbc247f525f -c832f8a2834eabc30bfc4c6bd5695ade -fa2e351910a31cc9ee7a12fd69417429 -2ce4697720d274ff13e135a4d3a1eec8 -fed14de04cbaa723c531a2ef0c61d473 -20be105cd6e0df1b4389c94a0bdbfd0a -c04d057f47762dc42a2d96c8dad49e71 -64e2f655ef8423c9cc2f103d63bb094e -effed4a8b1566c4733cbdd9b77588464 -334d8df21a2672f36722524b0ebbad1d -658a12d389471c65877b2bf223e2585b -d910927548183083692597d738c2892f -553ed0f1ee18dca4ac7bf5b7bea2f710 -173e042295ad89739c2a4e58fcca3b9c -49fb4d127cc978dbe0f47e7eca17a47b -ff8972aad3dc5c0dad53388e0975424a -0fd7a18c66229efc192d49f3fd045dcd -32229fc987045c0573b626b8b374cf12 -a91087ca0762fd05ce408882b8001c2f -e91db63089618a5683d70310eb2a3945 -6474d872b082ab6d4890ffb7891947c5 -7cf767b5f472af03ddb1967566480a0e -dd9e7a1be689ebff7f923afdceb9cc66 -04e2e49947727a2ed5ae3e465d1a8984 -62ccb7ae1f661b428e312f46154c2c33 -470ff1948ba16e4b2f8b43da1b93747f -fed14de04cbaa723c531a2ef0c61d473 -7876c146e16919b5c8ef81a1fca93d70 -bbd1680cac5d80a48cfa5e8935060126 -1d93ea704c8ddf37863276d4bc744d62 -f34f8bbaad76e400ba95ec05e7260c41 -ef0058229848657969a10d561d0f3ec4 -b9c461349c1b6942ee8e24ad22cda418 -2eafcad5c9e9dfda98c918dd955b7008 -1d93ea704c8ddf37863276d4bc744d62 -67e170a631af4eb24cd92dbe6049d82e -8d54d4aa926fcb7aed041bb67012f123 -1d93ea704c8ddf37863276d4bc744d62 -8858f1597512acf6cb37edc1a3e42436 -46cc631a9e93ebde3b01efc53218c576 -7e9bae2820980fdde36e516d924d05bd -1d93ea704c8ddf37863276d4bc744d62 -4ed88b607388ce229d3eafe86f1a3b68 -39a5d15047cdfb5c0350be7d315e7f1d -c1c20a2ee3f4fb396b2db7550f7f913c -0c6042be5ad27eee43fd34a5ce2f8953 -88a8bd75ad3b2768c17893c6061b986a -5904ad938ecb58771205a209abe9a803 -d467b29ff76d41251e78cac0b99ed5d6 -15d07748dd3b01cbf4175d04c84a6e32 -5555ffcd1b39b133a35e2dfdd9eca785 -1d93ea704c8ddf37863276d4bc744d62 -15d07748dd3b01cbf4175d04c84a6e32 -2eafcad5c9e9dfda98c918dd955b7008 -1d93ea704c8ddf37863276d4bc744d62 -2399624b583f66a7620cbd13dc11c66c -60ec63ba09ba2a982fdfe555bd8cb7f0 -ca11e4008b6d7b24a3b949921453216c -f2069a8407ac14338c206f9c23329cb9 -e6f7ae7813d23f44c88cd4d17a8d3010 -81ab556277850e02afcff31ef87dc300 -f3cf6252156e932af36cc16057120538 -838f2d7807e9870864f9e9b3f32d39ee -efb0d940355faba29e7eb80f89df41d6 -657823d3b3feb51c82365f810e5dba8c -7af6dda09ad7beedf548c12836469714 -20a2798bacbe5e6b88e5af6573eaeb8b -0889a7d98fa747908fae1d384c3dac1e -1db2a7df5f8cbc8bab9c802f3fb9ab61 -55fe9f7721f911f75edcb66cf6621b6e -850575e1dc83c8f6f4b22b60e2476a41 -e3c4edb63a9b7cd2c6636713e97ee74a -96c36d12ab07ae12da88d9f1d005b085 -22c4a2ac2da01ee60d2cecffc7780a71 -e92d244525b0ca57dc03fc47fbdac25c -55120fa2364f276098d39b38a9987cb6 -254c003460acf7f73c0899829b0c01e8 -0be27acf6f16a14bf225e1c12bf5fafd -e3ba40f681124ee3608d640da11b6887 -9a770bd7a133b49416963a2deea8c7e6 -d5aa7c53870d9e647b55362ee8f194bb -b491594f1d2e7b26848aff750f19051b -8a3a46b446f09dd5e61e509e6114a16f -bf21e55998e6d38641bd7bed42e15787 -d0e42d5bf439c26f2112c8ae334b6c5d -42ebc4966a686a2ae2f300300f8e242a -9a770bd7a133b49416963a2deea8c7e6 -2bb2f7cbbeffba083eecfb1e58cab7b0 -1d93ea704c8ddf37863276d4bc744d62 -9a770bd7a133b49416963a2deea8c7e6 -83ca8efdea1f19970745e462f058a6b3 -f80ebcaded95ff0ff0447da3780955c4 -b9c461349c1b6942ee8e24ad22cda418 -217a681537d606e8f14db154cb64732e -7d560d6acba0c815b1840b428df45c23 -024f2205f50ee7229b4cf50b573f22a6 -9a770bd7a133b49416963a2deea8c7e6 -f8da719fbb41edcee9fc2e046c31bd48 -1d93ea704c8ddf37863276d4bc744d62 -726eebd945fb60fa4467f7794fe6d0a7 -8d54d4aa926fcb7aed041bb67012f123 -1d93ea704c8ddf37863276d4bc744d62 -6e822df92db8406a857420aecef1d249 -4da478ad9063b27eed7a4d0330eed4b2 -1d93ea704c8ddf37863276d4bc744d62 -dbc2f3f646fc3c4e9277e9d58b24cd83 -39a5d15047cdfb5c0350be7d315e7f1d -0813da956a8e9378bbe64de089e491c4 -8e2c8e772607fb1ebadf98f18d9e2dbf -5129986e898e44b1a7dc66ad74d6cfe8 -9a770bd7a133b49416963a2deea8c7e6 -2bb2f7cbbeffba083eecfb1e58cab7b0 -c87d8a165c0cc6669204fdbe4f0c5f7a -b53d0a6dfe9559e8cc73dcc0c9461439 -607aee4c5be3d5294f403ae2b152d9d8 -cbf7e098277abe7b468ef5d632296f50 -ed416fa9227a05f1715ed7ce528102de -d3fba6b0a4a0e2b8fc51a732be6f82bd -25902ec349a915ee53e1fc57199a5242 -24aad76684a499ffa8b102b3c031cccf -f17514187ebf6e506a11ea46485426b2 -af2f76242afb62413481c0bce84a90f9 -3a858b8a44a836785cf7a484bc8b5337 -088701115d6208c3374c2bc0e575c9b7 -24aad76684a499ffa8b102b3c031cccf -acd2c801f1f3f42898ce0eafaa2169d6 -4f5fcca7db00cfe36e8836df864d2a4b -242fa5829f2698a7f0e24a9699109337 -000a7557a78d554f395f772ba86ef194 -29bb3d5bdadf4c7330f37025b611e385 -7e9bae2820980fdde36e516d924d05bd -0e1fd85b636482fc25ad33bc9ebbb4bb -6fa19d00acba8d1849513b4769589183 -a5e43c388b7371034c80c0028d51ed2e -00607705f3632d9a8ac797765281b4b0 -bc9d353a73043b80d496f5b15c64dddd -61b12acc3095880295e1bdd72d3074d8 -2e1ec6c2931d4aaf236a2afe5a0ffb7b -409ceca0f5c7f9ffa966c987c2a56dfd -969afe9d87e916431db673a8cadca1d9 -ab31f47c839a36e31fd192dbad4df5aa -59d5dfe5f4870f59eb904d8ecc09fdf9 -494278bac78555f081fe5ba77a2fd6d2 -3f2f6e593c145d82e717b99e552470a5 -61eb2ef688d52396f4a999962c507c26 -ad17b93e6a0f6d39f94cac5046e84636 -069868445b0ea3c2469e02c6d06918f9 -020c8a93ba28235c74ba04745bb8d493 -506f1bb654aeab0fd1b8aa17d779d90d -e3736d311c8e36dbf78c5f5eff56d8a5 -3421d875f055c0ab2993ea3d813409d8 -48383dda494c07d31dd4c5e57f3d049e -6640929ea280498691a79c6131032c35 -cd0326226bacc6f2947997e2f533928b -6cfd384b03926d086c023519575c7bea -2219d0b9924fabde9ad7baa764cb228f -89534790cedb0d01d217d262656a964b -195feefd339efd5c197dabbeb2a2f99b -541954d0acc4223304294b939ecf187a -791ef0db5d4e8491a784db93d07e28ce -4f9692c901c21a8c99650322dd6190c3 -cf9d7741bc2d4715fa2a73fc706faedb -c362ad95b2169a7c13cd4f73f57603d4 -a7a2545aee19ec5d09d988fdabdcf38f -4d2f2f37a9c0529ed95f463608a33327 -58565e9afd6d6687ca3ea3cff5fa2fae -2bd30d54705bee396f93c4d16d0bb836 -3751f3923fc8a1748e04e3687e49a28e -de409d650dc86222fcbcb1e0ec631209 -bdd159925e57d72dbed480e6de6897fd -f8c4e81a1cf7dcbcc383ded2b6fbd6f9 -48011f4d016e3581f76c48b73332d4ed -74b04da572b5cab29edf3985e02f2404 -48a693a2272dc79fdb48d416e229d12f -2a44ea547c310cd10409a87704260330 -fcc68a0fbb5d0ca9150057787fdcecb7 -97c5a08450c37fc3b8a94a1d29bfc18a -edb9c0c5894e39819272adbf7975e15f -dd38fbb6d015a805d33f59d873a856b8 -b614f48920b62716f06591e2c7acbf44 -892c0140ccdc9c99ede3d6ec7a73ffc1 -ffac26a3d8b6268b175ac131bd7c8562 -c2b70295a62708e8859485eccd64a426 -f4af14fdc4c5f0958a71e9a58b28ef4e -da970a466af38bd633feeca687bfb48e -5f978dac5d6fbd751c966e5eb6964f83 -f38a2624fb2d87f108e9d9711ffd9666 -07918a930234125939cf6cc4808587ba -e0543d1db0a3d1f85e1699581e0bca15 -b9c461349c1b6942ee8e24ad22cda418 -c11167965f5a186a0c58c09a33c8fff3 -1d93ea704c8ddf37863276d4bc744d62 -a84218b9933914a25903bb3f11845e44 -23af4203888eb7c2dee74f1218e02a3a -fec63f19015aa18f885b59ca890db759 -dbc5e0b51485bb5d53f25c488bd8e2ba -244bc40d7e799fcb3adf2b0ae3d0886a -e97755e2e0d8d63fbd47fcb21b97c9d0 -3be78276c92cd624b7ae8d27e77439e1 -330d3b8a5c0395f613ddec23ebd2dd68 -093d83eb9b85c46321b2d25af1906ba2 -76fc3c0c3e6212365ac4ce83b4da40cc -39a5d15047cdfb5c0350be7d315e7f1d -166e6be6c83e281dbc3bbc893e97d03e -0f0eb63276228b3c830a61f872ee6b57 -923ff56631fcb8908365e53e7ae863a8 -eb557e86628e83268dd581445f3402f1 -aaae6f7251beffb0e136656bb248b792 -9fab6f695daa1ead77206bbd5469d131 -16856e22cc2663a0c8b2eb487e4fb692 -c5e6b2d803c61069d9a1c4768ca766c2 -9fab6f695daa1ead77206bbd5469d131 -16856e22cc2663a0c8b2eb487e4fb692 -19cf63896ff0f4302f17952f0a3fdb90 -6ca48d2e6c55f70ccd46765dca97ebf8 -bd7964fa5c22f0f455087a6a11f1c940 -0a00415ada0f7d446cc16fb046b9c1c4 -7e9bae2820980fdde36e516d924d05bd -f0c5dc1db96f356e5e10bb9c92147036 -7fdbaae6d663cdda2e4a2d0201f77cad -46bfd20cc816de82e3132959467786a4 -c9fe1f1607bc822b3f2312ff117b4c2d -3aac096a5f6e254270cb5132929878d6 -7fdbaae6d663cdda2e4a2d0201f77cad -8c141a794df1b8fb2faf64c190316a9c -4ba724e63a4ed9e8e2d137c9a50d2bd6 -62ef9889ec1878a87a3eb4ab649678ea -0b2880507b070753e4aa249d1d201138 -f9ace8b9b2ccdd38fd21d8950cc6ecf0 -51245e522197dce2a64d7cbee9608889 -82d138224f0c3ac7179481d1918684d5 -205cc0a4be0cc1ffb8ed553d5224a318 -fec63f19015aa18f885b59ca890db759 -a5279d38a9d1c0d346ee5134dd358003 -7fa6da26b0713a68184c23dc19316088 -39a5d15047cdfb5c0350be7d315e7f1d -026bdc655cf8bbc179a7787cb0368ede -31aba9eca53e9ae182aa2898b70f9e21 -12cfc9c06455bc85375e2e0d17be3a44 -f26484576b73f398d9f04da3bc8b0057 -e2b3fd15f2c6453759ee79ce963d1ab8 -8dd7aa6eb3ab1e398dcaf4aa8f8de0a0 -12cfc9c06455bc85375e2e0d17be3a44 -f26484576b73f398d9f04da3bc8b0057 -bb356031dcd6b35488743c93871607c1 -8dd7aa6eb3ab1e398dcaf4aa8f8de0a0 -cb4eeac0d1d404b178bc59164c6bfccc -2d9e007fdf34e7c17414e788d0f6855d -ffff3490efeadeba02b9f91974e747d7 -25793a13563270c8852dc2fa2f738d4b -8556406fecfe57829dd9ba0e2b2f2be5 -8732c2c00ebaa4553c1684a8d3efdb19 -c224d23afcb1e811f0a102a05ca772b6 -f996d145a4ca6ad4a1b37ac6aba1682f -2a684a48ae80e75412c286fff3eeea8a -36ee579603ecbfda0e75f57400500cb6 -cd1b93219abb3e6c4b9e48626e353c56 -b9c21335535f3911e947d91e6ae1993a -3e537917002b6f5b2cac2715460f6787 -895f5b9d6d345dd7cb2e7ca5bad2a9dc -0f5fff6070d4f42d6ecb81e7ea77df1d -1d93ea704c8ddf37863276d4bc744d62 -cbf74b27f6dbcdf1edae26758d0da5d4 -15d07748dd3b01cbf4175d04c84a6e32 -fba3d24debe2a2d686894e3bc8610e52 -1d93ea704c8ddf37863276d4bc744d62 -39a5d15047cdfb5c0350be7d315e7f1d -0b743a5bbd2cf46adba5bc0baa2b7df5 -48b3999edb3ac6ff02a1130188bcc14f -81deb070cfcad0237eb69c417fad2069 -15d07748dd3b01cbf4175d04c84a6e32 -fba3d24debe2a2d686894e3bc8610e52 -1d93ea704c8ddf37863276d4bc744d62 -0192f06b9ee5e42ea97daf7bf5f99456 -15d07748dd3b01cbf4175d04c84a6e32 -1e312d39e14f34260396157cab39fede -1d93ea704c8ddf37863276d4bc744d62 -1f9c3077bc4402e0d76a0911b14bdb16 -0a23a325b638923c7f785d2ecbe593f5 -fec63f19015aa18f885b59ca890db759 -1d93ea704c8ddf37863276d4bc744d62 -c53a250f2253028f5b5e1a444f842997 -ecf8f52b9d11fa27f89cf1b90de68ef3 -15d07748dd3b01cbf4175d04c84a6e32 -fba3d24debe2a2d686894e3bc8610e52 -1d93ea704c8ddf37863276d4bc744d62 -44a1bc0fad4f593433bc2bdcb892ab56 -eb83eb21ccf181f1fea1d07e5d6d315e -15d07748dd3b01cbf4175d04c84a6e32 -fba3d24debe2a2d686894e3bc8610e52 -1d93ea704c8ddf37863276d4bc744d62 -84efeff7a39c5481bdb2e33fdb8555ba -15d07748dd3b01cbf4175d04c84a6e32 -2bd1d644d6839dd5d3c49ed5069d7f2a -1d93ea704c8ddf37863276d4bc744d62 -39a5d15047cdfb5c0350be7d315e7f1d -e83bcb92803b707dc16089a8649ad98a -44e342e5be82e95853945f4af8b55a69 -b026ed7df84b47dfdfa72a7a2bf50406 -1d12d26f42e42fac1bcda5e3dd6a4107 -459ff361a4705e440697ffd9b565eb6c -2a94d09187e1420027cdd2f698278551 -0ad40735c4396703275098f7e6710dc3 -1a51056fc1ba614300efa2d2736059c1 -f2d01c2e733cfc7cb4e62e21895ab927 -d5bda7aca96267a29172b9cde6585599 -b1f2b5edc616fb6330c089c58b09321d -84bddb3c04e690100c74871314770289 -e2f198356d8528508cc9f87121fdae7b -526f47456ad94e4209464846702a467d -d7e52bb73e91d54e5da8f6baf5035ce8 -a5a22d27dda3b30f9df8f9e40655061e -39a5d15047cdfb5c0350be7d315e7f1d -423a2841db4e513d1146126cb31b02ee -f9e44b9a47d1177315d35f7f7b9f8904 -81bf4797e5f970e61bd37fd34e74f6b8 -d418ee2748730e2bc48f5e492849dc9d -e4143441f564885b07afe84ca8084ba4 -f13dcdcbadd9e34f673da61920625e52 -cb4363d066ee173b4ed97f02e9fe9019 -8b687a995a982371236d1213b01a06cf -abfffe997cfc4874ef7da70504b8e509 -9fb18bd6afe3d61ac49a9eb1b5871ef4 -6cebd2f17d1cab34062d3a900fc7c0a8 -a729a3a5d59e8685d36d5fbfacda3d14 -890a25664731c1282cf67d07dc7f6bef -74f14bc5518ec4d1b499ba2e7646fa80 -148d7ba717747ddc4622d843384318c1 -0bafdc55c07a87d938b903f090a5de45 -72a1332d82641916e2d85329f565e139 -148d7ba717747ddc4622d843384318c1 -1adf006183ba39e329b778d7898d9313 -4668aa7462a0f5f08dbf0b7f69b43343 -1d93ea704c8ddf37863276d4bc744d62 -c90224ad1da35ffd19582dfb21978e55 -611d3db35dace5ce7e88f162998cc396 -1d93ea704c8ddf37863276d4bc744d62 -924f7b16d283c7204951b4cf558ab65f -1d93ea704c8ddf37863276d4bc744d62 -1080276c95004fcd026828442d9eaf31 -223ba85a9b13bae12536f5860b56fc8d -f6c2f2dc596f7dee5dc945c3dd172244 -7fe19db2384477e1c6e0e186ff1fe1bd -13da797ff4827bbba04ab899a4200973 -f1a56b9c7352bf2ff009706d0b6b2376 -b026ed7df84b47dfdfa72a7a2bf50406 -1d12d26f42e42fac1bcda5e3dd6a4107 -459ff361a4705e440697ffd9b565eb6c -2a94d09187e1420027cdd2f698278551 -c42b4e95668f255ee36ee778d39f3b02 -1ccb54b2e53a4edc2ccaacdfeb0b51c2 -341b0fff11d4ff38c06336c4770dd715 -5d88ff9e8c89a90c097322486e4a5360 -d07584655c0969d7510f7ea046459ce8 -30d6d1eba4b28e5ab1abcbac62bf7f82 -7e9bae2820980fdde36e516d924d05bd -f01d5f2896efd92589afbdf6ceec20d6 -ef46be4ac37f864196b8ab4834697d6a -906dcb54ac6ca47893d1599acabcf06d -7fd57c4fc0ff08f8546e4473dbd02a1e -50d8dc37878fc43ab76584a6f07117f9 -e259e9dfb9d4ce8ff20542dcfa6a4fcd -b96abc790652ddc69f839b502f9bc9a7 -a31fec54d377fde8c8dcdcb632513c44 -d96c963fb010fd031e145d4bf46dfd8a -2975fe8856a85b8e3bf298e1f152a2b6 -6b10056d9636d195b997c5e3c7497b65 -0858f765594fccceae0532bd06adc982 -566c8bc875b2bfb26e58d1a1de8f8d94 -2975fe8856a85b8e3bf298e1f152a2b6 -54d5494eb84e10a810037008fb100c6a -7256116f406ff1db8af31a899503a197 -7c15f7dbace265e0beb3b470d223c9bd -5f87e6c8712ebc8c9381d44901cf2ae5 -4755aec82b7b2c0e298aa597066f0a24 -c55bf4c839275e684c0415d88f2c647c -81587b4610a283e89f6535e95141b361 -1467379debebb7cdeadc8b3025171068 -1b3e2d56fde80809d899d4d8fd0252fd -9a50c75e1b4d8f289b10a7de7047b1ab -ceeb7cb54df0317d1de6dedb90367174 -877253846334770dfa54fb01e790a287 -dccdc1c4de955296e181ff88a0b1b51a -8a46d39960c1d08e30fe0394964edd48 -fadddad175af98966490764019c53b73 -0537a6c630fc075804b207971c4669e0 -e6632d678b6f577246b1a798dcecffe4 -d0724827e70de9b7a1b5a2c6f16de59a -33ad34e0a05409623efecc09963e6c29 -7f6fe22b4a6d144bee1303541b9b3041 -dff8a5e1518cd887cff80f49669b94bb -8b79837d3138f366935ed12546e0c78a -963195919f15b58448162a5483fecc88 -8ad3831fb4ef0f276f60e5bfa1921bb9 -1d5f8c7845cf37530cb014565b8b24e2 -cf0f70e62a1742dee6599ddaaa64dd23 -5378f13d556148d62b60a2bb373bc087 -54fb58dd13402b13962f741be4af30b1 -da6dbdf33aeb977b1c47dd6e71b41b23 -9523bff9b9b4ebeb567c86b68677d37c -fc6d36aa493fa980adfa761807ecf03e -a66293de33396ec0edf979fa8353e983 -6ef4b3a4209dc5067ee1b2b73b84619c -f234d8e35240281f2ef05c4706d7621c -36fd39afc3c9d9dcd4c5b792867ad253 -78fc8193e92fea1bfea5c44aa4d1e3a6 -426fc3b45a5f83db43ed8a5d844084e5 -1a80192f390d6d8be99514c595dcaa07 -48718f4a73e33fc47aba3a295dca4df8 -0cdb17027fc8a0af4d0062a69bcf1964 -f698371a99a9910e1df25b0917d845a5 -4f63eacd8e541880ec96ea5b38c85ee1 -3bae59e2ea2a8df7a1db7efee1e3be42 -b93e03d90eb74b3c633d0a75f1e41cac -22d119ee068032cd10fa4ea4457a95de -631380561a80604f7b8b5b7b4a8a0520 -71b7c28a76bba41bdaa8fd9cade52c41 -729359444c0bd9b9ac361898396cbf54 -af3473ef7753c51b460139fb5644c1a2 -6b23676f7fcf600d995e8c8678f0f758 -1e606d998cf2ba2bbe3ffa5e8b35cca1 -5abef6eca46cedbdca02cdc442958ec6 -be416047dc928ef492a67eebcac98fc1 -94c9a089267533c418a7a4bc3ae528c6 -db97961fef4bb448cc42dc9717bbd8b7 -78fc8193e92fea1bfea5c44aa4d1e3a6 -426fc3b45a5f83db43ed8a5d844084e5 -0cdb17027fc8a0af4d0062a69bcf1964 -0e170eef243ee8d1dcd8ffacbcf96993 -c6f34f58b27d7dae1154358a50032422 -c5078efac75c273a872ef9df1d4962e7 -3c80ad4db58b756a4d046916c818dfbf -a4746d58f03e53f26e2887c896d8ce15 -1847632e10292b3c9e60e560fd220aa8 -74378ba777c2fe6699a5de06bdc88eb0 -e7bfe3f41c65d430bd1df9f0a830972a -a5de210937516fe905fbef625eb15138 -a5de210937516fe905fbef625eb15138 -5b1f7cb9e185d891dc469dd7f10ab9f3 -2143bebb7b4182a4e6e028eb0cc053f5 -471968f8a41414ab2316a8304a6fccfa -d16b49243535ccf3f3e34e3b342fbc44 -2f6bce42b16ef4236072712f84fa817d -bb93254c093a22c341ed7e0256807a05 -bb93254c093a22c341ed7e0256807a05 -ce54edf285a4108ecfde11f39541d985 -e277d2af28a1f864e241ffbe03023f83 -41736b5a2f98d33f2a7acc429407ce5b -5b42100beb4309b60f2a354c5b6de67b -2fcf387a31793f005eb7c66c74478781 -0b9f14bff3210bbcc05a7157d0d2053e -c96db2ecc74a4ba25d56a0d60eebc711 -c96db2ecc74a4ba25d56a0d60eebc711 -1908dd35a9d10d5f6699ca5b5f7f2ddc -6b2e615c7b2b6e3f301e836f0428e505 -158afcda98bacb3c67efb1ebeacd5b59 -c4e1c205484d0bee1d16a30ad7d63b78 -f50b7108e4b7dfcd64c0103169e6cb3f -a4f7efd993deeaef8db7126cac341a43 -3f1ddb6a71bbec571c4a46f4f697d71a -0f35dfefb25d1a43ffaf45651240bf51 -d398a3b34a24f68d8abb90df4460f8d0 -f9d05e9a003494bccd51314f05b59bdc -b5234f38797c968812c8900ce7edc0aa -2faa1ff0c0ff88dba108939051905bba -90c96e23be12128ca401305dd082aa53 -428b0883a4e2b5ff1ce844694f045b54 -0d59ac24d365dd29f9f881762506135a -22545f053994c4806852af99fd73f863 -436285b6e95865ea1921297094cfac73 -ebcf3f37a3ee0c625bcff7b254d7ea42 -eb188ebd3bd39e479ac4e98f24f4017c -ac5203db0012c08123f6a27f96241cd5 -154b2d27edcc3b353f4058dea8249374 -1f1d1a176783abd3d32efbfb4341ae28 -436285b6e95865ea1921297094cfac73 -9327406ad1e2526f0adbe33251054414 -1e741b0f28509a8d2c5d0e3afd6e09a7 -72fd4ade3b126dd7294f2b913b530f00 -6277900b2484b4902977e8ed9c62d78c -61436a6aba023f330da098c112edd5bb -0902c2055b2d46e311190dce3c9eb331 -6c1bd1e5adb195b7fa23f2a922790308 -2159f72a8692797713dd75b954022bbf -7cfe3f77ced5bb65b02ce8603bd5f09f -8471b121844874b6cbce04da3915002b -1bbf16c7122141038d183e804210a50a -d348858d02a33e66c37214fb5f6ee387 -776af6f90bb3d1fe53542bfe90559c4d -5689684841c3859504f315c26e68ce77 -5e723ff8be16bd28939a273bab770729 -f273d4b1bc3ba1bd4ce64351922f6b88 -10e57e37599938d4be5de1a3a2b54fcd -659b7f26f873fb468502e763c182ee87 -ef8571671fde634b28a32fc8ad9c369e -e4c43fab367911e2811c9590fb870cd2 -004c5c403ec425a9e6a342e4587d46f6 -c1e5e47025a669c61ed2a046518e2a97 -59ef728141e0234b5bf770aeca221aec -e0bf232d38a39b922ffa0f15822693f7 -97cddeda687323ddc048af4c2705447c -94e35e7750ab221d7503daa24efc2ed1 -18941c4d9193790264535a54eace590c -522f6992675980b1f31de7e78c79b2ae -1734d8b78e01644bad800f917ad974ad -e624a984296f580e98c5a7ef5852099e -909957dd1c7350b377b5b3a5789eb23d -a0c2a4a58a59e2ad976aaa75886bfe6f -5a9af697968550d3eab3e5bf9a4bfb2a -167cf3aeda46a85ce612755c7bd7f87d -d7b267ba5cd42fd6d439830b049ac0fe -984365493373d0d75fddc5a16228e493 -82e55dd55a698007a9ffa87171822bcd -a0c2a4a58a59e2ad976aaa75886bfe6f -5d7f870b79dced65f2c4ae15ef38657e -4534cdd850d3cefc697ef3b716745991 -fd8398c041ef2c0dec1b9eaef1f31572 -c0242707f847d76b81ef8e24d223ec42 -97549c35c421f1752a23160d9a6451d8 -8a1f40f6c86bd9d36fe96d15fd787e20 -72e3d3376917fa25b8d959df0bc80e12 -116e768b215757387f8e589fab3d95d3 -b4b1a95764c00a12712b22900ab0269a -167cf3aeda46a85ce612755c7bd7f87d -984365493373d0d75fddc5a16228e493 -d5ed1fff7ba720979263a3abc57d68af -12a7dc0349d5ac22250e350917265830 -984365493373d0d75fddc5a16228e493 -b2f83a5638da3c6e9185cd935a9b543e -8c8936db8d10f641c2acb88e3395905c -d86c8eb7651fe5eef768cb9f7cdef20c -8cad243f8907418a1e94f661663c25b1 -9037f2adbccd0009891647f4ff4411d5 -058ea0a9c6a35691fc140ce825ea9ac6 -663b96254a0056d4044d9c3e3643c406 -af5cc7bf7b65e07530b3b440932e4f98 -e037dde127e9bd2b418bbf60c512b2f1 -700e6df6854e1267dfd90d7d7f196fc4 -16506203c3ea3bf22d187ee2f9d5edf9 -e2fecddf6fc8c07a8b2f13af5b7b46f5 -8876e484490de22541f6d5c567b941b5 -a51798c7e4a3f35505e96747f8216cb0 -58f447f3866948e9d3073c4a277fbd5e -f984582e26958ef6804f8dc5385ba3aa -c18e500bffee123bafd6ba81afecd34a -2dd59bfada2f28a32ec097ab8d611793 -cd9abfdbb80f5ecd36475c4b3c92ef25 -3a5919e62404b5f22d47521474ce0445 -b426055e505999c241a4450506590f48 -ec9b9db1a3b8809023137bfc8b519678 -5efe3c2d5651be50de7a77420c623a6a -39ec2d2b2f5c2d677edf5eb458d1234c -167cf3aeda46a85ce612755c7bd7f87d -984365493373d0d75fddc5a16228e493 -d5ed1fff7ba720979263a3abc57d68af -e2ebbcbff5e3aa38786edc5950eff386 -e338a2f6a286332cfa8f9a868ea3ac31 -dc0cccd978590d57e2aeec3892c5ab59 -12a7dc0349d5ac22250e350917265830 -89f9669fe16d9e5d2d644855c0a6416b -a093f03b05492bbbfde53e40261012c6 -c80c5020f4ca379e366ab5e3e478cf5b -40ba4d6504f1744040ff6207fae2c1b6 -40e11a7e53ad024e8720675389664a4c -1e5e32dd7f019a3b3693d36e00b437fd -984365493373d0d75fddc5a16228e493 -97549c35c421f1752a23160d9a6451d8 -b7cdc00acf3d8415246b077b5695cf8e -9c5b5e158ffc055cd19525a75a1812bb -f214851935ebfeef482a44bace907c37 -541982561f551920a0a9f72dbe961037 -b2f83a5638da3c6e9185cd935a9b543e -d62a598cb24bdcf7ca38bd5c452bc11c -5b633bc42def72f6200e0787d78cfdf3 -1e567aec7214e2b571e7ed77a8c7e798 -b77a09228ffb85e6a351e751b02ae1d9 -face593f43fa50cf10ea448c1c6cb836 -12cdc21c66b74a814b3f24d043d34ce0 -1c7140a6332b1b747aa73b115f286dc6 -fba51b95e16d542e355da67b751eb548 -9719723db7ff9570d4cc1bb5bdfb0646 -18aac94ba5722b2972323a9f2a935173 -face593f43fa50cf10ea448c1c6cb836 -12cdc21c66b74a814b3f24d043d34ce0 -32a79fe02407f21e6a8b58082ef46ac3 -fba51b95e16d542e355da67b751eb548 -27c405fee93b216c1b2beb35db3a01cd -a0c2a4a58a59e2ad976aaa75886bfe6f -2d367b757f6cc9700d9d5f7b9ee083b7 -aa81a429ba27a88ead1b8dbb0b16fc6b -86c9c22829afdf9e78a98373c9e878d3 -03229dfe526262ebfb29611225deab9c -0cdaa6a3a7b5b1e4f10accdccc45280a -7c336f06e418d143fbe7f0be61456028 -4300ba9d73679bac6e15285a438e3020 -ff92071884060e4c843cb60233f1d601 -7c336f06e418d143fbe7f0be61456028 -32b5b03b2bebb5a77561a2a661c11719 -80a1660e5ab060721cb7129381778c20 -00e866c6f2745f385467978c5cc2a4a6 -b2f83a5638da3c6e9185cd935a9b543e -b69a6e69f54aa8cff69cd05ba296dafe -666769a8236913b3304614bfe258420b -be2bc375e02740ffc8a7e505a5c84a05 -6fbfda9bab3ffd05f5fb9b3271efaf79 -699eac3823f4fe655414d4f32ea6fdd8 -1aeae7bd15c5dfd8d8acbc567a7a9fad -284d05155c7e9b7038bfb4dd430e99c2 -04964e3225a13255adac41568a2e9a2b -b2f3e08e00f59ecc8087608de12c34b9 -d5ed1fff7ba720979263a3abc57d68af -6ed2231673c9609aaf6a398c7d3bade6 -f8648758ce49503fe3fceeb8fc91ba91 -b2f83a5638da3c6e9185cd935a9b543e -b2fa64a125766cc4f95db5ff69220c45 -d5ed1fff7ba720979263a3abc57d68af -6ed2231673c9609aaf6a398c7d3bade6 -736a8b28ee304336a184d29ecfc321e3 -2c2a0ef53c21b738ac4761a0b78a806e -6a537c533782730c4e544266b4eff6ee -e9805e01a9d56d5ccc6e81a34b81e71c -071fc4078639719660501d9c4b7bc67d -b2f83a5638da3c6e9185cd935a9b543e -dcf8f976cfb42f93345cdd4a97c906b3 -bbfa8af04ae1c80c0f8ffe1833acb6a9 -07549dad0dc30cd29078d96688ee7688 -e6f014d29b4b27a1aea20f768e92fdff -b2f83a5638da3c6e9185cd935a9b543e -e8945f7febf08adb6d4cad78e825d639 -0a2eb21380c24e0314e82003f3f26b18 -31348481355d9bfea8d6b423f9bc03d1 -11fb27d4fcf85b275f8d33d4e516284c -5fdab892a4ef41c71ebb7b65db6e2c9c -5b43d1feb9674536fd65bba62bb4f072 -9a99619ed351912af884076de120e039 -c213ecb402ed7fb32a4032fd075ae459 -d2f1f8249e2836ea44dc9ef89d8cd561 -8b785446fe58e41affa65075773ae505 -e45530d972285c88a0eb3c5d724df816 -a3bb867354739d59f2af57881a495819 -7cad501fa393d231d8be717c0dcfa777 -ba9f011174d2b1cc966a11e7a51ef545 -7f538ec1780f66a379cb79d750a88990 -a49d13e8d9d08ee17ea7478bf01963ce -91f7ff8c91418bc4d134b760208669cc -8d40b56db6788ba9876e96cc6486848b -354c504a40477731c205dd27e34e05ec -51ad9f491c22c9b98733404a735e29af -0a9b77864e2ffb9d0762031e8cd88b32 -6f94698c0cefe108b8ca3e07fa47ec7c -da491b9c25d221efe3a9474023a02c21 -28393b930d9f4695b12341f11a9a6f47 -9b88d2bacea15f8a7932dba520a3efe2 -693e8b92be5bd3ad2d0e688df68a8bd9 -eb45b43eeb7b0cc2cbdd91e7ca6e6a54 -989624a324c923ea40b02b7008f0a8c6 -006f58150bb31964b855c9a002981ae3 -9175b5065f1a17da90d70cb4fa4381d9 -cc41398c3ddddb764272171734f53866 -70bdff64d244aef76a182a7d66cac0b3 -7f8b8d2d299d7c34f5b21f3a75e92646 -ce5591a5f82356ffd805c30320c7d01b -ef921b1ac0c22412ba66f3e6e08b1794 -22dac8da3275b2cfea29d10d5c816de1 -0713e94304049c4299680744c098bdc7 -d4e8b1e6dae99a280c2fafc96e3cea4b -a76ed6adb25c9856bfda30fe347315db -1e087bc579213316a21236b8f40d6174 -13cc71af0a50dad8662c538543336d8f -57575ccb1ceedc829de4122c186185a1 -65e323003b6210712aafd87a61df7614 -98b2ed6ae8d5a0ccff47f9cb1496b606 -f1d55ae405e178c7b30b5e20e3254d61 -7463541f109692b78eb1b43c50d0f69d -4524bf95ec8e25d49d6a0a760629ba6e -c256e42cf69f8dd6ad190a737f5cc597 -8f18ef54b03b3ca2354e9735e6e9d7e6 -d9fbeaaff0e973775c71c1763ef88b58 -acf84e3bbe067290c07128a0519a9c50 -e1299baeb662d242035a769e448cda6b -df93e8c673616c9bb8021e877028d630 -afb9a11c4382c0c51503deea7389cdfe -ce8940de4745ff10db766204094a36bc -bdc2f085873b11c03d554bb3cb323c9a -329dbcb02b208b57dd12aad435f536f8 -cc806805055d38b7b34fa6c15e90bf83 -c2dc2064baecc9528c3b639c0a0c70fc -3d5577a7dc7a4ce425ec1a912b120b48 -d7b9980eaae1561df7b3e07257d9a378 -e53f73998c4bac363a33d941f09560f0 -707e8794a30843636bc576dfda741442 -175313250cacd9061587615d879548b9 -dd59e84e0d5802960aa3413c792faacb -a5dbecd471ed265fec6b64032499527d -34c4ba692f858e830ee08ddf5931e445 -77ca846cf7039d05e3a28820d4b67ca3 -980054e116b7e39b68a12809a5365fe7 -9dba6ebb99703ff89a98c4d3b00d3583 -636e00fda8a0e8a576bdca0cda9f88e0 -606b4fe7f725ca99f1d132b856254063 -8ae69095f723c323825a6fddea5e101a -09e9a309f2e706152400f222ffbb2abe -cca22a129ea2a714e7e2fb21a28d39ff -54bd65d88fdffed97f6d167b6a7f26fc -3efa1a0ecde660ae97526f092ba156fd -6862108d44e41d88fdcb5091e950646d -f671f4da082afcb589f1c7b8f3dbbe7a -dc1e4354964236c68b258de5d73103b6 -9c5f80d49b0f338c27f530ddfb8eca11 -b5af2d4794e79cc68d7ad167347d2d32 -d01dd7d0bbeead4c4c96f7155c2c613b -e6763104f65bc4666d1414ea64a4ea5a -d01dd7d0bbeead4c4c96f7155c2c613b -1d8daca05c3c61720e7d7e694407aacc -d01dd7d0bbeead4c4c96f7155c2c613b -1d8daca05c3c61720e7d7e694407aacc -c21b8fa904cf8143bf751044465a1d0c -63665fb68408eb5e360698d75958ee94 -926b26e414ced0204201453324023c05 -04f272908a248a5ce7604577f71e7d4c -752fe94ed319aa24a79b7d25475f0444 -b4c976e77ad88eb3b8010a081c3c19cd -5c3483011c79ff0292a340877c64ce11 -85a1fe8b2d7965d8a963dd75a5730a34 -da753c7d3bbb7e20a87646103daef954 -3f1ec40146f2b947dd0a7c9f3c6d7277 -00635941bcd48064657ff0b3a3fe4206 -f5579df6dd3f7dec888f77b9b7c8520c -0c107ea538d044e01066492c23855c75 -c02072801f0eabedcf6fa0056f5b33cc -2935398dec19c579f3a548d5a4c9bf92 -d5b42d4f7dcf750371475f95e3b593c2 -15bda541ace8b26cbdb56865aed4f156 -00dfcfd934756fb7952143e3730aa264 -675d5067c93711f3981688f2e2743478 -f1a7c8915d1025b709cd822f24287fb3 -fa68dc059f221ab9dfe024333207a2b5 -6f1cb7e06ea99d7db1864d64d7fa12bb -81e19938a44a6cbff913f4dc383bab3a -471eca62dd7b9a9fd43084ddc6c2f97c -d4c103713be755d349df4bf377c2b327 -6456ec55c83020887d764fd646968893 -0c68e2954736c59c88edd12d7f2aabb9 -c03cf186abd7ee3edc45d3884e6cfbfa -342f683efbc35551bb16269f3b7b66a0 -7a3beeeae9b723a1b008952dbe614582 -07c3942164313e359cef96ba9a66de13 -d0526e18281953dc1e98453068799805 -a031148c3611d1f16d6a414c19dc3a85 -0e7433c32d0f59a8ec5a5caf2bfd1648 -553dacc8769274d305b129338180138a -4c45cc01b1f280bf9ce327e06e8a7df6 -5675065daf0b9ce338b412b5410d50c7 -4a0ff3d4f5789ae61f51bb6456f14195 -bba25b3804bd1af875bae6a4f0cba142 -79e17d8612e628d7b84f9a672b2a63b3 -eb2b9e9b6b7bfda14ed1fc0aeededa40 -bc49095e6ca4edf7c5e1f10c704081d6 -bc869975610866810e685e0334f8614c -41909f79866e628ee8e5a8d10e50422f -269de3fe2aa7e27cc7c98b6e3b77a427 -30c32a1d762d5223037dcf7a52be4799 -4667f09d001fe727df0d3563f07a9d9e -9b8d0a2019dc0e3967eb0d607ef4cfaf -7231bd30c6ed22a11a5aa31066ef7904 -8b3090c701731cf2ed750ae995a1929f -7fc33deb3802846d55da51436bf88ef4 -4b93e6c50c51bd875eed0a74d0f5435b -acfae6ed1f6201644b2d4d6115f83889 -a54b1a9e1ed91e638849f578c0d6a988 -888dcfe19a0eca60da22128d741b4a8f -54a90c6110b7207e3638d33c07363cf7 -9d918400a3688ef31d85a6b44db54425 -f696b2d530607c62404feb70a64a90e3 -cc01af3fb1c824b0b65a03d16ad84cde -f7dff37d5b350a10d11ced82b351ef28 -6e65ed9d989b1538938bfadbfbb0a470 -fd7e9dc51844523bb917a09247155966 -ac73f203b90245e13a53b137516e7e05 -1d6ef89b4978008ab3efeb758ae9da13 -3bbf76231517c9f066dc82454876aab4 -c8ce4c242985642b45f95e6a4df3d42d -d610c219af3f3b8b8db3fbc3e42ad64c -c398a698925652f8fd87e151fc18b9fb -2a67c3d985815c4cc1c2302536a6664a -5d9bce084c12c591345f97c5c34df191 -6fd552671094c8e0633ff81f6a7d9b6c -50e56b978623afd20ba2c0bbdf931037 -ba1645e472a9127ab89cd80ed602cac1 -d359e28c3342e1f27809bd3deb85a119 -b6541cab688332b26cce0ab27f100033 -7445e54d612114b6c515939f90aaa846 -ad517b2d2ff001ca97ccc9ceb2c0f34e -bcb32188225f1bc8c2344e5a21635286 -c783fa078ba0b409e5b259c4a64cd477 -96f57cd702752010193def56b42ab8ef -bbe45356689aa98c6677db2db37f5da1 -cc01af3fb1c824b0b65a03d16ad84cde -8a0e9adf732adde6f0b63bb1934f7c32 -068202717a7589a7af04821e2d87d07c -77ca846cf7039d05e3a28820d4b67ca3 -8b24d98c4a41a13e0c30bf4575b14b58 -efd30e825c5da73bd8dc843dfb61d789 -1f1041bf003ba0d1c76dfaa0fa1ead2a -6eb9b9827a9ee09141111d9bd35b9361 -a016d4e0739d83c3409da079598b1928 -dc6735f54d83b29db7b87c3c850da35b -78e8ca4c7ddc02403a9c495d8e4bed7d -31da4bd3783af4f13fced213b840146c -46d7a1fca40534d7cfa990b91583fe68 -b3fb2b3bdfdcedc3464bc2587525c4ec -83ac8512c5bee0cdfde2aaebb0a35e58 -cc9a479276c5c36aec7474a71ab9a133 -7bcd3b82f372990807c3cfed7f94e5f5 -7a336f489a3942ba0bb901d1ba8d05b8 -dd2a633535553ad895f96cb184a6a50c -4628e69181d363b4a637294f06e06d2f -10dc67348cd436d3222afb724f7ec0ab -f8c98f4cbc0db43adcbca60054b5f22d -dc6735f54d83b29db7b87c3c850da35b -32c0b64249892912e36295f130c0413a -50e56b978623afd20ba2c0bbdf931037 -88ab78225c7593573985beafd4d7cc09 -256c5de325d19688868052ceccf32d90 -bed2054aa1ec1000e3e68ee32a136a22 -d42de54179c646a15425d6ad5e8edc66 -cca0dbaea80c803e476f5b7c7b879ab0 -d25715835d1355f4486d34cd637cea82 -c7345127feb13ab4365fd9137d6639be -bbd8ed8357e1ec0e7837f19feecf237a -b49d06ac21058cd50e9db8fdd6e46d71 -28c7fe4a9267c1d6ac91e0f719941482 -a2e05b34b5d5d571285959d1ccec48bb -95cb535cda194dee6bec3878dd15856c -e5ffd96285dcdea44cd3e19859d468d1 -c07394281334846f2e197280a900de83 -fae7cdc0cd5e4bc7c51415d0634f1747 -f8c98f4cbc0db43adcbca60054b5f22d -3867e8731c4aca2786531ee7dac693d5 -dc6735f54d83b29db7b87c3c850da35b -9523c014ecc02b500d2a307dc587802a -c0773b6b9fac64af23f15689d9f58538 -fa2e364b07dff11bff2ae5bf909238b3 -261580efbe1ddde38d92298c15c2c9b5 -1c66ba15e148a9686219cbd0973d61e4 -f9fb89f3be3186ed6d0c203cb9ae3548 -644c07ae8cf5d701e0b62d154c77b0a1 -de83c3ed4dd1bf297a350d082b52aee6 -445d6ad1d2e3143700de89364febe386 -1bcd85e41019cb86eebada0863b8f97a -dc857ed5be47abe126ff1709814e93f0 -064cbdf9adb8f68d7bca4e3cc1abb4cf -9f2f61b43893acbb572e064c7574f1c2 -4ab34733833e416161a7273ee1f57702 -cc01af3fb1c824b0b65a03d16ad84cde -77ca846cf7039d05e3a28820d4b67ca3 -ba00f903f611ffe509b4c7faa72d6908 -12f25e19d299bb2bd11a33aff7954201 -9e5cec30928e607e204c7ed1862fc712 -c0ad7a8e2ed3465500d38168446ffdb3 -f8a1da0c0c5dab4a4089f55768a0d00b -c76a1d3797180b0f2ba498e68f9f3091 -cc01af3fb1c824b0b65a03d16ad84cde -e2975f5496ad6525c2720115fc8b594a -cebf88d09e72f3f23f672d01522469f4 -410653765f715aa0160149ce7e1d7300 -a055858bd7f02edd884acc56a2cf9300 -6b1359b4bdddb016f2586e0ba25ff637 -7060897beb639da81d4ecde3acb13664 -435ba46bb8081cbcfd176d3bfbdda335 -7e8d3b0984be3cbdb6fa765ec7e16f04 -1e30a55215ab948b276b59b12924742a -e2da2692b978bab53298cf42c8486981 -087be56cd282e1b9f16f7979d19bc27e -a0121ae6b10ac802c137a88da736a396 -144037df0de88269e1118dd39b45defc -bdc51b65398f8d5f44a3f8d974fd3da1 -cc01af3fb1c824b0b65a03d16ad84cde -f561e9e0dfa29231ce47512ba6e59666 -644c07ae8cf5d701e0b62d154c77b0a1 -d2ce91f8fa7f30179e58a9ffabe40e1d -f9021d3fcd182ec145a61c8906b42e1c -036aa8e28c9a846fd0be307a93ab42d0 -511011ef12f5ebf753f3b88d206ee7cc -1e0ada8841add85b915414c382416a0d -42c237dd3e5177210aa4595e093efa66 -44f730f0fd250085c0d69717b945fb5b -faa1889870853f69edae610ee98b9a3f -42c237dd3e5177210aa4595e093efa66 -3a0a3742f40dde9317168055f01b5190 -4b4957d0c8b567085a87bcf59889f6ea -e1b25122cb1ec5c856df1472e7af5be4 -95e861af387d86e577ea0c7c37057fe1 -d5e97f3fac36de90a113d9fedaaed670 -e1b25122cb1ec5c856df1472e7af5be4 -95e861af387d86e577ea0c7c37057fe1 -ad7e6efdb4578f657c014712927b3fd7 -77ca846cf7039d05e3a28820d4b67ca3 -02e7959dddb6b0aa0f9d2ca25b6fc2f4 -81241e9e135a71d95e1cdef0859f57d0 -04d820733e43d1d0f09b03c90f1503bb -024a7d0be9b3bb7a203380ce81409c1f -5b3bec69422ae5ff6d8ea632cf46af18 -6bf3c1f4a9f5dc5c69528f1e173f289c -d482d44075bfc0fdf25a92061dfbf938 -919e8319fc79805c0fea8cc058b4181c -6ce6286e2d480b8adab1e26070b1e1f5 -597a3d9ea27c55fa62a23de84f6462dc -9a649ba6ef61ea41be9795879be25565 -7da098f8ddd900540fd6bfc326adc331 -62222158f43cbe94487a4d6dcfe077f7 -e55130574f99eb5aa88a914f8a5d453b -448a51940f6312ebdc20c691f4da9efe -ddea39c159337b3861e6eab695abd8e7 -bcafa9c0eab512f2dc054baba136a309 -b1fa57891c0c5fdddc32ad5c73556b00 -3e337e40306076b85e1233fbcf79d6ce -74ef58d1c342bb18079e5c41f5103f53 -8f844f39edb0ece81c20f29af04aa466 -1c5c657d2bc25c2c12ef8836b0ec57ee -aa3354ce4390d98adff3731c897367f5 -076a477a3ecc5326bafae25eb921e885 -73c5a007eb802fce38aac9e1d93e6dba -48ad016044d3c6fddcac72638493b721 -f9598f28e4111163f04fff08ec3f3ad4 -0fbea3ac2edde5ba699aee2f2dc5f56b -133b119d5675351e40461499c148d5dc -154b66ef8d8242158239534be9e9759f -367a6141c52755d38b778fe6f8524bd3 -cc01af3fb1c824b0b65a03d16ad84cde -99ea3a03fc428f7eb5385e9b851516b7 -3fc83cce0898d36228f4dbb95b0e1a5a -05eb5cf6719e5c3f0a1ced376708d7b7 -961084c21f976d51d5f36ed1fd9866a2 -0773dce23c7a6e0de20b9b22e279351f -dbb2c1521afe6e847ceb7e96d98469af -c0be473ae35d0b01e872f720fc8bd548 -8a70385a4cc91f1db608c53796dc0910 -cdb51ce41a13ba732773b2ab88f5d266 -3850d91edc9ca2a0fbd3bf93ae212189 -cbb9edab8eedcdfe31e6c5722105c26d -932b2ae616014f1aff397e1f8cfff2ad -e52217b19442da75bd2f3a106df92341 -b0810ccc4e3ecd8ac4cc836b2341cfcf -837375e7195a5c814f1e07a203736169 -c295221ac719bd46fddab9918f4ec714 -a81bac8f9c1cf1bcbcdc348d5a02b3f2 -76021a00d6307ea990b7cb69b9f41172 -16071b9a092aa0d8a0c0324534ab144f -3e2e7fa470661d83abc56e205b56fb34 -47ad9e2a399ab071a97c328064e2f28f -77ca846cf7039d05e3a28820d4b67ca3 -0a605aa4920fd7eb896b48545ba0544c -a51db20c4fcf1802cd069d2fba8499a8 -77ca846cf7039d05e3a28820d4b67ca3 -3e2e7fa470661d83abc56e205b56fb34 -928a2b79987cfd7bb06b0a2e8e29c29d -0a605aa4920fd7eb896b48545ba0544c -47ad9e2a399ab071a97c328064e2f28f -77ca846cf7039d05e3a28820d4b67ca3 -aea5e8a09d7504a91d41ae3028b1b71e -c353e95c60526a589542bd62818cc22e -29c65677cb68bc7be6ee8cf087ccc0e3 -5aa0d16788fcb08c4702108604e8cade -8465a70c03d72d2c6d0f585029c65904 -4c00fe78ba87d17b137d2b95deb1d9e2 -77ca846cf7039d05e3a28820d4b67ca3 -8b3090c701731cf2ed750ae995a1929f -0ca2e617281f152486f201afe64876cc -74ad78fe8f8c64bcbf235058330c1ed6 -510b7bae484eee5adc9eba8bc325a2fb -c51c46dca101df6f57537380ff8e0ee0 -e8ff0c94a251d21e674460062322b6f4 -5aa0d16788fcb08c4702108604e8cade -711252f1bc44e3eee4142f9fed2be696 -d7b11d34dd2ad0ec43bfd569835950a4 -c2a435b10652e9f0620b34ef927a7e15 -0f95ec56a5f79ec0c4f2b125e33a52bd -8ea666351a1396843dec30d3fc009325 -1066544dab80b9abc1cff72e794c4ccc -607561129c1d26aba98105f89914fa8e -95e2dd4ccf48b3690d4bfd8d4a65d0c3 -2c31b0b7bd7b21afd18e530660ba4ede -f58b62ff8a4d7016cac31c5fee0d0472 -11be28ce989462afc9837356f0c9466a -7e59bde321ffc0bf8a7a8da71cf67cab -defe75832ae2d0d1e66b107be0a4bef8 -8b2b73d9fb451d51e5bee972d68b8c8b -2498e8e557ac99f3027507ca419f61ba -0e36837d6ad87a6919cdd256e3d29f6b -02178fab8eb853f8246033890e87e7eb -73bbe1de1ecf6b6c7502e489ad354a80 -793acb7fcad7bcf470de201a65df8462 -e90d92a426b7a8da204d70ba74a296af -502396b155bde044c55da4dcff910eee -644c07ae8cf5d701e0b62d154c77b0a1 -908758ef29448c09956dc50481651f5c -38417ebe26d020c9f3deb6783f568243 -a29c764284c9d27483823bb9fe3df2ce -fb85635b3461903878be534ebe8407bf -f031d277308d49afd34d09acc1bc2d0d -49055d60481ec7937b8f01791caa0878 -3584f930168658ea18be15dc084fa707 -3f694ca0a20d53ee3c5ec36e03deb01e -029c9528c25aaaea696d68927270e4b5 -52042315db8bf54242b14e6cc2cff0de -bc2f7365f19099cfa6b6e3a403fea03b -8fc700b043b0890a58e6f52086cae8d2 -e851ba775fa900c95268bed390245b21 -b18eb8167a14c6bde5b0b74678b9c04b -8cdfe0fff3f7fd56df203dd0429a7dd9 -3ba9d6f7f9576b8a3e3440872d6f37f3 -0efc955c4651593610b0ada90cf8f513 -90cd5eb871fd89692bea792739c76327 -94158545212cbbeeea6adaf6195823d4 -0d93718e028fc43acace19e0bbb5d452 -4361db2260906d595e6c367ae44a18cb -82c9813006abe214c43a8b0912002c01 -80a493548a7c981b498ebd861ed97b90 -041a2936bfa91e9de1c6535238ffa788 -ed3f2a7bc135e498a1e42f726a946812 -6ca9e1e11425b6b06dce72f7b272c82f -e8ee0d88dd32fba06f8073681c1fec68 -db2f2d7d1e80f0daf607495913021bde -12361783cd5ea7a44781e6794c287771 -831b05d2e0e356e9ec245aeef75e20e7 -088fe87c177385f303e969a6f0988882 -fed91f9456d9947281cd7a53f32caee4 -db2f2d7d1e80f0daf607495913021bde -2a8d30859c043fd373e0026711dd1ade -a1c65ede7d61e1bb874a6778c438fb0f -db2f2d7d1e80f0daf607495913021bde -a5dbecd471ed265fec6b64032499527d -8ae69095f723c323825a6fddea5e101a -3efa1a0ecde660ae97526f092ba156fd -09e9a309f2e706152400f222ffbb2abe -c9ce4e931efc3dc6aa12b7a59dfd60ba -6f1b2cd0bebad89a32cca501c73876a9 -d91aa42e5bc1f136db7bd9770ffbbaf6 -7be5bd3dd8a2f81b0eea76806bdd3be0 -13050848a305dfb1fa21ea765a188ed2 -19e1c07ee415825a0a1b90277f7508f3 -81ecf6ed02218835387a9b6f2fa805e6 -44de33627a1da8e1e33f172eac72e6c9 -afab57072295ef6ea9397ba418d715dc -0bdfe4144e2cc39939c00e578d1be273 -bac4f9c447a54dcd227b62835cbc9a5b -c9a1a04253cb4a3a4d9a12c1113d9795 -b1721c37c4724bc604f4f8138142f1a6 -ec9aa4acb14f51711d2961ab6143781e -bb774d4d36e364d04cad92e391e1098c -ecae93971606ada9eaf5b140050146ef -c39473cd8d06d8afa9220edd8a0970c6 -34c4ba692f858e830ee08ddf5931e445 -61d79f70a9eb6572d13293d434f2e963 -19a42e950b342822daee9b7471d61621 -e5998edafb94ed10847930982dc4c72e -50081e8f521ffca9c69251f8a025c34a -70c8a636e32e2bdfe204a762cb31d6bb -b82140627fa6b1e88d4343929c020e34 -eb558d093e34e966b5019d13e4af1994 -24912148818255032de2ae146f01b61e -7fe5e009b26754344d46a9fc324f5736 -8bca118446040be2a796ec04bddf8c79 -2642920cf3f0e9d18a5abbc00ad05b69 -5acaf585da28771d8da9e2f34de18bc7 -83423edd56d8a3f37786e412e8881a08 -2642920cf3f0e9d18a5abbc00ad05b69 -a031148c3611d1f16d6a414c19dc3a85 -8bb29b55e9467ee7aa2eade45f37d7e2 -aa9356d3b06fbb9aaa58d0aaf451079d -187ec1bb328df6874b8ef18c4f56ed8a -e4c3cb698b0e651c92ee498a4ddd702e -24c2c758dc5e516884c26cdec45c2782 -f5c9975ea84eabefb6b1c7da75e27a3c -c094a9387efaef1e0c16e8e89783d836 -3a98930c43dac1387caea4dd12d58126 -659d19782db6d44bb182d0d8027d91ba -1ab5c83601f998bc2a6e223a848ef7e5 -754f1c51d46f84be2a93db57958b7249 -22b60311b9c5203fadd13b987af9362f -aa08e41dc8b6e27a27b4085ab7401c1a -cca22a129ea2a714e7e2fb21a28d39ff -d4d0ca53749e6d5bdc76c0b87d75f58d -dcccacce0aab79d30d0477e833195f85 -858668204316cd555ccf8a91ce96684f -a2571796e0b0538bf805329a8e368f33 -002f4817cb29e18012883184cde5f8f5 -ed4dc99bfd986c441ae60e477c82c6a1 -9f807713ed8b27a26270c85d9511f2a8 -73265f523f84be4b9ace47a6d20979d3 -44ffa6e642e9ea504c4ef2f38f7f9e65 -6ae64be93de32d0094ec301952ce774b -6991aa505c76aad64a2e7318dd264542 -a841c18603c868270314b42e21631e68 -77ca846cf7039d05e3a28820d4b67ca3 -e049f286d04e6e1382d31ebea650c29a -d63c83762cd873e61926170064aff9ac -9cdb603e7d4b93c4d40021ead9ccd653 -a031148c3611d1f16d6a414c19dc3a85 -b33c24fc170a6cccc6046aa5657999f5 -499f973424c69620b9f93a8f44996f64 -b33c24fc170a6cccc6046aa5657999f5 -d610fb3a0abac06d102d6034e4ec3c9b -78c139108ad89519143906e24946a06e -217c823caa6da2ba5228e58203463c47 -2b21a17dab2a5a77f83117ec77cb0db5 -0f6ebf3ba151bd2ffe643df0f7d14478 -4833afa6707a9c790fd3613eebd4ddfe -701b0acefd76fca4853b05e4fb967ce8 -434dbbac94f728592fb2ee563600ff6e -969d65d74a2dc8b504496607acd885e1 -3ea700b7d8423e69283a6f7d2c180cd3 -523d1f55041e5b025b54f550387d3ca1 -cb1b37d75cd57871c56ec9bb9d079b0f -7fc065d63d1adbef8ecf2ec0f1d27705 -8ae074994eca15967f5817913f93bd23 -db3c377033bbba261e5cf68e14657f6c -32521755ed43e9bf43629367fb058155 -c2ac5655b72a2c25689f4c2afad851de -20324ef594f70c6935fa9adc02bed606 -9914b708d749d49362e4603a125aace4 -09b1d572a6a097a11639187b4505ee5f -6d4a6209baf04924a8d59b2afe480491 -8d24b75e1f3256ac88bea0f5edc74d05 -828c1fe64d32665bf1ecbed21e3bbc66 -f2e78d0c8ce4f39065884480e0476950 -3b7022ddbad6c0dff0f4d1655b2a32d2 -3b0e01cf4253473485e884f3b9ba54ae -7d30263291458db73fba8354547c5373 -6acef721028a3cf413c01aebd82fa874 -5821cb708eb734479902da481ccd4428 -d267156072338ab172066255e48619b3 -66f4bbbc6ea0891a2668ef458fdb97c2 -62944573d319451eb8ae40468e3d28b1 -65b86c57c8e4a3b43a8f42d38ff49221 -2db262837a128b344c80784db5da26c7 -3301a13fe2c3519fdc32633c5e83e14e -8ba274fc2e724924cbef31d1f8f3171d -7f94e4ee021fd83d4a4965482312601b -86498fe463c3bc7ee08c7f7b01da25e8 -8a625839bcc273d842133ebab6ca324e -32425017d0bc58e858446f0918f9a4a0 -01f55f651bd334a731063194650dd579 -8649883f74a38cfd86279c980fdf3832 -fca964165716dc0195394b3821df497d -910531a6fb3364488110a7c71d5d4576 -e85607bee92688140f6fb2f67511d050 -25947e086a544d2d6e9ec480e0358db1 -78e2b8e8cb5bdb901a4e0405b36c2582 -39ca29adc9f523389d40993b4d673484 -47e7886b8c3e2cfc58cd6ebd0034911e -48f44304d36489c1fc584914eebe8d30 -962f00d3b95caf3b86e2190255a3de9d -23ce90c4050ac1e6c1b114f127815030 -2415cdc197b9417a444ab5807929b247 -f06eddf17d10d96e31cc69cc18deaf44 -ea1fbdca4be66b48db6c6109b96f8ce8 -447b9121e8dcd527de9da63efae6e1e7 -70d00dde61e20b1822a752499342c68d -e7457334832edc61d60dc5e7a3244c8d -649a73666fb64f9f7fac414f221bee13 -c435c940a36ecdb418dd7bd32f149910 -d82fa97bd93d12f7406fbb40abb29993 -1f3f38fcf06db55df1d0986df5ffc2ab -6690472d6f213f22404d4be3ddfc264e -04563a3e5532b6497e54acd2e9a3dc43 -5d9ae73b991ab06a9bea174ef1451471 -9c7433935bfc296252ba394a4f018aba -1f669f459fbb8b79f84d2390b118d81a -16aa35eacff10ff741a0492c373281b2 -4d1fee2984890e4e9ef0d3fab94caa33 -e84cbd5d95821533c7b8e9f82a82a1d8 -45b20fc4686b242c305999f62e22976b -4ac0adb6f9902821a599fd55e7019cf7 -0b52c931fde886067c44bb9b76a22afd -f63af86d74bae15de403acb4153c7cf9 -c688694c741a66e6bce48ea47397acd2 -5f8a832a135fa5800730a430f303a922 -bcd7e0c22d2fe0327ca2da597a3d185b -0238fe3f5346f3e535f341e371c004ac -f192995aead6326a6adc8765dd27abe6 -61e8c25352b616550264a00de412f629 -2bd562712398ea3b51e208a7ae0ac39d -0b5198bf0497187cabaf1d4c3859cfa4 -086ed3df84ce6a0c65b43fb14a93ae28 -f68856710b4c87e46414190fd7ce145b -5ebbc26ad878089e5894ecbbeaa8685e -f8b6b7db19411324892fb6068cc03804 -f3a32ca2195c0681378df5df84484dfb -f004a212a6dff21b21cc55f3524e31bf -eeabe6712848df026d10e81116aa3dbb -ce9839b65052163a3c7383e39b1028c7 -37335da843879b73b40681aee93bd168 -4d9258cef7d4d4fffd039bfd567e4be7 -6843e1245077a3f9e07283ff1e5e1119 -49968381623061a1e844cc4bacf8cf7e -c28285c92eeedbbd3f2d78d35e8461bb -65e0f14390984b3a60c121fc8ce40d28 -753e8b74b3edf968bbeea25ea94673af -afbce1fd87efd0f4c0a21e0089b945aa -6fbc840f00ea95f03b2fe5b09fc57685 -d5944f4716933c8fe0b564656d9e1e9d -98d3a9769e54c38f562cba9fabdc6654 -fb95833e5e80f8123d426e8c423231d7 -fe54be016e43816cece41eee67a8faa2 -efbc7e4888daed79f31ae7bbe4c0d76e -befcb844e18da033f57d70b53e865ca0 -452b4eed49c4a53a1f34efb49563a42e -3f05abd6967bc0da8e74821dabb18047 -a1169db0f9b7bba2e2fbd403b26b6c16 -afc558780313e48f18f865d11d94845e -82743871e22d511875f9a6a598c48e78 -c5e7c3922fdedbbdab0d7aa4d146db33 -c55fdcb4416c1e2e0d2e497c8d21a23a -2235c179e34457764cf730c2eba4b34a -62b63fe2d8dd9930aa47fbfe49cd50a0 -4631058f7b5615eac2e902e5d33d7d7f -c55fdcb4416c1e2e0d2e497c8d21a23a -62b63fe2d8dd9930aa47fbfe49cd50a0 -4631058f7b5615eac2e902e5d33d7d7f -fa66e76c943563d2c63ad5ff7368cec4 -e3f319a2733f6db0314c05267a8872e2 -0cdf68b1a2c85ac211c941ee8359687a -2dd6cd38379f3fcfa0d07f05796e7333 -1c7eb9272478e0efa6d3e98e21fefd0e -5e661bfbd2a0195ef9cb01d55728f478 -25426829b76e7ce2aafceba02c1983dc -b8fe9f278552c6177cb5fba3bdceb451 -b8fe9f278552c6177cb5fba3bdceb451 -c1b27dbb62594102ee12374735ef30f7 -6c3f1fc67d2e60490159a8bc93279559 -ec6ed116c601e5e765a4ca16afbd6f0e -eeb009cc56f38823c0eaa19d9ef61fce -af4cfe8c138b7ce5ef3ead91131456dd -c13aa272bd314c61a8303672f0d459a4 -a89d83ac47b33fcf0201099d02403680 -342f89cbf11b18f009c3a271b0fc0e36 -79eace05eb8e1cc90e780d5f52885006 -28da43f496247d83c7013037ca04d4d5 -da38abf2f98060110119dc107b2fed96 -28da43f496247d83c7013037ca04d4d5 -0431abcb5a6d5ea03904c1ef5d27b003 -c27e31d58813afc87c07e20a8cdb45a7 -c27e31d58813afc87c07e20a8cdb45a7 -3c0de008dfcadefd013ab01ae6fbd9b7 -8404f1aa0dabe101ea4729a593e1245f -38396299f9cd563dd7c0065e01b75de1 -7fa0311f544918221c2a8d5627490466 -7995a2ec779f68d814a71ac822a9d535 -57a99a51912aa7f1733baf3777d926a4 -009a7ac023fa9b6d5caece9600102f75 -9a702979f38d316097f3bb030cb71284 -18f8ec13ed5973948468f3a009749369 -9a702979f38d316097f3bb030cb71284 -dc236a522c71c74d9c09f9dc7c7afcd6 -620e66654e977bd181b887c46d6fb621 -e0f479096aeaed9bae7c0a41d6c10826 -405e83323d5accac913692bb8cfccd81 -5cbb0a146952b052077fa317336367b3 -0a229fe63ec834f667b0f0c6541dda31 -e88db0b68cf459a2a390a6c4739294c5 -781c03ad638448c90887116ba5f44475 -6ec90317d0239854b06cadbfc0c6eee0 -e6bdc44ef00bd4ff80e3963d5f49ba89 -b87063bc01de0023381d02d668d4ea2b -f9d3a68ec3e80601019bf296a24199a4 -f2a24b40cddde338528166a0c1116a3e -c5ccf86d9a78db1681020b2c6039d297 -b6654e5f628dcf2174a9481fbf38d3da -72012e229ac11e6654e672a526699e67 -3af8a9fdc23169433905c59620fa6fa3 -2b99fde2c1d9df2aeb6783baf43f8cc6 -edbb77f6897886a998e5b07d6ca24bb2 -cb3d4fc6279d2d2500a1ac4004051506 -974e3959e2d4f3c222d7d18bfef21fbe -84dd036bd72c2206215e2bdd76754f7b -24f67d9bb49d283c3c4c8deb24bb21ce -038d210969c4de8c806c6d799c415148 -038d210969c4de8c806c6d799c415148 -9293f14f8f3de0c3b0bccb1445fae4b6 -9293f14f8f3de0c3b0bccb1445fae4b6 -90c2e068b79f45a64e92f0f6251bc1cb -90c2e068b79f45a64e92f0f6251bc1cb -9293f14f8f3de0c3b0bccb1445fae4b6 -9293f14f8f3de0c3b0bccb1445fae4b6 -ecbe22cde7a542950a866f3a1721862e -ecbe22cde7a542950a866f3a1721862e -9293f14f8f3de0c3b0bccb1445fae4b6 -9293f14f8f3de0c3b0bccb1445fae4b6 -9293f14f8f3de0c3b0bccb1445fae4b6 -9293f14f8f3de0c3b0bccb1445fae4b6 -02fe1f44feefca49bd80653d01603676 -02fe1f44feefca49bd80653d01603676 -12b66c2c6349a17ef1f107df6c522550 -12b66c2c6349a17ef1f107df6c522550 -253da86ae3d583c8ff6b1c9064c8ee05 -253da86ae3d583c8ff6b1c9064c8ee05 -02fe1f44feefca49bd80653d01603676 -02fe1f44feefca49bd80653d01603676 -058a44d030c6908339a003844f8324cc -058a44d030c6908339a003844f8324cc -5295c734f87ce6e2cc8f4e7a9998c5c6 -5295c734f87ce6e2cc8f4e7a9998c5c6 -dba232816dcd576981095efcbf685dda -dba232816dcd576981095efcbf685dda -712420ed0f9ad81779befb7920347bae -712420ed0f9ad81779befb7920347bae -253da86ae3d583c8ff6b1c9064c8ee05 -253da86ae3d583c8ff6b1c9064c8ee05 -08b56332bc86e2379095318c92216369 -08b56332bc86e2379095318c92216369 -d085e270ef76838de8a5fd3c5d1d111c -d085e270ef76838de8a5fd3c5d1d111c -e42213a383c0c0151017f4eee9fd5c83 -e42213a383c0c0151017f4eee9fd5c83 -a6ec1585bbcd804425cdce5804c7190e -a6ec1585bbcd804425cdce5804c7190e -3b9e9363dab5ab82074817e8d18cbf2e -e7932e65069e7c282cf674dd78680c46 -2f05ea73c7bf2bb5933fe8332266fd8a -989aa9e54cd4a45e8a89c21e7db1cb3d -49f2afecccf28032c166043cbe171493 -65c984fe872dfb2ece0dd6e8d87ac97b -e6d9c9753f44c3f442a14ffa4507d5d9 -c5ccbde6712f2c34f2ec22f3eb233106 -fb1c8adbd89303abdac841c6f68a8e21 -4da3ab429538701fea8a5fccc0068072 -3f3b1f1eab83955d25c6479a74c3489e -9f26e5261e2612fad90b4d67df09b976 -015da3cc52c53491a09c082ccdb84c16 -9e520396e68edaf955b102240f25ddf6 -09d2a533cf784f3a4365005066ba89f5 -a77c5560f396943830e2e22626ecf069 -2cb00a0c8235e944881c5b0ea20da831 -9db75ede9b28ca37aefed150ffa7e778 -4082e8d3691cd43ea65b84cad7a64fbf -57a1154d2288e8abd32b4134327ddc4a -7d9abb4a5d41c9efdf5122cd7ebe166b -4491abba46172b3f160950c10e0dbf41 -73bfbba82ede33c06ba244d720419887 -c84c189548cc943e3290e69b517333d2 -9e90d132b5cb60447131d6e3c887c0b0 -e54bd84bcab670a1e7f8d8b3298fca75 -ac1541399cd95ed2bed986d2ebf8d5de -5aa60ab1a1d015c04daa76f7edeb33a2 -963279bfec094c0b06dec4cbefad1327 -b8dac0b1ba039193f9d83a0327cbd492 -69b7daf23ba69722342c8bdbc0eb7b9d -93e54bdd8478626cc49b1e0636d8640e -7031490ef117e8b34fc8e85e4122f7b6 -dca4411ca209bf5d4ba258c4e4b8cd0f -63ab7564413ab6255af6d06637ca7536 -3faf5605255043e6af5f55fe7fe56597 -3faf5605255043e6af5f55fe7fe56597 -3faf5605255043e6af5f55fe7fe56597 -7cfaa89a7caafaca031fc0c55969aa84 -7cfaa89a7caafaca031fc0c55969aa84 -7cfaa89a7caafaca031fc0c55969aa84 -725015af19c6808f9287f13906bbb834 -725015af19c6808f9287f13906bbb834 -725015af19c6808f9287f13906bbb834 -725015af19c6808f9287f13906bbb834 -57625f8b31b07676f5025b09d2ddb6ca -57625f8b31b07676f5025b09d2ddb6ca -02fc47b0f51dfdafaa76931257992c3f -02fc47b0f51dfdafaa76931257992c3f -c4c745bb705a1548ecb335667317200b -c4c745bb705a1548ecb335667317200b -c4c745bb705a1548ecb335667317200b -87c0034837749027e8937d7a8a5b162f -4cf0250a4c957ea3ccd9e0e93079bf11 -554f73725570d20a7dbbe478af04ff57 -0139468ee4b61d59d5d2248598e0e41e -aa86302d1853c2c2a0be609e7cd2bdbd -47fd36d88479d99c4a4656e3e3580019 -76ba686337d7d1667e4d028574f4e561 -5c273d2dbb557dee2f49536169d606af -ec891dfff7b42b13668a8093e2cf42bf -0fac721f470fde89a91f28c39fda83db -dc310f10374184709ed03b33d6c0d314 -3a2a785e4bc16f041774a3b012b6bea6 -a1ae64d775d940c84ce1df065da2d4da -8ff3d325eaf7603b505b35be75542eb6 -769b057fb000ea945568abadf67387cd -7fe9fc5155648d629d5cb26ce913b649 -32800bd3ab0a9dd71123d869ddb442b7 -6016f6a2b48b2da95cfc2a97884d7a78 -d7f0e6b78cbd7ceb54c68515e7e6e262 -22dec3fa648a1952a1a11025d1ff65cd -64ad44aa5420766f5aefb354ff4aab0c -ef2ed725756d9c01bb3471cb84bb534d -4a2aee8f49cbbeed12529d4ecaa1ca55 -bb7880a07b4c874df198ead2d4bd4064 -cfa61088c9d9ceced75c605578fe8d4c -1de721d0eb25ced71bca1ebfcca2d163 -c81ff7c6393d48c3af4a4d84ff636222 -168a98f4c23a7cbbe6481a9c4c556fea -86364b610f32c45a1b860767c9ade1c1 -a2a3d8b581862764d857c925cb7328ae -0db4b324f585a3f76962c1163a53c071 -cffe66eddf4fa0ffdc62666ce19286f0 -1687bd5dbad39eafb5e168b56ed42c91 -b1b4316bb2033e2e05cb9a9dcb6dc469 -16a75e3364f26c8df22e7c52b4dee431 -8abfcf8f51578bf72ffad3d41cfdf95b -ca09d88bd3b63a0d1eb8ec3464b43c49 -ef94d675851713a1d579990442017722 -a7f747782e6e3591b8bea357a1890810 -c8324544bb5a6cbcdc38e606a5d7273a -a3875903baa581f42ef237578788703c -417b8aa7dbc47479d59f8f521415131c -886e46e4482be237131c4c601ddc4264 -f279544a3196b861c2dfe8aa82a4c5f4 -5a8e8d995bebd257ae260fae6511ea04 -98d64868cdfc86e0b924ede3c5409471 -bba0e79fa1ca3f35d5e9e25609862a3c -102f5a28df08044f64b8ebf067328408 -c0042a246eb4a73ab247595cfbf368eb -8763ee3c5fbde103293503b53262a126 -7ba23e564f31aa4e8251bf803c2807fa -0cb0a551f94f0786a68b243a4008673b -9a94e87f62efe1dc036932e1614aefd8 -437c8e838645f9abb98392be32341ed9 -83dc51dc47254166dd5aa96454a47e8e -35d3e121098552eb4392542cdf783f90 -cd6b424a925755d21b25c93c9b5a0a63 -9da8a2d49344ab548ae9ff952f5c3dcc -b6e8ff5682eee52e37ac28cc8178707e -5caac02315ef0e524bc3f038d90634c9 -4337bebdcaa7023418122da0d4942b1f -207de7b279d475ee7c90ad6bd721412a -a73ad580647a546fa526d6738cfeae53 -14c69a73287798418558931716f786a8 -a9e8741a87a45d00a992f6edad2a2be4 -f6c4a9ab04a97015e29d884ab5b4bd72 -325193d2a3a07650fc062a19d60813fe -69d84dd7a6468f92ab74e10b3adbdc6e -19ef51b849f35135ffb75c323b215011 -2643b286d2093a5520456a2b85e66388 -ec6f707c38ffa8e619b65d72d9528f50 -ebb6d73287596e14418bcd13793fffe0 -ff674b71e298b3e8b8ec559470475d03 -93309227c36cb6fd6f3d385cfaadefb5 -dc2dcc782ca636ca9f5001e9eb5954a9 -8198e47eb77e111fc771a041a6e7c93b -e9696e6bb8033219396472ec91a24cf9 -359ab5f2fb9fdd78b78c881398767557 -4a643984da45780bba4691cebb4050e0 -aefebcdd345f009c3cc8410752ee5a74 -1fca6a09a7d05250a977e47c021e44eb -b4dd0e539e942351f1ac4b8241ef2764 -9610ef7c52594afad38a2eb1c0cd767c -2f5a8b566d0aeaf96e995dfc18c61a17 -3e7ce5e1ec751f92c315abef0075e7ef -395e4cebb3954a988394363be2e441c9 -c99f8abaead873328971c7382c3d5884 -69d84dd7a6468f92ab74e10b3adbdc6e -487656678650f2ef3e6edfd499606e29 -b48df83102213a533d7a52766ca21ce8 -69d84dd7a6468f92ab74e10b3adbdc6e -81f8a0d550f6c5d45bb888d185730d3d -c65df2d319fbd10322be701f0ecb3332 -b33c04382122ed3c0a3ab1a8f4ae0ce4 -0fe444e287a7fe2d60c69fc97ccaf93d -8fac54423de1f8a8fefacdbfae04b4b6 -b8050a1dfda29fbbbe484b5fab88b83a -a00c3b41a482898da543b21c41292748 -69d84dd7a6468f92ab74e10b3adbdc6e -28aa8276b74cb04e119d629acbc4cf2b -277cce8a87b75e732839b6b642c08b70 -3e755f9a3c11af2c6ce8e715264131cb -86e1ba300191089b189b6f292a01e32c -63ca18e3a7f60cf47557ee82bc51bd69 -931b0dcec44cecb0a99a19b677e6206c -281c65fea089569b939441f0510e4cf7 -69d84dd7a6468f92ab74e10b3adbdc6e -eedeed9322d04d12e1e4b9c7074c881d -77576fc39a858678320167eaf5729354 -c02363680bf1162a07448c14a57e73dc -70e690a75f5c0530346e54c04b0f0fc9 -f4c9adc1b0db9eed42d9e44137141539 -5a661c1cc0477a2915755fa446a663af -14b714708c7a9e4d2566c173c9f99aa9 -bc7b1f29dabc4370c0ce4d728c5f7c41 -092f06619c0f6a85d7eb392daf53b65e -7bf2fdc9faa76430645862814630d871 -eb358e8b7f891ea156ae990a01ca2f14 -158aebe5459be4234ea70cf8459fcb56 -5e57da640f240ba60c4c69a0d8541f7d -d5e0ae2e0f8415d1b018ec638be45d32 -b50cfd83f99a2eb1155dbed375604e96 -1fa85290ff9193ca68ab4b5d251baab9 -dbf9bfe63c65bb0e6ff53f23aa36714f -800c0b66dde4725fc2794f9f27f47929 -2efa8b97074061384c7cf1fa4d076717 -63a793bc69d814dbb5e1a4c9b828b49a -e62806cd8e18179e75bc29bc6ba3f83e -51d9c0e9566b520d38898777c44bbb30 -d20ad89466ec7b2bd036a5b970477ae8 -7b0811e42ba8210614bbd04f22d3d4f2 -ca6833ced4145b6c60d10d48ce4dc202 -6bf26fe07dd953dcf9a578351825cb3a -74815fe8fee932fcb4bf42f349bb899f -fec09f8972359deeaba03a960882b6e0 -fdbf788c0231744044f993d93425d9d6 -f800a97d1572e0167253b9e1bfc4bceb -8174611aec64ab1f1050fba0fa75b3a3 -cd6b424a925755d21b25c93c9b5a0a63 -141abb1886335afc25fd76d4debc00d1 -8e9a54b2dba2ac400f00dce5cb7368ac -32604d560294f63da16c33945de373a2 -81533ce21d3815c0172b72d6a11a17d4 -fdd16d95653320ca33c116ee3e01b9c2 -2566c3ad20674738b21f26f89afdd60d -dd8ad14bf258ee1d03107dc507d1afb1 -0578c9b6391b55c84581793f09f9d1ef -8f5ddc8f2410adc94a9f8d9ca269b004 -b518a5dbdd56eade7a28ec3e35915451 -a6bd1677974272865a692baba9f7233c -00165165bc3baffc23b41df780f423ac -12bf8ec42be7bf3125ccbbab935e55ac -eec85873c82e118b940a55dc2063cc45 -b662f7bc21a81a631410c7a166a2b7dc -b8050a1dfda29fbbbe484b5fab88b83a -aa5e12e5a9df59ed4292a78abc9cbbb6 -2a5914a1129eebd4ceb5fc79761dfe13 -59b36242ee4ee4043099f3ad344be2c7 -50f33079808070610700683c60100143 -cd6b424a925755d21b25c93c9b5a0a63 -ad8ad5b167f6b4c01baae6cf6a357835 -a079ea4d78b9d4dec10adbb20b425bb4 -310ad3484fc57cacc1bd9db843783d46 -10676b8edbda4874fea40fb4f183ea25 -6a1c5585307fc364764fdbe94a9ca9c1 -084ba3db7539dcbe423fbceb7ad37c59 -6fab76596fc4c09214ce7a1beeedf9b4 -62ab111f3708943cd68691f804fe247a -265e17f40ab627aa1e11181e2a312bb3 -ed377a8759a4c05d03c3b86b5b949654 -988c6c9d2531651163e5f32b8ecc4dfd -560c1ffdeaae2b59b082a7348badba33 -b6d43a3b6a96016ce36af7c658777fc0 -969f4071aa0d24bb565442073bfbf282 -eb48dd53f2301d1eaf7defdd1081bc27 -642d0429b47641025a8784397940021f -d230e871c4fec6add2f0b32a2e21027e -1a6a4af2b8f9af7a688f13b08392b21f -50f6685fca5811d65158c4ccedac69e9 -def96cec9af7965f2a568ebd83a2be52 -13cadb0f8d2b814e563099ee35fc32fe -ed377a8759a4c05d03c3b86b5b949654 -988c6c9d2531651163e5f32b8ecc4dfd -488e4a6e1e353fe0fc24e722c1e8e8bb -9f8d89b98e97227f654ca4f868e117aa -3353ce03bb7f035becc0d977cac8ca87 -a22ef55bbd2b7da77348d121920811cc -59b61274e23b79fb416c15185c954b6f -c3d4d19759f38c46e6ac7ab0a5915348 -2b26c026304d10a99a3f81fefe644b85 -be9e06c49f539cc47dc111c13c0e5b5a -dcbc6817f5b4ebf6a8b350b704c4f676 -6118c88a7f1d5998ea8a504773fc1a90 -93b35e80bf0dc20430e883b1cce19c5b -ebb1a51beff634663c6d075a0dadf3e3 -f6b020f6991e6714954a0a5ba9b0526b -ef6a3a0accb333653bfdc6e2721db573 -86e0526903ff607d31116afac2f9c05f -760c1e70613d38717622478493fd766f -f67606a46743f859a5de680218e70b58 -a952bdfba3d760240492b70443195cbc -d806851ef52ae2b2cd74627eb9c60d5a -e658af5080dcea152286c088da220965 -cf9168f6ad0a33a4a0420566f89d4322 -f67606a46743f859a5de680218e70b58 -cfb4511dd5c6a557d19cc1af889c109f -d806851ef52ae2b2cd74627eb9c60d5a -b2c449118950c0c49433108b7f448985 -b482447f36f7fd811ae4f6f51c7043ab -367d1360f41182d52632d62b9c032c05 -cb626b52600ab21731dd35cb94687e95 -f67606a46743f859a5de680218e70b58 -dede96a5aefbdd48149f6cb26ccaf67a -1025852db2952411af0e0ca342906dbd -bdacf8d414828b885d368b9fca75be2e -e741743d3dc41a15545f1c657c4983a5 -eca8b6487312a0b9e5b8f80783d4a08b -f67606a46743f859a5de680218e70b58 -15f2128e0bd30710e1bd980e03e5cbdb -d806851ef52ae2b2cd74627eb9c60d5a -15bdfc82aababddcf059899450ec12e7 -f67606a46743f859a5de680218e70b58 -3baf20892d9d4c2e088e124f16abac1b -194a0db89a744b2b6fcfbc1f7a3fdc06 -e9696e6bb8033219396472ec91a24cf9 -dede96a5aefbdd48149f6cb26ccaf67a -1025852db2952411af0e0ca342906dbd -a509f713dfe3c0a3d09d7d07e9144276 -92e6772aae96cfbd4b671a0eb6ff6ee8 -eca8b6487312a0b9e5b8f80783d4a08b -f67606a46743f859a5de680218e70b58 -c1c218d8891200319c842a9d9c2686cf -99594c15a919e203fa3a9de2058a58be -4af4ad7bbdf4b0ce869b9cde3d3e0fd1 -26d51ce3443478f81752bdcb6cce8595 -41794161688e25f9b6c38c82b08b3229 -f40c5a6fe57b1aba960e4023a797b2f2 -7c0d31b3ad7df5590058b99ea8e9d9db -ed377a8759a4c05d03c3b86b5b949654 -d2f259d566a94132843fb0903a17ab0b -e4ea7d4bf490b7c8053b67ad34b17c53 -3d20750fa8049eb2fbeaaa7350ce66d8 -e7130053c4fd445da0ec826aab70e03a -8227d3f9b6ffb29d4c39544f20f7c9bf -994f412285bbdaa52b37f5685a1bdf24 -13a814dd2663f733e56205a1338c87bf -1f3e0cdc3879aecbaf7dfcc6c5e224e7 -7249886e3b84f1ff09d2a583ac0f81fc -26313ef619096286f0addcd12db67dc0 -e21e59d7cd3f93c1437daab6b0961c2c -557ea74c8da96867c151c706884bfd2b -3053b893376d424f964913fe8e7b9034 -f3051bb7fb102c77065c5625a22bf874 -b068298b49b382460b12e995ec62a6fe -7249886e3b84f1ff09d2a583ac0f81fc -d8610dbf18d3c27727e3803818545803 -90fea0650bd0a241deaa3bcf89b364cd -297f865a21d236c3733ba8baef6f3ab2 -b6d6da664609b4ea73b5bf2b8b34a140 -e4b242a13cca2ed4ee6545235112ac3b -4cd61ea67c61fc8d1ebfc5618014b404 -3f014ef83a984af26efe4f1d7157e646 -69d84dd7a6468f92ab74e10b3adbdc6e -40dae63f52e539e50dc82a4c2c6ec143 -87bd274275aafdf2b878cced9bd41a5e -6b5c686c07a2754b6b2e18ecceafda68 -fe28147bb13dc95600014e772768520b -9e58b25c2e2f15939e198d4edd452e0d -5a1fde0973db714e8452690f1b956108 -b8050a1dfda29fbbbe484b5fab88b83a -2a267e9e36ce41151bf5840423e21c5c -d20aeabd771bf01e62f7100f9425c7e3 -1dd5cbdd911c90d33dbdc23aff6d45cf -e6aa50265a257ed09876a4b1f4fd81a9 -beeee9e3b2e0a62ddcbde54a5b5dddf9 -399695eafcc047dc03ce24a31bd1892c -373b729f14c5596ad08d9008ae802481 -b893abfa314cb3ecddda2fa480c5e6f1 -9c06571ecd8074de388e3b332b4a78c2 -e8cee6fa638dad9373a5cafea0994fc7 -6554073b1cd9a4f708beb6a994630f6f -6211ad871a9c8a4b256b83c59661d47e -dd15c98149c439f534f67158b2b1dcfe -276e03b140365ffbdeda7a71ae672350 -1e57692f4c4009a1db512789b8fbf156 -99dae9a1b2bc5478207361a19ff97da5 -c4d1965686796f499b6b0e74093c3b88 -1fc8ec936d91315afed269247ef43911 -40983355d22e3cf3789c276844fa0281 -c3f5eee4c99c22a8add4d8f566635877 -133b735ba8ac857833f1df0e0c5b1398 -690a823072b60054aaafc6b87ea28e7d -739732ef33b8b6192bd91703d157ef2e -4c69b898ebd57c273c1ebc855d66591f -0391f8f7d310bc52a205e2ba79d1e31f -3b64de6046863f58d32fd848fb4c8703 -66e154466fecb0c6c350d26895e5de96 -699d9cc1971ce6499574eedf24ea6a33 -dd735c71de4ca53b276a2c576f52c516 -ba3fa3838370435e2b9ea6ccd4d8e6c0 -ffeaa4b849b18dceb87899cf0625cda3 -32a79815e9bec793d04d5fe5e15cf3a3 -1c73eb25d7c73dd600f5717f4b962d1b -dac942cab7c68579ce5fbf5a32a7f6cc -1ba2d93f26571629b22a2716487bd98a -c4645dca17d23a30bfb464ecc6df968b -081ca6e4caa5fb99b4c295951ec5a543 -0ee504133d5724c4a33daa69e1fe3ad6 -a6444ab9a21b79a07c8237ace16a9ba2 -0b663ddb7e08188327b870d89a4feae6 -2f3cfb574d488d39701a0ec5717b74cb -3598923ef7849c86e1ba5964b4941b8c -9cf03288438ace86128899c8eaf422f2 -bac062dded7b42c9141e5701e29cc76c -1687bd5dbad39eafb5e168b56ed42c91 -73a023ca5a6ac8ebcfad7eb1ad42a907 -18d993f685d54e367812235b067caa17 -b9a7834b3bfec620340453babc99c281 -983acb8b0b41aeed2beae2d79e6cb2ea -fbf7dd19e378209d30b4d768152867a8 -f75cc6cd30dc67130dc0a23c35dc74d4 -93451a20da3ac35d7382597f4497f279 -f1ec4d410b7044254377c4f2aa45bf8c -53c94504a5f713ac81a731a8425d27c9 -621c5f3238f8a2cc570822a26655e61d -25e629cc4349083f51afb0a27c459562 -dbee32a6d5e929ef80525a4bd926bc54 -198a6e47cc3f41d4bc7044aa017b5e75 -9cac18d4fbe9a69d51b585c91eb231db -ffc72805544b5273f7b9aa11ab61cd34 -2cf968c8acc90d7731a7033e0ffc2fda -9ab67a82dd57608a6d07a1ea4a8c93b1 -d667747767cecbff45f62b5fb683a653 -4ffcd77027ac9f7db946fdd5dbf55d6c -e3142bed6184ef24cdbbc9c65a8bbb61 -931e3b51be9346a1cc2db2b71b238f6d -db297e841a292090ac5e370d9d09aa01 -9b7b160d2dad408faec85d1b6962f928 -05d5e6b8b78d0c2ff01da6562fe1bbaa -08eba130000ecc8dab5198d98871ea93 -76ce8409b56dc4b6cd7e4219db3f914b -6ff16d1d4c3e73686f91c7c2530a12c0 -554a59dda6c49071036488f6ab1ea0cb -9789596b336fcadceee3bea8b163ca24 -1ed5a256451f2b3b30adb65294db45a9 -15f2cd8523060ce203a21f186f96c4c3 -9b7b160d2dad408faec85d1b6962f928 -fd10ca2e2b2213e6116bf2647e67dd14 -9498ff464a8de76ada2fe3f133abef44 -328f78c776aba34557e894d8555304c8 -3f3966aac8fef927e63567a27e7630df -8d2eee6f69b736565814d07ad9430698 -a89c83725078e7257452bdfddc381dab -bbe4c32877d5bd79deac8d1ff4a61e14 -d557d158715362244bcda54fffaf1955 -029a912f2f5adabd921f0344aa278587 -a7103f4f6b17881477a6e736aad7dd04 -4963fdf9bac3df8211fcb4b2cee7f78c -eaa9bc69672b7ba7edacaaf96555b228 -8181aea9faa1356770b91bf3f341cd33 -8d61f145c4ea0d14877cf2ae5626803f -61cf95bbf1affa89e1ab99cbaf8217c8 -165f25bedbe99df4601771be3e2f1f73 -9453931eb274be164a975bad0d422b09 -c7a3441a6ca854c4951fec13d214e72d -d4cb2c633a5653ebf788b341b5b06f94 -b092e61a9db656b3cb4e9dec9c7064c9 -388a36b775cfaf3cd808d4374ffc4805 -d1b68859a43405f215518a4282552b6b -37fa62f3b0f4af1e365e1e9b52bd370c -dc239419afc6a87bf8c1d5a956ca6dd4 -dd652cadf7531587858a8a5db27559a9 -3a533db963836f69007dbad380903a83 -5e8107c19e2ff38e6fb8abb514327c1b -1596b41f0c23d1afd571a920516d566a -02b1c5ce4d32c6e043cb8271fc6d057f -e227fa98299ebcc7edfa9c700d572506 -012847f546a0c8d4c5ddfa7f0885a814 -9fd06efd31b15121082e2a7a4175c8a3 -c867cfdd944f6c1222b8b23bb88ea0dc -1d360686138bd3c0d58fb4f4a1acb7fd -76fbf601db7b3d5a7a6e3154b86d0f00 -ff1fac7b132f9a0145067e3dca696dab -279e8aeddaada17d266253b25d4e0919 -5c2ff22f447389e16b112be04fd402fc -efe9ed07da0b9db4e17ba1dfd1024b86 -8eb8c9e1428408459ec66d9ea30c73a7 -ca5dcadd74c39d6efc1e195eae28cc13 -8dd0f4496328d4141b01f68ddb196253 -e5149412cc592a77b2c0e4ce6c633f64 -ea460c6deb18847847f765f1c2e4fd80 -794a96f9da634eafbdf1abd611d2c1e9 -fc0f0ccd4917c826d9e231b685834789 -0e40a0e37a080b3cac6a1759065bbfc7 -30439a0096f790079a76933d5425f3c0 -b24f20fbdb842c447a1bb468d38258da -9d048fba63fc599ec283b2c28365c36f -c678c7a24473725ee41e74bc3b710b2e -7448ffd7a2143ef39345941bc074e531 -b6cd86984113dcfc9a3b1429fa18e70b -da1793e47f2e0378c4f72f91755a5d07 -022f012e956f9b0f4786ca64976b55f0 -43ada4092bc1f68f31c653d80ec1ab10 -deb051a79584e60a1b4d4176d6b5c13f -66a96bf08a829ad0b1de670c9d569d69 -cbeab508460fc9cc5d7f0b8e36636020 -facb9b79ad62eac23f734b3239327426 -d0e5eac446a7e41ab4908449701c5c81 -69d84dd7a6468f92ab74e10b3adbdc6e -4130955fe6ebbc17cb3686ee91cdb5ff -dfe559baf7385e6b91ca447ab15e4c9c -d29284be83ecedc47d364e74b57599f4 -ebf79bcd1716157bb44c5d55665f80a6 -9a5b404d414076ff90bf54a50187a91a -fcf40bb6405b08069b92f495fde8175a -c4a644ed8ceb01c37f58d3c307d93038 -c0ee939580ce109b0b0600a5084da35f -345f3de98cfcc06a33734cad3db44687 -a1e1bf8db0472f88ed086fa82c616fdb -dd5979ee3be588b33e18d302e85e3840 -c16c7146bd1ada928fb2ee6fa7192155 -e4aaf794ace5422783a2daee2b357f23 -2ab180a4b981e86d9f802799a17dee3f -0d8292a3e9c59ae2256a1322fa4d667a -69d84dd7a6468f92ab74e10b3adbdc6e -83eaae61a5106a0b6653b871d4b95d7b -ed368a56e46e0739e07cdf4c09fbb090 -9482251b65d9db75696ab31b95e5f9df -50d722ded7d33e3f3a7cd31bfa3e619d -545f3d92f5e1e7f7b1d263ebdfa2e1ba -f5944900cca6e753e4e0a118322024f5 -ecad992a82278d21a5490c795e517cc2 -6bbf9ce3b4b88b23ee8d0037376f0ac2 -3d20750fa8049eb2fbeaaa7350ce66d8 -ae7bd11f1b54472e621094d09be36b4a -652232fe6ce10a9a3c5f3d02c8a2f5f8 -9729a2eb76ee6d80129f8c408f0a8557 -032a4448e4c8217de1e5b95d25230920 -f4466d29fc674218a5e2537c4299f308 -0a96fd692e431084baf3dcecb3bbf75d -a42dcee1862eee5aa47b9e92aaa794e8 -98109a29bedac3f0ba7b99085884720c -88e56824d363818045ef42a806479ab4 -e9c67b68790726e337be3bdc990052e4 -7a125a0299bfeb51e45e628b4a2fac9d -47a865da6ab5462f1ac6af8fb81f28bc -00eaa5ae3f8c2d55ed295b94832156f0 -3f014ef83a984af26efe4f1d7157e646 -e04bb66be419d980ed64e3362ebdf4d0 -0006157de5861cc97c5c7ba9d175e8d5 -69d84dd7a6468f92ab74e10b3adbdc6e -a01c42a11a870e279856b8855ed11065 -86327e930d515591337f543aca12b1d7 -c52bf6321891a4988af1bdea7c529f8b -cf62932e6039bca771c3f0aae6cef481 -ca6733a0ec62645142ec8aa68003791d -1bba30db376afb456c7a631b6d6b2096 -4c81492047f19b5bdde63f348556381a -69d84dd7a6468f92ab74e10b3adbdc6e -3cb1bad53b3f27357e32364b999db0cf -6102e0eccc2ccb6bc6e82b5b85f90616 -5d9e04fcaf20f7817d7aa79bf08b6e04 -1cf5a12e57aee2171bd7527a5beb5441 -42478edc4550d4c44beeef48b6d988fb -5111850a14103d479214a72560f3426a -09b99e3e8b3f28e32443c329bbee7bce -03b189a371d37db1990e36d9b234720e -01083f89911fff575eb77b2f080ae942 -ace453d3df2e14ec83f1f49dba772939 -f3e213079dfa44706d33c772c9ffda78 -03f96c36f3697591826d4e2125ca9189 -1cf12e5ea1859cfa3eb7226e720e57ee -289e4bed2e792872b1a0cfc1f4749b78 -03f43d5b6cf4bf5cd5375915865be1a7 -d66ac75b045af8a9c4cc41b1053c020d -43911b1e43f33e54b8a557410994ac3b -1fc283fb5cf629a844285905ae109bb7 -5d9e04fcaf20f7817d7aa79bf08b6e04 -87105a48998051195f62d3f5c2e163cc -3f8a1a80eff0911365c135e971c78b00 -ed0f5c4e141462c241fd9db9268ef843 -276e03b140365ffbdeda7a71ae672350 -94bd3d1ba7ea7e3b27c4a19ed8cc5689 -a13552011126c2ce1bed94e3f8a1995c -70a57bc80c5b511e7823abc8c215dcd6 -54311a0fd1bff291b22a1a4b89358072 -1a661014c32c83ef1a7a87a51b4c3a0a -69d84dd7a6468f92ab74e10b3adbdc6e -25e9c556ff62db1b2b6929f2ed8bee11 -12b0653d23bd6d61f4d8bdf88883bd6d -69d84dd7a6468f92ab74e10b3adbdc6e -276e03b140365ffbdeda7a71ae672350 -80aee1f747ed57e3994d952d337684ec -d596b866705ddde966dbcb2c5b97d280 -5716d384e339fef1f6f756fac93c29f2 -3e53a2a94734f2125ec3c1e259b32a13 -008b752644879812a3ad51d25aad77cf -7079902b202957736a86e210a1258ec3 -69d84dd7a6468f92ab74e10b3adbdc6e -e77c078a95ef8e83d0a76ae837cb1c94 -2efa8b97074061384c7cf1fa4d076717 -a84aee3c60eb2bc602be7fb114289b8a -3e42a0796307f05d9de231d2ce26fb86 -f1de05918b39e0536de85deab6a9b831 -70a6bcf7815b7277b5e12c2ae92734c2 -652232fe6ce10a9a3c5f3d02c8a2f5f8 -4c1ade6b8ed4be39ebd9f1f7b3311a39 -d3390946718f299cb3b8aafc3465f68f -69d84dd7a6468f92ab74e10b3adbdc6e -3ad75250b5519f44d9b484fdbcbbaf2f -fb6a5bd02bc2f04115e06582be628bdc -45089d49c2fa4a27f85ed4fd4750c677 -56afb2f30b18d9a845e279c8c0ac0e86 -74cd89621d18adbc335ffc29b0325b6c -419939c0b375069aaebafabe0d6c35a3 -41432390383f4dc83815b5c168897d21 -4b997d4f879c12431653969b9a55457b -026be044ca296e4b9b3367961f804488 -59a3eae2cb70ecd459a45f3a9000472b -69d84dd7a6468f92ab74e10b3adbdc6e -f50e9c8025a653437c31d69a5b282fb2 -e2eb3b4d2ec1b800187407244639ce50 -5aeadfab5a3e18bba6b6e75cd2106bf8 -987be2b6cca12412e811ce7ee77bb32a -bfbe40717fd8dfdb6a88bf641491e6b9 -35219d9c8f3771010f900cb6f039715c -ef9371911a1bb456f3aa09778bce7202 -e4cb23e2d3a81935cca56e394476ed54 -e5cb72f0f5e8d820d425b6e12dade581 -ec5a5dbef2958d2b06d1d06570f7e1f2 -553b26364921ab7502f35d7395cdeeb1 -7249886e3b84f1ff09d2a583ac0f81fc -e5d95a2f9e332d0f790fafd5a9e28de5 -00c821f0978861bfb37aebdb0aca9de0 -a80a52f1ad05a182dc4dcaf404ca5748 -620b2cd3224fbf1011ae97f6ec041a3c -d1c63e46411b627c764143df16601cc8 -077cf3e731cd588de47b31c23ff9e24f -046981a8cc2b02837af7143416f463a7 -ebaaaf82dffa37c6209ed1a13779a0b1 -9d5427abe58d22cc1691faab298ba73c -d505449615c160f282a51c4f144d3e07 -37094bde09fd964b49dc0ef94ce71340 -7d8b41c5c2f2adb1d8504413461bd258 -39a4505f39a10dca895ae7125c3c3b7c -92a5702cc66e09c8c07c059a508b2841 -0a899bceacdc95e8135f93386e6503d9 -48e7b2d1b17c75b6e6a1f1cbf20942ec -e1568b5bb0c7e5da45439c0a13980310 -6c35f0b3f690bf3204feb0587dcf16c0 -812a1e8a08d97b477d5eae813ffcb366 -18d21f7d885367fbaaff0f3adb86522a -868d0b44e1c78f9d8fb722eab5e7dda9 -084e6f22deb5acf098beb37c7f385093 -92a5702cc66e09c8c07c059a508b2841 -b8050a1dfda29fbbbe484b5fab88b83a -bf50e3bcbf6a0bc490d7aa14de69d2a8 -5e426320feeccdb889ec6918b36db69d -003f867f0cfe2d533a2f0ad951dc5f24 -cc32490ca756dbcd4db9295b55fff97b -7e286f0f6afe7582e2b37a6ab639e7de -425e1ffa1f91494bde8e5bc7b6e06d2a -291a809e1f962a5827c28a6696129fb3 -3ab44cdb2034c56993a8c79023db94c8 -31fe3c8f6658f161ecf861f3522a2b43 -d736d98929f42a99d83fdf6068e1ada9 -98cbf262eadcc5e45fd8fb3996a7676e -6299ccf73c26373aa6e898be28429c4d -0710c215f1c964de65c26d5447bf5e24 -69d84dd7a6468f92ab74e10b3adbdc6e -de14cad0305fe2f8975c1c9649d2be73 -94b013c75e0dc02a3335b0d4b26b075f -47754860f8f5dce890be8467a0c3e60c -8ff7f25a12b698f6a6d8a6ff79c5e188 -a39961e7753e70d50680b2b6f22934cd -b8050a1dfda29fbbbe484b5fab88b83a -b92a5b76469df44c2d69cde7206d4ad0 -bda5cac8c62f6058dcb8bc720ef39fed -d037e86c31a207e045a061147fd0f55d -7d8b41c5c2f2adb1d8504413461bd258 -94b013c75e0dc02a3335b0d4b26b075f -47754860f8f5dce890be8467a0c3e60c -31fe3c8f6658f161ecf861f3522a2b43 -c55c80191d15ab5171aef4d7f1369100 -cd53d3020e6c8f8fe718d630d552b7f4 -745dc0f9d1320806e22758a3c7045bc5 -1d5af34f39ba787ae261192039ea98b0 -92a5702cc66e09c8c07c059a508b2841 -763bc6831789bf7e39666e7c11013c81 -ded95be49b8c177ff7a1d16cafec6449 -611cfeac5030df4131f7ea3e79732d58 -5c182cdd3cf0d1ccc3f9481ff0919aa2 -50b499c9d713d35ff449417184191411 -9fec67225c15b8dc5d27e51efd47c348 -e79898fd2b358312141499b1f8f30135 -b8050a1dfda29fbbbe484b5fab88b83a -b92a5b76469df44c2d69cde7206d4ad0 -3516439ea13fc07d8d322a81ac00e166 -9a526224e3a056edbd7543f78d70320a -da726f7839f131874e49e05658841255 -d7c9ca30556e4459b50ebd5765d0ea2b -1c4fb3ffcfdffc1b6a438ba62e6a9774 -fbe8a74479bfea0d603b36a0283198c7 -022a7830cc39644134d0c22f074b6d51 -5bd5bc8f15250d855cabd5249c274a70 -ee6de5fc68373fec0d9d716d6dc54ee6 -aeb63d1e3a65fed20cfe55eeaa453f2c -5a1fde0973db714e8452690f1b956108 -57ba60232bdeee9db7ad5c52d454ef41 -69d84dd7a6468f92ab74e10b3adbdc6e -8fee66f41736202e9768e8dd142d6c26 -da166959f41e0586abbc1f2a9d148fc4 -807914adb09371bec11dc5a9c4185aa7 -b84581befcecfbcb5fa35d4eafeac555 -9948c373105bf14bf9c2d11cb826b40d -59b0fcdbbf05490dce6bacf94e9f66ed -e6f9491483156335efc20047dbda575a -e3af16138e40a225658780c7a08827a7 -b22233b3ade9d0711bfc0969cc6f57e6 -e956feb98f2352006c7dfb39cd163c1f -5b517b8029143bc0b9c3911cc1508b06 -862c289078364cd6a303438d4585733c -699c216b44b03740ba6a6a0497a70b59 -0914cad3ee8723ce35e54c5ffd525cf5 -ffd75aa24f0c51bba67c565f61c22ddf -69d84dd7a6468f92ab74e10b3adbdc6e -a952b93dfc9931ab3a1fc33ba229eb07 -99594c15a919e203fa3a9de2058a58be -4af4ad7bbdf4b0ce869b9cde3d3e0fd1 -26d51ce3443478f81752bdcb6cce8595 -7d8ceaf7e3d8d5560b70b7fce253d1aa -b679b78bc84b396fee7655165b3cb68a -b8050a1dfda29fbbbe484b5fab88b83a -323126f83db14ebe9d87332aabe84b07 -f40c5a6fe57b1aba960e4023a797b2f2 -4caf086e8771c7440523de2ef88ccfd9 -a2792438082f7489f73f078b99c45614 -aa79b9d40c23a85f1bd55aaf57b6b66c -9ffa952a7205f59140094a7e71219c74 -1fa2958999913b6c3344b27ac1825024 -eadf825e50a66425093403e36f81d3cd -4d858ee4746ab47e082ec39eae179b74 -363b413ded91f2361a266994a0061d3c -908aa6ee9ba9a3e1b6889f79f5f0a6a4 -eadf825e50a66425093403e36f81d3cd -f9f1a82b0825db5bf615eda3083953a1 -4d858ee4746ab47e082ec39eae179b74 -503e7804c4cde4e18214b6f952f75279 -4d858ee4746ab47e082ec39eae179b74 -4d858ee4746ab47e082ec39eae179b74 -7aa5c8ba5b6bc541a55cba8a81f0c87e -2c8a7ba62c9c446bae92053ff180640f -4d858ee4746ab47e082ec39eae179b74 -76f917b252f88b719f72f3f1f71d89ee -16a0a5e9011065f16faedd4281b53549 -df53eb634fe6f11822dc6ef7dd0cff4a -caf82d49f8207b967cf9b3d78ff6a01c -5694a2d24cb84172ab73005b568b70d7 -936f608bc8e2dfe02088f9a2dcea30cd -809cfbc60acdd9d28a0e6cf5e01d5c4f -29aebdb9502e280d3d242280003ad2e8 -99b96b4f1c558ec6f10cde67cca9d2b1 -62cb79c39e2fa613f032fc9680df9606 -bbcf1eecbe8070148a9c25d349fb1cc1 -ed07089c0c2e63ce70f8e95cb8e74560 -503cb054318999acbe83bcc42e0cb6e6 -dcf17c43a298a523f7e12d20828c1c5d -f12146ad62c04ac790ef1b33441e45f0 -446f0490e34a622cfe584d9cf76b3eb6 -d8f3e9da0ed75cd902769d246d9bc21d -4f89b89ab06fdb7243638392c28ffb19 -69d84dd7a6468f92ab74e10b3adbdc6e -bb52282f9c1ac3166ee604498f37710a -f405b63c2ac3e4744c37bdb19ae3aace -807b0020c735b92dcb708f95ea52e353 -1a8850233280b6f980b676c2c0a6e2ce -0a44d197863a49192406a2d4fe82488a -1bba30db376afb456c7a631b6d6b2096 -cd5b3780b71ab41314f54b7f9b8feef8 -e38ef09fc475cdc6a685fc67633777d6 -c5a9240c7c315fcdc744856852dc5a43 -0a6ee6474b1a94609a1265244b2dd7e7 -df3b329446d11f062f26ac2c55c6e4e1 -5bdbb7223f289faca6cc930e14736623 -35fb440881d5ad68fb4a96e20b982017 -0a6ee6474b1a94609a1265244b2dd7e7 -5249a551a43148e78b8ac3e745312a5b -c5a9240c7c315fcdc744856852dc5a43 -0f5e13c405c8eb7f91a39949b2fa26ee -2b162c289b2bfa02aa1c12491909b03b -fbffbd7a565baef9f1eb29a328e67711 -25339e114c9ac2b5d3dfdf83c0081232 -e2c7df51879650cdccdb035264378f7b -a548b4057e681f5a3bc652a886dab235 -2cd833f10d2c8de458e8d273fa9dee14 -5950142a35b4e371d5fac6f8c5a737b7 -69d84dd7a6468f92ab74e10b3adbdc6e -8037ca3896fff3d31636f262df9a5551 -65f6f5c463952f8263b4f518e18445d2 -a1c6541f62adfd26ec41ab7f2d4c127a -9e3f656aaa123d113072e3a238549024 -e56305890a86cb629f338f1e4a056035 -68fa973a058f42733bb2ce7c6d4856d3 -e3ec4f6fd08b2b18e84053186fc32c31 -7e423805a67210354889c650bf0b1058 -a8318d37add84e3614a8d394b2a1aa5b -9c898db31929dcac3dd488bfe663e854 -cbf71e6e272f681880068bce97dca81b -30d372f4e6b772c25e609a929cd7b151 -8b75fcfc54611fa782c876de31d26723 -6fec9fd9abb2abd96564b576391961f1 -6c1b4ad6660fa2493e998105cfb4371b -29fc9d35382a36928285cf0de8557f66 -664ab6533f469392862adcd998911c88 -983acb8b0b41aeed2beae2d79e6cb2ea -c0ae449df56022791eb639ab84e90baa -69d84dd7a6468f92ab74e10b3adbdc6e -3cbf940c72e8bac6528434d98c620b08 -985a1bd4ce9650e6e48c615d7ca903c4 -d585143be0e3fd1ab2415763c2197420 -d3cbe74429a3b79e5a9f9d9967f79c65 -1575ae31bb5f0c1864d1a3b789eece73 -1784ccbb44a2e7ef5438c054d34b02e9 -74fed0ac745a29229ad906a6b3feb8a0 -2f647bac8435fb68185c36d0c387a99e -e0d6882c2e337f3556e7a876c281e884 -533afbe9ff14da9813edb8829dc15d1f -bcdd0d25534a160132482f1ff7811b55 -6fec9fd9abb2abd96564b576391961f1 -31090b385bcc3082d59d6ed4a10ba83b -0457bd6b5d44160e563f758c0a63893b -f91879826e432bdf235113355353e2d9 -ac42efe7b13b08daf8ac4afa61723f78 -0a6ee6474b1a94609a1265244b2dd7e7 -ffaeeb987ac1db8a10fed4aa12dcd35d -bb2e7800f46ecb0ea96fc88bae59fce4 -947085b40754556bbff2d1c2bbcc3c6f -bb2e7800f46ecb0ea96fc88bae59fce4 -56ca15aefb95a2a73984a599d3dd956e -ff91b2d9e53e5d17553790c43ea97504 -c192c9834bb819422a30d744a8d36844 -a8fe1bbcf9798c43e1f94de93843795d -96e567577d87223ce8c644137aa79e9c -61630e1461ede081a8e04fce6f58f45d -589c6d4ead654d9ed0754cdd03a19982 -18d94e709a4baa9faa3b88fe90716c1e -2105641e37314499498ee91947f5a0c7 -ad7f74f65f2c08e8c0fa0bb8dd2d20b4 -4d786f426e25482093ca6e1284fd82e5 -3954afa6ab93b3a3e2449c6491d32954 -5112702d367b5df0d68b01b7b005d4da -25d1ce3dfb048cd9b63e7a22c77db961 -56ff947488a47448828c0c6a5caf029e -83b5ecc154ff191175167bfc27f79bd5 -adc7b8a4d25d89b6c8d0f4b49850f89d -2458e3671587fe4772a310c0352a582f -b4ab343e793734e5a1a3a55424b09e46 -69d84dd7a6468f92ab74e10b3adbdc6e -08487a21dc3a15a259eec1e61e84ec02 -29aebdb9502e280d3d242280003ad2e8 -6c857e43a871dc6b4af3af4db272ab80 -ffaeeb987ac1db8a10fed4aa12dcd35d -0e18739818fe5efcd53fe6c459c7a13e -cd4edab79509541f9817ca8ef30d9e28 -1d8006aaa1109faf81491b263ccf00e1 -e084779bcbcf4f8a9185a41de4f8887d -717b073999c7eec62ebd8232abee088b -92077ff3e5a9e50094220876061526be -69d84dd7a6468f92ab74e10b3adbdc6e -45eda34b49c3aec2625e0a823d42f66d -93451a20da3ac35d7382597f4497f279 -05b2c3cc6dd607ffb2faa7370e6facf6 -7b61a9bf3f41d1bbcab7e4e36bc63ccb -c69535e17e2197f8098d80ce95c27779 -1bb54c1a3890848e13f41f9a138d1d71 -6c9792ad5460cefd4126e47f8f3a6462 -f946948ca21380bad0dfd6d8bdc50895 -1f781a2f81997733462a9989651fed81 -e7cf93ef45bfacb8f4b0bf178360a647 -137e434fb4f93097e6da76d2ffd063b2 -94b897861a37844e4f354b941f7cbadf -306416fc0e72e50ed9a9e2645fddfc8b -ffc72805544b5273f7b9aa11ab61cd34 -7244a6c858cc18d35e126b2c2f7c2b2c -51ed56df964b85ac3b2db2414c248b37 -a066db8bc78b670a8cc5a519ffba79bd -344e19366c1959318f1f37c73245936c -3d6bb1a95a724cdc93ac8a9bb1711a91 -938849370a0b4a227e2b41d6d32e9da8 -554a59dda6c49071036488f6ab1ea0cb -c484eb8e6e81b1dbabe9de28287df3d7 -51ed56df964b85ac3b2db2414c248b37 -344e19366c1959318f1f37c73245936c -51ed56df964b85ac3b2db2414c248b37 -328f78c776aba34557e894d8555304c8 -69d84dd7a6468f92ab74e10b3adbdc6e -84aca7015b1de3e2811cb2ead2a9c364 -db84baa1086bd38f4b811a1708d08c9a -0ae4cfd891857350e58c9e4c207343b6 -3f3966aac8fef927e63567a27e7630df -8d2eee6f69b736565814d07ad9430698 -5f043ca991c88a5cc0a8314fce615c28 -05d21852f46802a86f7d7eba70153877 -e10ae959ce82fb239bc0a2e4afcecffa -cbeab508460fc9cc5d7f0b8e36636020 -df6808ab97b102518ed53693ebc2f3db -3a815508b03ae61646eccca93541f0a9 -ca4f3e508467c12a13dfca3638009929 -69d84dd7a6468f92ab74e10b3adbdc6e -b4f312796a4b53a962b568e3ca34ce63 -66ff55770b91a40917768b3e27434794 -5c182cdd3cf0d1ccc3f9481ff0919aa2 -5a1fde0973db714e8452690f1b956108 -93036393a9927564f89fdc997515cb8d -021e75e3d9fef01b06cec7707c81e93d -371ded7013ea9ab9c13cbbdb8cbb4c38 -1c73eb25d7c73dd600f5717f4b962d1b -686f032f73cee472030ace26f0b1dc5d -3d3e4935d3e64f8f11450642c56714ef -c74b61cd6c7944af8de66bbbe1c44fc1 -e3efbec5274c44d6403b58c4547b9175 -0d47fd5bd1f815501e784681c49edc8f -c74b61cd6c7944af8de66bbbe1c44fc1 -65e46f28d6b544968300c808815b8d6b -8cf8e28f58874b7cec556033adba59b2 -a8e18ef8a16ac2a95b74cbafa1ccabdc -ed0f5c4e141462c241fd9db9268ef843 -5a1fde0973db714e8452690f1b956108 -fda92d4667c7161d2becf4c94f77967e -2b6885dc1e7bf17272df45956baebc94 -8ec8d6dee80bab9a442cdbcdb3d72e26 -606078d2842d29951f9f77c81ca910a9 -e8805b0c9dc760c86b2abf51a9a6dc6b -27715a47ae1f3ba8ef7bfd232086acf2 -1373e32be3909d2598c7e4a40ecf7332 -1a661014c32c83ef1a7a87a51b4c3a0a -69d84dd7a6468f92ab74e10b3adbdc6e -76f275794de2cf9560df7ba717589f88 -69d84dd7a6468f92ab74e10b3adbdc6e -ff27aebc2b5177287b00f36b6b46d107 -bf63543b712dbc18fe707204e489d574 -ce9e6ce3715c07c005120b8d7de432ef -22c61370ced947b7883dfd40594b3f87 -e8cee6fa638dad9373a5cafea0994fc7 -bcc7782abe443f0e701c096ec5674ed4 -8251d36309fedde381f252b38d1d0614 -5a79434dc66e0aab0c217e5a988d2009 -83aaa8fa09d13c4639e2659cd7d6f3df -1bba30db376afb456c7a631b6d6b2096 -97687da38d9c3ad24065ca9f9eac770c -1bba30db376afb456c7a631b6d6b2096 -7683dc51376c9b5d449097c023207d20 -01b72fda9624b9681ff133ad2dd31e79 -399695eafcc047dc03ce24a31bd1892c -fdd1e449b9b7fa2c60249011ccabb577 -ee77bbe6946721b65cec2914381f33e8 -373b729f14c5596ad08d9008ae802481 -6554073b1cd9a4f708beb6a994630f6f -6211ad871a9c8a4b256b83c59661d47e -99dae9a1b2bc5478207361a19ff97da5 -c4d1965686796f499b6b0e74093c3b88 -1fc8ec936d91315afed269247ef43911 -c4b0c359a2c8c7ff70ab2a8c62fb3ddf -b9a02c78e17f99f81bbb29a0ff6b99bd -dd2e83a5fb9cbcdbf415846b8b1afa84 -66af3de62919377536de526abfa33bc8 -c3f5eee4c99c22a8add4d8f566635877 -b245d7a75eace1d480f8d2922ddfa742 -69d84dd7a6468f92ab74e10b3adbdc6e -133b735ba8ac857833f1df0e0c5b1398 -b245d7a75eace1d480f8d2922ddfa742 -09b99e3e8b3f28e32443c329bbee7bce -1d0e40b1caecf11f53aec71b4cd572a0 -8ada7df415521290880b12ca679211f5 -690a823072b60054aaafc6b87ea28e7d -58288e1f51d0d200ada7a7cca76778cd -015c9378e7f8b3f207d2407885099267 -2f9aaf91d2d0bc74725d97ae110115b4 -1541e3ea1f52387672049ce675106ecd -5520d6d647b86d6235f0208f689c16d0 -49f4b515d1bfb4f72ddd63858bd1fcdd -9db57dc352d07c74e670daf5eca1f404 -2c8a7ba62c9c446bae92053ff180640f -226c463a1d7b1331230b26287ade293f -d3b27e6c304e5fdfcb044c61277fafa1 -fb699fee543284d41cc61b3067c6cce7 -fdd3b5781156e298beee7c39ffed8092 -00e4223cfe15f6fb4e16b82aa634b060 -5f00cb26ff63b512056cfd1185caec89 -69d84dd7a6468f92ab74e10b3adbdc6e -4725343ddd7f027d254c3a4399464d2b -8c4662055a7a4dd198e98c5447866234 -83daddab54aad9a1cd6d119f3edbf475 -694dab069853b14781df0be8acf4a297 -44ae137a6259e461ac47eb6f92206fe1 -0f118663177300de20c50dc8ca6c453f -be5ed5cf8672e018625ab9cb18325e78 -270ce3509726342ed007a7c0f050e5d0 -b56e660c4c65e342564272d2d60c018a -012146196f0e962ca907a61f4acbbd29 -651fa50260bee2668ed0803ce4be0f02 -cf109604d93ffc873799e093d80356a7 -f75b03c7b05cab19d0524ed0b277ad88 -1784ccbb44a2e7ef5438c054d34b02e9 -8213adf16e2c5ae50e3b6fc29c4d2d7b -1c73eb25d7c73dd600f5717f4b962d1b -27284efaa9d7396063e966f55fd5b87d -3100c79ed47f9e341e5e7549d2a186bc -a02245c0ba4f1b12877f836f2d2cdc6f -8e72e6eb78ef45925ea0829e95c48d8d -fbc1dde6a1776d3699f4783dfc66d057 -44d623b080dd9f23c44b333a60f92746 -ac9398a2df085bb5f15d0b8180d528c0 -f47913aab821bd621e0c30e7ba19cab6 -c79512de4c14df5ccd4527f109d0e10b -647ce86d83ef7aa3da7a93ba2e24ceed -5f2b3d725e3b92adadbfdb542f44d342 -a6e88f6d0cbb478d1450d67d9964fadd -4235f46ffe387712030a988f01a3cdac -1524a9bf91ef783ed21ea40704c7756e -f3de0014d059b2fe8060504a5fdda8d5 -0c8b8cc2c198b325e9f3ef79febfc143 -fc5b0938774c4ddc106f1d01ca90f9fe -e50edfdb2b4b75c3fd1dd482e1cf53d4 -d87bde3ff5b20f5378d2b9d89176f7c9 -86d027ce526041d447fee0d7dfc22d58 -51d9c0e9566b520d38898777c44bbb30 -d20ad89466ec7b2bd036a5b970477ae8 -7b0811e42ba8210614bbd04f22d3d4f2 -0f9a29725111022c071b630176a2ab58 -0adf30cfc8e591bd4ee931ab0a8e0c95 -5f6a4022f86c8bbf5ec8e7e7df4f77f3 -961710f0d8829992bd603644ecf6f34c -bc37e1669bf125f55f9ec23107b57274 -731e86fe55422ea8a9b4618cbbb69e7d -b734a3cc625dfeebb2f0753752b955d8 -cc8d2c36cd8e25146b7c41a6653d3652 -f9ba0ad0fdcd15243343919e90f42643 -8d38518c189e267e1a9b50c9fc62f785 -761446383cfa7bcd00e1fe7b2fbac8f6 -fbeaa754ab93648f0c7b66aa01d41e14 -847b4fab6a1b99876e62f77273b70bde -d32f571960d18d8f6c22a5c7a45c259c -3ffc27099e249fcabc8f9c55af0e8582 -ae3bdf3ea7f12d1ed7ef0016e39f7def -f26bacc29453055cfff8c8a3c970fc2a -3835cd56e1e3687ff9f74d9e71edaf9d -6ef81c2f1344af0294625779c97d853d -845aff3f38cac50a9bcfc1015dacc636 -2f27c42dfb52c3c7462eb9a6189b59f8 -d5d118ca868e20ef01f1266fda492446 -14551903785872b9642f68869b711337 -99ed2dfab050befad153f92e54e3bf51 -c4516ed86153ea3081d66e7326fcb639 -20e235dfac30b5d2f6fa61be500eacd8 -65f7e2fa2053786267d7163864a5e789 -3249b1bfd467243e1907b4f7040b1ed9 -72a4442a0d7e5896a8db12d1fef3daa6 -a941b91c4182962d9b84d26a61bdcacd -4a739e8ee1fc040121392570cd81ab55 -717a3f5d4f0b2aef23d5796961ab7693 -e21c42a8b1de3ca00149c7302f248f81 -a7ccd638a67db6b71c77311b44e854a4 -04e594f04ff38a8ba5ce19693e3d1f82 -e3a60ef8fee45be8ad77deeaee6e3a4d -bba524c967790327fe5ad3da3c0b337b -72be7a3f6d0b3c2758bb829ea3d98962 -0e00604f701e2a8eb6a484c7575e8e68 -0cd07c6d60a18dec5f95fd1f281b8376 -c02f4abffb5e36e25653395e83389bff -5713bffdb2ff64aca5729f9edd0d2ed4 -5e55d9872260246e5723140594899ae7 -172ba24c19c733117c7b448829a1e684 -234e3e3eff937f6afbf156b56691bd87 -09ede72203835930c4580e2ac91389f8 -610c97b6164ce4d25ada381091102e47 -0535cd173995a3cf6ebf54afee014dd2 -563904db2786ae7c9cf25a79ef82135a -1b0f5d4737dfc52fb3552c20053c9ec1 -d2a4aa232eca2d071027d9604bcf2519 -5b103283637d719d78cd92fd547abaa0 -85919cfd04ace0eac0a40032d048e96a -d121683385988ac65c793918d42db0a2 -c4d60e48efa0c7c69197e2c15be800cb -7b40a7b554f884e79564e603734b4aba -44d242137b46611bd646d41471929e18 -a7df712529eb1ea340e167287530ccc5 -85919cfd04ace0eac0a40032d048e96a -44d242137b46611bd646d41471929e18 -a7df712529eb1ea340e167287530ccc5 -1aa6bb24588eedddbaf2afa8d63187e8 -aeca44b1c0156cbdb1ca4cfb04e04e0a -5631c6dc90125c60269382c82c320a7a -6b66482b57d9f66ad2bd042fca221713 -6b8ac2e6d95681882f614980796db51d -f279fb8639d5c166f2da2121ae2c9fbc -68bf2afd3c37766774eac98ae90afa2f -1ff614ef39ab4cb5489712afa428a287 -7e672f5f13698fe173029ea0e19e79b8 -1ff614ef39ab4cb5489712afa428a287 -8ad95def89d6fe029c724d3e2bf043bd -9f94f2716dc356598e5e70d8d43b4684 -3fdcf0282b31c1a1e658c7fd735f15de -f2345049ed20db6f8d00f7bc24b05194 -6878981623da0d344047607a949eebeb -97addcd328d90d8b3ba8742328074b74 -292b0dcc7f7ba073b80dd314bff01df2 -88f76069ca8d47b10290bfba4d308f61 -d15713d58ce26a8ec8cd94bf80ecd3bc -c4dc725f0a0d6382e918dfba26184f3b -092de9fd339fd2cbff5d70e02e29b89d -d3b5003ef42faba623959a9ccbc319d1 -fdd648276224729523e51a3a99b58254 -09e1e7b8913057ba1389659027d2f645 -72a1364634dc510851d15b96a91b5e7a -c34eefdc8adc337adcc8a6c5b48d7c67 -759e2ee9a72339e62141d5a906ce427f -2d15593898b4bb2d71f6de2e4cc6b313 -1afce666b45352b9bfa86707f65a0462 -91c0485ed9b8828e0c4a9aa00b9ceb2e -be9250efa1de21c0471963feaacaa739 -b88ea2f9bf87cf81ab6bd2c9dd44a73a -ba046eebf39f9322f660cea092400fbd -3662381b1e0172a579e037160bf2db9f -c7e50ccbaa2ab66b65c65a609ea2460f -b509a3e749fc8ed68d6f26263b727b1d -54e2e8edb6879892d3f5ecefd26258a7 -5b06e4ae93226808cac9f0da521e72be -2d8ecec01a381318bc8bbbc37209ce01 -8af6456568455a9db9dee3b5c0a534e4 -fe43e6f71e2f023b70f2ad68ed436263 -df5270b22c23c0a8ef8446f635b1b921 -e20af2cfb63b555ba79d5a0c146875a9 -4468cb4e5dc41e1f47a7e61bc9e9f433 -4ad2b00664e701a4006ac9faf29b6f7c -b0deef07205fe00422cef5286bbe8bf5 -6a79f7a0606dbc1a874a3204b7feb375 -5a09335fe38f12436f445cff9004d3fe -d4d7af66f6b408ea4b2d5f23a0cf4420 -c912d3508586b9130883b16fa62d0b46 -4561ff92991d09214598705c30d92272 -c5689d16da94be0492532b81c439a8c6 -a95e2ec178531d383bce0a36c8ee88c2 -8970093704894c5b2b8c173c47c5c033 -64708aba775eee0625f4571dfd180640 -f7af654b80edcfc87b98595256bdca90 -a609142c852536524e606faa2563d0fe -218f99087f51972db9fdedab63471df5 -f7af654b80edcfc87b98595256bdca90 -8fd63786e5ec81adcbeafb3ed5cc15e4 -68f5615dcbf14183ff91f086981ede66 -9fd938c24d581c1b4be7535fde493967 -56291c0651c7dfcc8516c15106e02b22 -c55c3622de5d7d53fe104cdc2d1a58dd -6c72decae0f29637648ff062bd153930 -4c113b27828d8fd4062fd85225117683 -48687956e1306538ae4a77bb092483ab -d011c08d38bd1cedc4e7953b8a0cd494 -492f8ca2e2600ce494e51f30b05a3989 -5a1032c3a0aca3021a184df3014ffaeb -c55c3622de5d7d53fe104cdc2d1a58dd -2b8852cc63cc11c43927aa03075f5f65 -a63fb06eb13318f6517d951d6fd8c163 -06fe73cc4ab70826a192e4dccd93ac79 -a84dd3249103dad6631e0af9c2470d14 -0c32be5eda6e0270bc082c352baec7c7 -75fa4de2042d751460816a9d0fdd2d1d -2ac9b8c6bb75d250c756a089d24976d0 -34dd36bdf759ebc456229602f3ad29ab -98a7efad1597532a24c6276e28d9495d -ae93b0831d4550f30e3dce0114760454 -3d30d4a7e102d11529332bf9d19c2b1a -3983fda2dd546d85e3593cac14a6b592 -3ab2e8fba249d909178246e7d5a141e8 -0859f4d1ae0bbf096001b10de41ca02c -a2ff36d1d353e7264215764e8678a4df -2d060d3f5b7eadfc1ebaa731a5bfa541 -99a8d89adde3ab647979d72f955af17d -2fc80aadb0d8fb96f02bc85c1be1e910 -d750cf7ca3ecd4951b22a82dcfc423b3 -6f622be0f5ca52860de0a55ba2fb43ff -5be07e5e47b1183ef2dbae44bce3db41 -8aa91f4db1bdbb40768808be1f88a304 -c00cf1906518c51be5242fd91e5678ff -4db404e81ff7ff8fb9c0c562b6f9f929 -508f22c28a2932bd95df25197d31b934 -62717200e1eab0ad8678fc94db5a2041 -2c627100a09ff69027f7fec8d6bca10e -b2b363e6cdad7dcbb51fa0679b09c0d4 -68e2282e051168954634aa19e4948ab7 -547c8cbaff6b66de8423a71e26d82933 -80de092235bbb42fdad45750c6b95097 -93324b3f5dbf8805419cd60e9461147f -0feac665dc24a78982ce9570e9e1a325 -0a8734c7c80d4922493a24166988fd1e -f39773798fd95a4c3db4ba09c5944706 -f5e39fe80b578c6be73fb3a3d95a852c -1ec0beb48f59ec1ee8dd4dc9eed4c6dc -bec083116aba9eee06fe2a29cb8ce36d -5fa0f0ac3e27fca90e10c996766290b8 -39148ec4c31c07806d325bca18075dba -b57dc9242749aae09e1d84e268b2c109 -aa641904492c416571d1a12227de521f -b379b580aafc44abe32211a2fcae17af -70ed89a65dd60a6a10e840bc8580437b -f6a3512d2764e801cc6ed766cd009dd7 -ca689ecf3eb5d8c9706b6b112b9100ea -7920f1be14515b2db905c32ee4e89cd3 -12ad4b7856fabd4781ae7d3919d49f0f -3809603c88f04a434785157da25c0b89 -62e52cd0be11f85affbf530d5414cc37 -3a67502a8d420f03fd2b2b268c26cdfd -0feac665dc24a78982ce9570e9e1a325 -41a997113d4cd953f91f1d92787ec91e -beb33fce7914dccadd9f293850b5efda -64059fcb42e042b8632fe48aa9727a3c -2e123102cc71f92483970f997f68b0cb -bfd707820f94db457ff447b15ba3be5d -a6f81e4fa1323340c3f66c1e068b3069 -7be78f70c6c527d2a4d4f8e57ca36188 -9387a34219b7fa9bddeb7ad9efe443c8 -13ef6f6e1c7ee8c6e0f0ff1654eedd31 -56657c131d40fc890b1952e5c607f803 -2f367a0689eb974f2f9b7d9fb2da9c78 -e349cc965301cf64c5340d826f31c606 -57701cbf489375a3e937dff5e775404f -213630a7bce8d0fbe06e31ef4d9e8ab2 -35662a6cb151d7285ba7a3f0a728d4b1 -0c7fb4fa15b074afe631b5a2c4cc4d56 -011384c7af584af697ba883ee1e81226 -e7a57e33186addc68d0f4f26ba24dbc1 -801b183bd6f78bb6fcbd25c77d45d23c -1d857142cfa15335e09a487bd43d7a7a -a97b14f17864959691bcc567f206a83f -e7a57e33186addc68d0f4f26ba24dbc1 -e568d76fc67f2383707bdf2fdae0e159 -07bb5f568353de7fe38bc3b8b5a13b89 -144c36332fc7d1bf9868ec64c24a69fc -862f8e07a118e1b009d0fd62f289329c -958754a3b0552ca74adf10e10ace68be -79893e5797eb323488fed6e307c5ec74 -156de3496b54bb4a109999cca991bd3b -2333e56bc39d7e0e862cca576ebf43e7 -1afce666b45352b9bfa86707f65a0462 -20437180fe1f6b8bfae9e36cee38b079 -7e8ce9ed4f3e3da54b5c171c59229d3d -3d562055c90f991b406f9ac42621f7d6 -bcee15c80cf0caa7df827c5c6c752267 -2771f3a8fc346907a6d33e8b6bf3e3be -be9250efa1de21c0471963feaacaa739 -ba046eebf39f9322f660cea092400fbd -b509a3e749fc8ed68d6f26263b727b1d -fae2e5f4bc4a321c194f15ab1764442f -8ce5b2c404be11617c3be8be885a1645 -54e2e8edb6879892d3f5ecefd26258a7 -5b06e4ae93226808cac9f0da521e72be -2d8ecec01a381318bc8bbbc37209ce01 -8f4e9c88d52c217ea6e0a26dd088471d -8f5dd8e2489da6aed80d184c016b02ab -88f76069ca8d47b10290bfba4d308f61 -d15713d58ce26a8ec8cd94bf80ecd3bc -ac6d7bc34a5b82299d6bd2dea899a4b9 -701577e5da09c904b7ba146e0e847c12 -c64590d2bbcf4749f73a376b5dbb5cbf -9aa22d6b03dfe6425eef063781fc794f -b47e59ac60ee61fa6eade5560c8a43fe -2763dbdddaa89108ea06c6a1a119bc98 -bb413a3c8aa5878595b40f96ef61e790 -ee745dc93f3b71b7770d2bc902da0160 -26cbbd602174f40bbbfbb7b5fa4224da -5ac21be8cd565186790ecd458b34c92c -e860d8240448544a081e21ada573f205 -e860d8240448544a081e21ada573f205 -ea1c3c9302e5c78ba2d28739baf28aae -ea1c3c9302e5c78ba2d28739baf28aae -ea1c3c9302e5c78ba2d28739baf28aae -d57ec33af4bb922987f13ebc02b66d71 -dfe6ac0aab205304811985f83c93e75d -d857711d82c869e832f027e55c333760 -7d387b91a3b2f28da790a6c4ba86243e -70a41a28accc4df61377f500a28ebf97 -dd3a1959ae351cfdcf28c24d72d55234 -d51ceac895c89200b94e8298ba9f9c10 -5cee7ef6fd8b38f64cce8250a5f840b5 -d51ceac895c89200b94e8298ba9f9c10 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -5cee7ef6fd8b38f64cce8250a5f840b5 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -5cee7ef6fd8b38f64cce8250a5f840b5 -0dc1f53414a20745cc12544bb68588b3 -d51ceac895c89200b94e8298ba9f9c10 -0dc1f53414a20745cc12544bb68588b3 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -d51ceac895c89200b94e8298ba9f9c10 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -a5ffbecdc318ae6b8c4b607f6898eede -a5ffbecdc318ae6b8c4b607f6898eede -a5ffbecdc318ae6b8c4b607f6898eede -d51ceac895c89200b94e8298ba9f9c10 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -d51ceac895c89200b94e8298ba9f9c10 -a5ffbecdc318ae6b8c4b607f6898eede -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -d51ceac895c89200b94e8298ba9f9c10 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -d51ceac895c89200b94e8298ba9f9c10 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -d51ceac895c89200b94e8298ba9f9c10 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -0d098b07b19e8d4c2b9ce67be4b1f4c9 -d51ceac895c89200b94e8298ba9f9c10 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -d51ceac895c89200b94e8298ba9f9c10 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -0d098b07b19e8d4c2b9ce67be4b1f4c9 -d51ceac895c89200b94e8298ba9f9c10 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -0d098b07b19e8d4c2b9ce67be4b1f4c9 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -5cee7ef6fd8b38f64cce8250a5f840b5 -5cee7ef6fd8b38f64cce8250a5f840b5 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -5cee7ef6fd8b38f64cce8250a5f840b5 -d51ceac895c89200b94e8298ba9f9c10 -a5ffbecdc318ae6b8c4b607f6898eede -5cee7ef6fd8b38f64cce8250a5f840b5 -5cee7ef6fd8b38f64cce8250a5f840b5 -0dc1f53414a20745cc12544bb68588b3 -62b75825015dd3d81bf10bdf19a21c8e -0dc1f53414a20745cc12544bb68588b3 -6fe67d155a8c536f3797972c92e963e3 -66951db48f07e5d04523e4631ea30c40 -61a4d6cebb865c9777f27eec4ff9763a -e9e5e6884994692e71ea4e69d98efc28 -a5078df5a08c15af25994d51cac582fc -699ff82d4b72ddfc97418b6178100d58 -699ff82d4b72ddfc97418b6178100d58 -0ebc788d831ba2cb310986cdede2b600 -834687e70705f381c268e069376d5bfb -77dbe275bf905728a3575eb4b348d2b4 -f47dbaf11ef0f9f0a37f48a77bfdab62 -060abe2fc46d50bb5a0a5bc3c7b7181f -f61fa5599d1c183769dfe89651f0cd7f -1c8db3cfde8e0b83f34f869420aa20ad -c60bb44251a11601bd9b9abc4fda123c -8424fdf5998f6702dd3ef4af053879c5 -e42ab2bce7a65e7a7320acf0c1938521 -144e605b3405d6e716ac11fbedf647d9 -7ee9fc1799eabf643be2c9cf57ee589a -776f158f449867a710271b7966fdb391 -776f158f449867a710271b7966fdb391 -60fe447fdf5d57ac7fd7abb0fe487208 -111ca6c31467248129006fe286b755d2 -18bda9b7ad53f87c8a71ddb6cce78683 -c2b843479f4c30aaaa1d66c4e255de8d -96c87ef7cb66b82eb70f581d907188e4 -018082a06f0d4a4b5a7061b0b87e27c3 -8809c7d3679a049f8a5c13a3e17453f2 -78f402a4615e5e687fb6dac6278c1d98 -1069ac5c4317729d17363b199ebe7752 -c2c3c4ec6ff59153a11894717cf95fba -060c16fa89325259a20efdc491ee510d -b6795e2ca64b2c539461b55c40815dcf -23ae6c741a1c61e1225321b380d375d8 -9677ae08cd013006858eb00709259620 -9a41da7f2a9ea716150abbfcff275042 -3ef5189510095893f34fbc5cee5bc2f1 -e0d12c9589316c7ee445111673c2d821 -79de5481a43aed7b36d9ef61cf1bdb9f -0bd15fbe5ab5388ab6b64f753711e10e -69fdfd23ba8c565b505881bd601792dc -f31b7d3ce6f21cf12066002defe1ecc0 -cd1cec2a90c41024563fc2459d3d20b5 -0b4edd03360b30f38d92ecd9734cf52d -600a8e05d8e271b408a375f22efc4284 -41b44f1e4fa5e0857075a8ff8cb19bdd -cc3f4b78f9991293e15485e83108e056 -97adeedf55f9412afcc464aa80c65619 -ba89272f727a5fca0c0591c72ad85a77 -0f1a400de22706200abe799ed07bf01e -a326ae49e7ff0dc41f65859cc9308102 -0d4e1eb5b4416a262f9f78a273183c1f -0684477b53a79325d2a78316a24d9aaf -42fc759852454bddfa29796ba9cf1351 -08b342eb7d84991e128219a040e80a20 -11599bf479ba0ee0d6a85830d9c869a8 -e3a34cafdb2e4c1f7233a1ef23f4a7cf -75a42d908b25299ed517ef26f65cfb3e -b3adeff69ed6fd81659a7abb419152dd -fb20d136609721ab30c0cdd8f7062f54 -689cfdae7c32bf63fbf148a3e4cba8d6 -4e14cb380e2f245981d41c84d46c63f0 -268068c180d86346a16728732fe082ce -7d501b3b1215c7d9b390ff857bbff548 -afe9924c1bfd5fe06b69b423569ac3ba -722d68e9b232ee7139d0b20dcd268d57 -7d501b3b1215c7d9b390ff857bbff548 -1e9c97cef8c1dafbd6531a8f34a0d64e -0ef4416f9aa82ab46e75ca0872620bc4 -04c9c23c3bce2479d2c05db2f72426bd -1f89fbb31a0d002b4b28a67cf1ef40f9 -92efc6f0a272705ad581cb48adcf107b -dcdb6b1afa8c78c828489964b1b1b42b -977ea18373f1b9fc771489b1d278acca -f1b70285814df7847b7e4fa0eb4f2141 -b1e05334b47132a1dda1a0080c10df9e -b8633fbdf2e5d04d82999386e645afb1 -cf3c9a552752a8dc49bdd222b6cfd11c -fcdad80d98f8282a4c4f18499f8ebd1b -839a709e836d4c56e0008a81340b5e85 -fa04316869aa44295e52513e71ee0c07 -689c3dd0c1b33169e8f01da65fbce2ec -881ac5a9c44bed816e41396038abaf63 -a664698f853bc67bd732a67c1f56fd0b -91f1911aa95f22949ce1be33b9548e7a -0ad6aa884b7b44a14be0e3b84d7efb71 -59cff264b4dd61c81559bfb085b24d89 -291ce74c68c5f9dd569efc79ebef1bc6 -83594f101170b31c19a5da3b3838d9d1 -820e23453c9c22c4545cbcd325a289c0 -dea5810c399b7e2ccf5c51e322991268 -c0f2dbe3ce8cea154a1427ed449a046b -5a6b73611e363884d27311ca8a53460f -3ff73486b5fdf981899d39e1c9f62280 -a21476be071e9914f1f28be7d401aa87 -5c618468be29f887c4ed054310be0021 -cc8e5f6442f78a80599ce4c451fb48ff -f278ecc93279380345cf1b81f787b4ba -848638caa668eee2e88d7ddfa9558963 -11ca63a13ba59b6e091cbcafac4bdb7c -0f64a170aa60e2fe46137c637be8b98e -5ca9b4b5014e08a3c991728e781012e4 -27f233bc9e3bd925b3a4133177320296 -20a2795657cff9af5c44d8ce8a5f4f18 -a3e2d0669be3bddf14f0e463be1579a1 -1605619e6fc3f8ff861801daaef655f7 -10dfa984a27360abe31ad272d4050130 -cb39419f1b2abdbed847f5494529d6a7 -59f72da6356639f37a3c32c9b470080d -ac7419b6e6135e28c344832926b78866 -710229148726d3ccd9b34777e5835d93 -05e601c398be299439dfb1696a3842b1 -9ab7d155af988ccadcdd12141f89fbee -2a55319acddf488e17e0c37069913db9 -ef5b87ecba9931acd2ecce67cc104217 -a8a8d05debea283184de241fdea495f0 -72d5a4e5e560024346c0c10d981cbd58 -61c65b0e446de6a85636fa3c3af27870 -e152fa7e46da397256c1f606b1ca57dc -b4d046f4c330cee25f3b872776592f30 -9a4f9684df3c6450fe1d35a2f509c7a4 -ecefc7ebb03cc09c1fcd965bb70a4df3 -426c4d54c163b11828e9cbec650315f7 -9cc3d26a383a3697f5ee7254aa6e3597 -cb9ce34c7f0ee0973903fcc7dc41f66b -ed0d88a93e1e14803988c0d4a57e771f -361391c5883af460f858bb5c9a27dce5 -4c810e3b427bfabe8593af9e9ddcbc3a -8163c2b646882f6d536415165492da1a -50aa3c61f473bc59b588cf4f35228a71 -5027fe37199d882391900bc9c7b856a7 -24aea58dd939caf5a096dc6faa53a38b -39acacdadf17ae1e0a133c9db1953c5f -5c618468be29f887c4ed054310be0021 -59cff264b4dd61c81559bfb085b24d89 -b0ffe7bc9b3e2b272ef9b38b19dc8198 -e8845722214eb967cc0ba8ca8b491c5a -7068ed5785dd34bc0e3feadb5726ceae -5178930ca1006806ce1c93ed99e47faa -8e45b03eb586a4a70bc3bbe6ea535864 -406e0f97fa9e81166212c23fa8191064 -295f0bf34eaa6b13053b63d15f3ab70d -8ebf741ab837ff8d7018ca94fe11bb47 -801487c23c277914e18b042621c90ff4 -f08ccabde21ab1144017611970f2ba12 -807a17b48a958dd5b08fee5fcc245cdd -20a2795657cff9af5c44d8ce8a5f4f18 -6b29a271bfc8ca5b3f4472e0d5d01aed -89eb6e1f09f53d04a16886d75d19bda4 -c51e98271c4ec73247f7c7124cfd97bf -7538af163bb4747e72c3a572f525c384 -499a84821fd8a2d234dfe8aa6918450b -dc319fe9230a587ed61903c15ac4051f -3b3e6af057c19cee572f7223916ab007 -21edeec8d3efc3212855be401c5fcbec -067cbd1056d635049031b88c07ba915c -0ece361c7fa23488732eb2ae43a6a9a3 -0922b7d6ee7a01d298ff9c62f3582c7e -9bcab489fc968bd9b87363051ef23631 -e2b7a08590ffd8c80e814ecd8e3f0516 -2feaf36b4108bf9410cecbbc8ac16018 -7634fc96806a31d8fb4d9a79e5662878 -8d0d3440d9ab33c43d86168fe3731ff6 -ee7bfc4859d06c73f74572c7a0a4a257 -ca668a07901666777b8d06b15aaeba04 -e4d95a79244af6abd91d9254e2bf34f1 -a48c6cadfc476f32bb080c6e62c1a411 -50fd6aaa49a6affe79cde2e2b69312ad -6af9e302d73562c3d723428e36315230 -118e7f8720144424362614f119d20ed5 -823318430c5649de2c2c41a01e28ced1 -5e33ac8bbd1c918414eff92ec9811e5a -0f3a68e0b7c159e6605e81f684b4f9b2 -38850cf47841a1e06a9f76519baccc66 -a2fa949a376c70405c7862be1d536de2 -12f511d7983ee8056da49817d4a53f65 -c9f702e50c636c2aaa66c3e7bce8e02a -87e38a4399ba8bf20c5a037390448239 -7b621211b4feb88d96d83f89c26a9f6f -e859433502e2b8454389bed2cd02e973 -1d530ca9023093f546990d74a98234eb -e0adfb863d86fb8fadad408518f9dfc8 -e62ff0f2a89159eebcb6a0bc8aa84a02 -572986cd30181543ad08bf31e75eb8ae -406f68f069230fd55b84d27a7e2b36ae -b138475c8c42f0cc4b562d6476fb17be -10dfa984a27360abe31ad272d4050130 -d36c8011142c003255c18d409210c9b1 -6e358dc21ecc0643586f2c9300ae02d5 -71a5e9dd54c8803b0d2cbb8608b361fe -562398cb5a6f99c7d7176109fc0ce615 -73f421ab6099db3eb432cddb34914e08 -68fd895e2803fb60352f2761633b58cc -3670ca73e9cdf82d282d58bf8831fa4d -20f92fbf42d611a45bbe0e7a9c308eac -d7879d5e984eb4bdcf95004c5818b45d -b1747ed74fa74fd89f7910610b1f904c -8fe2f4c7461e2dab81553aba71bf87cd -e14d482a46b3c83016525a94bf372afc -34bbe0efd7609c7f250b7ee4a1c2e001 -85c3ea756768025d54973088a330975d -d949b296f634ec3bc32dc5905d109e5c -092e9275c6a2dc85aa13b55afef6dceb -6c7cc80cffebd76ae03e07aeaec9b24d -42f31fe4d3e7ce33b56d823d29b8ed5f -0f77f39e40febeffabffbb571fd67abc -7d09d96709b3bbb2af03df70f2fdea7f -98f1d2b31d6fdbd9d292cf1719a15c87 -55b53353d791806d9d11e09f5c842d66 -9a547bd8d700ae180a307471538ac470 -f8233df8b41430c2b6c978c71a1f34f5 -50479b59d67ad163e7fde1df6602835f -48e7cc5808d063c6e84f48c1713297af -bd04f38fe550ef44e792b6de56ff7ff4 -ad15918a28eeb5ce8e60b0f41ef88cec -59cff264b4dd61c81559bfb085b24d89 -46abae3c8d9bca3699dab4fc17362487 -c9a6570ea446ee6ad379e9e13547692b -db8b0454fefc99c14b35fd106210377e -dae5616e7ba1dbf412a9373d436b455e -8ec024ec1294119ddd8d6c00e221bdd6 -7a0cb2b932ed7b57fe7f41cfa3a66be2 -ebbce16e0c9b220a88e3c379f53497c7 -59cff264b4dd61c81559bfb085b24d89 -37cde9bdcec3d43a6eed8da0a219d868 -7fb1fa8327f3f2c9e707085f7f4e8bac -17f14f59deb714a6f34a43e20de2c34a -e46ddd2206d9f0a7a3c777c1ca3dc00e -7e1ecba1e635f0ac689df323e070283a -534bf38f7a3b50acc6f55e1246a41567 -4766dd023386a75823a521b12b6484fe -642945c35d538d8710ee32342b195935 -7fb1fa8327f3f2c9e707085f7f4e8bac -bcb0508d9703c917593de3d56af221cb -5626d5c8d9c015425d8834c221ce986a -bd2a70fa8c4dbfa7d0baf7e8c499c2c4 -42688acba64955a959f75e4a4881d70e -bd2a70fa8c4dbfa7d0baf7e8c499c2c4 -92f64c8bcc530127f55657c2d6c0e644 -539325e0b4792646d3ffa37dc819eec3 -07ebbee9883986665685ba9d2f265627 -a8514a90b0f431b5091efaa37487cbae -b882e744b1b614cb66fb7123271a8efa -84955868e38caaf754ff4ea5c3b38d69 -c7c67007539ea143d4589444d4813fc1 -4f963736189ecaf0d22868646e088781 -f75081b28757c03f1adbf9a46afe8d75 -5592d83ce7709b70130c461ee888c91a -19b0818d494ea666ee0899e0ced7b27c -24a92e85140978fddf08c04d93746ded -f0a159221a57e2cdf95981a405581206 -ba114e8a53357a2daaa5dab2820abd0f -da42d9a2a70340b1d79924113d88c046 -04bee9c75d6a26f472026d0d241beef2 -1619c9e9a11c28a81ad4ce930d9e387c -58f138611c860a7e9bebd49675c300c2 -59d6bdbf54ad4eeca583e3597729e1b9 -fa0f3e1cc0075a5a25ee45c0490bd246 -b161a9e4525530df29246d8507337977 -4ce802e83fa49c37fd339d35333094bf -c4ca0737f436c5c3943c80c6e7ec97e9 -11ca63a13ba59b6e091cbcafac4bdb7c -60a50f197f58d685b0684f0c2f500f21 -7349e27768be06b46a45e90018523683 -3a2e813c48b6d59b9f8018b855d98454 -34e29fdf13fcc8e59db4d548d8fe9b41 -f2c27f00faa9dd18ba966def0581ddce -ad5d267c7ac5b0bfe7d01e886403a2f7 -6e949bae5f081939dd5ab74857331c4e -a82ba288d71250258dc8c7aa2089c0a1 -994f5c67d708cd5b44c97ee4ed435195 -37a8c399ec57a58a29ce2fceee3e2744 -40f7f76464a91a12337f47b3964db15c -c4bfcc0e8d0a495c42686e007801e287 -28cca878201be67de3e564eeb025d2b4 -e5d1f7fe413356b86fc4a82e1da6dea2 -6d0de19db79c736ce15b4dea90f22a46 -7897ddc8e7fc3eae2f86e3ba2c63f6b8 -3d172b72fb59f4dd0107def484f785d3 -e0cc6bacf427a18ca2b9dabe7ed8fee7 -156afe034717f81e906fdfa897642edc -7f7d6c490a0c5378b334fe4deb2d0e10 -05514a47f06f245b023bc51905f2958f -c772f18c215f7398e1edc708e5ca243f -ba90f39ac09c4124aa7272a4df3e9a40 -21c6cd880dcc79475bea1e844c1c1cda -034d3d2d06901e0a4eb1d6368d51c61d -632700c96863cab5b4bb22b6175c8f56 -f57b60e139b617ab260d69fb43d84aa6 -f482cad9ee442ba72da0d4116d69bf60 -3099c9e49f232bbbca3964c5f76ef6fd -59cff264b4dd61c81559bfb085b24d89 -8cc0906c2030e4ced39145906ef70bb2 -f94004f37cdfa4d1c44c622ec38e8d7f -64628aa25c724f30af9ec20107ffddd1 -f446f6e1e844231112ecdc7bd53e7b1f -7bce9356324cfa3c81b482d1f19ef7f1 -5c618468be29f887c4ed054310be0021 -41862722dfb9bbcffe510af9a85f7816 -cc846385fdfa20478b6ab6d6dcd2b9de -2b57bd2e53747ea8adae2c909747f170 -cce3ed638e724050d510d4d5d0ee3f9d -f12606f1a8cdae243cca919c8bafe658 -7fb1fa8327f3f2c9e707085f7f4e8bac -57e505d2a7263bb79e06443f7cc0cb3d -cdf342ffa3c7825fc6a6d03228fa87ea -636eddf7a7e71638c88ca5eedb789e62 -8ce6af0ba335d52455fd333125ab52ce -6b81deb4f347cf3499c400af4f0d4f46 -9e0aa5c0f11a855ef4ca781d5d0b2bfa -b8c5b3740b31a69577724a64ecb59636 -468f52a06547dd252a9e396cf5d220ba -d676ba68a25b1ade749f9138acbc2ed0 -ea78b5c73a01febdb2dbabd617a10569 -eaef58a39aa25b18b3be84aebb84b96e -44ca85665cf169e66d675a622d0f5ca3 -59cff264b4dd61c81559bfb085b24d89 -f1056a27cc995360ba04f33a7e2252b8 -d044c9281405abbd2d2463c2b25e9fae -7e643f91611e44654b96e0846604f141 -9a4f9684df3c6450fe1d35a2f509c7a4 -921094af2e03d959ff0a26cdaf631b17 -48e7893c598a45c5565a54fb2533c204 -08469219d622a1c0ced1d696096ea048 -da09373e7b77f055d92df80c8ebbe632 -4cf0151bd1d0682e894f4946ea3de0d0 -b30d28da33b435b2d8da063a8500d806 -59cff264b4dd61c81559bfb085b24d89 -2193d1fc13a4d7df7cda6dea09a77257 -fbd97e7ecd684d5712be2eb7ccb20bc2 -c68e927cb775e97f6aee4929e71f4a00 -49065a32c5e08c173c0611876166579c -6db8f6f4c3deffc3d361341ead13f792 -549a6719bf732433d610577ee2f384c7 -50cd99eeebbb9933219df5ed54ab375c -5dcc854a1cd638857a74accc6d09e78d -d4e3d62c3c0209c8cd098b3b75e19634 -15d2c0dd9af452045fbbdbd2cdcbb0ff -5dcc854a1cd638857a74accc6d09e78d -b775dcfdb741bd5cc96deee49fb5423c -e089a28d35b63353336004810994fbb0 -c8ccf40ddabf1ee7be7aa233b074b02c -6b41f9fbedc9d02e4dc59862ed3abb00 -db15689b50d5d903b08b5407c641cd2d -b0a7f0808b11555b6ad89f554a74a79c -22405d6ec4ff23c481f49949ea8840d0 -1ae5cbf85095868ff5d44d2209122f5a -2153b78874ba9583943db5502a8136f6 -f66c2be44e0926a62b01a20a9d209c98 -b1e434613a69ee7b8babf789895d1287 -3cb45b19ad8ed9515ecd3551e92f52b5 -84395e79a0a2227ccf37e78f00eaa411 -23fbd8f6c5c1e796a0ae72a4f8e4579d -31b51be76e671fb7b0b8b2760276cbb1 -012de418e304dd8b079cd2ddb8597e2f -af1c2ebdaa520ec09f7a7f06ba77b3de -4be76e7a46043c2bc970757f5099797c -099a819641910ddd56f342a6f41b2ab2 -5c618468be29f887c4ed054310be0021 -4c59a589e2ccc107a54f486ce7020e9e -445d15b9948de5df8655d5af481f7563 -ab81a8466a52e1546dbb8d3f83c3aa04 -91611a2d975b392221ac738a89ebb8c8 -c1b9c3ab98095ac327b434d486a5abef -2bdb665b3ae8f10cf93855a916af96ea -59cff264b4dd61c81559bfb085b24d89 -877fada5093c3f99c5dee6c6df6471b4 -ab81a8466a52e1546dbb8d3f83c3aa04 -c1b9c3ab98095ac327b434d486a5abef -0e1fcb74e77a151ce8c054568f7fc16c -9f16bb66e8f09e56a538720e552c3923 -422019b1990f14515d959ddf9184eeac -762693ab97af57440b8b6523971f3906 -8befe09c395aff472a2209e9b2b8f583 -7c112958d9c5c402aa7a6e341eb94928 -59cff264b4dd61c81559bfb085b24d89 -04ccf83a4a847ee1d33f6a8dbaee7d50 -9afc73fd2a78f01f1e3820ed71cfe43f -b317d2e5355acc24fc8893342a5f55a4 -2d07a7c02df8abe5ed32b96db56ebf24 -b0bc1753dbc8706151853fa01fca8f88 -55fc4069cbbca7e9f0dc2c9fcae99025 -54dc4cc874bb58d645cb1afdfa254155 -4ad4ae81568b2538b74ceb378af5b05b -b0bc1753dbc8706151853fa01fca8f88 -e85c9196d6b371a2a11adb2330bea97c -5a0f9267c013c234fd4062951c696fe5 -42d54058336e9ad591ad59c94ec48c2c -6b4bc47fa89b87c434002c7843c7c558 -ee4b6622c297640a423b5c5c3b6499da -43ca37aaf8bcc67fd1979d3ab7ce7d08 -0e160af3378385dcd4dd60c2b633afdf -472c0d832d082eb88a4ce73e2ce21e76 -1a46fb3722138f0cbbf640c170b0baf5 -1f5104359730d86df25c04bddf22bc31 -9ec215f861ce065eda17612cd5598ac1 -ab8f6ee083997ac143fbbfd78f9af956 -0baa578a9f55740065e1c775ed6dac2a -ad24d79f2ef6f968ca00fe2c3fd28cf1 -8ad716164991b520bd6a0d541dd902bb -687b7d13d324b2a4097fc0876420d26b -bb34a0e9ce3a22056ccebd4243bb8ace -107850f33aaa963bfbc942be37ab962d -bb34a0e9ce3a22056ccebd4243bb8ace -4f5b6d5ecc816bf102f350098a88c147 -24ef7f38848af455fe761958a54e5809 -76feeae2ce4afdc613aac99b367d67e2 -8701698982b96cf5cbd4345610e2064d -18d560d6dcd01f50a0327524fb9e9859 -e269cb16d9b3771cfea37d0af518caf1 -0fd40844e62a9864840bf5fe916cae1c -a362044be0783142b0d7ac1115bd70d3 -2adaf08b820bd8a8a3fc2a4f1623614a -871f3c69e9c79ba8cfc0e2b6733ef22e -6540aeea7f2ef921b5e6a3723a9b4ddd -308d307a45e93d14396c8fd14dd8c4b6 -b5d8d5a550b2e22d039217bfa83a31f9 -2da9bbfbb7c3664e238b33272290500c -11ded315378fc6f01703c8dd491f2680 -6b45b0ccad0d35a8e7965ab5d711db0d -dbd1643c5f3cb522cfa47aac6e1eacc8 -3f0a645ed26ba90e2f2f74205b8022a1 -bdbd93f2b9a0b68838c1610482504c94 -560d8e954e0890b4ab83f24cb929275e -cc8b15186955e04250c30ae4a26827dc -4d7c0464025b8e52d629861376dfbe9c -a9eea967a487bf97178634fbc017ac6d -f95c55f9b3eb8c11aeaf6e37b2147bbb -18e64ecc9c775d2abcbbf3cd7cc8850a -c8bd198e6594e0841fff4f42469fbe9d -e8971a435246428784763e2f0b095860 -da6367fa776e1cac6239b359e092e165 -ca050ef83311267e5858780d75a6367e -c8bd198e6594e0841fff4f42469fbe9d -502bd741a196e87b6b1c2107d2c8715a -e84111326046bf0fe51d3b5d99a9e48e -6d1a66f92d1b9c5ec47686ec7bcbaa8e -af8dd88fc5801aca9a6f934e5a65ea97 -a2a2a32cecfe34b29d80887e7ed261d2 -4911cfbfa9b33276bde78a1ea0c4eb0e -ff6e79219ef7e9bacdd03197ee16535e -cbb0b8ff8ca7256162b698ac45bc97fc -105bcf0ba532516e2d915ba922a16ee1 -ded073f82c49c87063f58a0584bfeebb -d0f3790b06e14e10bcaf933200bdafbb -66570aceaa0bc8b101b732cb6db565cc -b1ad2bd491801bfd5241c76425d82007 -59cff264b4dd61c81559bfb085b24d89 -b3dc060d3abe1af6622b063dcf8d0b32 -f5b6776da5bfa43a6253d95e7fe1381b -fed2d779eb6fad1fbf9e618621974e7d -c4d809c90dea03d30a8a5b5929bfd7e0 -8e0a73b4218ade49461f591cad6a8343 -b6d8e73c2741c5bf5648bcca3d3084f9 -d023c4249e8d9ead4ce19e31c02641b5 -7ed65471b0310d2be544a06fbb8ee972 -f5da0c1b0f00e657057d40e028b5b1c4 -612732f36049f85816e82409578e0686 -59cff264b4dd61c81559bfb085b24d89 -d6a8f455015f3249c37452422ddcc357 -28cd0c9220fb7b6096e34adc4b6527da -a06c70e9fc58a40194e47e8ccc06c652 -51ffaeec25996af22eaa1cc879509bee -f67d58e0566587e9645b05596af05490 -2135174e267bfef42b9d86a762116053 -1d9256a0e65d657da65b854a06e5c546 -15139f5a7bdb5524455046eb747f886e -cfa6e589740a4c7d8dc6f407c8db6259 -ab1f01608cc99c2d5d2655a9fa5204e4 -b54e905a36aabe252335231ed9ef2264 -868591475cfa4c1e912e666ec15baf45 -53273313e02c15e0128b4b58669425cd -4f6b983da6155adc3983438fb869c867 -5fe070fa520cfb29c7a6cce3cacc5317 -451b2ac5604ce911c254bf5780813079 -8e5e78eab314ed2c63b2700123f9975e -3641fffe18d8b1bb66d8e7746971cd99 -b6e928f7622590a94baa5ff88421dd28 -c94d010c0288bf0b2a3dfe7b60ae127b -405c2744be28b6439af04659ba39957d -4ddf8dbd98fbda921f1da6ad929539ae -26c065742d623fe27c872fb975c8da28 -223f4ce10631076a882ea00d448f8303 -8fd3a05d0624e8390d5b20120b8f7483 -27fa06ff91035fa386b236782570d27f -b36a3247151d86826918211182cc2e53 -ef1dc03ff26af1cd19b12480e6e489cc -a042afb34ae612361752c9b44b9e96b4 -b4a7dd2a33150b62dfde0633de988b11 -59cff264b4dd61c81559bfb085b24d89 -c7c1570334bf7e12dfc8f0e773ebfcdc -c4473e09c23677858e080d63d3c34b76 -6f7f20ffab28a29bde52ec9255b6c426 -b9728943b18baf28c2ee89b5f2343c21 -62cf35f1f1b2e7915648431cf9cabb48 -9c059f5b377fcf4ab91f13deaf65615b -15dae25b7f53abb4a729abe58adac755 -414b78401098497744937bedd8e35285 -01a1c0136ea09f0aff683dcc492ff2cd -16eb3e65c7fc117d61ab0c1d0260eca2 -bfdba1f0e06c6db618d7029084b1740f -6eb8ee90af62a180a1d32c3fd7c60fba -405887d93343a9678d67c362b643439d -a33dab8a986727cc63d8bf46b040f682 -7f9b22e4350e9cd1a37949e8822573b7 -7ed65471b0310d2be544a06fbb8ee972 -f5568fa43834a42c28a4cb09405ed124 -c5ef2869e8d658ad4e671804b948b465 -d8b7a67deb97d8f71e85317b01db5aec -6b3e4f5009094b1df7dd6f32fcdc5829 -de47f288bb56116b5294c027cd878402 -9d37e454bdb74cbee3c4f0c8f55396a3 -7d501b3b1215c7d9b390ff857bbff548 -59cff264b4dd61c81559bfb085b24d89 -7659fdb1d98bb8275ece511173f3c8d4 -91ab14fa6a10c3141d3ba155cb13862c -f0712d255ccfb136e4b6c9d77635a782 -0dd1d23d6aa0018dfc6d967e7b2f070b -a1c486e69602f761b0af7e9000ca5df4 -57dbb31becd8fd59ea481f6092f04307 -65f65eb4b56ec72fff37ca92ede1f0a4 -1d1d61a3591d016a4b1eaed5d5f22267 -cfd24ad15b663ebb059329e617aa2623 -c0d8a4c2c2c584b39b1a26f4e32a55eb -701510a2460de626923cccd9aee6c886 -d7807ddf5354a52171bf34aa30b68d64 -f52d4dc37a6170d5fdc2f00e7585120d -52634a74bd9b3186ec704759a0f9487b -7d0d017f6f80b1e6ce34e45fba861be5 -cc16d8ace8b96e526bc4f58230bc3fc9 -d404073d6c6adcaea272524b8bbe1cc5 -5c66032be2789cea559e71552f270f88 -a6e3526944a3007a1189838a51a901e7 -cd1a5d7062140e4ee82e31eb9e7939df -f915e263ea0e78c856aae1ff22e1bab0 -aed91e9693d6a1d30f57c7c592e07bd7 -ad31c588a9faa628263bc799715c68c3 -37aecf56783dbffa678e9ee9a965ede5 -48af058ef8683f72f344119b0818d09d -0aef75bee70f4c297d92e96731beeec2 -4061a439829f2653e586c5998d4c014f -373ba58acf3a649e8d2fed1ef35b81d9 -e7b6671230c9b4114dcc4298ad4ea5d4 -fcd7aad98fd88f6f4972050caa0566fe -9f3d2420b3a7e8464988a2df713da0b3 -2814e663e33d32073407c22ac7c43783 -46ce36d044c0e707109cdec860728972 -72fe93f3d4285992a83ec6d435235d6b -3037808e1ac0b996ad16b508112932ac -e62a3f1204d7dd90dd879bc06f2dab68 -b624132dbf4aff2f56fa0d947ea1dab3 -7d501b3b1215c7d9b390ff857bbff548 -21f103af771896991c1843d3aed3aa02 -e318273c54f2f923e558bd6b35a205dc -50881b1361e517c3e3f77e59be727e29 -e318273c54f2f923e558bd6b35a205dc -9d710ea0fc11cc494ea20bca21553343 -f7f3be068eb22a8c2054f3d9c7ac031e -2c3a36610c915d200e2edebe8d566405 -ef1acf719cf745abecbc87c3accab12b -978d0ade5b6dd02dc8c80d520f8b188e -7d501b3b1215c7d9b390ff857bbff548 -59cff264b4dd61c81559bfb085b24d89 -60dc9c0f61c08dc107707c1279987781 -60dc9c0f61c08dc107707c1279987781 -e2079bb14d5590f74a79111fd1ecb0f8 -a8821db6cc4a87315a314ba03ea03b25 -31826b04db06fabed04e412fa41cff85 -cd54a0d6bd3c78ea705527bc147ffe94 -775fced56b9f85d0273c6378c41f94e7 -0a8447714dd405f1276284ccbea2c151 -a03314d93d81b8f99bfcd3e32999fbd6 -99ea9bf068f094a9569e61b1c4c391e4 -96a351be058e6c30d22f2687d5a605c6 -66ea742d9b7b94c86dff876960211456 -cf6371c420fafac489b558e39f5ce682 -66ea742d9b7b94c86dff876960211456 -f0984cb5c37af737f9e0333de33379fc -3e4ba359005d147821305f83343287eb -59cff264b4dd61c81559bfb085b24d89 -36f005a1140d2ada8706555ed2339507 -612732f36049f85816e82409578e0686 -59cff264b4dd61c81559bfb085b24d89 -7d501b3b1215c7d9b390ff857bbff548 -59cff264b4dd61c81559bfb085b24d89 -7d501b3b1215c7d9b390ff857bbff548 -a49e8a0b7b1a23f9057dd447927fc63e -59cff264b4dd61c81559bfb085b24d89 -66ea742d9b7b94c86dff876960211456 -0299eab1f120869aab22eb9c86abf8f7 -32be70915b53b5fb2f6d5691b4cc209c -3376dc6bf968fa65aa93d663072ae613 -168c2f6acc32dbb99692788e5b908031 -824d2c0395569d26e4d777f903c20eaa -4105a225ef3839e2e6a4ee1edc68fb24 -48945d8c25c11949eb899b728a1c9a10 -fafb607e080128b50418be1075c51422 -2d6c8655d60643fb586f17fbfc19a03f -73dea99a366e4054b119bb3dd437ad57 -ab5c06d6ea6d75ce54603c6f8653ee8c -065dfcf1b4751dd9e8167059ecc57a13 -7a03d8e50e9a99ab8bcefb26772c34ff -3e93a71895297cc70870719602d40bd1 -c3536d7942a78fe0d9188a1bcde15888 -4cbf48e075e2de48e219cbe053140f72 -efc3369c9a3e028f27b01ae80f8d7f78 -5fb9337f5287b5121812bbeb4d73a2a7 -82422fa093dd33575dd458f1926a5bb5 -c2cf81a40d063125625617a0b58098b8 -bc863c30b1ab7f0d0d06077bcfee03fe -7bc42053bd208b0644d113f1e3f8ca9a -425e466c7df99b2e1ec56d9d58fb51d5 -008d6a4f1e37a35626fd50891dce2e3b -64bfb3276fefdebf1ca041e7aa0d9fe8 -a975c067a74debd0deed73c613c183a6 -7f9b22e4350e9cd1a37949e8822573b7 -567d62cf2f49b8a203c6e77317a8c8c5 -7fa0bca7440eae5898eb11bec46194e5 -28730a4874106e3a7b23729159e3f70b -499476cc6b4851f3ecdd8cfdb3a3a876 -4a1fbe377b67cb72a531f325663da043 -0245da947673da3f4092601264e097a4 -a9e5592d4f2fcaa6b2136d253f81036e -4cd8008692e0f0baef710b61f6b44367 -59cff264b4dd61c81559bfb085b24d89 -21e04d0d24e2e97b780af77a710f58ad -918765707af8531d6c22b1b7935bb6e7 -228ee4fb5f3e48d20666570822df2219 -f72cb2c24f1fc13a14a7bdc1e07bc6bf -6e59d70458c041a0ded49353d4739297 -d2ca84eda7d858f62926d6a847119e2f -cc8854f3c95d723dd04bd3fc33746865 -be9ddd32df77428c1297b7e6ae6b8956 -2c5f197878c432491351c1bebfeb9170 -b5b0b177b071f3d4d6da408d701a3145 -a4bf87dd7c6fd1c9526f57efad53a06d -698d361afd95d4a870aa756d940cee32 -32aa8bfaddc441235bb6eaba6d415c2b -1f9f8c929bc550907a4318526145784f -6e88e62277bfdebc46e45185f07a2081 -67b562e7d39c3849822c0d7fc8b0f34d -a0687249907aa3b192b62e04410f8c63 -062f8b63eae1ff133cb158f0277af168 -3531f521aad111d2b10bc32919ff9195 -484811e5496a369f83d5f05383a34820 -cb6416feff3d368a147f4276b3d54dc1 -1de2dcc4774a5cd4ef52b47f3fe13eb2 -2010f0c4863c8dd5a42a06bb285230ed -2aade5bd944da7f2c78800ffa214c9be -19396c133833f864184e9f9e1e9d3b99 -b7b96c6ba7119d7887ff18ea3eb1f3d1 -f926c2ea056494cdf440bdccf107f38b -2de91143848b6f6f66da21bde75c923e -bd848e9e9e2fb4ec7c510e1a790f6a9c -7a64e0fda6bf8e5ae5a8480a538f402f -ac872919c73e9db70b7bbf2b7aca37da -c369d534618ef3b95cb6591ab94474e8 -de3d330ee893fee140face587634b55d -02d4b8bab8bca3e43c727c2c6ae25b8f -aa5df4eeafdceff0969b2a2cebdb3707 -af52b529cf4ef795285fafe479f8bb60 -83d9c63fbe1bf1d52a3ba9d7961a59e6 -6d1dd84581ce5bc6d494384642c3bf0a -011a8c8a0b5de73ead48ff7b666787f1 -d13b163d81bfc3b6d308a957c0af8627 -d3a1e9c9824d69a8f3c2f7bb4e97b97b -3875dbfbd75f4caaad87bae2ded4ff68 -5ff83501972686e88209109cae4663a9 -bb64fa21fed63d14f37f0e75b4a4a6f5 -d13537dea01935d076d81e5da694dc8e -9eeff115e13e9ef7ab048ec21b6fc333 -f99708588acfd0a972d1b8046271ce42 -871998618c428f7f839e47b8635bdca4 -1ed6a172e86cc99849efd21d13316946 -4db7c6bf9fafd7bd8e38eeaa7a71da46 -b8c2ebf459190c44a155846492f87561 -bf5318a3b67696ab3a01082dbe1fd993 -29c36e3fbe08f5cf6d5a632bc61f284c -81733020459952ffd38cba12a291ac14 -048098c4cc3a0143b520dec3d9496845 -11ab5ca2ead636a1f95bc0a1ec6b72ab -cf267b8ebf7a49ce5a1203dc7283f322 -cec0fcadcaeb3567a27a4f1447f9c934 -a13ab532fb335408088cbbd3ca651e1a -2f3d16e3bcf5af7314b4bc7217f2bf03 -7feeccfd102bcdf50f424a6027efbfe2 -c374ab518219c4c0af5f40da8d99f06a -299de66579d38d5e6036707ff0f525ee -f0026b24bf4af24eefb52060171bf168 -a170700428ff22610f00435f3a10c8bc -4859162537d013cd354f7f76741a5674 -e41c3210f414da251f8b41c4e8dfff86 -764bbd371323742c044d05ccf168d549 -6e42907d5d494ac0aa15dc4b3378cc71 -e64dce8e9e0180e0050fa603d2ed0186 -5c157129c91a958236371691ae8ed51a -1f9fab1a50223a5b7f28a3ae09fa5319 -1ac7df44051c17056cef11ea40e060d0 -4633f8eeee0feccdb665e02b31c292b1 -45319ea40ebac220a207452b4561285e -c456aec32c183175bafe2a74429960d7 -03d1f7ba8ab9d59c2d099cbb5f3a5058 -229f9bb05d957246dd2be6e42198dfee -f6ef062be849ea3308ec2d8b98469c7c -d78152ce9693278a7f78fa6dc7a3e48a -9e131e48e03faea2af443cf49f1d43ad -784331bc71c6c669604696d404041a7f -3597293b9d35e6d086d7b4ff0d64697a -e6023100bfe1d6049f7b5e6eb2c4e7be -3dce15498663f9e547b74764a0c68f77 -03aef56cd79ec5ee0fe672a4e806d3a4 -bc1ff683d93f94b42fbcdfbaa2d4a83e -782a2b074b5eaeeefc73a7c7ddd84bc0 -09a21459c4dfccff34624d21e596fd0c -8ab409a24734fe52dc6a5448c6b5f188 -35904b31abd6a91d4fd7f46a93adee3f -9c466a8b7d803c8dfc2f74e1e90dbe34 -21070e8dd2220a5465ea4e0abf2431f1 -ef6b58d66a06b6de5827f76b3ef1714d -3ff9e70388e9d7061d0f7f5a353a40d5 -1e8101d7838219ec97a70d7772f72694 -62d91ff9b4d0967cb368c0e867844993 -222722499963248fa427243d3628b244 -d10e6f4de0163577624e042bc5541b55 -9440417933cd3afa724460ae6ee1cf43 -abfe7ddb6578e4f4ee4ee35c6152df7a -3f71012179b6c38a3a184c1cc5d54bc8 -d06861574f97e93b19b5a7f73ffec31e -ec0e30f3f11ed7f4c2b832939a0039d2 -ad6163d7edf90892793e380d8ea03ecb -269fb9f1dbc7f9ab470d6b658cc3890d -ec0e30f3f11ed7f4c2b832939a0039d2 -269fb9f1dbc7f9ab470d6b658cc3890d -ddb3667aec5bac5dd50b55ea826e7ca0 -1611c356b9dd39b99e3d138d60aa8275 -ad37cd796458a2ce57bb988529dc1d23 -6bf51205ddcaaaa684a193d3389de3ba -b79a88e03d6ff369efa83eb2da250731 -fac2bb2329a56c38d5339faa6c095edf -f275bf232c10ad06b69d31d08dc14ab7 -6e0d69b030a1e4bfda55366ca30f776d -5389a84ebeacf5c28979e932ad7dbce8 -a1a293d0ee7302ab41f780d496793aa9 -6bf51205ddcaaaa684a193d3389de3ba -1a479da953be61f7d44c50bc96d240d3 -f733da98ae48318eed8f448efa3d2bf9 -fac2bb2329a56c38d5339faa6c095edf -d0a162ed6d2c184afd870caa3ec3ea2c -f275bf232c10ad06b69d31d08dc14ab7 -af508bc26bd91fe2f742d64434fd9f8a -6e0d69b030a1e4bfda55366ca30f776d -e9159c1b032c6bf0ff0f9ad2b2f33eb0 -bc97cefe35ca2b881e463c896f58738e -beb94591cfce9f56fdaf538443c054e5 -32134432d8d43b0c5fcf80a6617975a9 -e6b5cb47a64b36a030d04b65456a2999 -6fbaaa40f66eadaf3dc267ec3d5ba0f8 -9beb1d7d1d446b41c86b71cc446b7a27 -9beb1d7d1d446b41c86b71cc446b7a27 -bedd445d7889f3d4c971288fe0a68541 -bedd445d7889f3d4c971288fe0a68541 -bedd445d7889f3d4c971288fe0a68541 -5dea7c9a2746465d7c6d2ee86b621ba0 -72b61fb356cde51c78374553619ae04c -4b6f0048a0e93117fe395385d2adabe0 -9e06ee22bcdf8eaedddb0506f9c22b54 -be036055bc49e51329c0ac70d1fbb440 -90369cf03e3a2f8796f7c4146cf86cbc -9be2977e5521a00dbccc70c4df91ecd0 -392e57f74ccdaaab46c8595888647e55 -b701746a151e7eda0de73eb72a473e84 -74ea9febe1cd2230b9bc2c462acd785c -2dcd404c167a6c7d2df34996765c2a43 -7ee22b5cce7e9a1d88da939a60eb0004 -f6b59ff1ef5d39292d038d2b0b667389 -eb2092373b83e2f343a8c6e6a9c7e062 -eb2092373b83e2f343a8c6e6a9c7e062 -cea59bad24a61deaa44180fdebdf7860 -2e7a7f9c7cec469ceea1912ee5f71cc0 -527674d9076f177a30a58f0651b63391 -e3a700f2829bc60a5de385e50e0e21c8 -e3a700f2829bc60a5de385e50e0e21c8 -e3a700f2829bc60a5de385e50e0e21c8 -7975c72dbf836cbcd3b96887c754cf86 -8d6766fdb9e76f24aba0a3bf01e06fd4 -de684c0b7f30cb87b1af000875678998 -388cbe1f3fb4feff2d187aa61ef7e4f0 -c16b55e31b7566ecfb1183dabbd4ec28 -85e005bf9926ef04415158428792b10c -388cbe1f3fb4feff2d187aa61ef7e4f0 -c16b55e31b7566ecfb1183dabbd4ec28 -e8e0c3151e82c4f498596dffc0eedd44 -a3f55a8ab654325bd9b8f89de21035c4 -0ba6930d34b8843736df35c8f87b7caf -4f2703106faf040df01fe3721016de58 -0b81ded426f6d2e6ae936383e4c90467 -09f9643e73cf11662f228dad7f9d1676 -66f1d31362621062db2de27013435dc3 -d24911e0f076f2f728cd065dda04d12e -0ab2b5e98f865c72c0ae3c7d29049c00 -35bb39b432d451dd90011b926c88b46a -6fcf24280aaa1fc594ea2277b628b3fd -35e3cb2f546eedf759a823b6b6e83efc -991a2e9c8ffa9cade6b5bb90ed8d6190 -aa9b17b17cc07cd22c7f2c932e138ea2 -f524c7435c8ba61a2850f0c2ee69a5a6 -f9936982e049acfd7c2ad8f529eb9f47 -8135cd64df9c04986bc28317ab1c3fd6 -b5f81a9ed059278ad56acc78314ae6a2 -5ae77a496c3ea403e751d797c437fc16 -8308ba403922aa273ba13596a0728383 -84b477ab4907cc69544b6de9e4724999 -6afc7c4557ba1f4c6340df58a3c4b678 -0a5d5ebe92c9ce66d59d5d31f46fa0f0 -129eabfbb151cda8a8c5ed12eb3395fb -03995f5cd4a6c597a0db8848d17bbd45 -741b6e51eb7d5ee865f653539add4e5b -c3daf81465c41d9bea77c2faa08caa48 -9921e8df084d839557cd73eee4291aa7 -9cac9fdd2cb5ff6610185c1b0e1fdc1e -c82393a301fb725af3f9d5381cea03cd -71aab1e25ddf5eebb6c7d799b53e23fa -752f1952b514c305f153d6288f84523c -98e12745130ae71079a5332ed9fb5576 -fde1f13d99ee724e653b0a49762765ef -6efc8e4814020979b66152047703c307 -7d4dd1b338e3797664e8928e3c701f6e -7d4dd1b338e3797664e8928e3c701f6e -7d4dd1b338e3797664e8928e3c701f6e -c1678753392d58845dfe7326eb060ed6 -5294421ca0f8b5bec79fbfed8630d755 -148f5453a0a56a497665e6d9b2d9495e -5245f2871c0737c513599b4c330c1c77 -6a4a4c33d783bded1b2cefa3c2fcdf40 -7c2178327aa56b6ef7c9a14506ed57c7 -c6fba9c690b1ac6a2841675761abf038 -70ef2fb82705f6acee3826cfc48fb2a9 -d6e6b3de78af41baedb4d63a5a6721bf -462256b5a7a1839d13e31e4bf79abe55 -2cc15bc66d1ee67ed2a0bc3f3381953e -d89bf42587a2ea0474adb3c0abd34364 -66b8e5db40eeb0aafac5cfbc058e8c21 -2ad843a4a6c5c6804d65da706b5f96f3 -089fcdc3980849ecc031ba04c2feb133 -511f36f45a823b83dd6b3e169fd89252 -25314e3387fbddd6d950a2b1ffc4d14f -80651ed7c854706b3164787ac457ab7d -918ef5570475637859039c029e791c69 -3655176ad980d4aa2c35526bfe8a62ba -93cc6efea1dff323afd1ec7f131607f0 -6c840c6bd007933b706fef91fa74be0b -8dd1b7adc96dabc7ef91207acae0eb67 -833a2d7f5fb28bbc5f022cca3611dfd8 -c86494e5da78a1f28f15fc6a7f90aca7 -3337ae0df23c32b267928256ddc0d8de -7be6a412a518a9d23312892a1daf475c -7be6a412a518a9d23312892a1daf475c -4970eae6ccdfee28879ab885823940f7 -13880ad210bf852876625219b1347119 -bec078cac15d64ac4ad21b77d34cd36d -bec078cac15d64ac4ad21b77d34cd36d -15312233cd6e2298cb3f61fea308337a -15312233cd6e2298cb3f61fea308337a -3e55e51d07ff2ebb8d0c1ef0f642de51 -749f379547a27285a1882cff53b77b10 -3aec5042fff6b59a04acf8874d827720 -4ce846e20de2f13f5a823b4c74d9542a -6ec2117051e27edc28fcd858d7ca6b88 -d4f0f859b1adce5af40b78da1e7d55ec -3376e609a4f79c442802c18aff364ac5 -879efe51268bf615cf42f34c5a1955ec -118123f0f330e73d5c7a103dc32666f9 -bb50b7d3bd5f2970ee7e23a5a96a6c9a -80387d2215a8c53acece0c1bc96b02ac -f8172bc38baf256563378dee23d150ce -a2239307a7298385fb90eec099a03cc8 -5604a3ecebff250b964805dc8863aec1 -b17f645b3f0e0f8d149979a0a77e896a -eedffd78727cfa91e2937b19b0c87818 -d838c43588db7148d50dc3c1696f70ed -8674a506145bb1e52051e69bfe66a73d -acb608157775ae0f128c03a8946b916f -624ce4e77c991388842d017b92c1a2bd -37ae0c86d3f71c75949bfbc9a952fd05 -d3bc438d87b6c2f27853449ffe605536 -e4a1e8ccccf6504f8e137133e27faaed -0d74d833db3c7493b301f7e962a8c493 -2b2a26d90c972d7955ccef4d75a070fc -06f8d7d3144c466cef0879b5a80b9322 -402ddbd6cda0841cf505c43313f5d80d -63224cdfd3732db123d6b287d9b3bff2 -b7d02786bf8c66d134ea4c36815ce94c -2a805d269aea14fe9ec08be65213009c -a6777c7fc9d20c423dc68e8493f2c23e -f589f96cc71dc5177ca973cf2cc12e76 -005368f144a7c455548e6a0544963e7f -f61fed0ee3d770b40c1280bf951ed81a -8f7298a65df55e94b9ef5202afb5cdbd -7c86c442be994dd8f96621dcd475c6d8 -761368fc08f568c8e7ea2dc209ee0337 -b9aa00f116aaa48b8c4415253890fd5a -30b0aed21c6283dbce078e34d0071a33 -8382ffee0e169313eb5f792c108cefa2 -b7811365774c0fe51e1ecc4f4621284c -35d15d651a47fefdf485d9f503bfbde4 -8674a506145bb1e52051e69bfe66a73d -534db8aa392ce66af6d5d6e902f88fd6 -2aa4a3b7410f15b9c15ec93c455a5c5c -81daa2a61f3467d5ad98f289b061e120 -8674a506145bb1e52051e69bfe66a73d -b5d1476654ee077596753925965373f0 -3d39dbb7dbf724e40f1084975421aa2a -b672f261f8b59e099b68e79583009b31 -4bef059fa69075229af47618874f6e53 -e4fe656981ab2b2e603cb614ef26b0a9 -3dd2ca4b951cc8efcc6d9a6799aa022a -3854bc72fd5a2992cf2c8013725583b3 -f9fcbca44b8435eb66acd5d7a4a75524 -908d459ff0beba01dced4139235f6bd2 -3db82108660821ebd297db1e6cc7ecc8 -b020e80073f7fa42735b29525bbf7aac -fdd54187ea6b0835e342a11b5dbdbde5 -4bf8f798d747c4b74827018b9e4dd10b -4a2101309fada8cda048b40c2e1e0e04 -f2e86587a0aeb209a1813446bac549da -02264ad5906b11efb53cd6330f6489dc -98757ceabc91f8c108b150374eeb7101 -1866ff9da50cb0867afbd61452676ef5 -504bb3752dc6780a8b07acc82153b4ff -6bb9a76b464eec52265f1dedd235fafd -37ae0c86d3f71c75949bfbc9a952fd05 -9d23dc469973a1da284d46875e53b95e -8a3b7c3224fe6f8aa2105f4bd952232f -35cd929d1a9e389a46ff987f88643ccd -8302aeada90095e7f6ba670661cf5c03 -37ae0c86d3f71c75949bfbc9a952fd05 -2a63b99df8c631df2f90a794f07fc942 -72b7d6bed40e3671cafb5431f6552f4e -f1ce949cd97414a1a172a032622bff32 -4e5c773b5e90a605ed33be632f133006 -baa5dc0861b00eafcb01215f840d3065 -d078c9436400d3a09058c639a28b743e -50837fcbf15760cb7807f7fa882334b0 -8a3b7c3224fe6f8aa2105f4bd952232f -b10bbaac29b05a7bdb251df580394f35 -4100f9e080a646b5b0f0ea5c38dfb35e -b5946077f2abe2cf3db7eeebe9074f51 -1adfbab0c181cdea227cb0efd1ac1295 -7e87dbc41f0fa338255cc3230a0b31d4 -91570e8d85964ca3d15594a7d66c0d68 -d1e8d8b032c9dc3832e340e8e7524d06 -1d59ba447912fa856a67ed63581a5f07 -3cc47b853acbdebdbd5167cab55c2a4e -33056a7025d68bfa0d1d333a9e3aa5b1 -6dda1c2d54670a3680a3f689b3013654 -9c7e8b113e4d18659fdcdac5fa07cd25 -d5e645e21991b116f771f21c5b88d1ab -2bb03c31549b7bd5879c85c74489af84 -3cc47b853acbdebdbd5167cab55c2a4e -8943593e7f87928cdce71e2b970aadff -0b99b652d3d2661ef2f506b75042b8fc -ec59bf4af0970ed0c3fcbbec32bee133 -82bdca5a314f06e11369dc3de5461038 -8a3b7c3224fe6f8aa2105f4bd952232f -d4f05f3b3765874383c6b2cac3c3bc6c -8651099245e03ca39a1e796e13f52d49 -a63e6f4a307ce7bd2f85f64916f98ab6 -a44325791a099c8c4cd892d2789f0055 -d5e645e21991b116f771f21c5b88d1ab -5009b1addeda9ee64bc31c5ea7511703 -bee00769ded97a095ea024656e6b36ab -be476aaf15822e6ee1fbf1455120d0cd -3e6553228b29cbbe71d3a72d4859ed5c -c255a41597e50cb37111c15b58015b5d -80787e5e23a175c16438cd47a8af345c -cf3b332b5730594ea4f917d7adc9f829 -2b45eb69e852cce7ae5f3ac4f1d8e887 -2bb03c31549b7bd5879c85c74489af84 -3cc47b853acbdebdbd5167cab55c2a4e -8943593e7f87928cdce71e2b970aadff -8c305a8d8c7e9009f6b613b4bacc837e -79b938fbfef0200879326832674184ba -b01370b3594dbd1d52c2a14993d152c6 -17010b051f7dac9b545c192df33a4124 -65410cdc7199c5e0a28b909f5b906d48 -cb0df13559481f8a54b01c34c4e48303 -bdc9e513cf55bc831a5596ebfe6f145f -1074fe8008c35f2a6816653fb8e076d6 -b3ec7ee8661bc6c45571a2612a12a69d -5bd28e21b9e35b299f1a8f17c860fe15 -09ba010f80df252512bd1b7e245cb78e -27cdcf57dcf97c62e87446efe37dfdf1 -4528340337e2cff5be9d1e1a638e2012 -1ecb4236877c1b96921c8376615e949d -fb396aaa69605d81c663e3724828d8de -2729e1f2304718eebb0761b6cec53add -5f2837d8856bc69bcd70915254c50a3b -50604d95c4d7e862e8ad4cc11fa42f62 -f9e7ed2e6574952220f9cf6265c409a2 -63ce0cf35f38977ebdef9de5a032692b -504bb3752dc6780a8b07acc82153b4ff -0af22d3d04adb719a1eca15cf4551d15 -bd51194349aa9d023e49c0e59293c205 -9ef33af18ef875ea5d0045d727a67cb8 -7f621d04a735f1f5af140c67da9c4216 -16b75c12ad715445de8ea8d0e62ffd6c -982f61e4d8ea65cf1d0e93944b2bd668 -d8b4959627d4e4224a14f2b85bcb1983 -17536c0cd440e30aa7dc1edc5b7302d8 -fadd9e3d97fbcfe6221e5304e21fdf5d -6a6595bf372d51fdc926682cdfb68ac6 -6c1e5a050e2ef10227a912108f421b93 -b77843fe76d672742598c6e0a3ac5aed -2f51760d65fbb139e57ade1a6bcf80e2 -352c311d87f39b1502524c3975390021 -8a3b7c3224fe6f8aa2105f4bd952232f -31cbbb316c64e8c10e3214e9f1ca854d -605ef43cd4a51eaabce4269198de9ddf -d45106d63df4b5c61f59f1c01db90628 -0f71b9ff04475806a36ca544c7a4c7a8 -38692963bb1f256d7ec0c16a17b3fbb2 -a14884e1e7185fd673a75247424fe1e3 -b237266ca4c12de6cd1b8c094f54747e -54688fc9b5da3c9629e4a3c03097b4c0 -8a3b7c3224fe6f8aa2105f4bd952232f -52339145c1358f2c3daa0ef8db0a3d1f -e70c0246970bd79d9bef2de0523bc329 -de338a56f27dbec5378918ad5b745682 -f45026c0eac2ef68a6328e6a0dd666df -0496033e6ea598b2ecbc2fd180a4922f -70c9aafed120d7d2f5e4f375409e00d8 -30179b546ae33f091091d57bb5a265c6 -460e83bd0c97e6ba08222bd1666d12a2 -10523723c0e5dad94bf2c99ea7be7101 -4903d45b6e375c5120309adbdc787a26 -97255380c158580d049693cce8bbb6f1 -bdc0af7c975e638aeb2ddc5ed455847e -8e02b41f1025443d32388f6f121d4a51 -d439aeba76a993d7ef9cf6059df5fae0 -5af3d73319813bed7a91d3cde9c9a953 -41bb0b187b2c96c611185617522d35e4 -41bb0b187b2c96c611185617522d35e4 -243a1397d57c5454a6a8705a629d8811 -6d22eb1eb48ccbdb809169feaee11217 -5e53d1825ed5f86f8d614c0b85918707 -faa061ff8d6f9fbea81215218e4e09c4 -61a3820d0cc13af70a6576bbe303cb04 -8a3b7c3224fe6f8aa2105f4bd952232f -b18819d4fbfc7d270929de753f03f0ad -e02c0a320accb71a198caa7597d2481f -215b091ae464570c0688b40249c804a7 -13513f057db143624a86ab6bcad6aa0d -deb42ccf024b5ba802b1829ad72ad584 -31d64f4e104a52eca23df11b67b1241a -1cd8bea48300a4eb26050785d39cf3e8 -ee4159d5a1585991c57a01225a9b45ef -a029414c0b9f58d7479398415165f400 -e567ac766689bc7f608b23c17852827d -56025658f2172aed1a3b7fb77a0fb042 -a4ed805f7aa037e85b7fcfcdba7ccca5 -d4d933124d393077b43ceb340b0610de -3c1a70019d141192bbd08b51a4aed176 -352c311d87f39b1502524c3975390021 -422e4fa4725f13f5f33eb2ca4bf7aa3a -046027bf3c4def04b69fa0174ff6c765 -556e4df342c0931832da7c100af266cd -bdd164dae2b93af0d28bacf83cadbdd5 -cb67a35c8562ad248720136789dde80c -d89d0768efee4538b638b79b80e16214 -6a460a374a441ba6927ad7d74c75fad1 -64199d5776e3c6a1a16e8f75a2c7c7ed -e57cb3134d339fb6f67779e7e81258fd -e9da8505e9f64c1436dc38acc0eb42e7 -8a3b7c3224fe6f8aa2105f4bd952232f -62b390d23ff0b3d65225f9d036f56d43 -63e526ccbf3899ea5eb75262fbc82b00 -8adb70f0b5011463d2d332d10b84f05b -dfc221d21f5139d321afc48488aa7636 -c180cdaae0011e3febf0eb4dc949240c -0822ccf2ea129a5fabbb06c31b52cfe5 -65f31a51a1a69461d22feb9fb10b8479 -3f1a9479fd0189f61e48b811a7b010fd -4b89773cea56eae9d4f34dfd8a8fad3b -74f44699f9849ab9a0a1578fc39ca175 -6414734d0a09acf11c8aa8939b6480ca -7cb84570cb8909876db6e5786234bbb3 -2f10263e805afaf4a400a9be356c5fdf -64199d5776e3c6a1a16e8f75a2c7c7ed -30af7b5bfcd15ae548af3eaad78cc002 -6a460a374a441ba6927ad7d74c75fad1 -6c91de973c5aa1bd7c3b642be2752e39 -97c536f39fbf2c98cd5d4a3ad5ef5f49 -e6c44a9e2faa196a61e883c23aebc233 -b237266ca4c12de6cd1b8c094f54747e -5314a8edbfe46c4cce9a6b29ac6eef09 -837196a9ad78841b2ad60e6f98c1aa84 -3dc517244e6c301423311d91e8dcd13c -8199b0f085fdd41f178fbce752e3074a -752e96e4e423fc6b9807170bb4f30021 -9b74b5134c7c4cf3cbc5232886bcda69 -af1cc8aa1d873369a0c9d9b5edb54cf5 -b003f8a7d10b142b606ae46ecfd87280 -f0e6bba682f7c3c0ac5c10438b1e8cba -19f9741100d0c982bea4c9d28a244016 -7862c2da2e9b250fc2524ea8f9b956c4 -10abccc450ffefce780c12a55c400f38 -3fdb5836bf59940b0a2e294831d1d603 -89743e142a239cbb4df264574168952b -872dc95f945fe786eefdc659680d5903 -47bbc1b87cfd0936a82ab624e95fbc23 -b8c3e31bd02f9e5112545960c08f6cec -aca6138aa3e30e47a88a7beb5ecc7099 -2bb03c31549b7bd5879c85c74489af84 -8791f2456f3dd04947d29720a7e558a1 -b448e2f759f54ec45f959b6293dc2f81 -b448e2f759f54ec45f959b6293dc2f81 -b448e2f759f54ec45f959b6293dc2f81 -0ff56ca13ad57a6807720736196996b0 -330b9e32caa10669ede129a6ee032e32 -4df816c4abda3db017ea387d3befa005 -069427d1e9260f85806490224a2b75c3 -6874aaca2e15c0fb8c831cabeccd4e25 -92a1144ea38eb003ed7bd900ee50f5f4 -42531bfd08628aacb283e0c8aec46707 -6b95089cc70eceac37611b80242ef5d5 -4a46642890cdc1fd05434301f0952499 -6f600dd84e1f05b1478523d9dd627021 -e8579cd33f61313756663e75082eab31 -a3ae5c47bea0ddef4fdb5c56a18942c2 -e6f03babe57a6209b76b27d5355e8987 -c67b901f3df73bb804db50df8de9f659 -6162140c7e601c0af9f05bbd5f9d36a1 -a5c646a82ee937c424e3d60e3c4e8c54 -10f3be3dff37f40076ff1d2bc410bf25 -5049ea71f58712055acad52a6e4bd7ed -014e62635d78fa40256b1c36a0a086eb -848916c1e29083843a6a6ce8ec42e7af -0d10dabc1b333df0b5542be4a9389af9 -7ea6e149b5b1bf6e0bf567b3f53c201d -0d10dabc1b333df0b5542be4a9389af9 -7ea6e149b5b1bf6e0bf567b3f53c201d -e91a62771ce75456f3ee759601510bca -30a4d2010f5e2e3ba200264df60c3cd8 -03ca44b0a5a072fd2382157bf71e0f6c -7584c85a6a6518c088934129acc2a175 -bd8851bd7483b41635e2ecd19982983a -1af54e0801c44102bba834c237194824 -36fa514163c73406c944a285286b3114 -f4440f61e0886846ee5d0c9a9ef2af66 -6ce1af48e38b88ae023e2a4f73ba094c -1d4e66e553a03c934c941bddde16ad99 -5f66da778d1fc456e64f10c666a8bedd -6067fcbe45f1020420d5347aa0b8f281 -156413a83c47bb8956cc9a19ae274991 -c6933ab7eb44f2d580731dc0bcc034e9 -552d0aad61cbbd05d6fec75963d7be87 -27fa02b50d793f432cc16f3cba47edd4 -bd8b3ba6fd01aa9fa62937ffa03603d4 -09c591606d905c0b4df7b9d4156ced6b -c11c795d3dafe838bdbd54adf50899c0 -552d0aad61cbbd05d6fec75963d7be87 -adc90487391b26b880c00a1eddffdbd9 -0233671bc31c0611df5e7c327120179e -d35cc063a357b1d7ebafb2f79c06cafb -552d0aad61cbbd05d6fec75963d7be87 -a0fdfdd2b66384b631fb8ecbec4588db -70ab2c5ded6f3c090513fbe98b1beee8 -213a651741ca304f565533b743dc8c2a -a7a4990824c5d9b5beed0fb605b86480 -75ca6a62f27f67c246f00e845f77a99d -8c9acda76411d0114f0b906e1b3537b2 -2ca0c1e7efb29cbf666264488f72c173 -552d0aad61cbbd05d6fec75963d7be87 -686b7cd34872a38fd32fff7cce24eb87 -55d6ac00639f8310a1b6a86830141dff -a2943bfb9dca4d19369b3836aa36b088 -354feb33868a27532f87b5730eec1756 -d4f4a4096140c9437a1c40505a3bd153 -5220f473089851f0c96508297eed68b4 -d25692dd76e4bfae4fd8c3947c398369 -1677d89405cef10bb6f12a5ff06b8558 -8b3b59d5842f8090fd0e948ff1c1babc -4629e51253f776eded84d4a5ba837752 -7bbd73665534a49154cbc8cce67f5095 -d30a88c1a0d2b290d18e6bd0e8e1f8b6 -82a97f35a5246416178bc66d8526eb44 -cca4602346f34da62eab988613f1e078 -2e69e1c9bd749b12eb30e560e52a6c12 -25fe36946beca9f54fb6530a12b25287 -cb8db3ea66aca4f7915e15c0dc9a36bb -eccca01b33d0f18ec2c8af8f2df8105f -81e8891119563946a8d5864ba6dec138 -217c672a30ba5df4b83d33ff848ee4ba -fc485ec304683f1e403f0d512ec0fb8c -e4bfdcb15c2f33f65c75304bbe788f30 -039cae25b51dfd19511484fc4f6f6636 -0624d0de96ded6b12f9e5aecb5194cd9 -445e535ef549336dbd1fb93129fcf110 -93bf3faee4269bc6d34cd138eea5f15d -460f72fac2872beeff2eee50f6760dec -af0b5147937acf40cef85791d488089d -fa43b7fcc8b33f42c760c3f23e87e20c -a839577f7139749e60168fa1fde3565f -911e0f37c099a7c2e4d3f4ed822c7ba6 -1b411bba88d2485c2ebd38c27e154fdd -e10d7fa59b6fd3b9c4d580e1de92b280 -27d71db24a5e43ed396539088bdf69d0 -5ecea1d6f693e724bb9d9a3a29e05942 -bfbe3a55950486872e4f774d067b06a2 -acdf8ab27c44145dfdcf0e8ce06180e8 -af3d8a20d91a2d4435b3dc1d37a7657c -c72aebe804044b41452a6f6a1ba039a0 -a6fb3003ba5ad8b51cffb887242f47af -06ad88f6b920d528ccf3c42fd335e863 -87adebd2fde5b31ad26cad9633356e47 -c5cf1435c6b94b78892a09aa1882420d -7f2aac65f9db06ae4d0f1d07b795ae8d -c1ccada7dc9649dd890fd1cb804f0891 -84cb3ab9c52a284aa378a4211600d273 -533ad3cfddbbd9297216dbd83276213d -7399fbcc03a66cd3f45bcd21d5b0fc56 -904304b265fd1681f2b64c7e41b7494f -aca9881f02ee203619c676d81c8ccc57 -d9e200a972af3c3640dcb05db591728d -aca9881f02ee203619c676d81c8ccc57 -88fb5c90a5e2cdfefdea117240092575 -1462b8cf7778dab37abfca1e9c48d3ad -6a5c6e868a7988f93fc3738b71042a32 -28459ebe27fce6051d76cb117261c484 -e232d6f53c0a48ebac84dbe6f00b05be -e232d6f53c0a48ebac84dbe6f00b05be -1462b8cf7778dab37abfca1e9c48d3ad -bf2e3e1c4b38923951310e14d0894bf6 -e232d6f53c0a48ebac84dbe6f00b05be -1923e0052f14a9b464d403ace2436ca9 -2d498c441474165923071880fadf228a -28459ebe27fce6051d76cb117261c484 -8c912371f225f4f922f398c13176cc10 -28459ebe27fce6051d76cb117261c484 -1462b8cf7778dab37abfca1e9c48d3ad -28459ebe27fce6051d76cb117261c484 -fc07a4b7af5574d7d0f8b143dbebcf46 -227898181b67cbed648e28cffc3e8325 -33d79533f11a7204ceb4773697a63614 -f9cbb6c161e07b0b0f3b967e22c2456a -2cccf1f0da3a03e62d8313fed1e0b7ec -3e9e8c14ba445ad9be67ae5816eb4ad4 -72dc8e2ba4dff995a4b49e32beaf4324 -bc140cac7e7fb47055eeef613c45b7dd -afe72556c455ada1e67bc045348e9e28 -d32e71ae39de412d3a1a4c7da8df6477 -1a3cd9d6c06eb382ee43440c262fae99 -3eb1abcfb97c1dd0eb7d1a3a6ea8aca1 -cee9defb69e438e7eb55a1c57dbb6992 -2da9aadf2c11152b109fc934379966c4 -d5c70eea102a348316bc8ac7ecafef01 -1d47e03d6f13cc1ff579a1aed3007d97 -825dabaa957a5268736671caaa10ec07 -825dabaa957a5268736671caaa10ec07 -825dabaa957a5268736671caaa10ec07 -dcc34ab98a28f5ef7758345e0616f125 -03684998c76ba6e028d89dcd45083d4e -5008b8bfb758abd325270c162c498c41 -01a53b9de4767d6f3aa07d793fc05fa5 -8401bc19166329d4cd49c11a6b5bd6ac -df9522f24a0c8c47af1d82ce5d6db73d -95243fea1554cbbec6d601c8c116d260 -2e9617f36906f31f47578b1b71db1e4f -446ab83c48e0175b157ee60eca60ac53 -20bc2eb63c8c35a9837949a983ef1945 -1c46ad874b6bee533e0ef77a087ab217 -46443768b8ff981317ab67b5d42e1605 -04c788c04efbdf8f8cd3ce8fbcbfbb38 -ea1f64e99db2fe4a6705a8ba1b1e66fa -30de7d7e3c1648f894fb1103bcf8c2ac -ea4364917e066e5fdf28e719cc89d2e4 -da705230370ea4671b81a2377cb681c7 -b0232bef93460f285a26d4ebc5434cba -094e3adb9c20a37b413bc43ce24348b2 -22013109d5ceb3f9919bb5d7f82ccd5e -07f01bac2bd6c6134e88be879797bdb7 -4f6f7d250c126718c655fb0088047d69 -a8527a10c34dcc0509b6e4f7ccb3f959 -0faf34ec243ba594f01dcd3b34a23625 -1f850c626cb7cf1084a8e36655040f29 -a227d41f3d4dad8668b30b267240ddfd -ef1d5ba03a8023b730e4b7e94c71e882 -19b49e6312ae7564d1bc2c97b673b99d -453db16340b4ac1f93db6889923821a7 -567dd03e4d859c9ab54e332a4bde8141 -d917d87845686b30faf4cdb4d0c9b70f -abd99309614d38d35a2e5605cb40e9df -704ede0be1ecffea27812edefa7dcd26 -10d9b8bac58b9ff7f6ed074774d5a6a5 -abe951d12e8db86929cd8044f886a00a -5610c943d76a8f1d9ba9e1c960aa1089 -91ef2ca18e9d1f45ccf65be2aba03319 -5290030c41a87473a741cab0b099e4df -6f9b8e36b802c02c9542cf4c500187e5 -ccdd1c47151f64539e1757a210ed6b3b -4cb7350e9a2a935c809c7c506547bc07 -758fa260612f51d26c43c96be140118a -490d5390f781cbff00456718312c195e -63b9568c4be3cb629859430277ca6bbb -538e650e9357273f3b026f9a8e2d7fe9 -83280892919f63e4b065e3590f6f4dd9 -eb2b0baa5111c8c0169f8f7a101108a4 -fc65b6a05bd64e177f6ca13d8b451ee6 -d747286e64172e0e61592e4d4c2d2ff3 -af52b44d11a0bc887a5a9bc6ae84eefd -8e61e617c1292b458a79497f4d96e537 -315687d19d03892d47d73c24d2b47bcc -e76c14b735643fa8343ca69fd7b453ca -97d5cce02026d7f704c5ea11077b8ab6 -add34a902a4578504e3df5b1f41b336a -719b75419ef25941fac08e28ceb14bd7 -d5225dc61cb66b9af7958ea4a613a5ae -86988425944985bd1674fcf725f60cce -2f71ec50989605513ba9b41a43d47116 -b0d289c44f2aae6dadbc275ab0b35b42 -b827cd1ebe5bad51ede3650b3685070e -dbe1682868b491d81b96cca972e276fa -3157f9e2842fba1a1ed97acf2da6bf6f -fa13c7a76b517932d222384afec24aa6 -5346d0b939f59c419e5418e5e3b131a7 -9afa3ca2dcaeb7a54137ca2ca3f28722 -2346e024c9f177e66f6976fbbff38f37 -e05678bcc1a8a46a56d4f1893fb32c3d -682720ef52a52e4e622b6a56f055bcd8 -d65224b0160fbf2f582758f3fdf78c9d -5d462c3129a3e7c5371dc094fa7e1cdc -7377a191cec9340d9e65b9113f00c723 -7ed870caade8db5f2008dd8fe3fe6325 -7db2e865e9c0e391eaf03bc67dc47a64 -1282953f4d6c0dc21c86eac205d4401f -34f9ab6b2a9b62d5bc68eabf30c0e554 -2826d93b062cffb7cb1375335ed7243b -1a5047a60fd3a45273bcbae4c8c8d2be -8442b399539cef078a44c10a92b5ed81 -21d88a2c057c4230351a5e927be8b930 -f43fb311df9b909314845127e1d3bcd1 -2573c616e297214ea36fd5f4d46ba609 -a318ac95b1c07d53d4dac8f551b77986 -b4df9ec5a35049e9239251222f15bf62 -476e192f694d2b8e1b93f3af764b664d -51cb2f15b028b4359df011e143d21f61 -63bff52ba45c190ced478a9927a6f0d6 -c73ea7ddd0c18cedd8579c5844bb2a40 -15f01b6dd7ae5e6fa84fe1980dcabd14 -322627c8acd044463824d77d00e24799 -d98fa277e05b5577e90cfed7c00a6300 -aa384cfa336599efab5cc1c4abb6a4d3 -fdd1c3096b9e3e3c38b887df95802004 -9182f74440d9d3614ca84675ed242054 -e6503bfd2e22515a861d7918eab332e4 -aa384cfa336599efab5cc1c4abb6a4d3 -ed2d9b93dc04fc3b1cab6b21afc8f54f -14ade1aa99147966d030f08acbe9fcf8 -b253843c12768b11544359b41c176558 -34fcc8a2e4200f630e7b270fc03a21fc -a01c1d40cb9e0852ff1c3a6d3d42e72c -eeb9d09a74a3cbc7dfee6d9ec981031c -e31129007cb7abb66aa57f1b51a4570d -4c7563bebf037b45a6d304f369694193 -8234206252d99621f5b9a58158fcca30 -738dafb2ef00fec5b7764a05e42e654c -95c4676d8fa72c6decc4177d74b890a9 -1969ba928f81ad54bbaf6a104c13e62e -2fb7956c79f2d1ea43d9d0d2efda5191 -b5e7848a258308972da3d5e964360daa -9e3892ec655450c63d2cdd26fa456b37 -297fd7352507371c2eddd696d8251624 -e206ce04d67dc3dc014cc48c9cfc908e -782f9a4c9da788e0da26e6a5a1d456ba -8b2c031d695f6261e21e6ca8874f65fb -5d7939901c5132ce381da00001e2fdb0 -1c38993e3287c3b0d21ced50fd917ab8 -8bd863d095fca0ce5d2e18788b23023f -12834724d5ebab8faca18b11a99594cd -27ce5be678f15d06e4bfcb115953cd3e -38426d80bb1a1796339aad943e909eb8 -50ca09fa48a6b37ea57c00ae792046fc -ab4314d178c384ece4eefc2ad927bf14 -ab4314d178c384ece4eefc2ad927bf14 -2d032a58fd399ffb76f9b83bbd004b6f -32f7faddc0946ab277b647ebe5ad86ff -8e0113c1f7866162b60adeb54def4f9c -03f9273ad8b3cc6a900c9fb641c8277e -eab826bfd13dd4e531bd53dc7adf2dc7 -25f8d5b9b288371bffba5b6290bacf4e -6b4250db34f97f2871ff4c493ae52d7f -a62f6ff213d00bda680562eea8682cb7 -81255f2556495541b9dae7f72163d94c -41a5c6d9506e33a7096899f58063e5b6 -4a05efd2fbcf68f841f352ed51108b5d -ed3842cb2d367895ad53f068b0c098d0 -379a0d6f38185d7177a24b18254c44c1 -e32412d7a2441947b45fc6503cdfad26 -a8feba9b413152ddb444c3e81fc175ca -e32412d7a2441947b45fc6503cdfad26 -854256e69df93b1cc8e4dbfdaef5812d -d214c1a5f73061381cb717eccc3c8338 -e32412d7a2441947b45fc6503cdfad26 -bf29e071fa5f15fe08026df7bcd80b6e -538c0776ca1cc1a5631439b7e42d17f5 -3529128443f68ce8089c121e190de72c -0aac02475bc06defe03653864b5e7b0e -16f117102297a1b510f8922b8d6e010d -e66fa70a3d49276e4f3fcd1abeb014a2 -94fdefecf95af01f2fe7461b79330fe5 -32976e078392ef30f58af673ba9ad7de -13469a5ef285c27963743c6394985166 -7926f1dce89c06e82454538ba1a83048 -e3cd9168933e42b950cf6b81d539afd6 -0452e055c1b7fefb73a4049797f98d87 -7a7c49d3ce3c98326d9bc1cad1f6f834 -31ff3e9b6b118434222edcecb2946d96 -ae28a734edb1618be36660fa085e34a8 -56f19b3b6e2e15de7558e428d40bd8f6 -9f63f752dc2415d115c9212a96c2cea3 -588023dd71e4ce9b7560785fd7c41c59 -413755d9196c2fb853183b596d3f9ef5 -0cf951915c323583c1cce1c8c3da065d -c6da536170ba61d806c1a9eaed0f4f4a -bd473878eb4fe4002404b8a36efc5e05 -126f231951cb93a5cd3a00f1f39a66bc -bd038f5f008b6a2617c83081772288d8 -cbee871fab5c7d7a30f408e56e5221c4 -30dd0ad6d5d9fa5ebcf3dbed10775d9f -f0410bf2c2c4b000e79d9626c6ded5c4 -987d15d2ed1433f071abb97f5cc535b5 -7e11eea735ea60e4160990fceda7bbe3 -db70db28e1ddf2d47681a43932c5df65 -0485452cd06224a05c9100d8402ad826 -eb56178013c77d2270c36f33b31b9f2b -0485452cd06224a05c9100d8402ad826 -2e1c78abc21d1d2d91ea2f4b35f48e5c -0485452cd06224a05c9100d8402ad826 -bd038f5f008b6a2617c83081772288d8 -0485452cd06224a05c9100d8402ad826 -d1bb035841fbe4e00c0a7f62d8690bed -0485452cd06224a05c9100d8402ad826 -511ff953fbeb66c3ccdfb32746d34101 -052fb12811d5328a35be50cecf28e47f -cdd73f5df4d10f6b46712ad6f79e3ae8 -e3a0775b244266c79c70191ef86ebf6b -25f378577275793f9f627bbf2ac7bf85 -d7ee569cd24506b4ad8e2f83f31ba4cb -25f378577275793f9f627bbf2ac7bf85 -7148dbbe066692347fb3fe52dc7b1bfa -a95adcfb4bcafb709259c0c3476bae12 -a1b9e2c95888141eb3d2674559999a64 -7148dbbe066692347fb3fe52dc7b1bfa -25f378577275793f9f627bbf2ac7bf85 -f9d69391b664a0b8042352a61ebacf2d -25f378577275793f9f627bbf2ac7bf85 -7148dbbe066692347fb3fe52dc7b1bfa -fa791ec53c1370c735f202cfe4bf91a3 -68572fe6177da66a8154850febb3784d -16aa2bbb45c94c42c161a3c699a9ea42 -7148dbbe066692347fb3fe52dc7b1bfa -cbd3ba35e9e76826aa5a5a8e934d1f40 -fa89041f956dec22577833d8b381648d -7f21562fcc45072906da50d2425e9f45 -9bea1eca1258f9b474faf6fbf1af627f -d4ce5d83262e2aca36aeb634ac22f183 -4327cd6b61a20c688d3f7781a79fb3c8 -3484ec22c7ff6981310c964d2f6e1f3a -5acd00ed92bb8ef834b595dcc78cb026 -03cc52d7cc988df2c95b582201cd5299 -460657be2f5f350057704ee4ec0fe917 -8498920b0b5fcf6a01738b0b95f5625e -91684c2461ade8da1b87389470822437 -b90b76648cf421edb815955b5cef7ff2 -0eeed59d8a9a769d8ba1173773af2b89 -6daef73f5f531d1ff19345b886c66786 -83b411675b4aef31f95e2912f7e88ec9 -dff3a73ac2e74a9f6bca91153b2ba419 -69b14b96d0ea67c53669ccdadb4f4d6f -2bea42e21cb65226969b02156804a828 -c6a51b925ca8717daa9c4b84872c8e82 -b769a53654a952387eed56e7acfe0e81 -139ea8e9dee71cd206a00b55fae33531 -9b2b9103fa50360efeb47e583f8c15e1 -97ce7be8ac01261e53a1139e16e9d0cd -fe625b561d70b446550ce9085d84d6c7 -1906ee2afb1eb2e72de3422fec77743e -5a73d633543e90eafb8db33f43644472 -856dedfb9bc2086375db2db9bcad0dcb -0163bbc0593b1fd3a0106021e54a682e -9020b0d4b8f0611d4734f4ee09588a16 -d24c25164aeac83aed78d05782999611 -d904f24121a5dad59db8126d66eb8fcb -c22dde1b953cc793129abacf53bc305c -ef37fabed0e1ea1469050574c54384f6 -f8421e9257ec959dd953701224ad11df -2a041435cc676ee13caa4b9ed8b13581 -f8421e9257ec959dd953701224ad11df -7639276ea51b36094d7da4746434395a -35ee69e6b4ccc33049e50dfcf0102a1c -78022e171b7e0fb77af2a924da07f9cc -aa99e622b2aed86f99334e40af59fe5b -b5b1eef5e9ea7fdd20d8ec1abbcf7179 -1c9bf9e8b208db1fdd562ee87cf2717a -7c8ce0431e92a1808bc41817d961c4cc -5603636c75842a8e67488b1613d6b48f -5e185b9ec7aa349a6d8f88dd9ce2f3ae -1605f72db0031a8e76d15d4b9b97b089 -e3302454588e5000e5fbacc2b406b291 -df87576a1ab3a2366c35b9246b81eda1 -aa99e622b2aed86f99334e40af59fe5b -d257dd13b9066f5e58c61fd811fad485 -57fe155ce091ff4b7703bc5cc34b690f -4eb43928d9f2b6fc36f0fb5ff3a7e0e2 -32e251f9d2f16f718abb237eab916c6c -71dfad8ea4652728e0cfef65671adbed -78022e171b7e0fb77af2a924da07f9cc -782d8f307fd5953205791ab1bd56436d -efe2af4e6785a7ef6275e8081dec9826 -30e06a4a89088df8496dccd9a861cfc8 -4fc3f6c3204d67ff584ed9b1693f187d -79afdf06346ad5a850f3e93547c188f5 -c26d7982993f140409914df4c0a5b201 -89ff0e9e2f3de9fa7ccea689d12951dd -30ce28f1d7e4f6d31772d40295d93987 -9ebe22a57b02842dd7609c8301838164 -c898a02c6a27fbb46b1934e768d4c97b -3ad55138186b5fcec191ecca5489fb94 -795e3f7a75d163e01ea5dfb820b6404a -9648c8a74143e948ee3ce5d5e9ebe650 -19eb44a68a4a5baf7bbdaad1dc9734a3 -3d0aaf96ac56afa934f40a46f2fa0067 -57fe155ce091ff4b7703bc5cc34b690f -19296b3e3173103da303ce91b4f1519f -4dd83db04af7bc8742f0bbd1025fef18 -aa99e622b2aed86f99334e40af59fe5b -603b8431f0763072cb9ea746b508d867 -457e5b6ddb2040affceefeda083ad886 -9dfe572ab43a8b345354fbbb5642e626 -782d8f307fd5953205791ab1bd56436d -782d8f307fd5953205791ab1bd56436d -d71f9e9c2f90be750a83623f60fa0764 -bdb4fb62d97298121f1bf19814e2ddd5 -a04913918f20745947bb12fc85abae3b -aa99e622b2aed86f99334e40af59fe5b -045245746ea4b81368ff4bd56e57c4a6 -241ac4b4fd15e197c9a94b88831d8daf -8b789cbee04ecacd57d586e738ea63c6 -09b0912339436b5a69cf5959feca0584 -13939b35ee591e7505d119ee50b33ee3 -457e5b6ddb2040affceefeda083ad886 -e3302454588e5000e5fbacc2b406b291 -0da9130063f64d36a5a59d3f28382e93 -3b8d385a038588a0cd81a1c4def5613c -4cfc1195acbedf9598a959581a09a76f -2015a0a400ac6fa9d3f67f84d3c662a8 -9082a35652fc211c697ebcb2ccdc1153 -f45e76a3e1f73c2fe45f54509e9b7274 -a600b62b121c08d1594e9540e6e15b53 -5faba79e2cb1424719aa09b8ab39f5c7 -616a3fc0b756b04fc3e27d58c0e02e85 -c1439cf504287dfd566433c6b04cf68a -782d8f307fd5953205791ab1bd56436d -83047f5ca5dfe53052a0942b15177917 -fa7e439b2e2c052651d16db34067952c -d31b8142623174dac849f435b0d0abd9 -73076c09be354deecb3e2ad029e39606 -754b1eeac4c78e2ca531dd8f148dbe57 -a9d72c136029b47bcacaebfcd8902c5e -505e1207561c0f0f8390f5893f033a78 -b1019c6ca302e05cce999c3efb57f604 -756a934e020ec11d479530749173fa05 -fafd777e8dca801e5b0fbaffc749e652 -df396ae0549c4c727234535e041275a1 -2617d878f70f4f3ccdfd46919a192a66 -7b536903be86e078fd761e813bc7c947 -88e763bcfa6b37dc8241875077e3df79 -5faba79e2cb1424719aa09b8ab39f5c7 -54a4875cfd9e8ce53fc5d766a03fdb3b -a4065fdf9e28623eaa23f50b205160d9 -eedaa6ebad23a66061515a1c619008af -5a38a573c720c9fa346bde029a0ce590 -1a8a8bcad4bb5e3679fd8dc5657883d5 -460cbbbaddf4d9fe8fab3609566d3e47 -f4c70f7660edd9c09033e2cc47f8188a -2a1e29ecaef313ff0c8c6191104aefae -c3714b151ae128f0302ec96b913e4831 -838812c894b942ee89155149ef9aec3b -9eefb58743c16a74727544689c6daa7d -352877728be988e5f8770f6d800b0fb8 -8b491bb9294e4fac3880cea88c5b6a71 -311f9a8db54858352a1515c96d6b526c -91bb9b20560ea7324e857f96615b3d19 -013855305b94e5f24515929ebdf305b7 -104d165936816018a069ae4afd1128da -7fee9184be24532066dcdda64afba720 -df434f0e7ee9dbc5d076e8eea5e99ebd -4af60baf483a076ce07f677cf7597da5 -37ec57f22597c91fc0dfd1c7b94ee9ec -75cff91234db8cc435b44debe7adda5b -8ece3f6f4916461c90d22ef2c3c8fe37 -4843ec146f3f7dc30e5ce92d28929883 -2dafba352c901769107a83aebe4214fb -1d15d23dc633797069bb8a64436ecb73 -fad02b1db337bdbdcd877124e35e23e3 -fe61bd23a9a30a7ce19c7c1b7a48a5a6 -7aeea3801b9ff9516f2e826643288833 -543ee2fc8cdba9b76134badda8fb7a5c -6c6df73c60e6361096c8821f64df41b0 -4dc256c1970f6f74d3e760ef7d1834e7 -15f0fbd917d0dc41482eaed80e6149b0 -d0f3807b7a7a1fc405bee8955dfefea8 -6bde3826545e7a2c6206913f54634b4e -26a1b4b39420e288e4c8776da825bff2 -f55d9a4beecd24606ada56c54162be1b -acd3613d2c2634b7d21cb9a2523e8267 -ea248fea728221480c9a9b28cb9f27d3 -0ea27a37cf3641f4e9075650d72d056f -7f31508e6a6a4e3a0e4770488829fa6b -4aeed8745fb00d7c1403cba3ac784e53 -e5a4cec665bd6844f99749f42da485f0 -f27633d1f0cd569db5603f49c678b90e -9597fcd8434e6f46998ca6e7f4a2fd10 -0bfb58db99b81f4476c85de8140948b2 -1201de22f2f261eb0deab14fdde04fd9 -0d85208cd59e8e96df93cc746dedd3e4 -315cb2d0030fd49f99175bd54128b8c3 -ceacf06abd22dbf451b25aec73fe1d41 -4dfa8199f1aea4d82a46ca1fe74b331a -bf0f9898a6a7b85e9d23d93da08bd249 -95541e6d47a8d24bf90c353444d3bd5f -be8240d42f48cdec3c484aee08c6cd57 -d71553c8878e05d54f10f3ac3e9198ee -207e329d67760a6ce8ccd3fef08a068f -ab86ec8af4feb6dfef7db6a2f5064a17 -4d52d8c5285300d8d3b92baa6c330415 -8dfcf42e3c5f511f352455dabf6774d1 -2aedf86b7a83ee899d4b4080e50da6de -ed584a49eb1d6b2ca8c9012c7dd9bdfc -8d5cb5a27c0adbdd8fcae67bfd6c7275 -0b49f52312e3dd36848210a08d06c91b -64c2119c3447d1cff2244bd9d5b5a102 -37586fd4e58fc8a21c6636842e06ca76 -28218782adff44d6c55eb8c2a08b8b97 -271bd364b60bc3d1b6a56f3b8a70bfe5 -9bae8bf9ff71bf232af4eb438f6c8063 -d79ece32d392ecda367b8897d6a61882 -c6ec8bdbf568c7b225b564e227ab11d5 -24ac3b6932dfc337f42218f816e2a68f -e88e37b7c8517a5f4e043bd5baa915c8 -c0134deefd4d905198187d718c0be6a0 -c1b6b32167b5801cebcf53e59ec9d250 -72614b58134fa9af3cc88888ec7a0904 -321b393e91d54804b7168e39b1934d8f -1391e4995401e0c33d45c3f2869a48d0 -ebcd4351634920da1323b68d08a99dfa -ff25b689d6ac813390bb4a45f350acaf -39498fe9f3c0980bcbcfb44e0518a0ac -2033922ee7daa34f85057a2ecc29e21c -493a704e39fced4855191dc5fef2e327 -ac2da459483f4fe123867e67daf91827 -c9693dfbfa4294be378758a46c041d66 -6ba35c842b627648192d7a6d857cf248 -0be2d890dceab9591496e926f1568c1b -f6c503dbf75d344919d326e1d44e12c0 -24c7dddcecf7fb037ee0a4fc44f267ec -cc058fdcc63ac7c3167feaa953a4169f -e83aab8f9eb97805243d12165879cd1d -687c142da03480f092a9a735f62034f6 -636f2e1ac2fefab072678ab19d98666e -a8a3740c175b7c68c79a0877ce1e4afe -ef156be70375670546a23b02e4d9ad1f -c4982206d23d813f615f994d875d7e52 -49a6efb4015242b1dd9cdb2baaef5021 -f5dcf2043eb01249eec16d8c81b372b5 -ebcd4351634920da1323b68d08a99dfa -4039ad88f752a80e76ac599e4e82d512 -f38dd9fe48842624218a7ab7a5e34991 -4817633c77ad017993fee9e64850a240 -6282e8ac87e5cc67e7bb76a3f4892488 -de4f7645fccf2a431405c78f47edd9bb -538fd984ae818577f2a6aae48c19468a -8d06fd38a31a17a67ea49fcdf05a5100 -224958b4d206cb4b474aff0b8ee7e367 -3512d2f0d614c569d43bacdd02e591b2 -570ce0c89f233e1f218c01ee7878c947 -f28f90323620dbe7adac56114d805844 -6bbf7350bfef24a03e13fdf08d73dbeb -b09ead6db3a271d57b77bc50f8ecdcc2 -2fe43262c4cf4f723f31312ef7efd10e -9d3a20d840c7c8f27f21385c5fa3cee7 -e573cf41b30e09b65565f8d2b9f408a3 -d0d0134610af1e24cd051cf5bbc21bbc -4037642b137b4b9b2a9f53b8489ee9f8 -4037642b137b4b9b2a9f53b8489ee9f8 -e363886021b434913f108b18d550025f -1b49d1cd126dbafe8dd6506c173eb329 -0eb7123192b021c8473465b935f0a877 -7b38243680ee79cd92223d9dbf3c578e -61ba5cb54c6bbea3cc53d3bf11a42e9d -c06ab534508db102abc8859ec9ecc7ec -717213cdef63f43066a58974b68bc294 -6faaad9416d80a43520d62a949a0f393 -b2d3a77fd4c670200c33b5b675fc4559 -020c2ab48b469215578cc6e3e9b700b1 -2c0407f8a5485d2065cbfbda3fd8f3e9 -0a91eb1ea781bcc54284cc72746daf73 -5a5a27c588775ff8549aa9af1a2ee836 -ca5a9130850610a528eabb54a7343d0f -81ee1ad1c950472a0955ec4df82d32d6 diff --git a/crates/shepherd-app/Cargo.toml b/crates/shepherd-app/Cargo.toml new file mode 100644 index 0000000..b58988f --- /dev/null +++ b/crates/shepherd-app/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "shepherd-app" +version = "0.1.0" +edition.workspace = true +authors.workspace = true +license.workspace = true + +[dependencies] +anyhow.workspace = true +axum.workspace = true +chrono.workspace = true +fs_extra.workspace = true +serde.workspace = true +serde_json.workspace = true +tempfile.workspace = true +tokio.workspace = true +tower.workspace = true +tower-http.workspace = true +tower-service.workspace = true +tracing.workspace = true +tracing-subscriber.workspace = true +zip.workspace = true + +shepherd-common = { path = "../shepherd-common" } +shepherd-mqtt = { path = "../shepherd-mqtt" } diff --git a/crates/shepherd-app/src/control.rs b/crates/shepherd-app/src/control.rs new file mode 100644 index 0000000..d4952f6 --- /dev/null +++ b/crates/shepherd-app/src/control.rs @@ -0,0 +1,98 @@ +use axum::{Json, Router, extract::State, http::StatusCode, routing::post}; +use serde::{Deserialize, Serialize}; +use shepherd_common::{Mode, Zone, config::Config}; +use shepherd_mqtt::{ + MqttAsyncClient, + messages::{ControlMessage, ControlMessageType}, +}; + +use crate::error::{ShepherdError, ShepherdResult}; + +#[derive(Clone)] +struct ControlState { + mqttc: MqttAsyncClient, + robot_control: String, +} + +#[derive(Debug, Serialize, Deserialize)] +struct ControlRequest { + zone: Zone, + mode: Mode, +} + +async fn start( + State(state): State, + Json(payload): Json, +) -> ShepherdResult<()> { + let msg = ControlMessage { + _type: ControlMessageType::Start, + zone: payload.zone, + mode: payload.mode, + }; + + state + .mqttc + .publish(state.robot_control, msg) + .await + .map_err(|e| { + ShepherdError( + StatusCode::INTERNAL_SERVER_ERROR, + format!("mqtt error: {e}"), + ) + })?; + + Ok(()) +} + +async fn stop(State(state): State) -> ShepherdResult<()> { + let msg = ControlMessage { + _type: ControlMessageType::Stop, + zone: Zone::default(), + mode: Mode::default(), + }; + + state + .mqttc + .publish(state.robot_control, msg) + .await + .map_err(|e| { + ShepherdError( + StatusCode::INTERNAL_SERVER_ERROR, + format!("mqtt error: {e}"), + ) + })?; + + Ok(()) +} + +async fn reset(State(state): State) -> ShepherdResult<()> { + let msg = ControlMessage { + _type: ControlMessageType::Reset, + zone: Zone::default(), + mode: Mode::default(), + }; + + state + .mqttc + .publish(state.robot_control, msg) + .await + .map_err(|e| { + ShepherdError( + StatusCode::INTERNAL_SERVER_ERROR, + format!("mqtt error: {e}"), + ) + })?; + + Ok(()) +} + +pub fn router(config: &Config, mqttc: MqttAsyncClient) -> Router { + Router::new() + .route("/start", post(start)) + .route("/stop", post(stop)) + .route("/reset", post(reset)) + .with_state(ControlState { + mqttc, + robot_control: config.channel.robot_control.clone(), + }) +} diff --git a/crates/shepherd-app/src/error.rs b/crates/shepherd-app/src/error.rs new file mode 100644 index 0000000..c72ab6c --- /dev/null +++ b/crates/shepherd-app/src/error.rs @@ -0,0 +1,18 @@ +use axum::{http::StatusCode, response::IntoResponse}; +use tracing::error; + +pub struct ShepherdError(pub StatusCode, pub String); +pub type ShepherdResult = Result; + +impl IntoResponse for ShepherdError { + fn into_response(self) -> axum::response::Response { + error!("{}: {}", self.0, self.1); + (self.0, self.1).into_response() + } +} + +impl From for ShepherdError { + fn from(value: std::io::Error) -> Self { + ShepherdError(StatusCode::INTERNAL_SERVER_ERROR, value.to_string()) + } +} diff --git a/crates/shepherd-app/src/files.rs b/crates/shepherd-app/src/files.rs new file mode 100644 index 0000000..c8ac971 --- /dev/null +++ b/crates/shepherd-app/src/files.rs @@ -0,0 +1,162 @@ +use std::path::PathBuf; + +use axum::{ + Json, Router, + body::Bytes, + extract::{DefaultBodyLimit, Path, State}, + http::StatusCode, + routing::{delete, get, post}, +}; +use serde::Serialize; +use serde_json::json; +use shepherd_common::config::Config; +use tokio::fs; +use tracing::info; + +use crate::error::{ShepherdError, ShepherdResult}; + +#[derive(Debug, Clone)] +struct FilesState { + user_src_dir: PathBuf, +} + +type Blocks = serde_json::Value; + +#[derive(Serialize)] +struct ProjectMeta { + pub blocks: Blocks, + pub files: Vec, +} + +impl ProjectMeta { + async fn load(state: FilesState) -> ShepherdResult { + let blocks_path = state.user_src_dir.join("blocks.json"); + let blocks = if blocks_path.is_file() { + let blocks_str = fs::read_to_string(&blocks_path).await?; + serde_json::from_str(&blocks_str).map_err(|_| { + ShepherdError( + StatusCode::INTERNAL_SERVER_ERROR, + "'blocks.json' does not contain valid json".to_string(), + ) + })? + } else { + json!({ + "requires": [], + "header": "", + "footer": "", + "blocks": [], + }) + }; + + let files: Vec = std::fs::read_dir(&state.user_src_dir)? + .filter_map(|p| { + let path = p.ok()?.path(); + + if let Some(name) = path.file_name() + && let Some(ext) = path.extension() + && (ext == "py" || ext == "xml" || name == "blocks.json") + && name != "main.py" + { + Some(name.to_string_lossy().to_string()) + } else { + None + } + }) + .collect(); + + Ok(Self { blocks, files }) + } +} + +async fn list_projects(State(state): State) -> ShepherdResult> { + ProjectMeta::load(state).await.map(Json) +} + +#[derive(Serialize)] +struct Project { + pub filename: String, + pub content: String, +} + +impl Project { + fn new(name: String, content: String) -> Self { + Self { + filename: name, + content, + } + } + + async fn load(state: FilesState, name: String) -> ShepherdResult { + let target = state.user_src_dir.join(&name); + let content = fs::read_to_string(target).await?; + + info!("loaded '{}' size {} bytes", &name, content.len()); + + Ok(Self { + filename: name, + content, + }) + } + + async fn save(&self, state: FilesState) -> ShepherdResult<()> { + let target = state.user_src_dir.join(&self.filename); + fs::write(target, &self.content).await?; + info!( + "saved '{}' size {} bytes", + self.filename, + self.content.len() + ); + Ok(()) + } +} + +async fn load_file( + State(state): State, + Path(name): Path, +) -> ShepherdResult> { + Project::load(state, name).await.map(Json) +} + +async fn save_file( + State(state): State, + Path(name): Path, + body: Bytes, +) -> ShepherdResult<()> { + let content = String::from_utf8(body.to_vec()) + .map_err(|_| ShepherdError(StatusCode::BAD_REQUEST, "Invalid UTF-8".to_string()))?; + Project::new(name, content).save(state).await +} + +async fn delete_file( + State(state): State, + Path(name): Path, +) -> ShepherdResult<()> { + if name == "blocks.json" { + return Err(ShepherdError( + StatusCode::BAD_REQUEST, + "Cannot write to 'blocks.json'".to_string(), + )); + } + + let target = state.user_src_dir.join(&name); + + fs::remove_file(&target).await?; + + info!("deleted '{}'", name); + + Ok(()) +} + +pub fn router(config: &Config) -> Router { + Router::new() + .route("/list", get(list_projects)) + .route("/load/{filename}", get(load_file)) + .route( + "/save/{filename}", + post(save_file).layer(DefaultBodyLimit::disable()), + ) + .route("/delete/{filename}", delete(delete_file)) + .with_state(FilesState { + user_src_dir: config.app.user_src_dir.clone(), + }) +} diff --git a/crates/shepherd-app/src/main.rs b/crates/shepherd-app/src/main.rs new file mode 100644 index 0000000..8f90e8c --- /dev/null +++ b/crates/shepherd-app/src/main.rs @@ -0,0 +1,47 @@ +use anyhow::Result; +use axum::Router; +use shepherd_common::{args::call_with_args, config::Config}; +use shepherd_mqtt::MqttClient; +use tokio::net::TcpListener; +use tower::ServiceBuilder; +use tower_http::{services::fs::ServeDir, trace::TraceLayer}; +use tracing::warn; + +mod control; +mod error; +mod files; +mod upload; + +async fn _main(config: Config) -> Result<()> { + let (client, mut event_loop) = MqttClient::new( + &config.app.service_id, + &config.mqtt.broker, + config.mqtt.port, + ); + + let app = Router::new() + .nest("/control", control::router(&config, client.clone())) + .nest("/files", files::router(&config)) + .nest("/upload", upload::router(&config, client)) + .fallback_service(ServiceBuilder::new().service(ServeDir::new(config.app.static_dir))) + .layer(TraceLayer::new_for_http()); + let listener = TcpListener::bind(format!("{}:{}", config.app.host, config.app.port)).await?; + + tokio::select!( + res = axum::serve(listener, app) => { + warn!("server exited: {:#?}", res); + res? + } + res = event_loop.run() => { + warn!("mqtt client exited: {:#?}", res); + res? + } + ); + + Ok(()) +} + +#[tokio::main] +async fn main() { + call_with_args("shepherd-app", _main).await; +} diff --git a/crates/shepherd-app/src/upload.rs b/crates/shepherd-app/src/upload.rs new file mode 100644 index 0000000..f0af70b --- /dev/null +++ b/crates/shepherd-app/src/upload.rs @@ -0,0 +1,214 @@ +use std::{io::Cursor, path::PathBuf}; + +use axum::{ + Router, + extract::{DefaultBodyLimit, Multipart, State, multipart::Field}, + http::StatusCode, + routing::post, +}; +use fs_extra::dir::CopyOptions; +use shepherd_common::{Mode, Zone, config::Config}; +use shepherd_mqtt::{ + MqttAsyncClient, + messages::{ControlMessage, ControlMessageType}, +}; +use tokio::fs; +use tokio::io::AsyncWriteExt; +use tracing::info; +use zip::ZipArchive; + +use crate::error::{ShepherdError, ShepherdResult}; + +#[derive(Clone)] +struct UploadState { + user_cur_dir: PathBuf, + team_image: PathBuf, + mqttc: MqttAsyncClient, + robot_control: String, +} + +async fn process_python(state: UploadState, mut field: Field<'_>) -> ShepherdResult<()> { + let file_name = field.file_name().ok_or(ShepherdError( + StatusCode::BAD_REQUEST, + "File name not specified".to_string(), + ))?; + + let target = state.user_cur_dir.join(file_name); + let mut f = fs::File::create(&target).await?; + let mut file_size = 0; + + info!("uploading python '{}'", file_name); + + while let Some(chunk) = field + .chunk() + .await + .map_err(|e| ShepherdError(StatusCode::BAD_REQUEST, e.to_string()))? + { + f.write_all(&chunk).await?; + file_size += chunk.len(); + } + + info!("uploaded {} bytes", file_size); + + Ok(()) +} + +async fn process_zip(state: UploadState, mut field: Field<'_>) -> ShepherdResult<()> { + let file_name = field.file_name().ok_or(ShepherdError( + StatusCode::BAD_REQUEST, + "File name not specified".to_string(), + ))?; + + let mut buffer = Vec::new(); + let mut file_size = 0; + + info!("uploading zip '{}'", file_name); + + while let Some(chunk) = field + .chunk() + .await + .map_err(|e| ShepherdError(StatusCode::BAD_REQUEST, e.to_string()))? + { + file_size += chunk.len(); + buffer.extend_from_slice(&chunk); + } + + info!("uploaded {} bytes", file_size); + + let reader = Cursor::new(buffer); + let mut archive = ZipArchive::new(reader) + .map_err(|e| ShepherdError(StatusCode::BAD_REQUEST, e.to_string()))?; + let tmpdir = tempfile::tempdir()?; + archive + .extract(tmpdir.path()) + .map_err(|e| ShepherdError(StatusCode::BAD_REQUEST, e.to_string()))?; + + if !tmpdir.path().join("main.py").is_file() { + return Err(ShepherdError( + StatusCode::BAD_REQUEST, + "Uploaded ZIP file has no entrypoint".to_string(), + )); + } + + let _ = fs::remove_dir_all(&state.user_cur_dir).await; + + tokio::task::spawn_blocking(move || { + let mut options = CopyOptions::new(); + options.copy_inside = true; + fs_extra::dir::copy(tmpdir.path(), &state.user_cur_dir, &options) + }) + .await + .map_err(|e| ShepherdError(StatusCode::INTERNAL_SERVER_ERROR, e.to_string()))? + .map_err(|e| ShepherdError(StatusCode::INTERNAL_SERVER_ERROR, e.to_string()))?; + + info!("uploaded new usercode from zip"); + + Ok(()) +} + +async fn upload_file( + State(state): State, + mut multipart: Multipart, +) -> ShepherdResult<()> { + while let Some(field) = multipart + .next_field() + .await + .map_err(|e| ShepherdError(StatusCode::BAD_REQUEST, e.to_string()))? + { + match (field.content_type(), field.file_name()) { + (Some(content_type), Some(file_name)) => { + if content_type.starts_with("text") || file_name.ends_with(".py") { + process_python(state.clone(), field).await? + } else if content_type.contains("zip") { + process_zip(state.clone(), field).await? + } else { + return Err(ShepherdError( + StatusCode::BAD_REQUEST, + format!("{} has an invalid content type", file_name), + )); + } + } + _ => continue, + } + } + + // publish mqtt message to reset usercode + let msg = ControlMessage { + _type: ControlMessageType::Reset, + zone: Zone::default(), + mode: Mode::default(), + }; + + state + .mqttc + .publish(state.robot_control, msg) + .await + .map_err(|e| { + ShepherdError( + StatusCode::INTERNAL_SERVER_ERROR, + format!("mqtt error: {e}"), + ) + })?; + + Ok(()) +} + +async fn process_team_image(state: &UploadState, mut field: Field<'_>) -> ShepherdResult<()> { + let mut f = fs::File::create(&state.team_image).await?; + let mut file_size = 0; + + info!("uploading team image"); + + while let Some(chunk) = field + .chunk() + .await + .map_err(|e| ShepherdError(StatusCode::BAD_REQUEST, e.to_string()))? + { + f.write_all(&chunk).await?; + file_size += chunk.len(); + } + + info!("uploaded {} bytes", file_size); + + Ok(()) +} + +async fn upload_team_image( + State(state): State, + mut multipart: Multipart, +) -> ShepherdResult<()> { + while let Some(field) = multipart + .next_field() + .await + .map_err(|e| ShepherdError(StatusCode::BAD_REQUEST, e.to_string()))? + { + match field.content_type() { + Some(content_type) => { + if content_type.contains("jpeg") { + process_team_image(&state, field).await? + } else { + return Err(ShepherdError( + StatusCode::BAD_REQUEST, + "file has an invalid content type".to_string(), + )); + } + } + _ => continue, + } + } + + Ok(()) +} + +pub fn router(config: &Config, mqttc: MqttAsyncClient) -> Router { + Router::new() + .route("/file", post(upload_file)) + .route("/team-image", post(upload_team_image)) + .layer(DefaultBodyLimit::disable()) + .with_state(UploadState { + user_cur_dir: config.path.user_cur_dir.clone(), + team_image: config.path.team_image.clone(), + mqttc, + robot_control: config.channel.robot_control.clone(), + }) +} diff --git a/crates/shepherd-common/Cargo.toml b/crates/shepherd-common/Cargo.toml new file mode 100644 index 0000000..0fccdd6 --- /dev/null +++ b/crates/shepherd-common/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "shepherd-common" +version = "0.1.0" +edition.workspace = true +authors.workspace = true +license.workspace = true + +[dependencies] +anyhow.workspace = true +chrono.workspace = true +clap.workspace = true +serde.workspace = true +toml.workspace = true +tracing.workspace = true +tracing-subscriber.workspace = true diff --git a/crates/shepherd-common/src/args.rs b/crates/shepherd-common/src/args.rs new file mode 100644 index 0000000..4cb3fd1 --- /dev/null +++ b/crates/shepherd-common/src/args.rs @@ -0,0 +1,45 @@ +use std::path::PathBuf; + +use clap::Parser; + +use crate::config::Config; + +#[derive(Parser, Debug)] +pub struct Args { + /// Log verbosity + #[arg(short, long, default_value = "info")] + pub log_level: tracing::Level, + + /// Configuration file path + #[arg(short, long, default_value = "/etc/shepherd.toml")] + pub config_file: PathBuf, +} + +pub async fn call_with_args(name: S, f: F) +where + S: AsRef, + F: FnOnce(Config) -> Fut + Send + Sync + 'static, + Fut: Future> + Send + 'static, +{ + let args = Args::parse(); + + tracing_subscriber::fmt() + .with_timer(tracing_subscriber::fmt::time::uptime()) + .with_max_level(args.log_level) + .init(); + + let now = chrono::Local::now(); + tracing::info!("{} started at {}", name.as_ref(), now.to_rfc3339()); + + let config = Config::from_file(None).unwrap_or_default(); + if let Err(e) = config.setup_dirs() { + tracing::warn!("config directory setup failed: {e}"); + } + + if let Err(e) = f(config).await { + tracing::error!("{} failed with error: {e}", name.as_ref()); + } + + let now = chrono::Local::now(); + tracing::info!("{} exited at {}", name.as_ref(), now.to_rfc3339()); +} diff --git a/crates/shepherd-common/src/config.rs b/crates/shepherd-common/src/config.rs new file mode 100644 index 0000000..71df15b --- /dev/null +++ b/crates/shepherd-common/src/config.rs @@ -0,0 +1,281 @@ +use std::{ + fs::{self, read_to_string}, + path::{Path, PathBuf}, +}; + +use anyhow::Result; +use serde::{Deserialize, Serialize}; + +pub const DEFAULT_CONFIG_PATH: &str = "/etc/shepherd.toml"; + +#[derive(Debug, Default, Serialize, Deserialize, Clone)] +pub struct Config { + #[serde(default)] + pub mqtt: MqttConfig, + #[serde(default)] + pub app: AppConfig, + #[serde(default)] + pub run: RunConfig, + #[serde(default)] + pub ws: WsConfig, + #[serde(default)] + pub channel: ChannelConfig, + #[serde(default)] + pub path: PathConfig, +} + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct MqttConfig { + #[serde(default = "default_mqtt_broker")] + pub broker: String, + #[serde(default = "default_mqtt_port")] + pub port: u16, +} + +fn default_mqtt_broker() -> String { + "localhost".to_string() +} +fn default_mqtt_port() -> u16 { + 1883 +} + +impl Default for MqttConfig { + fn default() -> Self { + Self { + broker: default_mqtt_broker(), + port: default_mqtt_port(), + } + } +} + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct AppConfig { + #[serde(default = "default_app_service_id")] + pub service_id: String, + #[serde(default = "default_app_host")] + pub host: String, + #[serde(default = "default_app_port")] + pub port: u16, + #[serde(default = "default_app_static_dir")] + pub static_dir: PathBuf, + #[serde(default = "default_app_user_src_dir")] + pub user_src_dir: PathBuf, +} + +fn default_app_service_id() -> String { + "shepherd-app".to_string() +} +fn default_app_host() -> String { + "0.0.0.0".to_string() +} +fn default_app_port() -> u16 { + 80 +} +fn default_app_static_dir() -> PathBuf { + default_path_root().join("static") +} +fn default_app_user_src_dir() -> PathBuf { + default_path_root().join("usercode/projects") +} + +impl Default for AppConfig { + fn default() -> Self { + Self { + service_id: default_app_service_id(), + host: default_app_host(), + port: default_app_port(), + static_dir: default_app_static_dir(), + user_src_dir: default_app_user_src_dir(), + } + } +} + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct RunConfig { + #[serde(default = "default_run_service_id")] + pub service_id: String, + #[serde(default = "default_run_start_button")] + pub start_button: u32, + #[serde(default = "default_run_gpio_device")] + pub gpio_device: String, + #[serde(default = "default_run_comp_timeout")] + pub comp_timeout: u64, + #[serde(default = "default_run_reset_script")] + pub reset_script: PathBuf, +} + +fn default_run_service_id() -> String { + "shepherd-run".to_string() +} +fn default_run_start_button() -> u32 { + 26 +} +fn default_run_gpio_device() -> String { + "gpiochip0".to_string() +} +fn default_run_comp_timeout() -> u64 { + 180 +} +fn default_run_reset_script() -> PathBuf { + PathBuf::from("/usr/local/bin/robot_reset.py") +} + +impl Default for RunConfig { + fn default() -> Self { + Self { + service_id: default_run_service_id(), + start_button: default_run_start_button(), + gpio_device: default_run_gpio_device(), + comp_timeout: default_run_comp_timeout(), + reset_script: default_run_reset_script(), + } + } +} + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct WsConfig { + #[serde(default = "default_ws_service_id")] + pub service_id: String, + #[serde(default = "default_ws_host")] + pub host: String, + #[serde(default = "default_ws_port")] + pub port: u16, + #[serde(default = "default_ws_log_buffer_size")] + pub log_buffer_size: usize, + #[serde(default = "default_ws_hopper_buffer_size")] + pub hopper_buffer_size: usize, +} + +fn default_ws_service_id() -> String { + "shepherd-ws".to_string() +} +fn default_ws_host() -> String { + "0.0.0.0".to_string() +} +fn default_ws_port() -> u16 { + 5001 +} +fn default_ws_log_buffer_size() -> usize { + // 16 MiB + 16 * (1 << 20) +} +fn default_ws_hopper_buffer_size() -> usize { + // 64 KiB + 64 * (1 << 10) +} + +impl Default for WsConfig { + fn default() -> Self { + Self { + service_id: default_ws_service_id(), + host: default_ws_host(), + port: default_ws_port(), + log_buffer_size: default_ws_log_buffer_size(), + hopper_buffer_size: default_ws_hopper_buffer_size(), + } + } +} + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct ChannelConfig { + #[serde(default = "default_channel_robot_control")] + pub robot_control: String, + #[serde(default = "default_channel_robot_log")] + pub robot_log: String, + #[serde(default = "default_channel_camera")] + pub camera: String, +} + +fn default_channel_robot_control() -> String { + "robot/control".to_string() +} +fn default_channel_robot_log() -> String { + "robot/log".to_string() +} +fn default_channel_camera() -> String { + "camera".to_string() +} + +impl Default for ChannelConfig { + fn default() -> Self { + Self { + robot_control: default_channel_robot_control(), + robot_log: default_channel_robot_log(), + camera: default_channel_camera(), + } + } +} + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct PathConfig { + #[serde(default = "default_path_root")] + pub root: PathBuf, + #[serde(default = "default_path_hopper")] + pub hopper: PathBuf, + #[serde(default = "default_path_user_cur_dir")] + pub user_cur_dir: PathBuf, + #[serde(default = "default_path_team_image")] + pub team_image: PathBuf, + #[serde(default = "default_path_game_image")] + pub game_image: PathBuf, + #[serde(default = "default_path_robot_usb")] + pub robot_usb: PathBuf, + #[serde(default = "default_path_arena_usb")] + pub arena_usb: PathBuf, +} + +fn default_path_root() -> PathBuf { + PathBuf::from("/var/shepherd") +} +fn default_path_hopper() -> PathBuf { + PathBuf::from("/run/hopper") +} +fn default_path_user_cur_dir() -> PathBuf { + default_path_root().join("usercode/current") +} +fn default_path_team_image() -> PathBuf { + default_path_root().join("team-image.jpg") +} +fn default_path_game_image() -> PathBuf { + default_path_root().join("game-image.jpg") +} +fn default_path_robot_usb() -> PathBuf { + PathBuf::from("/media/RobotUSB") +} +fn default_path_arena_usb() -> PathBuf { + PathBuf::from("/media/ArenaUSB") +} + +impl Default for PathConfig { + fn default() -> Self { + Self { + root: default_path_root(), + hopper: default_path_hopper(), + user_cur_dir: default_path_user_cur_dir(), + team_image: default_path_team_image(), + game_image: default_path_game_image(), + robot_usb: default_path_robot_usb(), + arena_usb: default_path_arena_usb(), + } + } +} + +impl Config { + pub fn from_file(path: Option<&Path>) -> Result { + let path = path.unwrap_or(Path::new(DEFAULT_CONFIG_PATH)); + let data = read_to_string(path)?; + let cfg: Self = toml::from_str(&data)?; + Ok(cfg) + } + + pub fn setup_dirs(&self) -> Result<()> { + fs::create_dir_all(&self.path.root)?; + fs::create_dir_all(&self.path.hopper)?; + fs::create_dir_all(&self.path.user_cur_dir)?; + + fs::create_dir_all(&self.app.static_dir)?; + fs::create_dir_all(&self.app.user_src_dir)?; + + Ok(()) + } +} diff --git a/crates/shepherd-common/src/lib.rs b/crates/shepherd-common/src/lib.rs new file mode 100644 index 0000000..d733c80 --- /dev/null +++ b/crates/shepherd-common/src/lib.rs @@ -0,0 +1,60 @@ +use serde::{Deserialize, Serialize}; + +pub mod args; +pub mod config; + +/// Generate a status channel name from a service ID +pub fn status_for(service_id: S) -> String +where + S: AsRef, +{ + format!("{}/status", service_id.as_ref()) +} + +#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Copy, Clone)] +#[serde(rename_all = "lowercase")] +pub enum RunState { + #[default] + Init, + Ready, + Running, + PostRun, +} + +#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Copy, Clone)] +#[serde(rename_all = "lowercase")] +pub enum Zone { + #[default] + Red, + Yellow, + Blue, + Green, +} + +impl Zone { + pub fn from_id(id: u32) -> Self { + match id { + 1 => Self::Yellow, + 2 => Self::Blue, + 3 => Self::Green, + _ => Self::Red, + } + } + + pub fn to_id(&self) -> u32 { + match self { + Self::Red => 0, + Self::Yellow => 1, + Self::Blue => 2, + Self::Green => 3, + } + } +} + +#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Copy, Clone)] +#[serde(rename_all = "lowercase")] +pub enum Mode { + #[default] + Dev, + Comp, +} diff --git a/crates/shepherd-mqtt/Cargo.toml b/crates/shepherd-mqtt/Cargo.toml new file mode 100644 index 0000000..fbeffda --- /dev/null +++ b/crates/shepherd-mqtt/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "shepherd-mqtt" +version = "0.1.0" +edition.workspace = true +authors.workspace = true +license.workspace = true + +[dependencies] +anyhow.workspace = true +bytes.workspace = true +chrono.workspace = true +futures.workspace = true +rumqttc.workspace = true +serde.workspace = true +serde_json.workspace = true +tokio.workspace = true +tracing.workspace = true + +shepherd-common = { path = "../shepherd-common" } diff --git a/crates/shepherd-mqtt/src/client.rs b/crates/shepherd-mqtt/src/client.rs new file mode 100644 index 0000000..404ee81 --- /dev/null +++ b/crates/shepherd-mqtt/src/client.rs @@ -0,0 +1,193 @@ +use std::{collections::HashMap, pin::Pin, sync::Arc, time::Duration}; + +use bytes::Bytes; +use futures::future::join_all; +use rumqttc::{AsyncClient, Event, EventLoop, MqttOptions, Packet, QoS}; +use tokio::sync::Mutex; +use tracing::{debug, warn}; + +use crate::{Wildcard, messages::MqttMessage}; + +pub type MqttHandler = Box< + dyn Fn(String, Bytes) -> Pin> + Send>> + Send + Sync, +>; + +type Registry = HashMap>; + +#[derive(Clone)] +pub struct MqttAsyncClient { + client: AsyncClient, + registry: Arc>, +} + +impl MqttAsyncClient { + pub async fn subscribe(&mut self, topic: S, f: F) -> anyhow::Result<()> + where + T: MqttMessage, + S: AsRef, + F: Fn(String, T) -> Fut + Send + Sync + 'static, + Fut: Future> + Send + 'static, + { + let handler: MqttHandler = Box::new(move |t, b| { + let res: anyhow::Result = serde_json::from_slice(&b) + .map_err(|e| anyhow::anyhow!("failed to deserialize message : {e}")); + + match res { + Err(e) => Box::pin(async { Err(e) }), + Ok(msg) => Box::pin(f(t, msg)), + } + }); + + self.registry + .lock() + .await + .entry(topic.as_ref().to_string()) + .or_default() + .push(handler); + self.client + .subscribe(topic.as_ref(), QoS::AtMostOnce) + .await?; + + debug!("client subscribed to topic '{}'", topic.as_ref()); + + Ok(()) + } + + pub async fn subscribe_raw(&mut self, topic: S, f: F) -> anyhow::Result<()> + where + S: AsRef, + F: Fn(String, Bytes) -> Fut + Send + Sync + 'static, + Fut: Future> + Send + 'static, + { + let handler: MqttHandler = Box::new(move |t, b| Box::pin(f(t, b))); + + self.registry + .lock() + .await + .entry(topic.as_ref().to_string()) + .or_default() + .push(handler); + self.client + .subscribe(topic.as_ref(), QoS::AtMostOnce) + .await?; + + debug!("client subscribed to topic '{}'", topic.as_ref()); + + Ok(()) + } + + pub async fn publish(&self, topic: S, msg: T) -> anyhow::Result<()> + where + T: MqttMessage, + S: AsRef, + { + let b = serde_json::to_vec(&msg) + .map_err(|e| anyhow::anyhow!("failed to serialize message: {e}"))?; + + self.publish_raw(topic, b).await?; + + Ok(()) + } + + pub async fn publish_raw(&self, topic: S, msg: V) -> anyhow::Result<()> + where + S: AsRef, + V: Into>, + { + self.client + .publish(topic.as_ref(), QoS::AtLeastOnce, false, msg) + .await?; + + debug!("client published to topic '{}'", topic.as_ref()); + + Ok(()) + } +} + +pub struct MqttEventLoop { + event_loop: EventLoop, + registry: Arc>, +} + +impl MqttEventLoop { + async fn dispatch(registry: Arc>, topic: String, payload: Bytes) { + let registry = registry.lock().await; + + // match topics and iter over handlers + for tgt_topic in registry.keys().filter(|t| Wildcard::new(t).matches(&topic)) { + if let Some(handlers) = registry.get(tgt_topic) { + let futures = handlers.iter().map(|h| h(topic.clone(), payload.clone())); + let results = join_all(futures).await; + + for r in results { + if let Err(e) = r { + warn!("handler for '{}' returned error: {e}", tgt_topic); + } + } + } + } + } + + pub async fn run(&mut self) -> anyhow::Result<()> { + loop { + match self + .event_loop + .poll() + .await + .map_err(|e| anyhow::anyhow!("event loop poll failed: {e}"))? + { + Event::Incoming(Packet::Publish(p)) => { + debug!("mqtt client got publish on '{}'", p.topic); + + let registry = self.registry.clone(); + let topic = p.topic.clone(); + let payload = p.payload.clone(); + + tokio::spawn(async move { + Self::dispatch(registry, topic, payload).await; + }); + } + Event::Incoming(Packet::Connect(c)) => { + debug!("mqtt client connected with id '{}'", c.client_id); + } + Event::Incoming(Packet::Disconnect) => { + debug!("mqtt client disconnected"); + // TODO: is this a problem? + return Ok(()); + } + _ => {} + } + } + } +} + +pub struct MqttClient; + +impl MqttClient { + #[allow(clippy::new_ret_no_self)] + pub fn new(service_id: S, hostname: S, port: u16) -> (MqttAsyncClient, MqttEventLoop) + where + S: AsRef, + { + let mut mqttoptions = MqttOptions::new(service_id.as_ref(), hostname.as_ref(), port); + mqttoptions.set_keep_alive(Duration::from_secs(5)); + + let (client, event_loop) = AsyncClient::new(mqttoptions, 10); + + let registry = Arc::new(Mutex::new(HashMap::new())); + + debug!("initialised new mqtt client"); + + let wc = MqttAsyncClient { + client, + registry: registry.clone(), + }; + + let we = MqttEventLoop { + event_loop, + registry: registry.clone(), + }; + + (wc, we) + } +} diff --git a/crates/shepherd-mqtt/src/lib.rs b/crates/shepherd-mqtt/src/lib.rs new file mode 100644 index 0000000..e26f555 --- /dev/null +++ b/crates/shepherd-mqtt/src/lib.rs @@ -0,0 +1,6 @@ +mod client; +pub mod messages; +mod util; + +pub use client::*; +pub use util::*; diff --git a/crates/shepherd-mqtt/src/messages.rs b/crates/shepherd-mqtt/src/messages.rs new file mode 100644 index 0000000..396a41a --- /dev/null +++ b/crates/shepherd-mqtt/src/messages.rs @@ -0,0 +1,25 @@ +use serde::{Deserialize, Serialize, de::DeserializeOwned}; + +pub trait MqttMessage: Serialize + DeserializeOwned + Send + Sync + 'static {} +impl MqttMessage for T where T: Serialize + DeserializeOwned + Send + Sync + 'static {} + +#[derive(Debug, Serialize, Deserialize, PartialEq)] +#[serde(rename_all = "lowercase")] +pub enum ControlMessageType { + Start, + Stop, + Reset, +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct ControlMessage { + #[serde(rename = "type")] + pub _type: ControlMessageType, + pub mode: shepherd_common::Mode, + pub zone: shepherd_common::Zone, +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct RunStatusMessage { + pub state: shepherd_common::RunState, +} diff --git a/crates/shepherd-mqtt/src/util.rs b/crates/shepherd-mqtt/src/util.rs new file mode 100644 index 0000000..3c94fe5 --- /dev/null +++ b/crates/shepherd-mqtt/src/util.rs @@ -0,0 +1,66 @@ +pub struct Wildcard { + expr: String, +} + +impl Wildcard { + /// create a new wildcard from an expression that can be used to + /// match topics + pub fn new(expr: S) -> Self + where + S: AsRef, + { + Self { + expr: expr.as_ref().to_string(), + } + } + + /// check if a topic name matches this wildcard + pub fn matches(&self, topic: S) -> bool + where + S: AsRef, + { + fn recursive_match(t: Vec, w: Vec) -> bool { + if t.is_empty() { + if w.is_empty() || w[0] == "#" { + return true; + } + return false; + } + + if w.is_empty() { + return false; + } + + if w[0] == "#" { + return true; + } + + if t[0] == w[0] || w[0] == "+" { + return recursive_match(t.split_at(1).1.to_vec(), w.split_at(1).1.to_vec()); + } + + false + } + + let topic_parts: Vec = topic.as_ref().split('/').map(|s| s.to_string()).collect(); + let wildcard_parts: Vec = self.expr.split('/').map(|s| s.to_string()).collect(); + + recursive_match(topic_parts, wildcard_parts) + } +} + +#[cfg(test)] +mod tests { + #[test] + fn test_topic_matches() { + use crate::Wildcard; + + assert!(Wildcard::new("#").matches("test/test")); + assert!(Wildcard::new("test/#").matches("test/test")); + assert!(!Wildcard::new("test/#").matches("test1/test")); + assert!(Wildcard::new("test/+/test").matches("test/test/test")); + assert!(!Wildcard::new("test/+/test").matches("test/test")); + assert!(Wildcard::new("test/test").matches("test/test")); + assert!(!Wildcard::new("test/test").matches("test1/test")); + } +} diff --git a/crates/shepherd-run/Cargo.toml b/crates/shepherd-run/Cargo.toml new file mode 100644 index 0000000..797a712 --- /dev/null +++ b/crates/shepherd-run/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "shepherd-run" +version = "0.1.0" +edition.workspace = true +authors.workspace = true +license.workspace = true + +[dependencies] +anyhow.workspace = true +base64.workspace = true +chrono.workspace = true +hopper.workspace = true +serde.workspace = true +serde_json.workspace = true +shepherd-common = { path = "../shepherd-common" } +shepherd-mqtt = { path = "../shepherd-mqtt" } +tokio.workspace = true +tokio-gpiod.workspace = true +tracing.workspace = true +tracing-subscriber.workspace = true diff --git a/crates/shepherd-run/src/main.rs b/crates/shepherd-run/src/main.rs new file mode 100644 index 0000000..fe499f4 --- /dev/null +++ b/crates/shepherd-run/src/main.rs @@ -0,0 +1,14 @@ +use shepherd_common::args::call_with_args; + +mod runner; +mod usercode; + +#[tokio::main] +async fn main() { + call_with_args("shepherd-run", async |config| { + let mut r = runner::Runner::new(config).await?; + r.run().await?; + Ok(()) + }) + .await; +} diff --git a/crates/shepherd-run/src/runner.rs b/crates/shepherd-run/src/runner.rs new file mode 100644 index 0000000..7c05e03 --- /dev/null +++ b/crates/shepherd-run/src/runner.rs @@ -0,0 +1,374 @@ +use std::{path::PathBuf, sync::Arc, time::Duration}; + +use anyhow::{Result, anyhow}; +use base64::Engine; +use hopper::{Pipe, PipeMode}; +use shepherd_common::{Mode, RunState, Zone, config::Config, status_for}; +use shepherd_mqtt::{ + MqttAsyncClient, MqttClient, + messages::{ControlMessage, ControlMessageType, RunStatusMessage}, +}; +use tokio::{ + fs, + process::Command, + sync::mpsc::{self, UnboundedReceiver, UnboundedSender}, +}; +use tokio_gpiod::{Bias, Chip, EdgeDetect, Input, Lines, Options}; +use tracing::{error, info, warn}; + +use crate::usercode::{Usercode, UsercodeHandle}; + +pub enum StateEvent { + Transition(RunState, Option), + SetTarget(Mode, Zone), +} + +pub struct Runner { + config: Config, + state: RunState, + target_mode: Mode, + target_zone: Zone, + usercode_handle: Option, + state_sender: Option>, + image_pipe: Option>, +} + +impl Runner { + /// Setup GPIO events for start button + async fn setup_gpio(config: &Config) -> Result<(Chip, Lines)> { + let chip = Chip::new(config.run.gpio_device.clone()).await?; + let opts = Options::input([config.run.start_button]) + .edge(EdgeDetect::Falling) + .bias(Bias::PullUp) + .consumer(config.run.service_id.clone()); + let lines = chip.request_lines(opts).await?; + Ok((chip, lines)) + } + + pub async fn new(config: Config) -> Result { + Ok(Self { + config, + state: RunState::Init, + target_mode: Mode::Dev, + target_zone: Zone::from_id(0), + usercode_handle: None, + state_sender: None, + image_pipe: None, + }) + } + + async fn reset_state(&mut self) { + self.target_mode = Mode::Dev; + self.target_zone = Zone::from_id(0); + + // spawn hardware reset script + match Command::new(&self.config.run.reset_script).spawn() { + Ok(mut child) => match child.wait().await { + Ok(status) if !status.success() => { + warn!("reset script exited with status {:?}", status) + } + Err(e) => warn!("failed to wait on reset script: {e}"), + Ok(_) => {} + }, + Err(e) => { + error!("failed to run robot reset script: {e}"); + } + } + } + + /// Dump start image into hopper + async fn load_start_image(&self) -> Result<()> { + let start_image = if self.config.path.team_image.is_file() { + &self.config.path.team_image + } else if self.config.path.game_image.is_file() { + &self.config.path.game_image + } else { + warn!("no start image found, not loading graphic!"); + return Ok(()); + }; + + if let Some(image_pipe) = &self.image_pipe + && image_pipe.is_open() + { + let in_buf = fs::read(start_image).await?; + let mut out_buf = vec![0; in_buf.len().div_ceil(3) * 4]; + + if let Ok(len) = + base64::engine::general_purpose::STANDARD_NO_PAD.encode_slice(in_buf, &mut out_buf) + { + let image_pipe = image_pipe.clone(); + tokio::task::spawn_blocking(move || { + out_buf.truncate(len); + out_buf.push(b'\n'); + if let Err(e) = image_pipe.write(out_buf.as_slice()) { + warn!("failed to write start image: {e}"); + } + }); + } + } else { + warn!("not loading start image, hopper pipe not open"); + } + + Ok(()) + } + + /// reset usercode + async fn state_ready(&mut self) -> Result<()> { + if let Some(uh) = &self.usercode_handle { + uh.start()?; + } else { + return Err(anyhow!("tried to start usercode, but handle was not set?")); + } + + // dump start image into hopper + self.load_start_image().await?; + + Ok(()) + } + + /// running transition, send start info and timeout to usercode + async fn state_running(&mut self) -> Result<()> { + if let Some(uh) = &self.usercode_handle { + uh.send_start_info(self.target_mode, self.target_zone)?; + + // set round timeout only if in comp mode + if self.target_mode == Mode::Comp { + uh.set_timeout(Duration::from_secs(self.config.run.comp_timeout))?; + } + } else { + return Err(anyhow!( + "tried to configure usercode, but handle was not set?" + )); + } + + Ok(()) + } + + /// post-run transition, kill usercode, reset state + async fn state_post_run(&mut self) -> Result<()> { + if let Some(uh) = &self.usercode_handle { + uh.kill()?; + } else { + return Err(anyhow!("tried to kill usercode, but handle was not set?")); + } + + self.reset_state().await; + Ok(()) + } + + /// Dispatch incoming state transitions + async fn dispatch_state( + &mut self, + mqttc: &MqttAsyncClient, + recv: UnboundedReceiver, + ) -> Result<()> { + let mut recv = recv; + + while let Some(ev) = recv.recv().await { + match ev { + StateEvent::Transition(next, prev) => { + // states must transition in specified sequence + if let Some(prev) = prev + && self.state != prev + { + warn!( + "cannot switch to {:?} from {:?}, requires {:?}", + next, self.state, prev + ); + continue; + } + + info!("transition to {:?}", next); + + self.state = next; + + // publish a status message for consumers + // could be used to tell when robot is started/stopped + mqttc + .publish( + status_for(&self.config.run.service_id), + RunStatusMessage { state: next }, + ) + .await?; + + // call handler functions for state transitions + match next { + RunState::Init => { + // Init only ever runs once + warn!("cannot transition to Init state"); + continue; + } + RunState::Ready => self.state_ready().await, + RunState::Running => self.state_running().await, + RunState::PostRun => self.state_post_run().await, + }?; + } + StateEvent::SetTarget(mode, zone) => { + self.target_mode = mode; + self.target_zone = zone; + + info!("update (mode, zone) to ({:#?}, {:#?})", mode, zone); + } + } + } + + Ok(()) + } + + /// Dispatch MQTT events to state transitions + async fn dispatch_mqtt(msg: ControlMessage, sender: UnboundedSender) -> Result<()> { + info!("got mqtt control message: {:?}", msg); + match msg._type { + ControlMessageType::Start => { + sender.send(StateEvent::SetTarget(msg.mode, msg.zone))?; + sender.send(StateEvent::Transition( + RunState::Running, + Some(RunState::Ready), + ))? + } + ControlMessageType::Stop => { + sender.send(StateEvent::Transition(RunState::PostRun, None))? + } + ControlMessageType::Reset => { + sender.send(StateEvent::Transition(RunState::Ready, None))? + } + } + Ok(()) + } + + /// Dispatch GPIO events to state transitions + async fn dispatch_gpio( + config: Config, + lines: Lines, + sender: UnboundedSender, + ) -> Result<()> { + let mut lines = lines; + let mut last_event = Duration::ZERO; + loop { + let event = lines.read_event().await?; + if event.time - last_event >= Duration::from_millis(1000) { + info!("gpio start detected"); + last_event = event.time; + + let arena_usb = PathBuf::from(&config.path.arena_usb); + + // pull zone info from arena usb + let zone = if arena_usb.join("zone1.txt").is_file() { + Zone::from_id(1) + } else if arena_usb.join("zone2.txt").is_file() { + Zone::from_id(2) + } else if arena_usb.join("zone3.txt").is_file() { + Zone::from_id(3) + } else { + // default to zone 0 always + Zone::from_id(0) + }; + + sender.send(StateEvent::SetTarget(Mode::Comp, zone))?; + sender.send(StateEvent::Transition( + RunState::Running, + Some(RunState::Ready), + ))?; + } + } + } + + /// Final setup & event dispatch loops + pub async fn run(&mut self) -> Result<()> { + // destroy previous sessions, if any + self.state = RunState::Init; + self.state_sender = None; + self.usercode_handle = None; + self.image_pipe = None; + self.reset_state().await; + + // create an image pipe for dumping images + let mut image_pipe = Pipe::new( + PipeMode::IN, + &self.config.run.service_id, + &self.config.channel.camera, + Some(&self.config.path.hopper), + )?; + image_pipe.open()?; + self.image_pipe = Some(Arc::new(image_pipe)); + + let (state_sender, state_receiver) = mpsc::unbounded_channel(); + + let (mut mqtt_client, mut mqtt_event_loop) = MqttClient::new( + &self.config.run.service_id, + &self.config.mqtt.broker, + self.config.mqtt.port, + ); + + // mqtt needs to run independently + let mqtt_loop = tokio::spawn(async move { mqtt_event_loop.run().await }); + + // transition immediately into ready when dispatch starts later + state_sender.send(StateEvent::Transition( + RunState::Ready, + Some(RunState::Init), + ))?; + + // setup mqtt receiver for control events + let mqtt_state_sender = state_sender.clone(); + mqtt_client + .subscribe( + &self.config.channel.robot_control, + move |_, msg: ControlMessage| { + // this feels like a hack + let state_sender = mqtt_state_sender.clone(); + async move { Self::dispatch_mqtt(msg, state_sender).await } + }, + ) + .await?; + + // setup gpio handling if available + let gpio_config = self.config.clone(); + let gpio_state_sender = state_sender.clone(); + match Self::setup_gpio(&self.config).await { + // we don't care about joining later, task runs anyway + Ok((_, lines)) => std::mem::drop(tokio::task::spawn(async move { + if let Err(e) = + Self::dispatch_gpio(gpio_config, lines, gpio_state_sender.clone()).await + { + warn!("gpio exited with error: {e}"); + } + })), + Err(e) => warn!("gpio setup failed: {e}"), + } + + // initialise usercode manager + let (mut usercode, usercode_handle) = Usercode::new(self.config.clone())?; + + let usercode_state_sender = state_sender.clone(); + usercode.on_exit(Some(move || { + // force transition to post-run since usercode state is unknown + let _ = usercode_state_sender.send(StateEvent::Transition(RunState::PostRun, None)); + })); + + self.usercode_handle = Some(usercode_handle); + self.state_sender = Some(state_sender); + + // will abort when either of these fail + tokio::select!( + res = self.dispatch_state(&mqtt_client, state_receiver) => { + warn!("state dispatch exited {:?}", res); + res? + } + res = mqtt_loop => { + warn!("mqtt client exited {:?}", res); + + match res { + Ok(e) => e?, + Err(e) => return Err(e.into()), + } + } + res = usercode.run() => { + warn!("usercode runner exited {:?}", res); + res? + } + ); + + Ok(()) + } +} diff --git a/crates/shepherd-run/src/usercode.rs b/crates/shepherd-run/src/usercode.rs new file mode 100644 index 0000000..2268a7b --- /dev/null +++ b/crates/shepherd-run/src/usercode.rs @@ -0,0 +1,205 @@ +use std::time::Duration; + +use anyhow::Result; +use serde::{Deserialize, Serialize}; +use shepherd_common::{Mode, Zone, config::Config}; +use tokio::{ + process::{Child, Command}, + sync::mpsc::{UnboundedReceiver, UnboundedSender, unbounded_channel}, + time::sleep, +}; +use tracing::debug; + +#[derive(Debug, Serialize, Deserialize)] +struct ControlMessage { + mode: Mode, + zone: u32, +} + +enum UsercodeMessage { + Start, + SendStartInfo(Mode, Zone), + SetTimeout(Duration), + Kill, +} + +pub struct UsercodeHandle { + send: UnboundedSender, +} + +impl UsercodeHandle { + /// start usercode, if it is already running it will be killed first + pub fn start(&self) -> Result<()> { + self.send.send(UsercodeMessage::Start)?; + Ok(()) + } + + /// send start info to usercode + pub fn send_start_info(&self, mode: Mode, zone: Zone) -> Result<()> { + self.send.send(UsercodeMessage::SendStartInfo(mode, zone))?; + Ok(()) + } + + /// set a timeout for the usercode, after which it will be killed automatically + /// this supersedes any timeout which has already been set + pub fn set_timeout(&self, timeout: Duration) -> Result<()> { + self.send.send(UsercodeMessage::SetTimeout(timeout))?; + Ok(()) + } + + /// kill usercode + pub fn kill(&self) -> Result<()> { + self.send.send(UsercodeMessage::Kill)?; + Ok(()) + } +} + +pub struct Usercode { + config: Config, + recv: UnboundedReceiver, + usercode: Option, + start_pipe: hopper::Pipe, + log_pipe: hopper::Pipe, + _on_exit: Option>, +} + +impl Usercode { + pub fn new(config: Config) -> Result<(Self, UsercodeHandle)> { + let (send, recv) = unbounded_channel(); + + let mut start_pipe = hopper::Pipe::new( + hopper::PipeMode::IN, + &config.run.service_id, + &config.channel.robot_control, + Some(&config.path.hopper), + )?; + + let mut log_pipe = hopper::Pipe::new( + hopper::PipeMode::IN, + &config.run.service_id, + &config.channel.robot_log, + Some(&config.path.hopper), + )?; + + start_pipe.open()?; + log_pipe.open()?; + + Ok(( + Self { + config, + recv, + usercode: None, + start_pipe, + log_pipe, + _on_exit: None, + }, + UsercodeHandle { send }, + )) + } + + pub fn on_exit(&mut self, f: Option) + where + F: Fn() + Send + Sync + 'static, + { + if let Some(f) = f { + self._on_exit = Some(Box::new(f)); + } else { + self._on_exit = None; + } + } + + pub async fn run(&mut self) -> Result<()> { + let mut timeout = None; + + loop { + tokio::select! { + Some(msg) = self.recv.recv() => { + match msg { + UsercodeMessage::Start => { + if let Some(mut child) = self.usercode.take() { + let _ = child.kill().await; + let _ = child.wait().await; + } + + let hopper = self.config.path.hopper.to_string_lossy().to_string(); + let entrypoint = self + .config + .path + .user_cur_dir + .join("main.py") + .to_string_lossy() + .to_string(); + + // stdio handles are owned, clone fds here + let log_pipe = self.log_pipe.fd()?.try_clone()?; + let err_pipe = self.log_pipe.fd()?.try_clone()?; + + let child = Command::new("/usr/bin/env") + .args(["python3", "-u", &entrypoint]) + .env("HOPPER_PATH", hopper) + .current_dir(&self.config.path.user_cur_dir) + .stdout(log_pipe) + .stderr(err_pipe).spawn()?; + + debug!("Start( {:?} )", child.id()); + + self.usercode = Some(child); + timeout = None; + }, + UsercodeMessage::SendStartInfo(mode, zone) => { + let msg = ControlMessage { mode, zone: zone.to_id() }; + let msg = serde_json::to_vec(&msg)?; + self.start_pipe.write(msg.as_slice())?; + debug!("SendStartInfo( {:?}, {:?} )", mode, zone); + }, + UsercodeMessage::SetTimeout(duration) => { + timeout = Some(Box::pin(sleep(duration))); + debug!("SetTimeout( {:?} )", duration); + }, + UsercodeMessage::Kill => { + debug!("Kill (request)"); + if let Some(child) = &mut self.usercode { + let _ = child.kill().await; + } + } + } + } + + _ = async { + if let Some(child) = &mut self.usercode { + let _ = child.wait().await; + } + }, if self.usercode.is_some() => { + self.usercode = None; + timeout = None; + + debug!("Exit"); + + if let Some(on_exit) = &self._on_exit { + on_exit(); + } + } + + _ = async { + if let Some(t) = &mut timeout { + t.await + } + }, if timeout.is_some() => { + debug!("Kill (timeout)"); + timeout = None; + if let Some(child) = &mut self.usercode { + let _ = child.kill().await; + } + } + } + } + } +} + +impl Drop for Usercode { + fn drop(&mut self) { + if let Some(mut child) = self.usercode.take() { + tokio::spawn(async move { child.kill().await }); + } + } +} diff --git a/crates/shepherd-ws/Cargo.toml b/crates/shepherd-ws/Cargo.toml new file mode 100644 index 0000000..f9db727 --- /dev/null +++ b/crates/shepherd-ws/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "shepherd-ws" +version = "0.1.0" +edition.workspace = true +authors.workspace = true +license.workspace = true + +[dependencies] +anyhow.workspace = true +bytes.workspace = true +chrono.workspace = true +futures-util.workspace = true +hopper.workspace = true +serde.workspace = true +serde_json.workspace = true +shepherd-common = { path = "../shepherd-common" } +shepherd-mqtt = { path = "../shepherd-mqtt" } +tokio.workspace = true +tokio-tungstenite.workspace = true +tracing.workspace = true +tracing-subscriber.workspace = true diff --git a/crates/shepherd-ws/src/buffer.rs b/crates/shepherd-ws/src/buffer.rs new file mode 100644 index 0000000..164ad97 --- /dev/null +++ b/crates/shepherd-ws/src/buffer.rs @@ -0,0 +1,150 @@ +use std::{collections::VecDeque, sync::Arc}; + +use anyhow::Result; +use bytes::Bytes; +use tokio::sync::{Mutex, mpsc}; +use tracing::debug; + +enum LogBufferMessage { + Append(Bytes), + Clear, +} + +#[derive(Debug, Clone)] +pub struct LogBufferHandle { + buffer: Arc>>, + tx: mpsc::UnboundedSender, +} + +impl LogBufferHandle { + /// Append bytes to the log buffer + pub fn append(&self, b: Bytes) -> Result<()> { + self.tx.send(LogBufferMessage::Append(b))?; + Ok(()) + } + + /// Clear the log buffer + pub fn clear(&self) -> Result<()> { + self.tx.send(LogBufferMessage::Clear)?; + Ok(()) + } + + /// Acquire a copy of the current buffer contents + pub async fn current_log(&self) -> Vec { + let buffer = self.buffer.lock().await; + buffer.iter().cloned().collect() + } +} + +#[derive(Debug)] +pub struct LogBuffer { + buffer: Arc>>, + total_size: usize, + max_size: usize, + rx: mpsc::UnboundedReceiver, +} + +impl LogBuffer { + /// Create a new buffer for log storage + pub fn new(capacity: usize) -> (Self, LogBufferHandle) { + let (tx, rx) = mpsc::unbounded_channel(); + let buffer = Arc::new(Mutex::new(VecDeque::new())); + + ( + Self { + buffer: buffer.clone(), + total_size: 0, + max_size: capacity, + rx, + }, + LogBufferHandle { buffer, tx }, + ) + } + + /// Dispatch buffer events forever + pub async fn dispatch_forever(&mut self) -> Result<()> { + loop { + match self.rx.recv().await { + Some(LogBufferMessage::Clear) => { + let mut buffer = self.buffer.lock().await; + buffer.truncate(0); + self.total_size = 0; + debug!("cleared current log buffer"); + } + Some(LogBufferMessage::Append(b)) => { + let mut buffer = self.buffer.lock().await; + + self.total_size += b.len(); + buffer.push_back(b); + + // delete old messages from the buffer + while self.total_size > self.max_size { + if let Some(old) = buffer.pop_front() { + self.total_size -= old.len(); + } else { + break; + } + } + } + None => continue, + } + } + } +} + +enum CameraBufferMessage { + Set(Bytes), +} + +#[derive(Debug, Clone)] +pub struct CameraBufferHandle { + buffer: Arc>, + tx: mpsc::UnboundedSender, +} + +impl CameraBufferHandle { + pub fn set(&self, b: Bytes) -> Result<()> { + self.tx.send(CameraBufferMessage::Set(b))?; + Ok(()) + } + + pub async fn get(&self) -> Bytes { + self.buffer.lock().await.clone() + } +} + +#[derive(Debug)] +pub struct CameraBuffer { + buffer: Arc>, + rx: mpsc::UnboundedReceiver, +} + +impl CameraBuffer { + /// Create a new buffer for image storage + pub fn new() -> (Self, CameraBufferHandle) { + let (tx, rx) = mpsc::unbounded_channel(); + let buffer = Arc::new(Mutex::new(Bytes::new())); + + ( + Self { + buffer: buffer.clone(), + rx, + }, + CameraBufferHandle { buffer, tx }, + ) + } + + /// Dispatch events forever + pub async fn dispatch_forever(&mut self) -> Result<()> { + loop { + match self.rx.recv().await { + Some(CameraBufferMessage::Set(b)) => { + let mut buffer = self.buffer.lock().await; + *buffer = b; + debug!("set new camera image"); + } + None => continue, + } + } + } +} diff --git a/crates/shepherd-ws/src/dispatch.rs b/crates/shepherd-ws/src/dispatch.rs new file mode 100644 index 0000000..1b203eb --- /dev/null +++ b/crates/shepherd-ws/src/dispatch.rs @@ -0,0 +1,105 @@ +use anyhow::Result; +use bytes::{Bytes, BytesMut}; +use hopper::Pipe; +use shepherd_common::RunState; +use shepherd_mqtt::messages::RunStatusMessage; +use tokio::sync::{broadcast, watch}; +use tracing::{debug, error}; + +use crate::buffer::{CameraBufferHandle, LogBufferHandle}; + +/// forward raw mqtt messages to websockets +pub async fn dispatch_mqtt_message( + sender: broadcast::Sender<(String, Bytes)>, + log_handle: LogBufferHandle, + topic: String, + shepherd_run_status: String, + msg: Bytes, +) -> Result<()> { + if topic == shepherd_run_status + && let Ok(msg) = serde_json::from_slice::(&msg) + && msg.state == RunState::Ready + { + // clear logs when reset message received + let _ = log_handle.clear(); + let _ = sender.send(("robot/log".to_string(), Bytes::from("\x1b[2J"))); + } + + // broadcast everywhere, result doesn't matter much + let _ = sender.send((topic, msg)); + Ok(()) +} + +/// read logs from hopper and push them to websockets +pub fn dispatch_log_messages( + sender: broadcast::Sender<(String, Bytes)>, + log_handle: LogBufferHandle, + log_pipe: Pipe, + topic: String, + buf_size: usize, +) -> Result<()> { + let mut buf = BytesMut::with_capacity(buf_size); + + loop { + buf.resize(buf_size, 0); + + match log_pipe.read(&mut buf) { + Ok(n) => { + buf.truncate(n); + let _ = sender.send((topic.clone(), buf.clone().into())); + let _ = log_handle.append(buf.clone().into()); + } + Err(e) => { + error!("log error: {e}"); + } + } + } +} + +/// read images from hopper and push them to websockets +pub fn dispatch_images( + camera_pipe: Pipe, + sender: watch::Sender<(String, Bytes)>, + camera_handle: CameraBufferHandle, + topic: String, + buf_size: usize, +) -> Result<()> { + let mut buf = BytesMut::new(); + + loop { + let mut cbuf = BytesMut::with_capacity(buf_size); + cbuf.resize(buf_size, 0); + + match camera_pipe.read(&mut cbuf) { + Ok(n) => { + cbuf.truncate(n); + + let mut pos = None; + for i in 0..n { + // images are newline separated + if cbuf[i] == b'\n' { + pos = Some(i); + break; + } + } + + if let Some(pos) = pos { + // offset in merged buffer + let off = pos + buf.len() + 1; + buf.extend(cbuf); + + // split into image and rest + let img = buf.split_to(off); + debug!("got image of {} bytes", img.len()); + let _ = sender.send((topic.clone(), img.clone().freeze())); + let _ = camera_handle.set(img.freeze()); + } else { + buf.extend(cbuf); + } + } + Err(e) => { + error!("camera error: {e}"); + } + } + } +} diff --git a/crates/shepherd-ws/src/main.rs b/crates/shepherd-ws/src/main.rs new file mode 100644 index 0000000..b81bf40 --- /dev/null +++ b/crates/shepherd-ws/src/main.rs @@ -0,0 +1,154 @@ +use anyhow::Result; +use bytes::Bytes; +use hopper::{Pipe, PipeMode}; +use shepherd_common::{args::call_with_args, config::Config}; +use shepherd_mqtt::MqttClient; +use tokio::{ + net::TcpListener, + sync::{broadcast, watch}, +}; +use tracing::{error, warn}; + +use crate::{ + buffer::{CameraBuffer, LogBuffer}, + dispatch::{dispatch_images, dispatch_log_messages, dispatch_mqtt_message}, + ws::{WsState, handle_websocket_connection}, +}; + +mod buffer; +mod dispatch; +mod receiver; +mod ws; + +async fn _main(config: Config) -> Result<()> { + // set up hopper pipes for logs and images + let mut log_pipe = Pipe::new( + PipeMode::OUT, + &config.ws.service_id, + &config.channel.robot_log, + Some(config.path.hopper.clone()), + )?; + let mut camera_pipe = Pipe::new( + PipeMode::OUT, + &config.ws.service_id, + &config.channel.camera, + Some(config.path.hopper.clone()), + )?; + + log_pipe.open()?; + camera_pipe.open()?; + + let (mut log_buffer, log_handle) = LogBuffer::new(config.ws.log_buffer_size); + let (mut camera_buffer, camera_handle) = CameraBuffer::new(); + + let (mut mqtt_client, mut mqtt_event_loop) = + MqttClient::new(&config.ws.service_id, &config.mqtt.broker, config.mqtt.port); + + // run mqtt event loop independently + let mqtt_loop = tokio::spawn(async move { + // run mqtt forever, it "should" reconnect + loop { + if let Err(e) = mqtt_event_loop.run().await { + error!("mqtt loop exited: {e}"); + } + } + }); + + // broadcasting for messages to websockets + let (msg_sender, _) = broadcast::channel::<(String, Bytes)>(64); + let (camera_sender, _) = + watch::channel::<(String, Bytes)>((config.channel.camera.clone(), Bytes::new())); + + // set up subscription for all mqtt messages + let mqtt_sender = msg_sender.clone(); + let mqtt_log_handle = log_handle.clone(); + mqtt_client + .subscribe_raw("#", move |t, v| { + let mqtt_sender = mqtt_sender.clone(); + let mqtt_log_handle = mqtt_log_handle.clone(); + async move { + dispatch_mqtt_message( + mqtt_sender, + mqtt_log_handle, + t, + "shepherd-run/status".to_string(), + v, + ) + .await + } + }) + .await?; + + // dispatch log messages forever + let log_sender = msg_sender.clone(); + let log_topic = config.channel.robot_log.clone(); + let _log_handle = log_handle.clone(); + tokio::task::spawn_blocking(move || { + let _ = dispatch_log_messages( + log_sender, + _log_handle, + log_pipe, + log_topic, + config.ws.hopper_buffer_size, + ); + }); + + // dispatch images forever + let image_sender = camera_sender.clone(); + let image_topic = config.channel.camera.clone(); + let image_handle = camera_handle.clone(); + tokio::task::spawn_blocking(move || { + let _ = dispatch_images( + camera_pipe, + image_sender, + image_handle, + image_topic, + config.ws.hopper_buffer_size, + ); + }); + + let listener = TcpListener::bind(format!("{}:{}", &config.ws.host, config.ws.port)).await?; + + tokio::select! { + res = async { + loop { + match listener.accept().await { + Ok((stream, _)) => { + // spawn a task to handle this websocket, exists for websocket lifetime + tokio::spawn(handle_websocket_connection(stream, WsState { + camera: config.channel.camera.clone(), + robot_log: config.channel.robot_log.clone(), + log_handle: log_handle.clone(), + camera_handle: camera_handle.clone(), + cam_rx: camera_sender.subscribe(), + msg_rx: msg_sender.subscribe(), + })); + }, + Err(e) => return Err(e), + } + } + } => { + warn!("websocket handler exited {:?}", res); + res? + } + + _ = log_buffer.dispatch_forever() => { + error!("log buffer exited?"); + } + + _ = camera_buffer.dispatch_forever() => { + error!("camera buffer exited?"); + } + + _ = mqtt_loop => { + error!("mqtt client exited?"); + } + }; + + Ok(()) +} + +#[tokio::main] +async fn main() { + call_with_args("shepherd-ws", _main).await; +} diff --git a/crates/shepherd-ws/src/receiver.rs b/crates/shepherd-ws/src/receiver.rs new file mode 100644 index 0000000..3c09b74 --- /dev/null +++ b/crates/shepherd-ws/src/receiver.rs @@ -0,0 +1,48 @@ +use anyhow::Result; +use bytes::Bytes; +use tokio::sync::{broadcast, watch}; + +pub enum MessageReceiver { + Raw(String, broadcast::Receiver<(String, Bytes)>), + Image(String, watch::Receiver<(String, Bytes)>), +} + +impl MessageReceiver { + /// wait until a valid message is received on this channel + pub async fn recv(&mut self) -> Result { + loop { + if let Some(res) = match self { + Self::Raw(topic, rx) => match rx.recv().await { + Ok((rx_topic, payload)) => { + if rx_topic == *topic { + Some(Ok(payload)) + } else { + None + } + } + Err(e) => { + if e == broadcast::error::RecvError::Closed { + Some(Err(anyhow::anyhow!("receive failed: {e}"))) + } else { + None + } + } + }, + + Self::Image(topic, rx) => match rx.changed().await { + Ok(()) => { + let payload = rx.borrow_and_update().clone(); + if payload.0 == *topic { + Some(Ok(payload.1)) + } else { + None + } + } + Err(e) => Some(Err(anyhow::anyhow!("{e}"))), + }, + } { + return res; + } + } + } +} diff --git a/crates/shepherd-ws/src/ws.rs b/crates/shepherd-ws/src/ws.rs new file mode 100644 index 0000000..f90ec31 --- /dev/null +++ b/crates/shepherd-ws/src/ws.rs @@ -0,0 +1,99 @@ +use anyhow::Result; +use bytes::Bytes; +use futures_util::{SinkExt, StreamExt}; +use tokio::{ + net::TcpStream, + sync::{broadcast, watch}, +}; +use tokio_tungstenite::{ + accept_hdr_async, + tungstenite::{ + Message, + handshake::server::{Request, Response}, + }, +}; +use tracing::{debug, info}; + +use crate::{ + buffer::{CameraBufferHandle, LogBufferHandle}, + receiver::MessageReceiver, +}; + +#[derive(Debug)] +pub struct WsState { + pub camera: String, + pub robot_log: String, + pub log_handle: LogBufferHandle, + pub camera_handle: CameraBufferHandle, + pub cam_rx: watch::Receiver<(String, Bytes)>, + pub msg_rx: broadcast::Receiver<(String, Bytes)>, +} + +/// handle a single incoming websocket connection until it exits +pub async fn handle_websocket_connection(stream: TcpStream, state: WsState) -> Result<()> { + let mut sub_topic: Option = None; + + #[allow(clippy::result_large_err)] + let callback = |req: &Request, resp: Response| { + sub_topic = Some(req.uri().to_string().split_at(1).1.to_string()); + Ok(resp) + }; + + let addr = stream.peer_addr()?; + let (mut ws_tx, mut ws_rx) = accept_hdr_async(stream, callback).await?.split(); + + let sub_topic = if let Some(sub_topic) = sub_topic { + sub_topic + } else { + return Err(anyhow::anyhow!("websocket subscription topic not set")); + }; + + info!("subscription from {:?}, topic {:?}", addr, sub_topic); + + let mut rx = if sub_topic == state.camera { + // send the existing image + let current = state.camera_handle.get().await; + ws_tx.send(Message::Binary(current)).await?; + + debug!("sent current image to new client"); + + MessageReceiver::Image(state.camera, state.cam_rx) + } else if sub_topic == state.robot_log { + // send stored logs to new connections + for msg in state.log_handle.current_log().await { + ws_tx.send(Message::Binary(msg)).await?; + } + + debug!("sent current logs to new client"); + + MessageReceiver::Raw(sub_topic.clone(), state.msg_rx) + } else { + MessageReceiver::Raw(sub_topic.clone(), state.msg_rx) + }; + + loop { + tokio::select! { + msg = rx.recv() => { + match msg { + Ok(payload) => ws_tx.send(Message::Binary(payload)).await?, + Err(e) => return Err(e)?, + } + } + + msg = ws_rx.next() => { + // detect if connection has been closed + match msg { + Some(Ok(msg)) => if msg.is_close() { + info!("closed connection from {:?}, topic {:?}", addr, sub_topic); + return Ok(()) + } + None => { + info!("closed connection from {:?}, topic {:?}", addr, sub_topic); + return Ok(()) + } + _ => {} + } + } + }; + } +} diff --git a/doc/api/http.md b/doc/api/http.md new file mode 100644 index 0000000..2729248 --- /dev/null +++ b/doc/api/http.md @@ -0,0 +1,178 @@ +# Shepherd HTTP API Reference + +This document describes the layout of the Shepherd HTTP API, which is used +primarily by Sheep. For the WebSocket API, see [this page](./ws.md), for the +MQTT API, please refer to other documentation (ref docs when they exist). + +It can be broken down into 3 different areas: + +- Editor, managing usercode projects stored on the brain +- Upload, uploading usercode files to **run** (different from editor) +- Control, managing the state of the running usercode + +See notes on errors at the bottom of this document. + +## Editor + +All editor API routes have the `/files` prefix (`/editor` is used for serving +Sheep itself). + +### `/files/list` + +- Methods: `GET` + +List current projects and block definitions stored on the brain. + +Example response: + +```json +{ + "blocks": { + "requires": [ + "nice_robot.py" + ], + "header": "...", + "blocks": [ + ... + ], + "footer": "" + }, + "files": [ + "blocks.json", + "me.py", + "new_project.py", + "nice_robot.py" + ] +} +``` + +- `projects` is an array of files that can be accessed via the `/files/load` + route. **NOTE:** Previous versions of Shepherd returned file content in this + array, this has been removed. + +- `blocks` contains information about Blockly blocks. I guess I'll point you to + the Sheep source code for how they are interpreted, because I can't remember. + +### `/files/load/{filename}` + +- Methods: `GET` + +Load a file specified by `filename` if it exists. A list of valid files can be +obtained with `/files/list` (see above). + +Example response: + +```json +{ + "filename": "main.py", + "content": "..." +} +``` + +- `filename` is the name of the file you requested. +- `content` is the content of the file you requested. + +### `/files/save/{filename}` + +- Methods: `POST` + +Write to a file specified by `filename`. The content is the request body, which +must be UTF-8 encoded. + +### `/files/delete/{filename}` + +- Methods: `DELETE` + +Delete a file specified by `filename`. + +## Upload + +Upload API routes are all prefixed with `/upload`. + +### `/upload/file` + +- Methods: `POST` + +Upload a file for current usercode execution. If successful, this clears any +current usercode. + +Files should be sent as multipart form data. + +File formats accepted are Python and ZIP (DEFLATE). File detection is done +by a combination of MIME type and file extension. To ensure maximum +compatibility, use the following MIME types and extensions: + +- Python + - MIME types: `text/x-python`, `text/plain`, `text/*` + - Extensions: `.py` +- ZIP + - MIME types: `application/zip` + - All ZIP files are checked for validity, and if compressed, should + be with the DEFLATE algorithm. + +Usercode state will **not** change upon completing this request. This is +a change from previous versions of Shepherd, where usercode was restarted +automatically when usercode changed. + +If this request succeeds, status code 201 is set. + +### `/upload/team-image` + +- Methods: `POST` + +Upload a team image file. + +The team image file should be sent as multipart form data. + +This request accepts various image file formats. To reduce processing costs, +send images in JPEG format (`image/jpeg`). All images received will be +converted to this format automatically otherwise. + +The recommended resolution for images is 640x480 pixels, as (currently) images +are **not** automatically resized. If you choose to use other dimensions, be +aware that images in aspect ratios other than 4:3 may display poorly elsewhere, +e.g. in the arena. + +If this request succeeds, status code 201 is set. + +## Control + +All control routes use the `/control` prefix. + +**NOTE:** The structure of the control API is still in development, and may +change in the future. + +**NOTE:** Most of the control API invokes the MQTT API internally. Clients +supporting the MQTT protocol may wish to use that instead (ref docs when they +exist). + +### `/control/start` + +- Methods: `POST` + +Start (or restart) usercode. + +If this request succeeds, status code 204 is set. + +### `/control/stop` + +- Methods: `POST` + +Stop running usercode, if it is running. + +If this request succeeds, status code 204 is set. + +## Errors + +If an error occurs during processing of any of the above requests, an +appropriate status code (typically 500) will be set, and a JSON body similar +to the following will be returned: + +```json +{ + "detail": "..." +} +``` + +- `detail` contains the error message. + diff --git a/doc/api/mqtt.md b/doc/api/mqtt.md new file mode 100644 index 0000000..1002438 --- /dev/null +++ b/doc/api/mqtt.md @@ -0,0 +1,39 @@ +# Shepherd MQTT API Reference + +Shepherd uses MQTT for data and status events. Clients may prefer to use +the [WebSocket API](./ws.md) instead, which relays all MQTT messages. +For the HTTP API, see [this page](./http.md). + +## `status` and LWT + +All Shepherd services have a status topic which is used to report service +status, notably, LWT. These topics are named `{{service}}/status`, where +service is either `shepherd-run`, `shepherd-app`, or `shepherd-ws`. + +All LWT messages use the same JSON format, containing a single string +field, `msg`. + +## `shepherd-run/control` + +This topic is used for communicating with the Shepherd runner, sending control +messages for usercode. This topic is used internally by Shepherd for starting +and stopping the usercode from the HTTP API. Clients should not publish on +this topic, rather, use the [HTTP API](./http.md) instead. + +For reference, messages contain `mode` and `zone` fields, represented in JSON, +for the current mode (`dev` or `comp`), and zone (0-3) for usercode. + +## `robot/log` + +This topic contains logs sent from running usercode. It may be preferable to +use the [WebSocket API](./ws.md) for logs, as buffering is handled +automatically, ensuring clients don't miss earlier log messages. + +## `robot/status` + +This topic contains the status of the running usercode, as reported by the +Shepherd runner. This message contains a single field `new_state`, which can +be either `init`, `ready`, `running`, or `post_run`, to indicate the current +state of usercode. This is particuarly useful for clients to signal logs need +to be cleared in the `ready` state. + diff --git a/doc/api/ws.md b/doc/api/ws.md new file mode 100644 index 0000000..3db43f9 --- /dev/null +++ b/doc/api/ws.md @@ -0,0 +1,36 @@ +# Shepherd WebSocket API Reference + +This document describes the Shepherd WebSocket API, which can be used to +receive data and events from Shepherd during its lifecycle. For the HTTP +API, see [this page](./http.md), for the MQTT API, see [this page](./mqtt.md). + +The Shepherd WebSocket API can be divided into three systems, specified by HTTP +endpoint: + +- `/robot/log`, buffered logs from running usercode +- `/camera`, b64 encoded images from running usercode +- all other endpoints, relayed from [MQTT](./mqtt.md) + +## `/robot/log` + +The `/robot/log` endpoint broadcasts log messages from running usercode. These +logs are buffered from the `robot/log` [MQTT topic](./mqtt.md) for the current +usercode session. + +Upon connecting to this endpoint, all previously buffered logs for the usercode +session are sent. To determine when the usercode session has terminated, e.g. +when client buffers should be cleared, use the MQTT relay endpoint `robot/status`, +this may change in the future. + +## `/camera` + +The `/camera` endpoint broadcasts base64-encoded, newline-terminated images +from usercode. These images will likely be in JPEG format, but other formats +may be present. Clients should either support common formats, or convert to +supported formats as required. + +## other endpoints + +All other endpoints are relayed from [MQTT](./mqtt.md), e.g. the endpoint +`/shepherd-run/status` corresponds to the `shepherd-run/status` MQTT topic. + diff --git a/doc/channels.md b/doc/channels.md new file mode 100644 index 0000000..710d3b0 --- /dev/null +++ b/doc/channels.md @@ -0,0 +1,11 @@ +# MQTT Channels used by Shepherd + +## General + +- `{service}/status` - status messages sent by `service` + +## `shepherd-run` + +- `shepherd-run/control` - control messages sent to runner +- `shepherd-run/status` - status messages from `runner` + diff --git a/doc/design.md b/doc/design.md new file mode 100644 index 0000000..30ccd19 --- /dev/null +++ b/doc/design.md @@ -0,0 +1,15 @@ +- MQTT based internally, as discussed previously +- multiple daemons handling a domain of services, like hopper architecture + - usercode runner + - usercode sources + - ... +- structured schema for message transfer, probably JSON +- can be poked as needed, easier debug +- clean integration over network + +# rationale + +- hopper works well for broadcast, bad for individual conversations +- hopper clients complex, inconsistent +- individual messages cannot easily be separated +- each channel only one way diff --git a/doc/dev.md b/doc/dev.md new file mode 100644 index 0000000..cbd5689 --- /dev/null +++ b/doc/dev.md @@ -0,0 +1,59 @@ +# Developing Shepherd + +This page describes how to setup your system to develop Shepherd, either on +your own system, or on a RoboCon brain. + +## Local + +Shepherd development requires a *nix system, examples include both Linux and +macOS. Windows is explicitly not supported by Shepherd, or by most of its +dependencies. + +Shepherd requires the following dependencies to be installed on your system: + +- [Hopper](https://github.com/systemetric/hopper) +- [Midge](https://github.com/systemetric/midge) +- MQTT broker, e.g. Mosquitto +- Python 3.13 +- A (relatively) recent libc, both glibc and musl should work. You probably + don't need to worry about this, and you'll already know if it's going to + be a problem for you. + +Shepherd also requires various Python modules to be installed, it is preferable +a virtual environment via pip or [uv](https://github.com/astral-sh/uv). + +Shepherd is divided into various modules, which provide Shepherd services. Each +of these can be run with `python3 -m shepherdx.{{name}}`, where `name` is either +`app`, `run`, or `ws`. + +In order to run Shepherd services, both the Hopper daemon, and a MQTT broker, +must be running. Setting up Hopper involves setting the environment variable +`HOPPER_PATH` to the Hopper directory, for Shepherd, the recommended default is +`/run/user/1000/hopper`. You can then run `hopperd` with this variable set. + +### Building Static Files + +This is not strictly required for local development, but is helpful for testing. +Both Sheep and RoboCon documentation can be built with the `build-shepherd` +command from within their respective subdirectories, which will generate files +in the correct Shepherd directories. + +As with Shepherd, a *nix system is required for this, and you will need both +coreutils and findutils installed. These are typically provided out-of-the-box. + +Please don't commit RoboCon docs or Sheep static files, the `.gitignore` rule +is there for a reason! + +Both of these dependencies are versioned as Git submodules, and can be updated +by pulling changes from within their respective module directories. + +## RoboCon Brain + +Shepherd can also be developed on a RoboCon brain. This is the only option for +users of Windows systems. However, you will not be able to build static files, +as this is not supported yet on RoboCon brains. + +The general process of developing Shepherd on a RoboCon brain involves stopping +the existing Shepherd services, transferring new source code, and then running +Shepherd manually. + diff --git a/doc/runner.md b/doc/runner.md new file mode 100644 index 0000000..670b1a2 --- /dev/null +++ b/doc/runner.md @@ -0,0 +1,27 @@ +# Shepherd Runner + +## INIT state + +- [x] setup GPIO +- [x] setup runner MQTT +- [x] setup Hopper for client +- [x] load initial image +- [x] -> READY + +## READY state + +- [x] robot reset (power) +- [x] setup usercode +- [x] start usercode +- [x] wait for start command -> RUNNING + +## RUNNING state + +- [x] send start info +- [x] wait for exit -> POST_RUN + +## POST_RUN state + +- [x] reset state +- [x] -> READY + diff --git a/docs.robocon.uk/.gitignore b/docs.robocon.uk/.gitignore new file mode 100644 index 0000000..1b4874c --- /dev/null +++ b/docs.robocon.uk/.gitignore @@ -0,0 +1,5 @@ +node_modules +.astro +.DS_Store +public/.DS_Store +dist/ diff --git a/docs.robocon.uk/README.md b/docs.robocon.uk/README.md new file mode 100644 index 0000000..ade0032 --- /dev/null +++ b/docs.robocon.uk/README.md @@ -0,0 +1,41 @@ +# The RoboCon Docs +Hosted on the subdomain https://docs.robocon.uk + +Built with the Starlight docs framework, on Astro. + +If you've done Node stuff before and want to contribute, then jump down to the `More Advanced...` section for the important nitty gritty details, otherwise read away... I've explained the editing process :) + +## Issues + +If you find something wrong with the docs website, be it a spelling mistake, a broken link, or something that could be better, **open an issue!** + +Head over to the issues tab, and hit add new issue. Then write your issue, *include a screenshot where applicable* and post it. + +## Contributing & How it works +### Installation & Setup +First, clone down this repo. Then make sure node is installed, if not, I recommend installing `nvm` (Node Version Manager) and then installing the latest version of node (`nvm install node`). + +Now node's installed, `cd` into the cloned repo folder and run `npm install`. This installs all the dependencies required. Now you're ready to edit! + +### Editing basics +Best code editor? VS Code! + +Now you've installed the dependencies, run a local server by using `npm run build`. This hosts your copy of the site in your browser with live changes as you edit the files. + +Pages are stored in `/src/content/docs/` with the subfolder group matching the categories on the website. All the pages (except for `index.mdx` which is similar to HTML) are written in Markdown. Simply edit, save and see your changes! + +If you need to add images or assets, they're stored in `/public/images/` or `/public/assets/` for anything that's not images. Refer to them as you usually would. They'll appear publicly without the `/public`. E.g. the image `/public/images/brainbox.jpg` is accessable at `https://docs.robocon.uk/images/brainbox.jpg`. + +General site settings (e.g. headers and footers) are editable in `astro.config.mjs` and fonts in `tailwind.config.mjs`. + +### More Advanced... +If you want to do more, then you can refer to the docs linked below! + +This site was built with Starlight, which is an extension of Astro. See [Starlight docs](https://starlight.astro.build/guides/authoring-content/). Starlight varies in functionality a fair bit from some parts of Astro, so always **read the Starlight docs first** before checking the Astro ones. + +Yes, we have Tailwind installed. + +Fonts are installed via Fontsource (`npm install @fontsource/roboto` to add the Roboto font. Fontsource understands Google Fonts). Fonts must be defined in the `astro.config.mjs` file and used in the `tailwind.config.mjs` file. You must edit both when adding or removing a font. + +### I've finished editing - contribute time! +Simply create an aptly named branch, commit your changes there, and open a Pull Request! diff --git a/docs.robocon.uk/astro.config.mjs b/docs.robocon.uk/astro.config.mjs new file mode 100644 index 0000000..ad54abd --- /dev/null +++ b/docs.robocon.uk/astro.config.mjs @@ -0,0 +1,56 @@ +// @ts-check +import { defineConfig } from 'astro/config'; +import starlight from '@astrojs/starlight'; +import tailwind from '@astrojs/tailwind'; + +// https://astro.build/config +export default defineConfig({ + base: process.env.ROBOCON_BRAIN === '1' ? '/docs/' : '/', + integrations: [starlight({ + title: 'RoboCon Docs', + favicon: './assets/favicon.png', + social: { + instagram: 'https://www.instagram.com/hillsroadrobocon/', + twitter: 'https://twitter.com/HRobocon/', + facebook: 'https://www.facebook.com/HRobocon/' + }, + sidebar: [ + { + label: 'First Steps', + autogenerate: { directory: 'first-steps' }, + }, + { + label: 'Hardware', + autogenerate: { directory: 'hardware' }, + }, + { + label: 'Programming', + autogenerate: { directory: 'programming' }, + }, + { + label: 'Tools', + autogenerate: { directory: 'tools' }, + }, + { + label: 'Tutorials', + autogenerate: { directory: 'tutorials' }, + }, + ], + components: { + SiteTitle: './src/components/RoboConDocsLogo.astro', + }, + customCss: [ + // Fonts + '@fontsource/space-mono/400.css', + '@fontsource/rubik-mono-one/400.css', + '@fontsource/lexend/400.css', + '@fontsource/fugaz-one/400.css', + // Path to your Tailwind base styles: + './src/styling.css', + ], + }), + tailwind({ + // Disable the default base styles: + applyBaseStyles: false, + })], +}); diff --git a/docs.robocon.uk/flake.lock b/docs.robocon.uk/flake.lock new file mode 100644 index 0000000..aeaac22 --- /dev/null +++ b/docs.robocon.uk/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1775793324, + "narHash": "sha256-omax7atcZbol+6HJ2RLpP+ZCFcPa5bZ65Hn71RufeWQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9d29d5f667d7467f98efc31881e824fa586c927e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/docs.robocon.uk/flake.nix b/docs.robocon.uk/flake.nix new file mode 100644 index 0000000..636fa99 --- /dev/null +++ b/docs.robocon.uk/flake.nix @@ -0,0 +1,24 @@ +{ + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + + outputs = + { self, nixpkgs }: + let + forAllSystems = + f: + nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed ( + system: (f system nixpkgs.legacyPackages.${system}) + ); + in + { + devShells = forAllSystems ( + system: pkgs: { + default = pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + nodejs_20 + ]; + }; + } + ); + }; +} diff --git a/docs.robocon.uk/package-lock.json b/docs.robocon.uk/package-lock.json new file mode 100644 index 0000000..513b893 --- /dev/null +++ b/docs.robocon.uk/package-lock.json @@ -0,0 +1,9328 @@ +{ + "name": "docs-robocon-uk", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "docs-robocon-uk", + "version": "0.0.1", + "dependencies": { + "@astrojs/check": "^0.9.4", + "@astrojs/starlight": "^0.29.2", + "@astrojs/starlight-tailwind": "^2.0.3", + "@astrojs/tailwind": "^5.1.2", + "@fontsource/fugaz-one": "^5.1.0", + "@fontsource/lexend": "^5.1.1", + "@fontsource/rubik-mono-one": "^5.1.0", + "@fontsource/space-mono": "^5.1.1", + "astro": "^4.16.10", + "sharp": "^0.32.5", + "tailwindcss": "^3.4.15", + "typescript": "^5.7.2" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@astrojs/check": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.4.tgz", + "integrity": "sha512-IOheHwCtpUfvogHHsvu0AbeRZEnjJg3MopdLddkJE70mULItS/Vh37BHcI00mcOJcH1vhD3odbpvWokpxam7xA==", + "license": "MIT", + "dependencies": { + "@astrojs/language-server": "^2.15.0", + "chokidar": "^4.0.1", + "kleur": "^4.1.5", + "yargs": "^17.7.2" + }, + "bin": { + "astro-check": "dist/bin.js" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz", + "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.4.1.tgz", + "integrity": "sha512-bMf9jFihO8YP940uD70SI/RDzIhUHJAolWVcO1v5PUivxGKvfLZTLTVVxEYzGYyPsA3ivdLNqMnL5VgmQySa+g==", + "license": "MIT" + }, + "node_modules/@astrojs/language-server": { + "version": "2.16.6", + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.16.6.tgz", + "integrity": "sha512-N990lu+HSFiG57owR0XBkr02BYMgiLCshLf+4QG4v6jjSWkBeQGnzqi+E1L08xFPPJ7eEeXnxPXGLaVv5pa4Ug==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.13.1", + "@astrojs/yaml2ts": "^0.2.3", + "@jridgewell/sourcemap-codec": "^1.5.5", + "@volar/kit": "~2.4.28", + "@volar/language-core": "~2.4.28", + "@volar/language-server": "~2.4.28", + "@volar/language-service": "~2.4.28", + "muggle-string": "^0.4.1", + "tinyglobby": "^0.2.15", + "volar-service-css": "0.0.70", + "volar-service-emmet": "0.0.70", + "volar-service-html": "0.0.70", + "volar-service-prettier": "0.0.70", + "volar-service-typescript": "0.0.70", + "volar-service-typescript-twoslash-queries": "0.0.70", + "volar-service-yaml": "0.0.70", + "vscode-html-languageservice": "^5.6.2", + "vscode-uri": "^3.1.0" + }, + "bin": { + "astro-ls": "bin/nodeServer.js" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "prettier-plugin-astro": ">=0.11.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + } + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-5.3.0.tgz", + "integrity": "sha512-r0Ikqr0e6ozPb5bvhup1qdWnSPUvQu6tub4ZLYaKyG50BXZ0ej6FhGz3GpChKpH7kglRFPObJd/bDyf2VM9pkg==", + "license": "MIT", + "dependencies": { + "@astrojs/prism": "3.1.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.1.0", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.1", + "remark-smartypants": "^3.0.2", + "shiki": "^1.22.0", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/mdx": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-3.1.9.tgz", + "integrity": "sha512-3jPD4Bff6lIA20RQoonnZkRtZ9T3i0HFm6fcDF7BMsKIZ+xBP2KXzQWiuGu62lrVCmU612N+SQVGl5e0fI+zWg==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-remark": "5.3.0", + "@mdx-js/mdx": "^3.1.0", + "acorn": "^8.14.0", + "es-module-lexer": "^1.5.4", + "estree-util-visit": "^2.0.0", + "gray-matter": "^4.0.3", + "hast-util-to-html": "^9.0.3", + "kleur": "^4.1.5", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.0", + "remark-smartypants": "^3.0.2", + "source-map": "^0.7.4", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.3" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + }, + "peerDependencies": { + "astro": "^4.8.0" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.1.0.tgz", + "integrity": "sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.29.0" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.2.1.tgz", + "integrity": "sha512-uxMfO8f7pALq0ADL6Lk68UV6dNYjJ2xGUzyjjVj60JLBs5a6smtlkBYv3tQ0DzoqwS7c9n4FUx5lgv0yPo/fgA==", + "license": "MIT", + "dependencies": { + "sitemap": "^8.0.0", + "stream-replace-string": "^2.0.0", + "zod": "^3.23.8" + } + }, + "node_modules/@astrojs/starlight": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.29.3.tgz", + "integrity": "sha512-dzKuGBA7sodGV2dCzpby6UKMx/4b7WrhcYDYlhfX5Ntxh8DCdGU1hIu8jHso/LeFv/jNAfi7m6C7+w/PNSYRgA==", + "license": "MIT", + "dependencies": { + "@astrojs/mdx": "^3.1.3", + "@astrojs/sitemap": "^3.1.6", + "@pagefind/default-ui": "^1.0.3", + "@types/hast": "^3.0.4", + "@types/js-yaml": "^4.0.9", + "@types/mdast": "^4.0.4", + "astro-expressive-code": "^0.38.3", + "bcp-47": "^2.1.0", + "hast-util-from-html": "^2.0.1", + "hast-util-select": "^6.0.2", + "hast-util-to-string": "^3.0.0", + "hastscript": "^9.0.0", + "i18next": "^23.11.5", + "js-yaml": "^4.1.0", + "mdast-util-directive": "^3.0.0", + "mdast-util-to-markdown": "^2.1.0", + "mdast-util-to-string": "^4.0.0", + "pagefind": "^1.0.3", + "rehype": "^13.0.1", + "rehype-format": "^5.0.0", + "remark-directive": "^3.0.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.2" + }, + "peerDependencies": { + "astro": "^4.14.0" + } + }, + "node_modules/@astrojs/starlight-tailwind": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@astrojs/starlight-tailwind/-/starlight-tailwind-2.0.3.tgz", + "integrity": "sha512-ZwbdXS/9rxYlo3tKZoTZoBPUnaaqek02b341dHwOkmMT0lIR2w+8k0mRUGxnRaYtPdMcaL+nYFd8RUa8sjdyRg==", + "license": "MIT", + "peerDependencies": { + "@astrojs/starlight": ">=0.9.0", + "@astrojs/tailwind": "^5.0.0", + "tailwindcss": "^3.3.3" + } + }, + "node_modules/@astrojs/tailwind": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@astrojs/tailwind/-/tailwind-5.1.3.tgz", + "integrity": "sha512-XF7WhXRhqEHGvADqc0kDtF7Yv/g4wAWTaj91jBBTBaYnc4+MQLH94duFfFa4NlTkRG40VQd012eF3MhO3Kk+bg==", + "license": "MIT", + "dependencies": { + "autoprefixer": "^10.4.20", + "postcss": "^8.4.49", + "postcss-load-config": "^4.0.2" + }, + "peerDependencies": { + "astro": "^3.0.0 || ^4.0.0 || ^5.0.0", + "tailwindcss": "^3.0.24" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.1.0.tgz", + "integrity": "sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.0.0", + "debug": "^4.3.4", + "dlv": "^1.1.3", + "dset": "^3.1.3", + "is-docker": "^3.0.0", + "is-wsl": "^3.0.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + } + }, + "node_modules/@astrojs/yaml2ts": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@astrojs/yaml2ts/-/yaml2ts-0.2.3.tgz", + "integrity": "sha512-PJzRmgQzUxI2uwpdX2lXSHtP4G8ocp24/t+bZyf5Fy0SZLSF9f9KXZoMlFM/XCGue+B0nH/2IZ7FpBYQATBsCg==", + "license": "MIT", + "dependencies": { + "yaml": "^2.8.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz", + "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "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/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", + "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.3", + "@babel/types": "^7.26.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", + "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.3", + "@babel/parser": "^7.26.3", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.3", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.1.0.tgz", + "integrity": "sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@emmetio/abbreviation": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", + "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-abbreviation": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", + "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-parser": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.1.tgz", + "integrity": "sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ==", + "license": "MIT", + "dependencies": { + "@emmetio/stream-reader": "^2.2.0", + "@emmetio/stream-reader-utils": "^0.1.0" + } + }, + "node_modules/@emmetio/html-matcher": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-1.3.0.tgz", + "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==", + "license": "ISC", + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/scanner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==", + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz", + "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==", + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz", + "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==", + "license": "MIT" + }, + "node_modules/@emnapi/runtime": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@expressive-code/core": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.38.3.tgz", + "integrity": "sha512-s0/OtdRpBONwcn23O8nVwDNQqpBGKscysejkeBkwlIeHRLZWgiTVrusT5Idrdz1d8cW5wRk9iGsAIQmwDPXgJg==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.0.4", + "hast-util-select": "^6.0.2", + "hast-util-to-html": "^9.0.1", + "hast-util-to-text": "^4.0.1", + "hastscript": "^9.0.0", + "postcss": "^8.4.38", + "postcss-nested": "^6.0.1", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1" + } + }, + "node_modules/@expressive-code/plugin-frames": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.38.3.tgz", + "integrity": "sha512-qL2oC6FplmHNQfZ8ZkTR64/wKo9x0c8uP2WDftR/ydwN/yhe1ed7ZWYb8r3dezxsls+tDokCnN4zYR594jbpvg==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.38.3" + } + }, + "node_modules/@expressive-code/plugin-shiki": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.38.3.tgz", + "integrity": "sha512-kqHnglZeesqG3UKrb6e9Fq5W36AZ05Y9tCREmSN2lw8LVTqENIeCIkLDdWtQ5VoHlKqwUEQFTVlRehdwoY7Gmw==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.38.3", + "shiki": "^1.22.2" + } + }, + "node_modules/@expressive-code/plugin-text-markers": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.38.3.tgz", + "integrity": "sha512-dPK3+BVGTbTmGQGU3Fkj3jZ3OltWUAlxetMHI6limUGCWBCucZiwoZeFM/WmqQa71GyKRzhBT+iEov6kkz2xVA==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.38.3" + } + }, + "node_modules/@fontsource/fugaz-one": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@fontsource/fugaz-one/-/fugaz-one-5.1.0.tgz", + "integrity": "sha512-NEhLPtlRFCtjwGxL9buNtPfB9k9E7o5b4QPrAzoR41AOCnduVtB9VlR+f/rvgo58LEbfMqx8OD5RIW1U9tC9Zg==", + "license": "OFL-1.1" + }, + "node_modules/@fontsource/lexend": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@fontsource/lexend/-/lexend-5.1.1.tgz", + "integrity": "sha512-92A96vmx5xk1NgNphB62w5PKhW53Ruo74ki3UsUrV1q7/tbhJ73k2podhCNmldUlpUeO6rrCUWpRM20WloiNXA==", + "license": "OFL-1.1" + }, + "node_modules/@fontsource/rubik-mono-one": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@fontsource/rubik-mono-one/-/rubik-mono-one-5.1.0.tgz", + "integrity": "sha512-F8EkH7c7uX49+cq/cfm+EQ0Bbv/j2j3MUYKEyuUE8LyfnZ2/zlmMv6paNeoiMbEPwTrMEYyTD1n44QpbpN/tlg==", + "license": "OFL-1.1" + }, + "node_modules/@fontsource/space-mono": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@fontsource/space-mono/-/space-mono-5.1.1.tgz", + "integrity": "sha512-v72P4frEQhldHTKQv0GqOF2JRRGhMrPAIj50v88qmW1aJW1SJAvjMtFOk/3D+L+dQM0fP2A1ZVzVkDbv8JGf7A==", + "license": "OFL-1.1" + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.0.tgz", + "integrity": "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@pagefind/darwin-arm64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.2.0.tgz", + "integrity": "sha512-pHnPL2rm4xbe0LqV376g84hUIsVdy4PK6o2ACveo0DSGoC40eOIwPUPftnUPUinSdDWkkySaL5FT5r9hsXk0ZQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/darwin-x64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.2.0.tgz", + "integrity": "sha512-q2tcnfvcRyx0GnrJoUQJ5bRpiFNtI8DZWM6a4/k8sNJxm2dbM1BnY5hUeo4MbDfpb64Qc1wRMcvBUSOaMKBjfg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/default-ui": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.2.0.tgz", + "integrity": "sha512-MDSbm34veKpzFP5eJMh/pcPdrOc4FZKUsbpDsbdjSLC2ZeuTjsfDBNu9MGZaNUvGKUdlKk5JozQkVO/dzdSxrQ==", + "license": "MIT" + }, + "node_modules/@pagefind/linux-arm64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.2.0.tgz", + "integrity": "sha512-wVtLOlF9AUrwLovP9ZSEKOYnwIVrrxId4I2Mz02Zxm3wbUIJyx8wHf6LyEf7W7mJ6rEjW5jtavKAbngKCAaicg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/linux-x64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.2.0.tgz", + "integrity": "sha512-Lo5aO2bA++sQTeEWzK5WKr3KU0yzVH5OnTY88apZfkgL4AVfXckH2mrOU8ouYKCLNPseIYTLFEdj0V5xjHQSwQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/windows-x64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.2.0.tgz", + "integrity": "sha512-tGQcwQAb5Ndv7woc7lhH9iAdxOnTNsgCz8sEBbsASPB2A0uI8BWBmVdf2GFLQkYHqnnqYuun63sa+UOzB7Ah3g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", + "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/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==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.1.tgz", + "integrity": "sha512-d6FinEBLdIiK+1uACUttJKfgZREXrF0Qc2SmLII7W2AD8FfiZ9Wjd+rD/iRuf5s5dWrr1GgwXCvPqOuDquOowA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.1.tgz", + "integrity": "sha512-YjG/EwIDvvYI1YvYbHvDz/BYHtkY4ygUIXHnTdLhG+hKIQFBiosfWiACWortsKPKU/+dUwQQCKQM3qrDe8c9BA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.1.tgz", + "integrity": "sha512-mjCpF7GmkRtSJwon+Rq1N8+pI+8l7w5g9Z3vWj4T7abguC4Czwi3Yu/pFaLvA3TTeMVjnu3ctigusqWUfjZzvw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.1.tgz", + "integrity": "sha512-haZ7hJ1JT4e9hqkoT9R/19XW2QKqjfJVv+i5AGg57S+nLk9lQnJ1F/eZloRO3o9Scy9CM3wQ9l+dkXtcBgN5Ew==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.1.tgz", + "integrity": "sha512-czw90wpQq3ZsAVBlinZjAYTKduOjTywlG7fEeWKUA7oCmpA8xdTkxZZlwNJKWqILlq0wehoZcJYfBvOyhPTQ6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.1.tgz", + "integrity": "sha512-KVB2rqsxTHuBtfOeySEyzEOB7ltlB/ux38iu2rBQzkjbwRVlkhAGIEDiiYnO2kFOkJp+Z7pUXKyrRRFuFUKt+g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.1.tgz", + "integrity": "sha512-L+34Qqil+v5uC0zEubW7uByo78WOCIrBvci69E7sFASRl0X7b/MB6Cqd1lky/CtcSVTydWa2WZwFuWexjS5o6g==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.1.tgz", + "integrity": "sha512-n83O8rt4v34hgFzlkb1ycniJh7IR5RCIqt6mz1VRJD6pmhRi0CXdmfnLu9dIUS6buzh60IvACM842Ffb3xd6Gg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.1.tgz", + "integrity": "sha512-Nql7sTeAzhTAja3QXeAI48+/+GjBJ+QmAH13snn0AJSNL50JsDqotyudHyMbO2RbJkskbMbFJfIJKWA6R1LCJQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.1.tgz", + "integrity": "sha512-+pUymDhd0ys9GcKZPPWlFiZ67sTWV5UU6zOJat02M1+PiuSGDziyRuI/pPue3hoUwm2uGfxdL+trT6Z9rxnlMA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.1.tgz", + "integrity": "sha512-VSvgvQeIcsEvY4bKDHEDWcpW4Yw7BtlKG1GUT4FzBUlEKQK0rWHYBqQt6Fm2taXS+1bXvJT6kICu5ZwqKCnvlQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.1.tgz", + "integrity": "sha512-4LqhUomJqwe641gsPp6xLfhqWMbQV04KtPp7/dIp0nzPxAkNY1AbwL5W0MQpcalLYk07vaW9Kp1PBhdpZYYcEw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.1.tgz", + "integrity": "sha512-tLQQ9aPvkBxOc/EUT6j3pyeMD6Hb8QF2BTBnCQWP/uu1lhc9AIrIjKnLYMEroIz/JvtGYgI9dF3AxHZNaEH0rw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.1.tgz", + "integrity": "sha512-RMxFhJwc9fSXP6PqmAz4cbv3kAyvD1etJFjTx4ONqFP9DkTkXsAMU4v3Vyc5BgzC+anz7nS/9tp4obsKfqkDHg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.1.tgz", + "integrity": "sha512-QKgFl+Yc1eEk6MmOBfRHYF6lTxiiiV3/z/BRrbSiW2I7AFTXoBFvdMEyglohPj//2mZS4hDOqeB0H1ACh3sBbg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.1.tgz", + "integrity": "sha512-RAjXjP/8c6ZtzatZcA1RaQr6O1TRhzC+adn8YZDnChliZHviqIjmvFwHcxi4JKPSDAt6Uhf/7vqcBzQJy0PDJg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.1.tgz", + "integrity": "sha512-wcuocpaOlaL1COBYiA89O6yfjlp3RwKDeTIA0hM7OpmhR1Bjo9j31G1uQVpDlTvwxGn2nQs65fBFL5UFd76FcQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.1.tgz", + "integrity": "sha512-77PpsFQUCOiZR9+LQEFg9GClyfkNXj1MP6wRnzYs0EeWbPcHs02AXu4xuUbM1zhwn3wqaizle3AEYg5aeoohhg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.1.tgz", + "integrity": "sha512-5cIATbk5vynAjqqmyBjlciMJl1+R/CwX9oLk/EyiFXDWd95KpHdrOJT//rnUl4cUcskrd0jCCw3wpZnhIHdD9w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.1.tgz", + "integrity": "sha512-cl0w09WsCi17mcmWqqglez9Gk8isgeWvoUZ3WiJFYSR3zjBQc2J5/ihSjpl+VLjPqjQ/1hJRcqBfLjssREQILw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.1.tgz", + "integrity": "sha512-4Cv23ZrONRbNtbZa37mLSueXUCtN7MXccChtKpUnQNgF010rjrjfHx3QxkS2PI7LqGT5xXyYs1a7LbzAwT0iCA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.1.tgz", + "integrity": "sha512-i1okWYkA4FJICtr7KpYzFpRTHgy5jdDbZiWfvny21iIKky5YExiDXP+zbXzm3dUcFpkEeYNHgQ5fuG236JPq0g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.1.tgz", + "integrity": "sha512-u09m3CuwLzShA0EYKMNiFgcjjzwqtUMLmuCJLeZWjjOYA3IT2Di09KaxGBTP9xVztWyIWjVdsB2E9goMjZvTQg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.1.tgz", + "integrity": "sha512-k+600V9Zl1CM7eZxJgMyTUzmrmhB/0XZnF4pRypKAlAgxmedUA+1v9R+XOFv56W4SlHEzfeMtzujLJD22Uz5zg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.1.tgz", + "integrity": "sha512-lWMnixq/QzxyhTV6NjQJ4SFo1J6PvOX8vUx5Wb4bBPsEb+8xZ89Bz6kOXpfXj9ak9AHTQVQzlgzBEc1SyM27xQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.24.2.tgz", + "integrity": "sha512-BpbNUSKIwbKrRRA+BQj0BEWSw+8kOPKDJevWeSE/xIqGX7K0xrCZQ9kK0nnEQyrzsUoka1l81ZtJ2mGaCA32HQ==", + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "1.24.2", + "@shikijs/engine-oniguruma": "1.24.2", + "@shikijs/types": "1.24.2", + "@shikijs/vscode-textmate": "^9.3.0", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.3" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.24.2.tgz", + "integrity": "sha512-EqsmYBJdLEwEiO4H+oExz34a5GhhnVp+jH9Q/XjPjmBPc6TE/x4/gD0X3i0EbkKKNqXYHHJTJUpOLRQNkEzS9Q==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.24.2", + "@shikijs/vscode-textmate": "^9.3.0", + "oniguruma-to-es": "0.7.0" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.24.2.tgz", + "integrity": "sha512-ZN6k//aDNWRJs1uKB12pturKHh7GejKugowOFGAuG7TxDRLod1Bd5JhpOikOiFqPmKjKEPtEA6mRCf7q3ulDyQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.24.2", + "@shikijs/vscode-textmate": "^9.3.0" + } + }, + "node_modules/@shikijs/types": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.24.2.tgz", + "integrity": "sha512-bdeWZiDtajGLG9BudI0AHet0b6e7FbR0EsE4jpGaI0YwHm/XJunI9+3uZnzFtX65gsyJ6ngCIWUfA4NWRPnBkQ==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^9.3.0", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.1.tgz", + "integrity": "sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==", + "license": "MIT" + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "22.10.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", + "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz", + "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==", + "license": "ISC" + }, + "node_modules/@volar/kit": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.28.tgz", + "integrity": "sha512-cKX4vK9dtZvDRaAzeoUdaAJEew6IdxHNCRrdp5Kvcl6zZOqb6jTOfk3kXkIkG3T7oTFXguEMt5+9ptyqYR84Pg==", + "license": "MIT", + "dependencies": { + "@volar/language-service": "2.4.28", + "@volar/typescript": "2.4.28", + "typesafe-path": "^0.2.2", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz", + "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.28" + } + }, + "node_modules/@volar/language-server": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.28.tgz", + "integrity": "sha512-NqcLnE5gERKuS4PUFwlhMxf6vqYo7hXtbMFbViXcbVkbZ905AIVWhnSo0ZNBC2V127H1/2zP7RvVOVnyITFfBw==", + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "@volar/language-service": "2.4.28", + "@volar/typescript": "2.4.28", + "path-browserify": "^1.0.1", + "request-light": "^0.7.0", + "vscode-languageserver": "^9.0.1", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/language-service": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.28.tgz", + "integrity": "sha512-Rh/wYCZJrI5vCwMk9xyw/Z+MsWxlJY1rmMZPsxUoJKfzIRjS/NF1NmnuEcrMbEVGja00aVpCsInJfixQTMdvLw==", + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz", + "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz", + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/emmet-helper": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.11.0.tgz", + "integrity": "sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==", + "license": "MIT", + "dependencies": { + "emmet": "^2.4.3", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/l10n": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==", + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "license": "MIT", + "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==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "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==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/astro": { + "version": "4.16.19", + "resolved": "https://registry.npmjs.org/astro/-/astro-4.16.19.tgz", + "integrity": "sha512-baeSswPC5ZYvhGDoj25L2FuzKRWMgx105FetOPQVJFMCAp0o08OonYC7AhwsFdhvp7GapqjnC1Fe3lKb2lupYw==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.10.3", + "@astrojs/internal-helpers": "0.4.1", + "@astrojs/markdown-remark": "5.3.0", + "@astrojs/telemetry": "3.1.0", + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/types": "^7.26.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.1.3", + "@types/babel__core": "^7.20.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.14.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.1.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^0.7.2", + "cssesc": "^3.0.0", + "debug": "^4.3.7", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.1.1", + "diff": "^5.2.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.5.4", + "esbuild": "^0.21.5", + "estree-walker": "^3.0.3", + "fast-glob": "^3.3.2", + "flattie": "^1.1.1", + "github-slugger": "^2.0.0", + "gray-matter": "^4.0.3", + "html-escaper": "^3.0.3", + "http-cache-semantics": "^4.1.1", + "js-yaml": "^4.1.0", + "kleur": "^4.1.5", + "magic-string": "^0.30.14", + "magicast": "^0.3.5", + "micromatch": "^4.0.8", + "mrmime": "^2.0.0", + "neotraverse": "^0.6.18", + "ora": "^8.1.1", + "p-limit": "^6.1.0", + "p-queue": "^8.0.1", + "preferred-pm": "^4.0.0", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.6.3", + "shiki": "^1.23.1", + "tinyexec": "^0.3.1", + "tsconfck": "^3.1.4", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.3", + "vite": "^5.4.11", + "vitefu": "^1.0.4", + "which-pm": "^3.0.0", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^21.1.1", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.23.5", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "optionalDependencies": { + "sharp": "^0.33.3" + } + }, + "node_modules/astro-expressive-code": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.38.3.tgz", + "integrity": "sha512-Tvdc7RV0G92BbtyEOsfJtXU35w41CkM94fOAzxbQP67Wj5jArfserJ321FO4XA7WG9QMV0GIBmQq77NBIRDzpQ==", + "license": "MIT", + "dependencies": { + "rehype-expressive-code": "^0.38.3" + }, + "peerDependencies": { + "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0" + } + }, + "node_modules/astro/node_modules/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/b4a": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", + "license": "Apache-2.0" + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/bare-fs": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.0.tgz", + "integrity": "sha512-xzqKsCFxAek9aezYhjJuJRXBIaYlg/0OGDTZp+T8eYmYMlm66cs6cYko02drIyjN2CBbi+I6L7YfXyqpqtKRXA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-os": { + "version": "3.8.7", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz", + "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "bare": ">=1.14.0" + } + }, + "node_modules/bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-os": "^3.0.1" + } + }, + "node_modules/bare-stream": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.0.tgz", + "integrity": "sha512-3zAJRZMDFGjdn+RVnNpF9kuELw+0Fl3lpndM4NcEOhb9zwtSo/deETfuIwMSE5BXanA0FrN1qVjffGwAg2Y7EA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "streamx": "^2.25.0", + "teex": "^1.0.1" + }, + "peerDependencies": { + "bare-abort-controller": "*", + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + }, + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.0.tgz", + "integrity": "sha512-NSTU5WN+fy/L0DDenfE8SXQna4voXuW0FHM7wH8i3/q9khUSchfPbPezO4zSFMnDGIf9YE+mt/RWhZgNRKRIXA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bcp-47": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz", + "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz", + "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001688", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001688.tgz", + "integrity": "sha512-Nmqpru91cuABu/DTCXbM2NSRHzM2uVHfPnhJ/1zEAJx/ILBRVmz3pzH4N7DZqbdG0gWClsCC05Oj0mJ/1AWMbA==", + "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" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, + "node_modules/ci-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz", + "integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "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==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-selector-parser": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.0.5.tgz", + "integrity": "sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "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==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.7.1.tgz", + "integrity": "sha512-MUbZ586EgQqdRnC4yDrlod3BEdyvE4TapGYHMW2CiaW+KkkFmWEFqBUaLltEZCGi0iFXCEjRF0OjF0DV2QHjOA==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" + }, + "node_modules/diff": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.2.tgz", + "integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", + "license": "MIT", + "bin": { + "direction": "cli.js" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.73", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.73.tgz", + "integrity": "sha512-8wGNxG9tAG5KhGd3eeA0o6ixhiNdgr0DcHWm85XPCphwZgD1lIEoi6t3VERayWao7SF7AAZTw6oARGJeVjH8Kg==", + "license": "ISC" + }, + "node_modules/emmet": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.11.tgz", + "integrity": "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==", + "license": "MIT", + "workspaces": [ + "./packages/scanner", + "./packages/abbreviation", + "./packages/css-abbreviation", + "./" + ], + "dependencies": { + "@emmetio/abbreviation": "^2.3.3", + "@emmetio/css-abbreviation": "^2.1.8" + } + }, + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "license": "MIT" + }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", + "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "license": "MIT" + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "node_modules/expressive-code": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.38.3.tgz", + "integrity": "sha512-COM04AiUotHCKJgWdn7NtW2lqu8OW8owAidMpkXt1qxrZ9Q2iC7+tok/1qIn2ocGnczvr9paIySgGnEwFeEQ8Q==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.38.3", + "@expressive-code/plugin-frames": "^0.38.3", + "@expressive-code/plugin-shiki": "^0.38.3", + "@expressive-code/plugin-text-markers": "^0.38.3" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.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==", + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up-simple": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", + "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-yarn-workspace-root2": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", + "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "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==", + "license": "ISC", + "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==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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==", + "license": "ISC" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-format": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", + "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "html-whitespace-sensitive-tag-names": "^3.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.2.tgz", + "integrity": "sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", + "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-minify-whitespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", + "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.3.tgz", + "integrity": "sha512-OVRQlQ1XuuLP8aFVLYmC2atrfWHS5UD3shonxpnyrjcCkwtvmt/+N6kYJdcY4mkMJhxp4kj2EFIxQ9kvkkt/eQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "nth-check": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree/node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "license": "MIT" + }, + "node_modules/hast-util-to-estree/node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.4.tgz", + "integrity": "sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.2.tgz", + "integrity": "sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.0.tgz", + "integrity": "sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-whitespace-sensitive-tag-names": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", + "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "license": "BSD-2-Clause" + }, + "node_modules/i18next": { + "version": "23.16.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", + "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", + "license": "MIT" + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz", + "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/load-yaml-file": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/load-yaml-file/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/load-yaml-file/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/load-yaml-file/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.15", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.15.tgz", + "integrity": "sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/magicast": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz", + "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.4", + "@babel/types": "^7.25.4", + "source-map-js": "^1.2.0" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz", + "integrity": "sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", + "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", + "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz", + "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==", + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz", + "integrity": "sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.3.tgz", + "integrity": "sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", + "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "license": "MIT" + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-abi": { + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "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==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/oniguruma-to-es": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-0.7.0.tgz", + "integrity": "sha512-HRaRh09cE0gRS3+wi2zxekB+I5L8C/gN60S+vb11eADHUaB/q4u8wGGOX3GvwvitG8ixaeycZfeoyruKQzUgNg==", + "license": "MIT", + "dependencies": { + "emoji-regex-xs": "^1.0.0", + "regex": "^5.0.2", + "regex-recursion": "^4.3.0" + } + }, + "node_modules/ora": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.1.1.tgz", + "integrity": "sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.1.0.tgz", + "integrity": "sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/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==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz", + "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.3.tgz", + "integrity": "sha512-UJUyfKbwvr/uZSV6btANfb+0t/mOhKV/KXcCUTp8FcQI+v/0d+wXqH4htrW0E4rR6WiEO/EPvUFiV9D5OI4vlw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/pagefind": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.2.0.tgz", + "integrity": "sha512-sFVv5/x73qCp9KlLHv8/uWDv7rG1tsWcG9MuXc5YTrXIrb8c1Gshm9oc5rMLXNZILXUWai8WczqaK4jjroEzng==", + "license": "MIT", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.2.0", + "@pagefind/darwin-x64": "1.2.0", + "@pagefind/linux-arm64": "1.2.0", + "@pagefind/linux-x64": "1.2.0", + "@pagefind/windows-x64": "1.2.0" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "license": "MIT", + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/preferred-pm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-4.0.0.tgz", + "integrity": "sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==", + "license": "MIT", + "dependencies": { + "find-up-simple": "^1.0.0", + "find-yarn-workspace-root2": "1.2.16", + "which-pm": "^3.0.0" + }, + "engines": { + "node": ">=18.12" + } + }, + "node_modules/prettier": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.2.tgz", + "integrity": "sha512-8c3mgTe0ASwWAJK+78dpviD+A8EqhndQPUBpNUIPt6+xWlIigCwfN01lWr9MAede4uqXGTEKeQWTvzb3vjia0Q==", + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "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/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "license": "MIT", + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.0.tgz", + "integrity": "sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/regex": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/regex/-/regex-5.0.2.tgz", + "integrity": "sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-4.3.0.tgz", + "integrity": "sha512-5LcLnizwjcQ2ALfOj95MjcatxyqF5RPySx9yT+PaXu3Gox2vyAtLDjHB8NTJLtMGkvyau6nI3CfpwFCjPUIs/A==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-expressive-code": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.38.3.tgz", + "integrity": "sha512-RYSSDkMBikoTbycZPkcWp6ELneANT4eTpND1DSRJ6nI2eVFUwTBDCvE2vO6jOOTaavwnPiydi4i/87NRyjpdOA==", + "license": "MIT", + "dependencies": { + "expressive-code": "^0.38.3" + } + }, + "node_modules/rehype-format": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.1.tgz", + "integrity": "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-format": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", + "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", + "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/request-light": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.9", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.9.tgz", + "integrity": "sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.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/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.1.tgz", + "integrity": "sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.1", + "@rollup/rollup-android-arm64": "4.60.1", + "@rollup/rollup-darwin-arm64": "4.60.1", + "@rollup/rollup-darwin-x64": "4.60.1", + "@rollup/rollup-freebsd-arm64": "4.60.1", + "@rollup/rollup-freebsd-x64": "4.60.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.1", + "@rollup/rollup-linux-arm-musleabihf": "4.60.1", + "@rollup/rollup-linux-arm64-gnu": "4.60.1", + "@rollup/rollup-linux-arm64-musl": "4.60.1", + "@rollup/rollup-linux-loong64-gnu": "4.60.1", + "@rollup/rollup-linux-loong64-musl": "4.60.1", + "@rollup/rollup-linux-ppc64-gnu": "4.60.1", + "@rollup/rollup-linux-ppc64-musl": "4.60.1", + "@rollup/rollup-linux-riscv64-gnu": "4.60.1", + "@rollup/rollup-linux-riscv64-musl": "4.60.1", + "@rollup/rollup-linux-s390x-gnu": "4.60.1", + "@rollup/rollup-linux-x64-gnu": "4.60.1", + "@rollup/rollup-linux-x64-musl": "4.60.1", + "@rollup/rollup-openbsd-x64": "4.60.1", + "@rollup/rollup-openharmony-arm64": "4.60.1", + "@rollup/rollup-win32-arm64-msvc": "4.60.1", + "@rollup/rollup-win32-ia32-msvc": "4.60.1", + "@rollup/rollup-win32-x64-gnu": "4.60.1", + "@rollup/rollup-win32-x64-msvc": "4.60.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.24.2.tgz", + "integrity": "sha512-TR1fi6mkRrzW+SKT5G6uKuc32Dj2EEa7Kj0k8kGqiBINb+C1TiflVOiT9ta6GqOJtC4fraxO5SLUaKBcSY38Fg==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "1.24.2", + "@shikijs/engine-javascript": "1.24.2", + "@shikijs/engine-oniguruma": "1.24.2", + "@shikijs/types": "1.24.2", + "@shikijs/vscode-textmate": "^9.3.0", + "@types/hast": "^3.0.4" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-8.0.0.tgz", + "integrity": "sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==", + "license": "MIT", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "license": "MIT" + }, + "node_modules/streamx": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz", + "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/style-to-object": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", + "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.16", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.16.tgz", + "integrity": "sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "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" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/tailwindcss/node_modules/chokidar/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==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tailwindcss/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/tar-fs": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.2.tgz", + "integrity": "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" + } + }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "optional": true, + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyexec": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.1.tgz", + "integrity": "sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, + "node_modules/tsconfck": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.4.tgz", + "integrity": "sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "optional": 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==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-fest": { + "version": "4.30.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.1.tgz", + "integrity": "sha512-ojFL7eDMX2NF0xMbDwPZJ8sb7ckqtlAi1GsmgsFXvErT9kFTk1r0DuQKvrCh73M6D4nngeHJmvogF9OluXs7Hw==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typesafe-path": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", + "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-auto-import-cache": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.6.tgz", + "integrity": "sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.8" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.4.tgz", + "integrity": "sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/volar-service-css": { + "version": "0.0.70", + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.70.tgz", + "integrity": "sha512-K1qyOvBpE3rzdAv3e4/6Rv5yizrYPy5R/ne3IWCAzLBuMO4qBMV3kSqWzj6KUVe6S0AnN6wxF7cRkiaKfYMYJw==", + "license": "MIT", + "dependencies": { + "vscode-css-languageservice": "^6.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-emmet": { + "version": "0.0.70", + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.70.tgz", + "integrity": "sha512-xi5bC4m/VyE3zy/n2CXspKeDZs3qA41tHLTw275/7dNWM/RqE2z3BnDICQybHIVp/6G1iOQj5c1qXMgQC08TNg==", + "license": "MIT", + "dependencies": { + "@emmetio/css-parser": "^0.4.1", + "@emmetio/html-matcher": "^1.3.0", + "@vscode/emmet-helper": "^2.9.3", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-html": { + "version": "0.0.70", + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.70.tgz", + "integrity": "sha512-eR6vCgMdmYAo4n+gcT7DSyBQbwB8S3HZZvSagTf0sxNaD4WppMCFfpqWnkrlGStPKMZvMiejRRVmqsX9dYcTvQ==", + "license": "MIT", + "dependencies": { + "vscode-html-languageservice": "^5.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-prettier": { + "version": "0.0.70", + "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.70.tgz", + "integrity": "sha512-Z6BCFSpGVCd8BPAsZ785Kce1BGlWd5ODqmqZGVuB14MJvrR4+CYz6cDy4F+igmE1gMifqfvMhdgT8Aud4M5ngg==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0", + "prettier": "^2.2 || ^3.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + }, + "prettier": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript": { + "version": "0.0.70", + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.70.tgz", + "integrity": "sha512-l46Bx4cokkUedTd74ojO5H/zqHZJ8SUuyZ0IB8JN4jfRqUM3bQFBHoOwlZCyZmOeO0A3RQNkMnFclxO4c++gsg==", + "license": "MIT", + "dependencies": { + "path-browserify": "^1.0.1", + "semver": "^7.6.2", + "typescript-auto-import-cache": "^0.3.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-nls": "^5.2.0", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript-twoslash-queries": { + "version": "0.0.70", + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.70.tgz", + "integrity": "sha512-IdD13Z9N2Bu8EM6CM0fDV1E69olEYGHDU25X51YXmq8Y0CmJ2LNj6gOiBJgpS5JGUqFzECVhMNBW7R0sPdRTMQ==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-yaml": { + "version": "0.0.70", + "resolved": "https://registry.npmjs.org/volar-service-yaml/-/volar-service-yaml-0.0.70.tgz", + "integrity": "sha512-0c8bXDBeoATF9F6iPIlOuYTuZAC4c+yi0siQo920u7eiBJk8oQmUmg9cDUbR4+Gl++bvGP4plj3fErbJuPqdcQ==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8", + "yaml-language-server": "~1.20.0" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/vscode-css-languageservice": { + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.10.tgz", + "integrity": "sha512-eq5N9Er3fC4vA9zd9EFhyBG90wtCCuXgRSpAndaOgXMh1Wgep5lBgRIeDgjZBW9pa+332yC9+49cZMW8jcL3MA==", + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "3.17.5", + "vscode-uri": "^3.1.0" + } + }, + "node_modules/vscode-html-languageservice": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.6.2.tgz", + "integrity": "sha512-ulCrSnFnfQ16YzvwnYUgEbUEl/ZG7u2eV27YhvLObSHKkb8fw1Z9cgsnUwjTEeDIdJDoTDTDpxuhQwoenoLNMg==", + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.1.0" + } + }, + "node_modules/vscode-json-languageservice": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz", + "integrity": "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==", + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + }, + "engines": { + "npm": ">=7.0.0" + } + }, + "node_modules/vscode-json-languageservice/node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "license": "MIT" + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "license": "MIT" + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-pm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-3.0.0.tgz", + "integrity": "sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==", + "license": "MIT", + "dependencies": { + "load-yaml-file": "^0.2.0" + }, + "engines": { + "node": ">=18.12" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "ISC" + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yaml-language-server": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.20.0.tgz", + "integrity": "sha512-qhjK/bzSRZ6HtTvgeFvjNPJGWdZ0+x5NREV/9XZWFjIGezew2b4r5JPy66IfOhd5OA7KeFwk1JfmEbnTvev0cA==", + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "ajv": "^8.17.1", + "ajv-draft-04": "^1.0.0", + "prettier": "^3.5.0", + "request-light": "^0.5.7", + "vscode-json-languageservice": "4.1.8", + "vscode-languageserver": "^9.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-uri": "^3.0.2", + "yaml": "2.7.1" + }, + "bin": { + "yaml-language-server": "bin/yaml-language-server" + } + }, + "node_modules/yaml-language-server/node_modules/request-light": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz", + "integrity": "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/yaml": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", + "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", + "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.1.tgz", + "integrity": "sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.24.1" + } + }, + "node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/docs.robocon.uk/package.json b/docs.robocon.uk/package.json new file mode 100644 index 0000000..84bf5ba --- /dev/null +++ b/docs.robocon.uk/package.json @@ -0,0 +1,28 @@ +{ + "name": "docs-robocon-uk", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "build_brain": "astro check && ROBOCON_BRAIN=1 astro build && ./scripts/fix-links-brain.sh", + "build-shepherd": "astro check && ROBOCON_BRAIN=1 astro build && ./scripts/fix-links-brain.sh && rm -rf ../static/docs && mkdir -p ../static/docs && cp -r dist/* ../static/docs/", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/check": "^0.9.4", + "@astrojs/starlight": "^0.29.2", + "@astrojs/starlight-tailwind": "^2.0.3", + "@astrojs/tailwind": "^5.1.2", + "@fontsource/fugaz-one": "^5.1.0", + "@fontsource/lexend": "^5.1.1", + "@fontsource/rubik-mono-one": "^5.1.0", + "@fontsource/space-mono": "^5.1.1", + "astro": "^4.16.10", + "sharp": "^0.32.5", + "tailwindcss": "^3.4.15", + "typescript": "^5.7.2" + } +} diff --git a/shepherd/blueprints/staticroutes/docs/assets/CytronBoardDocs.pdf b/docs.robocon.uk/public/assets/CytronBoardDocs.pdf similarity index 100% rename from shepherd/blueprints/staticroutes/docs/assets/CytronBoardDocs.pdf rename to docs.robocon.uk/public/assets/CytronBoardDocs.pdf diff --git a/shepherd/blueprints/staticroutes/docs/assets/MiniBot-Assembly-Instructions.pdf b/docs.robocon.uk/public/assets/MiniBot-Assembly-Instructions.pdf similarity index 100% rename from shepherd/blueprints/staticroutes/docs/assets/MiniBot-Assembly-Instructions.pdf rename to docs.robocon.uk/public/assets/MiniBot-Assembly-Instructions.pdf diff --git a/shepherd/blueprints/staticroutes/docs/assets/Rulebook.pdf b/docs.robocon.uk/public/assets/Rulebook.pdf similarity index 100% rename from shepherd/blueprints/staticroutes/docs/assets/Rulebook.pdf rename to docs.robocon.uk/public/assets/Rulebook.pdf diff --git a/shepherd/blueprints/staticroutes/docs/assets/challenges.pdf b/docs.robocon.uk/public/assets/challenges.pdf similarity index 100% rename from shepherd/blueprints/staticroutes/docs/assets/challenges.pdf rename to docs.robocon.uk/public/assets/challenges.pdf diff --git a/shepherd/blueprints/staticroutes/docs/assets/favicon.png b/docs.robocon.uk/public/assets/favicon.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/assets/favicon.png rename to docs.robocon.uk/public/assets/favicon.png diff --git a/shepherd/blueprints/staticroutes/docs/assets/main.py b/docs.robocon.uk/public/assets/main.py similarity index 100% rename from shepherd/blueprints/staticroutes/docs/assets/main.py rename to docs.robocon.uk/public/assets/main.py diff --git a/shepherd/blueprints/staticroutes/docs/assets/markers.pdf b/docs.robocon.uk/public/assets/markers.pdf similarity index 100% rename from shepherd/blueprints/staticroutes/docs/assets/markers.pdf rename to docs.robocon.uk/public/assets/markers.pdf diff --git a/shepherd/blueprints/staticroutes/docs/assets/robot-with-cube.jpg b/docs.robocon.uk/public/assets/robot-with-cube.jpg similarity index 100% rename from shepherd/blueprints/staticroutes/docs/assets/robot-with-cube.jpg rename to docs.robocon.uk/public/assets/robot-with-cube.jpg diff --git a/shepherd/blueprints/staticroutes/docs/assets/simple.py b/docs.robocon.uk/public/assets/simple.py similarity index 100% rename from shepherd/blueprints/staticroutes/docs/assets/simple.py rename to docs.robocon.uk/public/assets/simple.py diff --git a/shepherd/blueprints/staticroutes/docs/images/63391_m_1__6.jpg b/docs.robocon.uk/public/images/63391_m_1__6.jpg similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/63391_m_1__6.jpg rename to docs.robocon.uk/public/images/63391_m_1__6.jpg diff --git a/shepherd/blueprints/staticroutes/docs/images/BrainBox power input side profile labelled.png b/docs.robocon.uk/public/images/BrainBox power input side profile labelled.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/BrainBox power input side profile labelled.png rename to docs.robocon.uk/public/images/BrainBox power input side profile labelled.png diff --git a/shepherd/blueprints/staticroutes/docs/images/DragonsLair-Logo.png b/docs.robocon.uk/public/images/DragonsLair-Logo.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/DragonsLair-Logo.png rename to docs.robocon.uk/public/images/DragonsLair-Logo.png diff --git a/shepherd/blueprints/staticroutes/docs/images/RoboCon2025-Header.png b/docs.robocon.uk/public/images/RoboCon2025-Header.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/RoboCon2025-Header.png rename to docs.robocon.uk/public/images/RoboCon2025-Header.png diff --git a/shepherd/blueprints/staticroutes/docs/images/RoboCon2026-Header.png b/docs.robocon.uk/public/images/RoboCon2026-Header.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/RoboCon2026-Header.png rename to docs.robocon.uk/public/images/RoboCon2026-Header.png diff --git a/shepherd/blueprints/staticroutes/docs/images/Robocon_logo_blackandwhite.png b/docs.robocon.uk/public/images/Robocon_logo_blackandwhite.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/Robocon_logo_blackandwhite.png rename to docs.robocon.uk/public/images/Robocon_logo_blackandwhite.png diff --git a/shepherd/blueprints/staticroutes/docs/images/ThereAre3RobotsInThisImage.jpg b/docs.robocon.uk/public/images/ThereAre3RobotsInThisImage.jpg similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/ThereAre3RobotsInThisImage.jpg rename to docs.robocon.uk/public/images/ThereAre3RobotsInThisImage.jpg diff --git a/shepherd/blueprints/staticroutes/docs/images/angled.png b/docs.robocon.uk/public/images/angled.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/angled.png rename to docs.robocon.uk/public/images/angled.png diff --git a/shepherd/blueprints/staticroutes/docs/images/brainboxmotors.png b/docs.robocon.uk/public/images/brainboxmotors.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/brainboxmotors.png rename to docs.robocon.uk/public/images/brainboxmotors.png diff --git a/shepherd/blueprints/staticroutes/docs/images/capture.png b/docs.robocon.uk/public/images/capture.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/capture.png rename to docs.robocon.uk/public/images/capture.png diff --git a/shepherd/blueprints/staticroutes/docs/images/charger.png b/docs.robocon.uk/public/images/charger.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/charger.png rename to docs.robocon.uk/public/images/charger.png diff --git a/shepherd/blueprints/staticroutes/docs/images/editor-robot-run.png b/docs.robocon.uk/public/images/editor-robot-run.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/editor-robot-run.png rename to docs.robocon.uk/public/images/editor-robot-run.png diff --git a/shepherd/blueprints/staticroutes/docs/images/powerconnector.png b/docs.robocon.uk/public/images/powerconnector.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/powerconnector.png rename to docs.robocon.uk/public/images/powerconnector.png diff --git a/shepherd/blueprints/staticroutes/docs/images/redpanel.png b/docs.robocon.uk/public/images/redpanel.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/redpanel.png rename to docs.robocon.uk/public/images/redpanel.png diff --git a/shepherd/blueprints/staticroutes/docs/images/run-button.jpg b/docs.robocon.uk/public/images/run-button.jpg similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/run-button.jpg rename to docs.robocon.uk/public/images/run-button.jpg diff --git a/shepherd/blueprints/staticroutes/docs/images/run.png b/docs.robocon.uk/public/images/run.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/run.png rename to docs.robocon.uk/public/images/run.png diff --git a/shepherd/blueprints/staticroutes/docs/images/shepherd-editor-annotated.png b/docs.robocon.uk/public/images/shepherd-editor-annotated.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/shepherd-editor-annotated.png rename to docs.robocon.uk/public/images/shepherd-editor-annotated.png diff --git a/shepherd/blueprints/staticroutes/docs/images/shepherd-editor-create-project.png b/docs.robocon.uk/public/images/shepherd-editor-create-project.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/shepherd-editor-create-project.png rename to docs.robocon.uk/public/images/shepherd-editor-create-project.png diff --git a/shepherd/blueprints/staticroutes/docs/images/shepherd-editor.png b/docs.robocon.uk/public/images/shepherd-editor.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/shepherd-editor.png rename to docs.robocon.uk/public/images/shepherd-editor.png diff --git a/shepherd/blueprints/staticroutes/docs/images/shepherd-run.png b/docs.robocon.uk/public/images/shepherd-run.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/shepherd-run.png rename to docs.robocon.uk/public/images/shepherd-run.png diff --git a/shepherd/blueprints/staticroutes/docs/images/shepherd.png b/docs.robocon.uk/public/images/shepherd.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/shepherd.png rename to docs.robocon.uk/public/images/shepherd.png diff --git a/shepherd/blueprints/staticroutes/docs/images/upload-button.png b/docs.robocon.uk/public/images/upload-button.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/upload-button.png rename to docs.robocon.uk/public/images/upload-button.png diff --git a/shepherd/blueprints/staticroutes/docs/images/upload.png b/docs.robocon.uk/public/images/upload.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/upload.png rename to docs.robocon.uk/public/images/upload.png diff --git a/shepherd/blueprints/staticroutes/docs/images/usbstick.png b/docs.robocon.uk/public/images/usbstick.png similarity index 100% rename from shepherd/blueprints/staticroutes/docs/images/usbstick.png rename to docs.robocon.uk/public/images/usbstick.png diff --git a/docs.robocon.uk/scripts/fix-links-brain.sh b/docs.robocon.uk/scripts/fix-links-brain.sh new file mode 100755 index 0000000..fc58d55 --- /dev/null +++ b/docs.robocon.uk/scripts/fix-links-brain.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +find dist -type f -name '*.html' ! -path '*/_astro/*' -exec sed -E -i 's|href="/(docs/)?|href="/docs/|g' {} + diff --git a/shepherd/images/CytronBoardDocs.pdf b/docs.robocon.uk/src/assets/CytronBoardDocs.pdf similarity index 100% rename from shepherd/images/CytronBoardDocs.pdf rename to docs.robocon.uk/src/assets/CytronBoardDocs.pdf diff --git a/shepherd/images/MiniBot assembly instruction manual .pdf b/docs.robocon.uk/src/assets/MiniBot-Assembly-Instructions.pdf similarity index 100% rename from shepherd/images/MiniBot assembly instruction manual .pdf rename to docs.robocon.uk/src/assets/MiniBot-Assembly-Instructions.pdf diff --git a/docs.robocon.uk/src/assets/favicon.png b/docs.robocon.uk/src/assets/favicon.png new file mode 100644 index 0000000..caaa52c Binary files /dev/null and b/docs.robocon.uk/src/assets/favicon.png differ diff --git a/docs.robocon.uk/src/assets/main.py b/docs.robocon.uk/src/assets/main.py new file mode 100644 index 0000000..b56d1bf --- /dev/null +++ b/docs.robocon.uk/src/assets/main.py @@ -0,0 +1,7 @@ +import robot + +R = robot.Robot() + +print("Recovery complete!") +print("Please turn off your robot and unplug the USB stick.") +print("Then start the robot normally.") diff --git a/docs.robocon.uk/src/assets/markers.pdf b/docs.robocon.uk/src/assets/markers.pdf new file mode 100644 index 0000000..0111dd6 Binary files /dev/null and b/docs.robocon.uk/src/assets/markers.pdf differ diff --git a/docs.robocon.uk/src/assets/robot-with-cube.jpg b/docs.robocon.uk/src/assets/robot-with-cube.jpg new file mode 100644 index 0000000..ce75298 Binary files /dev/null and b/docs.robocon.uk/src/assets/robot-with-cube.jpg differ diff --git a/robotsrc/me.py b/docs.robocon.uk/src/assets/simple.py similarity index 56% rename from robotsrc/me.py rename to docs.robocon.uk/src/assets/simple.py index d561a65..32691ed 100644 --- a/robotsrc/me.py +++ b/docs.robocon.uk/src/assets/simple.py @@ -1,6 +1,3 @@ import robot R = robot.Robot() - -while True: - R.see() diff --git a/docs.robocon.uk/src/components/RoboConDocsLogo.astro b/docs.robocon.uk/src/components/RoboConDocsLogo.astro new file mode 100644 index 0000000..4086521 --- /dev/null +++ b/docs.robocon.uk/src/components/RoboConDocsLogo.astro @@ -0,0 +1,32 @@ +--- +interface Props { + clickable?: boolean; + href?: string; +} +let { clickable = true, href = "/" } = Astro.props; +--- + + + + diff --git a/docs.robocon.uk/src/content/config.ts b/docs.robocon.uk/src/content/config.ts new file mode 100644 index 0000000..45f60b0 --- /dev/null +++ b/docs.robocon.uk/src/content/config.ts @@ -0,0 +1,6 @@ +import { defineCollection } from 'astro:content'; +import { docsSchema } from '@astrojs/starlight/schema'; + +export const collections = { + docs: defineCollection({ schema: docsSchema() }), +}; diff --git a/docs.robocon.uk/src/content/docs/404.md b/docs.robocon.uk/src/content/docs/404.md new file mode 100644 index 0000000..40c4686 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/404.md @@ -0,0 +1,15 @@ +--- +title: '404 - Page Not Found' +template: splash +editUrl: false +--- + +We can't find that page - it may be a broken link, or a misspelling in the URL. If you've found a broken link, please [let us know](mailto:robotics@hrsfc.ac.uk) and we'll fix it! + +In the meantime, why not try searching for the page using our search bar at the top or [return to the docs home](/)? + +:::note[Easter Egg] +There are 3 robots in the image below, see if you can spot them all! +::: + +![3 Robots Collision](/images/ThereAre3RobotsInThisImage.jpg) \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/first-steps/getting-started.md b/docs.robocon.uk/src/content/docs/first-steps/getting-started.md new file mode 100644 index 0000000..5cf0af8 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/first-steps/getting-started.md @@ -0,0 +1,43 @@ +--- +title: Getting Started +category: None +sidebar: + order: 1 +--- +Welcome to the docs for **Robocon 2026**! + +![RoboCon2025 Game Header](/images/RoboCon2026-Header.png) + +If you haven't already, it's a good idea to take a look at the [rules](/assets/Rulebook.pdf) for this year's competition. + +:::tip + +If you are viewing this page on your BrainBox then please check the website for the latest revision. + +::: + +Once you've done that, you'll need to turn your robot on. + +To begin, get familiar with the kit provided. It includes: + +| Count | Parts | +| ------ | -------------------------- | +| 2 | Lithium Polymer Batteries | +| 1 | Battery Bag | +| 1 | Battery Charger | +| 1 | BrainBox | +| 2 | Motor | +| 2 | Wheels | +| 1 | Caster Wheel | +| 1 | Chassis Kit | +| 2 | Servo Motor | +| 1 | Start Button | +| 1 | Power Switch | + +:::danger +Handling batteries incorrectly can be dangerous. Make sure you follow these [safety guidelines](/hardware/batteries/#battery-safety) at all times. +::: + +:::tip +You can also access these docs from your robot. Go to `http://robot.local/docs` when you're connected to your robot. +::: \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/hardware/batteries.md b/docs.robocon.uk/src/content/docs/hardware/batteries.md new file mode 100644 index 0000000..697607e --- /dev/null +++ b/docs.robocon.uk/src/content/docs/hardware/batteries.md @@ -0,0 +1,54 @@ +--- +title: Batteries +category: Hardware +sidebar: + order: 2 +--- +![Zippy Compact 2200mAh battery](/images/63391_m_1__6.jpg) + +The electronics kit contains two lithium-ion polymer (LiPo) batteries. These are similar to those used in laptops and are small and light for the amount of energy they contain. This is great for your robot but it is vital to treat such a high concentration of energy with respect. If you do not, there is a serious risk of fire and injury. To avoid this, you should follow the safety information on this page closely, at all times. + +Your kit will come with several pieces of battery-related equipment: + +* Two 11.1V 2200mAh LiPo Batteries. +* One battery charger. +* One battery charging bag. + +You must not use any batteries, chargers, bags or cables **not** explicitly authorised by **Hills Road RoboCon**. If you have any doubts or wish to request permission to use a battery, charger, charging bag or battery cable not provided by **Hills Road RoboCon**, please email us at [robotics@hrsfc.ac.uk](mailto:robotics@hrsfc.ac.uk). + +## Battery Safety +:::caution[Battery Safety Instructions] +* Never leave batteries unattended when they are in use or charging. +* Always place the batteries in the provided charging bag when charging or storing. +* Do not charge or use a damaged battery. +* Do not tamper with the battery wires. +* If a battery has any cuts, nicks, exposed copper on wires or is bulging, [contact us](mailto:robotics@hrsfc.ac.uk) immediately. +::: + +## Storing + +When your batteries are not actively in use, they should be safely stored. You must disconnect the batteries from all electrical equipment, and place them in the battery charging bag. You should then store the charging bag in a safe location. + +If you are not going to use the batteries for a long period of time, such as more than a week, then you should charge the batteries beforehand. By themselves, batteries will discharge very slowly, and over-discharging will lead to damage. We recommend that you charge all batteries to at least 70% of capacity before being stored for a long period. + +## Operating Batteries + +To use your batteries, you must connect them to the **Hills Road RoboCon** BrainBox. Do not tamper with the cable or connect the batteries to anything other than the power board (or the charger when charging). + +During operation, the battery is protected by over-current protection by a regulator on the power board. If any equipment is short circuited, the over-current protection will activate - protecting the battery. There is a fuse placed inline with the power cord. If you suspect the fuse has gone something _very_ wrong has happened. This is an important safety feature. + +:::danger +Do **NOT**, under any circumstances, bypass or replace the fuse. If the fuse has blown then the power board has failed and **must** be replaced for safe operation. If you suspect the fuse has blown then please contact [robotics@hrsfc.ac.uk](mailto:robotics@hrsfc.ac.uk) straight away. +::: + +Mechanical damage to a battery can be dangerous, and a puncture or large force applied to a battery causes a serious risk of fire. To avoid this, your battery should be shielded from mechanical damage while you operate it. Secure your battery to your robot, so that it does not move or fall off while the robot moves. You should also build a compartment for the battery to be placed in to prevent accidental collisions damaging the battery. + +## Flat batteries + +When the battery has been almost completely discharged, the Power Board will automatically go into a low power state and shut everything down. You should immediately disconnect the battery, and begin charging it. You should keep your second battery charged so that you can immediately switch to using it. + +Do not store a discharged battery for more than a few days without charging it, as it may discharge further and become damaged. + +## Charging batteries + +You should only use the battery charger provided by **Hills Road RoboCon** to charge the batteries provided in the kit. Plug your battery in and put it in a LiPo safe bag until all the lights turn green. diff --git a/docs.robocon.uk/src/content/docs/hardware/charging.md b/docs.robocon.uk/src/content/docs/hardware/charging.md new file mode 100644 index 0000000..786f369 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/hardware/charging.md @@ -0,0 +1,17 @@ +--- +title: Charging +category: Hardware +sidebar: + order: 2 +--- +The exact charger you have will vary, however the one you have should look a bit like this one: + +![A charger](/images/charger.png) + +To charge the battery find an adapter and plug the charger into the mains. All three LEDs should light up red. Take the battery and place it in the LiPo-safe bag so that only the leads protrude then take the four pin lead from the battery. Then plug that into the four pin connector on the charger, noting the direction they are keyed in. + +:::caution +Always make sure that you charge the battery in a LiPo-safe bag. If you have any reason to suspect that the battery is damaged **do NOT use it**. +::: + +When the battery is charged all 3 LEDs will turn green, if the LED's flash red it means that there is a problem with your battery and you should contact us immediately. diff --git a/docs.robocon.uk/src/content/docs/hardware/expanding-functionality.md b/docs.robocon.uk/src/content/docs/hardware/expanding-functionality.md new file mode 100644 index 0000000..62b0cc6 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/hardware/expanding-functionality.md @@ -0,0 +1,32 @@ +--- +title: Expanding Functionality +category: Hardware +sidebar: + order: 5 +--- + +:::caution +Although the I2C and UART are connected to the Raspberry Pi, they operate at 5.1V not 3.3V. Check that your devices are compatible first! +::: + +## I2C + +I2C is a great way to a components to your BrainBox. Look at the datasheet for your device which you would like to connect and connect the SDA and SDL to the appropriate pins. You should now be able to send data to your device by using the [SMBus2 python library](https://pypi.org/project/smbus2/). + +:::caution +You should avoid address 0x08 (8) and 0x68 (104) because these are used by critical system components. +::: + +If you are interested in the I2C protocol there is a good guide to find out more about how it works [here](http://www.circuitbasics.com/basics-of-the-i2c-communication-protocol/). + +## USB + +You can use USB devices using the [`serial`](https://pyserial.readthedocs.io/en/latest/shortintro.html) library. The connection will probably open on something similar to `dev/ttyUSB0` but if you can't find it where you expect then connect the device to a Raspberry Pi running a recent OS image and observe where it appears. + +## UART + +UART is not enabled by default on the BrainBox and you will need to ask on the forums for us to provide a patch to enable it should you wish to use it. + +:::note +Please [contact us](mailto:robotics@hrsfc.ac.uk) for more infomation if you wish to expand your BrainBox. +::: diff --git a/docs.robocon.uk/src/content/docs/hardware/kit-list-of-parts.md b/docs.robocon.uk/src/content/docs/hardware/kit-list-of-parts.md new file mode 100644 index 0000000..715c284 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/hardware/kit-list-of-parts.md @@ -0,0 +1,42 @@ +--- +title: Kit List of Parts +category: Hardware +sidebar: + order: 5 +--- +## The RoboCon kit +We hope that the RoboCon kit was useful to you, we ask that all kits are returned to us over the summer so that we can improve them and keep this competition free for years to come. + +## Packing and returning the kit +Shipping can sometimes be quite rough for the kit and so we require the following standards to be adheared to if the kit is to be shipped: +* The kit it should be returned inside of the Really Useful Box (RUB) provided +* All space inside the RUB should be filled with a packing material (cardboard etc) such that the kit can not move around inside the RUB. +* The RUB should be wrapped in a protective layer of cardboard. +* Most couriers have rules and regulations regarding shippment of lithium batteries, you must check with any courier beforehand about lithium batteries. In most cases it is required for the batteries to be in a device meaning that the **loose batteries provided in the RoboCon kit can not be shipped**. You may find it easier to return the kit to Hills Road in person. Shipment is at your own risk. +* Hills Road Robotics will **not** fund the shipment of kit back to us. + +If you plan to return the kit to Hills Road in person then please email [robotics@hrsfc.ac.uk](mailto:robotics@hrsfc.ac.uk) and we will organise a time to have someone meet you at reception. + +## Items to be returned +### Containers +* 1 x 12L Really Useful Box +## Electronics Kit +* 1 BrainBox +* 1 microservo 9g SG90 +* 1 6 pin GPIO connector +* 1 2 pin 12V connector +### Switches +* Red switch, black connector: ON/OFF (latching) +* Black switch, green connector: Start (momentary) +### Batteries +* 2 x 12 V LiPo Battery +* 1 x Turnigy E3 Compact 2S/3S Lipo Charger +* 1 x Lithium Polymer Charge Pack +### Computer +* 1 Tablet computer +* 1 Charging brick +* 1 Power lead + +:::note +Please return any surviving parts of the minibot +::: \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/hardware/minibot-assembly.md b/docs.robocon.uk/src/content/docs/hardware/minibot-assembly.md new file mode 100644 index 0000000..164f3ab --- /dev/null +++ b/docs.robocon.uk/src/content/docs/hardware/minibot-assembly.md @@ -0,0 +1,9 @@ +--- +title: Minibot Assembly +category: Hardware +sidebar: + order: 6 +--- +You can download instructions on how to make your minibot [here](/assets/MiniBot-Assembly-Instructions.pdf). + + diff --git a/docs.robocon.uk/src/content/docs/hardware/the-brainbox.md b/docs.robocon.uk/src/content/docs/hardware/the-brainbox.md new file mode 100644 index 0000000..cccda15 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/hardware/the-brainbox.md @@ -0,0 +1,91 @@ +--- +title: The BrainBox +category: Hardware +sidebar: + order: 2 +--- + +The BrainBox is the core of the kit which we provide. In it is all of the electronics and software you need to power a robot. Lets start by turning it on. Take a battery from the kit and plug it into the yellow socket labelled battery, then take a red "power button" and connect that to the black connector along the side of the BrainBox. The battery and start button are both labelled on the red surface of the BrainBox. +![The brain box](/images/angled.png) +## How to turn everything on +Pressing the start button will cause the battery status LEDs on the front of the BrainBox flash in an upwards direction and the power LED turns green. When the user light starts flashing blue your BrainBox is ready to run code. You can now turn connect to your robot. The user LED will go solid while code is running. +## Power + +The BrainBox distributes power to the robot from the battery. It provides both 12V and 5V power out. All power must go through the BrainBox and the fuse should never be replaced. + +The On/Off switch also plugs into the BrainBox as well as the Start button which is used to start your robot code running. + +## Motors & 12V Power + +The specifications for the motor board can be found [here](/assets/CytronBoardDocs.pdf), however to summarize: + +| Condition per channel | Maximum Value | +| ------------------------- | ------------- | +| Continuous current | 10A | +| Peak current (10 seconds) | 30A | +| Operating Voltage | 12V | + +:::tip +You can toggle the 12V which allows you to turn 12V devices on and off easily. However, this will also cut power to the motor board. +::: + +## How to turn everything off +When you are done for the day, press the power button, the user LED will flash rapidly, when this turns off you may unplug the battery. + +## USB's +On the new brainBox, there is only one USB port. If you want to use something that requires a USB port such as a USB camera, you will need to get your own USB hub. + +## GPIO + +### GPIO - Out + +All of the BrainBox's GPIO pins are connected in-series with a 1K Ohm resistor, to provide current limiting. This means that you can plug devices such as LED's straight into your BrainBox. + +Nominally they operate at 5V but depending on your load the true output will vary. You can calculate the voltage you will get across your load by measuring its resistance, then doing the sum: + +(5*Load_resistance)/(Load_resistance+1000) + +### GPIO - In + +We advise against you using analogue inputs with an impedance (You can think of impedance as "effective resistance in an analogue circuit") of greater than 9K Ohm's as this will result in values which do not necessarily correspond to what you'd expect. + +If you need to sense something with an impedance of more than 9K then you will need to use an Op-amp to buffer the input. If you would like more details on how to do this please contact us on the forums. + +### GPIO - Limits + +Do not try and sink or source more than 25mA into the BrainBox's GPIO, it may damage some of the internal components. + +## PWM Pins + +PWM (Pulse Width Modulation) is a technique used for sending signals to a device for how much it should do a thing. This could be how fast to spin a motor, or the position to turn an RC Servo to. It does this by sending regular pulses, which vary in width. The length of the pulse tells the device how much to do the thing. If you are interested you can find out more about using PWM for control [here](http://smartmicrocontroller.com/how-to-control-a-servo-using-pulse-width-modulation-pwm/). + +Please note you will not be able to drive large motors over the PWM pin's supplied as the maximum which they can supply is 3A at 5V. + +The PWM pins ranges: + +| Value | Pulse | +| ----- | ------ | +| 0 | 1.5ms | +| 100 | 2ms | +| \-100 | 1ms | +| 178 | 2.39ms | +| \-178 | 0.61ms | + +## Pin Out + +### IO + +![USB's](/images/powerconnector.png) + +### Motors + +![Motors](/images/brainboxmotors.png) + + +### Front + +![Front](/images/redpanel.png) + +## Expansion I2C, UART & USB + +For expansion please see the [expansion page](/hardware/expanding-functionality). diff --git a/docs.robocon.uk/src/content/docs/index.mdx b/docs.robocon.uk/src/content/docs/index.mdx new file mode 100644 index 0000000..edf1e40 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/index.mdx @@ -0,0 +1,38 @@ +--- +title: Welcome to the docs! +template: splash +hero: + title: 'Welcome to the RoboCon 2026 Docs' + tagline: Containing everything you'll need to know about the RoboCon kit! + image: + alt: RoboCon 2025 Game + file: /public/images/Robocon_logo_blackandwhite.png + actions: + - text: Dive into the docs + link: /first-steps/getting-started/ + icon: right-arrow + - text: Back to the RoboCon website + link: https://robocon.uk + icon: external + variant: minimal + attrs: + rel: me +--- +--- + +import { Card, CardGrid, LinkButton } from '@astrojs/starlight/components'; + +

Welcome to our newly redesigned docs, containing everything you'll need to know about building a robot with your RoboCon kit.

+

We hope you find them useful. If you bump into any issues or have any suggestions for our website, please don't hesitate to reach out to us!

+ + + + Visit the [RoboCon website](https://robocon.uk) for information about the competition and how to get involved. + + + Visit our [getting started with your kit](/first-steps/getting-started) guide. Then, head over to our [challenges](/tutorials/hello-challenges) page to get to grips with your exciting new kit! + + + [Get in contact with us](mailto:robotics@hrsfc.ac.uk)! Send us an email, and we'll answer any questions you have. You can also arrange a video call with one of our Hills Road student mentors! + + diff --git a/docs.robocon.uk/src/content/docs/programming/enabling-and-disabling-power.md b/docs.robocon.uk/src/content/docs/programming/enabling-and-disabling-power.md new file mode 100644 index 0000000..739812c --- /dev/null +++ b/docs.robocon.uk/src/content/docs/programming/enabling-and-disabling-power.md @@ -0,0 +1,64 @@ +--- +title: Toggling 12v and 5v power +category: Programming +sidebar: + order: 10 +--- + +Output power at both 12v and 5v can be toggled on and off using your code. This can be done in a couple different ways. + +## Toggling 12v power +The BrainBox provides 12v power to the Aux 12v port on the side of the BrainBox next to the motors. In your code you can toggle whether this power is being supplied using the `R.enable_12v` property as shown below: + +```python +import robot +R = robot.Robot() + +# ...Your code + +R.enable_12v = False + +# ...Rest of your code +``` +This will disable the Aux 12v port until you re-enable it using `R.enable_12v = True`. +You can also check whether the 12v is currently enabled or disabled. + +```python +import robot +R = robot.Robot() + +R.enable_12v = False +print(R.enable_12v) # Outputs "False" +``` + +## Toggling 5v power +The BrainBox supplied 5v power to multiple outputs. These are the Servos (all 0-3), as well as the 5v GPIO pin. You can disable these similarly to the 12v power by using the following code: + +```python +import robot +R = robot.Robot() + +# ...Your code + +R.enable_5v = False + +# ...Rest of your code +``` +This will disable the Servo ports as well as the 5v GPIO pin until you re-enable them using `R.enable_5v = True`. +You can also check whether the 5v is currently enabled or disabled. +```python +import robot +R = robot.Robot() + +R.enable_5v = False +print(R.enable_5v) # Outputs "False" +``` + +## Enabling or disabling power by default. +You can set the BrainBox to have 5v and 12v disabled by default using the following code: +```python +import robot +R = robot.Robot(start_enable_5v=False, start_enable_12v=False) +``` + +You can set both to false as in the example, or alternatively only set one. This will disable the power immediately when the brain loads to blinky, rather than you manually disabling it when the code starts execution. \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/programming/gpio.md b/docs.robocon.uk/src/content/docs/programming/gpio.md new file mode 100644 index 0000000..48b82e9 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/programming/gpio.md @@ -0,0 +1,101 @@ +--- +title: GPIO +category: Programming +sidebar: + order: 5 +--- +The GPIO (General Purpose Input Output) allows you to turn on LEDs, react to button presses, or do just about anything. + +Our BrainBox has 4 GPIO pins that you can control. Before you do anything with a pin, you must first set its' mode. + +There are 4 modes: +|Mode|Python|Description| +|-|-|-| +|Digital Output|`robot.OUTPUT`|Allows you to write a high or low signal| +|Digital Input|`robot.INPUT`|Allows you to read a high or low signal| +|Analog Input|`robot.INPUT_ANALOG`|Allows you to read a voltage, like a voltmeter| +|Pullup Input|`robot.INPUT_PULLUP`|Like input, but uses a [weak pullup resistor](#pull-ups)| + +:::tip +The GPIO are numbered 0-3 +::: + +## Python + +To write a digital signal on pin 0: + +```python +R.gpio[0].mode = robot.OUTPUT +R.gpio[0].digital = True +``` + +To read a digital signal on pin 1: + +```python +R.gpio[1].mode = robot.INPUT +print(R.gpio[1].digital) +``` + +To read an analog signal on pin 2: + +```python +R.gpio[2].mode = robot.INPUT_ANALOG +print(R.gpio[2].analog) +``` + +To read a pullup signal on pin 3 +```python +R.gpio[3].mode = robot.INPUT_PULLUP +print(R.gpio[3].digital) # Note that this output will be inverted - True when the connnection is open, and False when closed. +``` + +:::tip +All modes can be used on all pins. Note that you only need to set this mode once in your code, not every time you read an input or send an output. +::: + +Here's a more complete example: + +```python +import robot +import time + +R = robot.Robot() + +R.gpio[0].mode = robot.INPUT +R.gpio[1].mode = robot.INPUT_ANALOG +R.gpio[2].mode = robot.OUTPUT +R.gpio[3].mode = robot.INPUT_PULLUP + +outputState = False + +while True: + # Read the values of 0 and 1 + print(R.gpio[0].digital) + print(R.gpio[1].analog) + + # Switch output state and send it to 2 + outputState = not outputState + R.gpio[2].digital = outputState + + # Read the value of 3 + print(R.gpio[3].digital) + + # Pause for 2 seconds + time.sleep(2) +``` + +## Blockly + +The GPIO blocks can be found in the **GPIO** section, and function similarly to the python. + +## Pull-ups + +The BrainBox possesses the ability to enable a built-in pull-up resistor on any input pin. This takes a small amount of explanation. + +Normally, input pins are not connected to anything - known as “floating”. In this state, they might read high or low, or different values depending on their environment (due to anything from cosmic rays to the wiring in the building). This is obviously not good for consistent control. + +Many pieces of off-the-shelf electronics that have some form of standard I/O output will connect this pin to 5V (high) and 0V (low) when required, so this is not a problem. However, for simple electronics, a microswitch for example, you would normally be required to connect a resistor between the input pin and 5V (a pull-up resistor), or between the input pin and 0V (a pull-down resistor) to keep the input in a known state until the switch overrides it by connecting directly to the opposite state. + +However, the built-in pull-up resistor alleviates this need. It essentially wires in a resistor connected to 5V, meaning that when this option is enabled, an input pin will “default” to being high. This means you can simply connect a switch between the input pin and a ground pin without any need of resistors - when the switch is open, the pin will read high; when closed, it will read low. + +![An example weak pull up](/images/capture.png) diff --git a/docs.robocon.uk/src/content/docs/programming/init-robot.md b/docs.robocon.uk/src/content/docs/programming/init-robot.md new file mode 100644 index 0000000..a7ad897 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/programming/init-robot.md @@ -0,0 +1,23 @@ +--- +title: Initialising the Robot +category: Programming +sidebar: + order: 2 +--- +When using Python to program your robot, you must remember to initialise the robot. If you're using Blockly, this is done automatically. + +All of the code required to control the Robot is located in the `robot` python module. +To import the module, and initialise the robot use the following code: + +:::caution +You *must* add the following lines of code to any code you write in the editor, even if it doesn't use any of the brainbox's GPIO. + +If you don't, the brainbox will crash and you risk losing any code you have written if it hasn't been backed up! If your brainbox has crashed (or become unresponsive) [click here](/tools/brainbox-crashed-fix). +::: + +```py +import robot +R = robot.Robot() +``` + +When you initialise the robot with `robot.Robot()`, your code will be paused until the hardware start button or Shepherd run button is pressed. When the Robot is waiting for either of these buttons to be pressed, the blue status LED will flash on and off. diff --git a/docs.robocon.uk/src/content/docs/programming/learning-python.md b/docs.robocon.uk/src/content/docs/programming/learning-python.md new file mode 100644 index 0000000..48bb61b --- /dev/null +++ b/docs.robocon.uk/src/content/docs/programming/learning-python.md @@ -0,0 +1,24 @@ +--- +title: Learning Python +category: Programming +sidebar: + order: 1 +--- +Python is an interpreted high-level programming language for general-purpose programming. First released in 1991, Python has a design philosophy that emphasises code readability, notably using significant whitespace. + +:::tip[Blockly] +If you don't know Python, why not try out Blockly? It's just as powerful, but lets you use a simple drag and drop interface to program the robot - and if you have any struggles with it, why not drop us [an email](mailto:robotics@hrsfc.ac.uk)! We want to make it as easy for you to get started as possible. +::: + +There are many resources online for learning Python, here are a few good ones that we would recommend: + +* [Student Robotics' tutorial](https://www.studentrobotics.org/docs/tutorials/python) has a tutorial called Python: a whirlwind tour. This was written for Student Robotics competitors (a similar competition to the one you are taking part in), and explains the basics while trying not to overwhelm you. +* [CSNewbs](https://www.csnewbs.com/python) has a very comprehensive tutorial, that takes you through from the basics to the slightly more advanced. The later chapters cover things like File Handling and UIs - you shouldn't be using these on your brains, but go wild on your own devices! +* [The Official Python Tutorial](http://docs.python.org/tutorial/) can be pretty handy - the good stuff starts at chapter 3, but you should at least skim the stuff before it; there is a lot there and it may be a little overwhelming. +* A number of tutorials for beginners are linked to from [here](http://wiki.python.org/moin/BeginnersGuide/NonProgrammers). +* [Learn X in Y minutes](https://learnxinyminutes.com/docs/python/) is quite nice if you've programmed before in another language and just want to learn the syntax. (Tip: If you're trying to complete the challenges, here's where we say you can learn Python in "Y" minutes) +* [The Official Docs](https://docs.python.org/) can be handy, but a little dense! Give them a shot, but don't worry if you can't find what you are looking for. + +:::warning +Running code on your brain may have unintended side effects if it does not call `import robot`, and doesn't create a robot object (`R = robot.Robot()`). Its best to leave those lines in, even if you don't need to run anything related to the hardware on the brain. +::: diff --git a/docs.robocon.uk/src/content/docs/programming/libraries.md b/docs.robocon.uk/src/content/docs/programming/libraries.md new file mode 100644 index 0000000..f497813 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/programming/libraries.md @@ -0,0 +1,35 @@ +--- +title: Libraries +category: Programming +sidebar: + order: 9 +--- +:::note + If you wish to use a library that is not on the list, please [contact us](mailto:robotics@hrsfc.ac.uk). +::: + +### the following libraries are installed on your robot. +| Package | Version | +|-------------|---------| +| [chardet](https://chardet.readthedocs.io/en/latest/) | 2018.8.24 | +| [entrypoints](https://entrypoints.readthedocs.io/en/latest/) | 0.3 | +| [gevent](https://www.gevent.org/contents.html) | 21.8.0 | +| [gpiozero](https://gpiozero.readthedocs.io/en/latest/) | 1.6.2 | +| [greenlet](https://greenlet.readthedocs.io/en/latest/) | 1.1.1 | +| [keyrings](https://keyring.readthedocs.io/en/latest/) | 17.1.1 | +| [numpy](https://numpy.org/doc/1.21) | 1.21.2 | +| [picamera](https://picamera.readthedocs.io/en/release-1.13/) | 1.13 | +| [pillow](https://pillow.readthedocs.io/en/stable/) | 8.3.2 | +| [pluggy](https://pluggy.readthedocs.io/en/stable/) | 1.0.0 | +| [pycairo](https://pycairo.readthedocs.io/en/latest/) | 1.20.1 | +| [pygobject](https://pygobject.readthedocs.io/en/latest/) | 3.30.4 | +| [pyserial](https://pyserial.readthedocs.io/en/latest/) | 3.5 | +| [rpi.gpio](https://sourceforge.net/p/raspberry-gpio-python/wiki/Home/) | 0.7.0 | +| [scipy](https://docs.scipy.org/doc/scipy/) | 1.7.1 | +| [smbus2](https://pypi.org/project/smbus2/) | 0.4.1 | +| [spidev](https://www.sigmdel.ca/michel/ha/rpi/dnld/draft_spidev_doc.pdf) | 3.5 | + + +:::warning +Documentation might not align with used version, please verify documentation is set to the specified version as that is what is installed on the robot +::: \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/programming/markers.md b/docs.robocon.uk/src/content/docs/programming/markers.md new file mode 100644 index 0000000..5d31e10 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/programming/markers.md @@ -0,0 +1,12 @@ +--- +title: Markers +category: Programming +sidebar: + order: 7 +--- +You can access (and print) this year's markers [here](/assets/markers.pdf). + +- Supply crates markers are on page 1-24 +- Supply drop markers are on pages 25-32 +- Tree markers are on pages 33-48 +- Arena wall markers are from page 48 onwards diff --git a/docs.robocon.uk/src/content/docs/programming/motors.md b/docs.robocon.uk/src/content/docs/programming/motors.md new file mode 100644 index 0000000..2158b52 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/programming/motors.md @@ -0,0 +1,64 @@ +--- +title: Motors +category: Programming +sidebar: + order: 3 +--- +Motors can be used for all sorts of things, besides just moving your robot. For instance, they could also be used as part of a mechanism to collect cubes. However you decide to use them, they're really simple to control. + +When you control motors, you can choose how much power you want to give them. This is expressed as a percentage, so 0% means a stopped motor and 100% means a motor at full power. + +:::note +If you have large motors you should avoid using 100% power when the motor is stalled or stationary, otherwise the rush of current may cause the robot to shut down the motor output. Instead of jumping from 0% to 100% start at a lower value such as 50% and work your way up. +::: + +If you want to spin your motors in reverse, just stick a negative sign in front of your percentage. + +## Python + +You can control motors using the `motors` property of the `Robot` object. To set the power of the first motor to 60% use: + +```python +R.motors[0] = 60 +``` + +Remember that indexes start at 0; To control the second motor instead, replace `motors[0]` with `motors[1]`. + +To stop both motors: + +```python +R.motors[0] = 0 +R.motors[1] = 0 +``` + +Here's a more complete example: + +```python +import robot + +R = robot.Robot() + +# set motor 1 to 60% power +R.motors[0] = 60 + +# set motor 2 to 60% power in the backwards direction +R.motors[1] = -60 + +# turn both motors off +R.motors[0] = 0 +R.motors[1] = 0 +``` + +:::tip +By default the BrainBox is designed to work safely with the TT motors supplied, these are 6V motors. If you choose to use motors that have a different nominal voltage, then you can specify this when initalising the robot object. For example when using 9V motors: + +```python +R = robot.Robot(max_motor_voltage=9) +``` + +We do not recommend running motors above their design voltage, it may (sometimes dramatically) shorten the lifespan of your motors. If you choose to overvolt your motors you should be prepared to swap them with spares and design your robot to ensure you have access to replace them. +::: + +## Blockly + +Blocks for controlling motors can be found in the **Movement** section. It follows a similar structure to how the python is layed out, with motors being set to a value between -100 and 100 to control their rotation speed. diff --git a/docs.robocon.uk/src/content/docs/programming/servos.md b/docs.robocon.uk/src/content/docs/programming/servos.md new file mode 100644 index 0000000..8ab2c86 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/programming/servos.md @@ -0,0 +1,58 @@ +--- +title: Servos +category: Programming +sidebar: + order: 5 +--- +Servos are a bit like motors, except their position is fixed. This is useful for building an arm mechanism that grabs cubes, or anything else that has fixed states that it needs to be in. + +Similarly to motors, the position of a servo is expressed as a percentage. This can be negative. + +Servos are plugged into the **Servo** ports on the BrainBox. The numbers present on each port correspond to the index used in your code. + +## Python + +You can control servos using the `servos` property of the `Robot` object. To set the servo 0 to the 50% position use: + +```python +R.servos[0].mode = robot.PWM_SERVO +R.servos[0] = 50 +``` + +:::tip +For example, to control servo 3 instead, replace `servos[0]` with `servos[3]`. Again, remember that indexes start at 0. +::: + +Here's a more complete example, controlling servos 0 and 1: + +```python +import robot +import time + +R = robot.Robot() +R.servos[0].mode = robot.PWM_SERVO +R.servos[1].mode = robot.PWM_SERVO + +# set servo 0 to the 50% position +R.servos[0] = 50 + +# wait for the servo to finish moving +time.sleep(1) + +# set servo 1 to the -100% position +R.servos[1] = -100 + +time.sleep(1) + +# set servos 0 & 1 to the default positions +R.servos[0] = 0 +R.servos[1] = 0 +``` + +:::tip +Add a delay with `time.sleep` to wait for the servos to finish moving into their new positions. +::: + +## Blockly + +Blocks for controlling servos can be found in the **Movement** section. diff --git a/docs.robocon.uk/src/content/docs/programming/vision.md b/docs.robocon.uk/src/content/docs/programming/vision.md new file mode 100644 index 0000000..4d9015a --- /dev/null +++ b/docs.robocon.uk/src/content/docs/programming/vision.md @@ -0,0 +1,321 @@ +--- +title: Vision +category: Programming +sidebar: + order: 6 +--- +Computer Vision allows your robots to understand their environment. For the competition, this is used to locate markers. It will give you information about the type of the marker, the distance/angle to the marker, etc. + +## Python + +To look for markers call `see()`: + +```python +markers = R.see() + +print(markers) +``` + +`markers` is a Python list of "marker objects", which each look like the following: + +``` +[target Marker 0: 0.856m @0.754 degrees +{ + info.type = TARGET + info.id = 50 + info.target_type = TARGET_TYPE.SUPPLY_CRATE + dist = 0.856 + bearing.y = 0.754 + bearing.x = 1.03e+02 + rotation.y = 5.1 + rotation.x = -11.4 + rotation.z = 9.47 + info = TOO BIG TO PRINT + detection = TOO BIG TO PRINT +} +] +``` + +Full reference of the properties are further below but some useful properties are: + +| Property | Description | +| ------------------------ | --------------------------------------------------------------------------------- | +| `marker.dist` | Distance to the marker in metres | +| `marker.bearing.y` | The angle your robot needs to turn to get to the marker in degrees | +| `marker.info.id` | Numeric code of the marker | +| `marker.info.type` | Returns `ARENA` for a wall marker and trees, or `TARGET` for supply crates and supply drop markers. | +| `marker.info.target_type` | Returns if the marker is a Supply create or Supply drop marker. If it's none of these, `NONE` will be returned. For example, a supply crate marker would return `TARGET_TYPE.SUPPLY_CRATE`. However a tree marker would return `NONE`. | + +## Codes + +:::tip +You do not need to use the marker ids themselves for your calculations. Use `marker.type` and `marker.target_type` instead to find out the information you need (see above). +::: + +Every april tag has a code: + +- April tags 0-31 will be used for supplies. Although only 4 supply crates and 4 supply drops used in each round, there are another 19 supply crates and 3 supply drops spare in case some get damaged. + +- April tags 100+ will be around the arena on the walls. See the rules for + specifics on where around the rules they will be placed + +- You do not need to use the marker numbers, and can instead use marker.type and marker.owning_team + +| Function | Codes | | +| -------- | ----- | ---- +| Supply crates | 0 - 23 | +| Supply drops | 24 - 31 | +| Trees | 76 - 91 | +| Arena walls Marker | 100 - 123 | + + + +## Blockly + +Blocks for vision can be found in the **Vision** section. + + + +Here's an example of a Blockly program that does some basic vision: + + + + +## Example + +After reading the [motors documentation](/programming/motors) you should be able to create a function which moves your robot by a number of meters as well as turn. We can then use this to write some code where a robot: + +- Looks for a marker +- If it can see a marker: + + - Turn so that it is facing the marker + - Drive the distance to the marker + +- If there is no marker in sight turn a bit and look again, maybe there is a marker out of view. + +```python +import robot + +R = robot.Robot() + +def move(distance): + """The robot drives `distance` meters forwards""" + print("PUT YOUR MOVE CODE HERE") + +def turn(rotation): + """The robot turns `rotation` degrees""" + print("PUT YOUR TURN CODE HERE") + +while True: + for marker in R.see(): + turn(marker.bearing.y) # Face the marker + move(marker.dist) # Drive to the marker + else: + turn(20) # The robot didn't see anything and so we turn and maybe see + # another marker +``` + +## The `Marker` object + +Details about the markers can be accessed using the following syntax: + +```python +markers = R.see() # returns list of markers which the robot can see + +for marker in markers: + print(marker.dist) # The distance to the marker in meters + print(marker.bearing.y) # The rotation the robot would need to turn to + # face the marker + print(marker.info.id) # The number of the marker +else: + print("The robot didn't see any markers and skipped the for loop!") +``` + +A `Marker` object contains information about a _detected_ marker. It has the following attributes: + +| Attribute | What it does | +| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `dist` | The distance to the Marker from the camera in meters. | +| `bearing` | How far the **BrainBox** would have to rotate to face that **Marker** in degrees | +| `bearing.x` | The **up/down** bearing. 0 is vertically bellow the camera | +| `bearing.y` | The **left/right** bearing. 0 is straight ahead from the camera | +| `rotation` | How much the **Marker** would need to be rotated to face the **BrainBox**. `(0,0,0)` Is if the marker was facing the BrainBox in the upright position | +| `rotation.x` | The **roll** of the marker | +| `rotation.y` | The **pitch** of the marker | +| `rotation.z` | The **yaw** of the marker | +| `info` | An object with various information about the marker | +| `info.id` | The ID number of the marker | +| `info.size` | The length of the black edge of the marker in meters | +| `info.type` | Returns `ARENA` for a wall marker and a tree marker, or `TARGET` for supply crates and supply drop markers. | +| `info.target_type` | Returns if the marker is a Supply create or Supply drop marker. If it's none of these, `NONE` will be returned. For example, a supply crate marker would return `TARGET_TYPE.SUPPLY_CRATE`. However a tree marker would return `NONE`. | +| `info.bounding_box_colour` | A tuple describing the colour which is drawn around the marker in the preview image (Blue, Red, Green) | +| `detection` | Technical information which has been inferred from the image. | +| `detection.tag_family` | The family of AprilTag which is detected. RoboCon currently only uses `tag36h11`. | +| `detection.tag_id` | The ID number of the detected marker. Aliased by `marker.info.id`. | +| `detection.hamming` | The number of bits which were corrected. The detector cannon detect tags with a hamming distance greater than 2. | +| `detection.decision_margin` | A measure of the quality of the binary decoding process; the average difference between the intensity of a data bit versus the decision threshold. Higher numbers roughly indicate better decodes. Only effective for tags which appear small. | +| `detection.homography` | The 3x3 homography matrix describing the projection from an "ideal" tag (with corners at (-1,1), (1,1), (1,-1), and (-1, -1)) to pixels in the image. | +| `detection.center` | The image pixel coordinates of the center of the marker. | +| `detection.corners` | The image pixel coordinates of corners of the detected marker | +| `detection.pose_R` | The 3x3 Rotational matrix which describes the rotation of the marker relative to the origin. | +| `detection.pose_T` | The 1x3 translation vector of the marker in meters. | +| `detection.pose_err` | The uncertainty of the detection in meters. This number can vary massively between detections depending on if local minima were bypassed. See [Apriltag: A robust and flexible visual fiducial system](https://ieeexplore.ieee.org/document/5979561) | +| `dectection.dist` | The distance to the marker in meters. | +| `detection.rotation` | How much the **Marker** would need to be rotated to face the **BrainBox**. `(0,0,0)` Is if the marker was facing the BrainBox in the upright position. | +| `detection.bearing` | How far the **BrainBox** would have to rotate to face that **Marker** in degrees. | + +:::tip +Axes are all defined relative to the camera not your robot. Since we have +no way to know how you've mounted your camera. You may need to account for this. +::: + +:::tip +You can use `TARGET_TYPE`, `MARKER_TYPE`, and `TEAM` from `robot`, for example... + +```python +import robot + +R = robot.Robot() + +markers = R.see() + +for marker in markers: + if marker.info.type == robot.MARKER_TYPE.TARGET and marker.info.target_type == robot.TARGET_TYPE.SUPPLY_DROP: + print(f"Marker {marker.info.id} is a supply drop") + elif marker.info.target_type == robot.TARGET_TYPE.SUPPLY_CRATE: + print(f"Marker {marker.info.id} is a supply crate") +``` +::: + +## The `Camera` object + +An interface to the camera is provided incase you want to do additional computer vision. + +### Changing the resolution + +By default the camera takes pictures at a resolution of **640x480px**. You can change this by setting the `res` parameter. + +```python +import robot + +R = robot.Robot() + +print(f"The current res is set to {R.camera.res}") +R.camera.res = (1920, 1440) +print(f"The current res is set to {R.camera.res}") +``` + +You must use one of the following resolutions: + +- `(640, 480)` _(default)_ +- `(1296, 736)` +- `(1296, 976)` +- `(1920, 1088)` +- `(1920, 1440)` + +:::tip +Using a higher resolution will increase the amount of time it takes to process the image, but you may be able to see more. Using a smaller resolution will be faster, but markers further away may stop being visible. +::: +:::caution +The resolution values may be different on a USB camera. Please see [Using USB Cameras](#using-usb-cameras) for more information. +::: + +### Get data straight from the camera + +If you wish to do your own computer vision you can capture frames directly from the camera using `robot.camera.capture()`. + +```python +import robot + +R = robot.Robot() + +image = R.camera.capture() + +image.grey_frame # A 2d numpy array of the image data uint8 +image.colour_frame # A 3d numpy array of the image data +image.colour_type # The encoding method used to store the colour_frame defaults to 8 bit RGB. +image.time # A `datetime` object representing approximately the capture time. +``` +## Using USB cameras + +The built-in Pi Camera inside your brain should be great for your robot, however if you would like to use your own USB Camera (perhaps you want to put a camera somewhere else on your robot), you can! + +USB cameras can have slightly different functionality than the built-in Pi Camera, so they'll need some fine tuning before you can use them. The basic steps outlined below should get you up and running. + +Please **turn your robot off** before plugging in your USB Camera of choice. + +To use a USB camera you will need to initialize the `Robot` with something which inherits from `robot.vision.Camera`. Then just call `R.see()` as you would normally. + +```python +import robot +from robot.vision import RoboConUSBCamera + +R = robot.Robot(camera=RoboConUSBCamera) + +print(R.see()) +``` + +### Setting the resolution + +You may now wish to change the resolution of your camera, this can be done the same as before with `R.camera.res = (width,height)`. + +:::note +Some resolutions may not work with your USB camera, as different cameras support different resolutions. Check your camera's documentation. If you try and use a resolution that your camera doesn't support, you will get an error that will state the closest resolution to the value you attempted to use. Try changing your resolution to the value that the error message suggests! +::: + +For example, to set a USB Camera's resolution to `800x600`: + +``` python +import robot +from robot.vision import RoboConUSBCamera + +R = robot.Robot(camera=RoboConUSBCamera) + +R.camera.res = (800, 600) +print(R.see()) +``` + +### Calibrating the camera + +You will then need to calibrate your USB camera as the distance that it reports will not be accurate. You can do this by changing the value in the `R.camera.focal_lengths` dictionary up or down. By default, the robot will use the focal lengths for a "Logitech C270" camera, it's unlikely this is your camera - so see the steps below on how to calibrate it. + +:::tip +Remember that focal lengths vary for different resolutions. You will need to run the calibration code below to find the focal length for each resolution you intend to use with your USB camera. +::: + +- Place a marker exactly 1m away from the camera (measure this distance). Make sure there are no other markers in sight of the camera. +- Copy and paste the following code into your editor. Please set the `resolution` value to a resolution you wish to use. + +``` python +import robot +from robot.vision import RoboConUSBCamera +R = robot.Robot(camera=RoboConUSBCamera) + +resolution = (640, 480) + +R.camera.focal_lengths[resolution] = (120, 120) # set the focal lengths to a known bad value +R.camera.res = resolution # set resolution + +marker = R.see()[0] # get first marker +d = marker.dist +focal_length = 120 / d # focal length = focal length / distance +print("Focal length is around:",focal_length) +print("Use this in your code to set the correct focal length: R.camera.focal_lengths[resolution] = ("+str(focal_length)+", "+str(focal_length)+")") +``` + +It's worth noting that this is only an average value. + +The code above will output a focal length value which you should use **before** setting `R.camera.res` or `R.see()`. You can also copy the line of code it produces and paste that into your code to set the focal lengths. + +For example, if your focal length was `123` at the resolution of `800x600`, you should use the following lines of code, in the **same order**: + +``` python +import robot +from robot.vision import RoboConUSBCamera +R = robot.Robot(camera=RoboConUSBCamera) + +R.camera.focal_lengths[resolution] = (123, 123) +R.camera.res = resolution + +marker = R.see()[0] +``` diff --git a/docs.robocon.uk/src/content/docs/programming/zones.md b/docs.robocon.uk/src/content/docs/programming/zones.md new file mode 100644 index 0000000..a4ab8e9 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/programming/zones.md @@ -0,0 +1,36 @@ +--- +title: Zones +category: Programming +sidebar: + order: 8 +--- +Your code will probably need to look for different markers depending on the zone your robot starts in. Whilst you could have different files for each zone, there's also a property on the robot object for this. + +## Python + +`R.zone` will be equal to the the start zone of the robot, and will be equal to one of the teams. + +| **Team** | **Code** | +| --- | --- | +| Red | `robot.SECTOR.RED` | +| Blue | `robot.SECTOR.BLUE` | +| Green | `robot.SECTOR.GREEN` | +| Yellow | `robot.SECTOR.YELLOW` | +Here's an example: + +```python +import robot + +R = robot.Robot() + +if R.zone == robot.SECTOR.RED: + print("Do something!") +else: + print("Do something else!") +``` + +This code checks if the first marker in the list belongs to the current robot. + +## Blockly + +You can find the zone block in the **Movement** section. diff --git a/docs.robocon.uk/src/content/docs/tools/brainbox-crashed-fix.md b/docs.robocon.uk/src/content/docs/tools/brainbox-crashed-fix.md new file mode 100644 index 0000000..519e268 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tools/brainbox-crashed-fix.md @@ -0,0 +1,14 @@ +--- +title: If the Brainbox has crashed... +sidebar: + hidden: true +--- +## Symptoms +The BrainBox appears to power up, but I can't connect to the website and the blue LED lights but never starts flashing. + +## Solution +This can happen if erroneous code which does not start with `R = robot.Robot()` is uploaded to The BrainBox. If you think this may have happened, download [this file](/assets/main.py) and place it on a USB stick. Put the USB stick into The BrainBox and turn the robot on normally. Wait 5 minutes, if you do not at this point get the flashing blue light, please contact us! + +:::caution +Using this file will overwrite the current robot code. It will not touch any files you have stored in the editor. +::: \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/tools/collecting-images-and-raw-analysis.md b/docs.robocon.uk/src/content/docs/tools/collecting-images-and-raw-analysis.md new file mode 100644 index 0000000..c8b8fa6 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tools/collecting-images-and-raw-analysis.md @@ -0,0 +1,20 @@ +--- +title: Collecting Images and Raw Analysis +category: Tools +sidebar: + order: 8 +--- +Every time the robot takes a picture it is updated on the web interface, during development it is occasionally useful to be able to also keep a log of pictures that have been analysed to check the camera focus, motion blur etc. + +## Gathering Data + +1. Add a file with the name "collect_images.txt" to the USB stick to collect the images +2. Add a file with the name "log_markers.txt" to the USB stick to collect analysis of images +3. Insert the USB stick before turning the robot on +4. Remember to fully shut down the robot before removing the USB stick + +:::caution + +Collecting all images may slow down the processing time from your robot - Use with care! + +::: diff --git a/docs.robocon.uk/src/content/docs/tools/connecting.md b/docs.robocon.uk/src/content/docs/tools/connecting.md new file mode 100644 index 0000000..e50e40d --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tools/connecting.md @@ -0,0 +1,20 @@ +--- +title: Connecting +category: Tools +sidebar: + order: 1 +--- + +1. Turn on the robot by following the instructions [here](/tutorials/turning-everything-on). +2. Turn on your computer and wait until you reach the Windows desktop. +3. Click on the WiFi icon in the bottom right and connect to `RoboConYYYY-TeamXX` where `YYYY` is the competition year and `XX` is your team number. Your WiFi password should be on the bottom of your BrainBox, underneath its network name. +4. Navigate to in your web browser of choice (**Chrome** or **Firefox** is recommended). You should see an interface similar to this: + +![The Interface](/images/shepherd.png) + +From now on, this will be referred to as the **Shepherd Homepage**. + +## Next Steps + + - [Learn to use the editor](/tools/editor) right here in the browser! + - [Troubleshooting](/tools/troubleshooting) \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/tools/editor.md b/docs.robocon.uk/src/content/docs/tools/editor.md new file mode 100644 index 0000000..eeb5719 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tools/editor.md @@ -0,0 +1,67 @@ +--- +title: Using the Editor +category: Tools +sidebar: + order: 3 +--- +We recommend you use the code editor that's included with Shepherd to program your robot. You can either program in Python or use Blockly, a powerful Scratch-like programming tool. + +Assuming you've [connected to your robot](/tools/connecting), head to or click the orange +editor button on the Shepherd homepage. + +![Upload Button](/images/shepherd-editor.png) + +## The Editor Interface + +You should now see the editor interface. _(yours will look slightly different to this)_ + +![Annotated Editor Interface](/images/shepherd-editor-annotated.png) + +The **green sidebar** is the **projects panel**. This is where you can access or +export your existing projects, and create or import new ones. Clicking on a project in this list will open it in the +editor. + +* The **orange button** is the **import button**. This lets you load a saved project + into the editor. +* The **blue button** is the **create project button**. This is how you + [create a project](#creating-a-new-project). +* The **red button** is the **export button**. This allows you to save the project + to your computer as a backup. +* The **pink button** is the **delete project button**. This will allow you to + delete a project if you don't want it. There is no way to undo this action. + +The **yellow toolbar** is the **tab list**. This is where you can find all your open +projects. If your project has a **white circle** at the end of the tab, it means you have **unsaved** content. Projects are +auto-saved after you stop editing them or when you run your project, but you can also manually save by pressing the **CTRL** +and **S** keys simultaneously. + +The **teal sidebar** is the **logs panel**. This is where you can see the output +from your robot when you run your program. + +* The **dark green button** is the **run button**. Pressing this will prompt you to + save your project to your computer, just as a backup, and then run your code on the robot. +* The **dark red button** is the **stop button**. Pressing this will force the robot + to stop what it's doing, useful if your robot is out of control. + +The **main section** in the middle is the **editor**. This will be different depending on whether you're editing a Python or a +Blockly project. + +## Creating a new project + +Click on the **create project button** (marked in **blue** in the above screenshot). +The create project dialog will appear: + +![Create Project Interface](/images/shepherd-editor-create-project.png) + +Give your project a name, then select the type of project you would like. Choose either Python or Blockly. Then click the **create** button. + +Your new project will open in the editor. See the sections below for more information on [Python](#python-projects) and +[Blockly](#blockly-projects) projects. Once you've read these, why not start learning [how to program your robot](/programming/init-robot). + +## Python Projects + +Python projects provide a powerful development tool with syntax highlighting and code completion for the standard Python libraries and also the `robot` module. If you are interested, it uses the text editor that powers Visual Studio Code. + +## Blockly Projects + +Google's Blockly is a programming environment similar to Scratch that allows you to program your robot with blocks. You still have access to all the features of the robot so you are not disadvantaged if you decide to use this over Python. diff --git a/docs.robocon.uk/src/content/docs/tools/patching-the-robot.md b/docs.robocon.uk/src/content/docs/tools/patching-the-robot.md new file mode 100644 index 0000000..5a0e610 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tools/patching-the-robot.md @@ -0,0 +1,33 @@ +--- +title: Patching the Robot +category: Tools +sidebar: + order: 6 +--- +An important part of looking after your robot is making sure its software is up to date. Over time **RoboCon** may release patches that allow you to update your robot. Follow the steps below to bring your robot up to date. + +## Steps to Patch + +1. Download the patch from the email we sent, or our [blog](https://robocon.uk/blog), onto the computer you will be connecting your BrainBox to.  +2. [Turn on](/tutorials/turning-everything-on) and [connect](/tools/connecting) to your robot.  +3. Navigate to the editor by visiting  and clicking the orange button  +4. Click the upload button (indicated below).  + + ![](/images/upload-button.png) +5. Navigate to where you have saved the patch and click OK.  +6. Select the patch file in the left-hand panel. The patch will show on the code view as Base64 encoded data (random-looking text characters).  +7. Click the "Run" button (green arrow on the right-hand panel).  + + ![](/images/run-button.jpg) +8. After a few moments, your BrainBox should reboot, and the LED will either turn off or remain on. You will lose connection with it while it does this. **Do not turn off your BrainBox** - the LED may stay off for a couple minutes. +9. The BrainBox LED will eventually start flashing again to show it has rebooted successfully.  +10. If your PC has not automatically connected, connect to it using the WiFi. Once reconnected, refresh your browser and open a project from the left-hand side of the editor. Check that the patch version is correct in the right-hand panel.   +11. If you have any issues, please [contact us](mailto:robotics@hrsfc.ac.uk).  + +:::tip +Your robot will restart as part of the patching process, so you will lose connectivity with it for about half a minute. Your laptop should automatically reconnect to the robot when it turns back on. If you cannot connect to your robot, please [contact us](mailto:robotics@hrsfc.ac.uk). +::: + +### This patch's passphrase is: +Why are dragons good at music? +They know lots of scales \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/tools/running-code-from-a-usb.md b/docs.robocon.uk/src/content/docs/tools/running-code-from-a-usb.md new file mode 100644 index 0000000..2069f47 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tools/running-code-from-a-usb.md @@ -0,0 +1,94 @@ +--- +title: USB Tricks +category: Tools +sidebar: + order: 4 +--- + +![USB Stick](/images/usbstick.png) + +:::tip +The BrainBox only checks for the presence of USB sticks at boot - only plug and unplug USB sticks when the BrainBox is off (front panel blue light off). +::: + +:::caution +During the competition **RoboCon** requires unrestricted access to at least one USB port. If you are running a **red BrainBox**, only one USB port is available, and this must be unused during the competition. +If you have a **green BrainBox** and want to use a USB stick during the competition it must leave enough space around at least one port to insert our low profile arena stick. +::: + +## Running your code from a USB: + +When started, using the start button the robot will default to running the last piece of code written in the editor. In some cases at the competition it can be useful to be able to run code from a USB stick. + +1. Place a file called `main.py` or `code.zip` (which must include a file called `main.py`) in the root directory of the USB stick on another computer. +2. Turn on the robot using the red power button. +3. The file will be automatically copied from the USB stick +4. Press the black start button + +:::caution +Code copied from USB sticks is not [Linted](https://en.wikipedia.org/wiki/Lint_%28software%29), sufficiently broken code may crash not just the user code, but also the web interface preventing the robot from reaching "Blinky". See [troubleshooting](/tools/troubleshooting.html#troubleshooting) for details about what the LEDs mean. It is highly recommended for users to export working code from the editor to the USB stick rather than editing code directly. See [troubleshooting](/tools/troubleshooting.html#the-brainbox-appears-to-power-up-but-i-can-t-connect-to-the-website-and-the-blue-led-lights-but-never-starts-flashing) for how to recover a robot which does not boot to Blinky. + +::: + +## Getting Logs + +When running your robot code you can see the logs from the robot in the editor. Sometimes it's useful to be able to view the logs later to analyse what happened. + +:::caution +* Be careful when reusing USB sticks to avoid accidentally running code from the USB Stick! +::: + +1. Insert a USB stick in the robot before turning it on. +2. The log file will be automatically written to the USB stick as `logs.txt` +3. Remember to fully power down the robot before removing the USB stick + +:::tip +* Logs are collected whatever way the code is run, but only the most recent logs are preserved +* The log files are also collected during system shutdown leading to worrying messages like: +::: + +``` +Exception in thread Thread-2: +Traceback (most recent call last): + File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner + self.run() + File "/usr/lib/python2.7/threading.py", line 754, in run + self.\_\_target(\*self.\_\_args, \**self.__kwargs) + File "/root/.local/share/virtualenvs/shepherd2-rSdGMoSR/local/lib/python2.7/site + self.run() + File "/usr/lib/python2.7/threading.py", line 754, in run + self.\_\_target(\*self.\_\_args, \**self.__kwargs) + -packages/robot/wrapper.py", line 251, in wait_start_blink + self._internal.set_status_led(v) + File "/root/.local/share/virtualenvs/shepherd2-rSdGMoSR/local/lib/python2.7/site-packages/robot/greengiant.py", line 87, in set_status_led + self._bus.write_byte_data(_GG_I2C_ADDR, _GG_STATUS, int(on)) + File "/root/.local/share/virtualenvs/shepherd2-rSdGMoSR/local/lib/python2.7/site-packages/smbus2/smbus2.py", line 377, in write_byte_data + ioctl(self.fd, I2C_SMBUS, msg) +IOError: \[Errno 121] Remote I/O error +``` + + These can safely be ignored unless you also see them on the web interface. + +## Collecting images and raw analysis + +Every time the robot takes a picture it is updated on the web interface, during development it is occasionally useful to be able to also keep a log of pictures that have been analysed to check camera focus, motion blur etc. + +1. Add a file with the name "collect_images.txt" to the USB stick to collect the images +2. Add a file with the name "log_markers.txt" to the USB stick to collect analysis of images +3. Insert the stick before turning the robot on +4. Remember to fully shut down the robot before removing the USB stick + WARNING: Collecting all images may slow down the processing time from your robot - Use with care! + +## Updating your team image + +When the robot boots, it loads a default image which is displayed until the robot takes a picture, in the arena these images are displayed on an overhead projector. You can change the default image. + +1. Save your Image in jpeg format onto the Laptops in the very useful boxes provided +2. While connected to the BrainBox, navigate to robot.local on the web browser and go to the editor +3. Go to settings - in the top-right hand corner - and then upload your image. +4. Power off you robot +5. Reconnect your robot and go back to the editor, wait a few seconds and you should see your new logo! + +:::tip +We may ask that your image includes either a Team Name or your institution (e.g. Systemetric or Hills Road Sixth Form College) to assist the Marshalls, but if you have a iconic robot design then we may waive this rule +::: diff --git a/docs.robocon.uk/src/content/docs/tools/troubleshooting.md b/docs.robocon.uk/src/content/docs/tools/troubleshooting.md new file mode 100644 index 0000000..b383219 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tools/troubleshooting.md @@ -0,0 +1,66 @@ +--- +title: Troubleshooting +category: Tools +sidebar: + order: 5 +--- +Here are a few *common* issues you might have and some solutions to them. Student Robotics has a [similar section](https://studentrobotics.org/docs/troubleshooting/) on their website which is also relevant. + +## I've connected a battery and the power switch to the black connector but never get any lights on The BrainBox. + +Unless the battery is really very low the front led will blink very briefly when the switch is first pressed. If this happens you need to charge the battery. The BrainBox will not switch on at all when the voltage of the battery is very low. If the battery is freshly charged, it's possible that the switch has failed or become internally disconnected. For testing purposes, you can swap the power switch for a single piece of wire. NOTE: at the competition, you must have a red power switch to control your robot as per the rules. Finally - in exceptional circumstances the fuse in the cable may have failed, if this has happened then there must have been some terminal problem internal to the BrainBox - [contact us](mailto:robotics@hillsroad.ac.uk) for instructions. + +## The BrainBox appears to power up, but I can't connect to the website and the blue LED lights up but never starts flashing. + +This can happen if erroneous code which does not start with `R = robot.Robot()` is uploaded to The BrainBox. If you think this may have happened, download [this file](/assets/main.py) and place it on a USB stick. Put the USB stick into The BrainBox and turn the robot on normally. Wait 5 minutes, if you do not at this point get the flashing blue light, [contact us](mailto:robotics@hrsfc.ac.uk). + +:::caution +Using this file will overwrite the current robot code. It will not touch any other files you have stored in the editor. +::: + +## I've connected a battery and the power switch to the black connector but never get any lights on the Brainbox +If the battery is fresh, it's possible that the switch has failed or become internally disconnected. For testing purposes, you can swap the power switch for a single piece of wire. NOTE: at the competition, you must have a red power switch to control your robot as per the rules. Finally - in exceptional circumstances the fuse in the cable may have failed, if this has happened then there must have been some terminal problem internal to the BrainBox - [contact us](mailto:robotics@hrsfc.ac.uk) for instructions. + +## The BrainBox appears to power up, the blue LED light flashes but I cannot connect to it using the WiFi. + +We apologise for the poor choice of font, zeroes and capital-o's can be confused as can capital-i's and number ones. Try swapping these. If this does not help, or the status LEDs stop behaving as expected, try restarting your brain. If the issue persists, [contact us](mailto:robotics@hrsfc.ac.uk) for further advice. + +## The BrainBox appears to power up, I can connect to it with WiFi, but am unable to reach the web interface. + +Some modern browsers default to a web search if they do not understand the web address. Try putting `http://` in front of the address, e.g. `http://robot.local` instead of `robot.local`. If this does not help, or the status LEDs stop behaving as expected, try restarting your brain. If the issue persists, [contact us](mailto:robotics@hrsfc.ac.uk) for further advice. + +## I've connected to the web interface and can run code, but my motors never turn on. + +The BrainBox will automatically cut power to the 12V socket and the motor outputs if it detects a current surge exceeding 20A. When this happens, the centre LED ("Error/Wait") next to where the battery LEDS are will flash red. First disconnect the motors and power cycle the BrainBox to see if this resolves the problem. If it does, then your motors are probably too large. + +It is possible to enable/disable this power output from software. When the output is disabled, there will be no light at all visible through this hole. If you can see no light through the hole when the robot is running code check that you have not disabled the motor output by uploading a [simple file](/assets/simple.py) and running it. + +## I'm trying to read an analog value from GPIOs, but I'm getting strange values. + +Check you're actually reading the pin you're trying to read. `R.gpio[0]` is Pin 0, `R.gpio[3]` is Pin 3, etc. If everything's connected correctly, try setting the other pins to output and writing `False` to them. + +## R.see() doesn't seem to work. + +When you call R.see() the camera preview in the top right should show you what the camera can see. If this image is consistently blurred, incorrect looking, or not loading, try placing some markers in front of the camera and try: +```py +print(R.see()) +``` +If this prints out the markers you placed in front of the robot in the debug console, the issue is most likely just with the editor's camera preview. [Contact us](mailto:robotics@hrsfc.ac.uk) if the issue persists, but this shouldn't prevent your robot from running the code. +However, if the robot cannot find markers, then the camera itself is most likely having problems. Contact us about changing the focus of the camera. Note that the robot being in motion may add blur to the images taken, and prevent the marker detection system from functioning. + +:::note +Calling `R.see()` at a high rate (with a sleep of less than 2 seconds between each call, or no sleep at all) may result in issues with the camera preview such as frames being dropped or blurred. Try slowing down your loop to see if this helps with the issue. +::: + +## Can you post a kit to or from Hills Road + +We can post kits from Hills Road however you will need to cover the costs of shipping. To return kits, see [Kit List of Parts](/hardware/kit-list-of-parts). + +## What is the patch and how do I install it? + +The patch is an update which improve your BrainBox, by adding more docs, more blocks to blocky, faster boot times and more! To patch your robot please follow the instructions [here](/tools/patching-the-robot). + +## Why is the time wrong + +The Raspberry Pi does not keep time when it is off and so has no way of knowing how much time has passed since it was turned off. This should not affect your code. + diff --git a/docs.robocon.uk/src/content/docs/tools/uploading.md b/docs.robocon.uk/src/content/docs/tools/uploading.md new file mode 100644 index 0000000..6ca1da8 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tools/uploading.md @@ -0,0 +1,62 @@ +--- +title: Uploading and Running Code +category: Tools +sidebar: + order: 7 +--- +:::caution[Deprecated] +The methods outlined here have been deprecated infavour of [the editor](/tools/editor). The documentation here remains for development purposes only. +::: + +If you've written code outside of the editor environment, you'll want to upload and run it on your robot. You can use the steps below to do this, +but we **strongly** recommend [using the editor](/tools/editor). + +:::tip[Alternative method] +You can create a new file in the editor, and copy your code into that. +::: + +## Upload + +:::note +Easy access to the upload page has been removed in favour of the editor. The instructions here remain for the purpose of developemental use. If you are looking to run code please see instructions for the editor +::: + +Assuming you've [connected to your robot](/tools/connecting), head to `http://robot.go/upload` + +You should now see the upload interface. + +![Upload Interface](/images/upload.png) + +Click on the **Choose file** button and select either: +- A single Python 3 source file +- A zip file containing one or more Python 2 source files. The file must contain a file named `main.py` in the root of +the archive. This should be the entry point for the program. + +Now click the **Upload** button to upload the selected file. + +:::caution +Uploading code will stop the robot if it is currently running. +::: + +## Run + +If you're on the **Upload** page, click the **run it from this page** link. Otherwise, you can access the run page at +`http://robot.go/run` or by clicking the green run button on the Shepherd homepage (note upload button has been removed to simplify the UI). + +![Run Button](/images/shepherd-run.png) + +You should now see the run interface. + +![Run Interface](/images/run.png) + +Choose the zone you'd like the robot to think it's in and then choose the mode. **Development** mode has no round timer +meaning your code can run for as long as you need it to. **Competition** mode stops your code after 3 minutes, like it +would in the arena. + +:::caution +Before you run your robot, make sure it's on the floor and NOT on a table! +::: + +When you're ready, press the big **Start** button. + +You'll now be able to see what the robot sees and the output of your program below. diff --git a/docs.robocon.uk/src/content/docs/tutorials/hello-challenges.md b/docs.robocon.uk/src/content/docs/tutorials/hello-challenges.md new file mode 100644 index 0000000..ab14c3c --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tutorials/hello-challenges.md @@ -0,0 +1,22 @@ +--- +title: Hello Challenges +category: Tutorials +sidebar: + order: 7 +--- +The following are challenges for you to attempt and might give you a some help for the competition... + +1. Create a program that turns a LED on when a button is pressed. +2. Create a program that makes the robot move a given distance. +3. Create a program that makes a robot turn towards the first marker it sees. +4. Create a program that makes the robot move towards the first marker it sees. + +## More challenges + +At the launch, we gave teams a PDF of challenges to complete. [You can find a +copy of that here](/assets/challenges.pdf). +Note that quite a few of these require input from the red shirts, so you may have to adapt them to suit what you have available! + +## Next Steps + +You are now familiar with the RoboCon kit! We recomend that you now start thinking about your strategy for how you will win. Design your robot in little steps, and test along the way - getting a prototype up and rolling is the best way to ensure your robot will be achieving your goals by the time the competition rolls around! So best of luck, and don't delay - you've got some engineering to do... diff --git a/docs.robocon.uk/src/content/docs/tutorials/hello-gpio.md b/docs.robocon.uk/src/content/docs/tutorials/hello-gpio.md new file mode 100644 index 0000000..aeb6a85 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tutorials/hello-gpio.md @@ -0,0 +1,92 @@ +--- +title: Hello GPIO +category: Tutorials +sidebar: + order: 5 +--- +GPIO, or General Purpose Input Output, is the main way you'll interface with simple or obscure bits of hardware. This tutorial will introduce the GPIO system and how to use it. + +## GPIO Pins + +On the side of your BrainBox, there are 4 regular pins and a "+5V" and "-" pin. The top of the BrainBox labels which pin corresponds to which number. Different devices need to be plugged into different pins. + +## LED Output + +:::tip +GPIO outputs are already protected by a 1k Ohm current limiting resistor, you can connect LEDs directly! +::: + +If you want to put an LED on your robot, for testing or just for looks, you'll need to plug the short leg of the LED into the `-` (ground) pin, and the long leg of the LED into any regular pin (such as 1). Then, use the following code to set up the pin in `OUTPUT` mode and turn the LED on: + +```python +import robot +R = robot.Robot() + +# If you're not using GPIO pin 1, change this number to whatever pin you're using. +R.gpio[0].mode = robot.OUTPUT +R.gpio[0].digital = True +``` + +Try using a loop to make the light turn on and off every 2 seconds. You'll need the time library from the motors exercise. + +## Buttons + +While your robot hopefully won't be colliding with much, buttons are a good way for a robot to know if it's driven into something. Buttons should be plugged into the - pin and a regular pin (such as 0). Using the `INPUT_PULLUP` mode, you can detect when a button is pressed. + +```python +import robot +import time +R = robot.Robot() + +# If you're not using GPIO pin 0, change this number to whatever pin you're using. +R.gpio[0].mode = robot.INPUT_PULLUP + +while True: + if not R.gpio[0].digital: + print("Pressed") + else: + print("Not Pressed") + time.sleep(0.1) +``` + +Note that `INPUT_PULLUP` returns inverted values - `True` when it isn't pressed and `False` when it is. This means we use `not` to invert the output we get back to something more sensible for our use. + +Try making a light turn on or off depending on if a button is pressed. An explanation of why it is needed to use `INPUT_PULLUP` can be found in the [GPIO documentation](/programming/gpio/#pull-ups). + +## Potentiometers + +Another form of input is a potentiometer or a variable resistor. Potentiometers should be plugged into the +5V, a regular pin (such as 3) and the - pin. Using `INPUT_ANALOG` mode, you can read the voltage output of the resistor (between 0V and 5V). + +```python +import robot + +R = robot.Robot() + +POT_PIN = 3 + +R.gpio[POT_PIN].mode = robot.INPUT_ANALOG + +while True: + print(R.gpio[POT_PIN].analog) +``` + +## Using sensors with retroreflective tape + +You can also use retroreflective sensors with your robot's GPIO. This can be configured in the code as follows: + +```python +import robot +import time + +R = robot.Robot() + +R.gpio[0].mode = robot.INPUT + +while True: + if not R.gpio[0].digital: + print("Reflecting!") + time.sleep(1) +``` + +This is a piece of code, that when run, should detect things very close to the sensor, or reflective objects further away (such as the retroreflective tape in the arena). +Note that the detector also returns `False` when it detects something, so `not` is used. Retroreflective tape is used in the arena to mark the borders of each quadrant. Using a sensor like this facing downwards can allow your robot to detect when it passes into a new quadrant. This could be used for a whole variety of helpful tasks when navigating the arena. We look forward to seeing your creativity! \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/tutorials/hello-motors.md b/docs.robocon.uk/src/content/docs/tutorials/hello-motors.md new file mode 100644 index 0000000..6ebc281 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tutorials/hello-motors.md @@ -0,0 +1,92 @@ +--- +title: Hello Motors +category: Tutorials +sidebar: + order: 4 +--- +Your robot is unlikely to score many points if it doesn't go anywhere. This tutorial will show you how to access and turn the motors on your robot. + +## Getting Ready +First things first, make sure that your robot is not about to drive off a table. Even if you're planning on turning on the spot, it's best to put your robot on the floor in case it does something unexpected. + +Next, you'll need to initialise the robot. For this exercise, you'll also need the "time" Python library - remember that we used this last chapter to help our camera code along. +```python +import time +import robot +R = robot.Robot() +``` + +## Driving Around + +:::tip +Motor power is automatically scaled for the 3-6V motors included in the kit, if you are sourcing your own motors then see [the motors reference](/programming/motors) for how to allow faster speeds. +::: + +Now that everything is set up, it's time to set the motors. All the motors are stored in a list inside the Robot variable - to access the first motor, you can use `R.motors[0]`, the second motor is found with `R.motors[1]`. + +Changing the speed of the motor is easy - just set the motor to a number from -100 to 100. Immediately setting the power to 100 can have unwanted side effects, so we'll start by setting them to half power: +```python +import time +import robot +R = robot.Robot() + +R.motors[0] = 50 +R.motors[1] = 50 +``` +Running this program will either make you move forwards or make your robot turn on the spot, depending on how you have set up the motors. If your motor is spinning, try setting one of the motors to the negative value, spinning it in the other direction, and swap which one is negative until your robot drives forwards in a way you are happy with. + +The issue with this code is that unfortunately, it will never tell it to stop moving forwards, so hopefully you put it on the floor and it hasn't driven off the table.
+To fix this we can set the power of the motors to 0 after a couple of seconds: +```python +import time +import robot +R = robot.Robot() + +R.motors[0] = 50 +R.motors[1] = 50 + +time.sleep(2) + +R.motors[0] = 0 +R.motors[1] = 0 +``` +This is where `sleep()` becomes handy. It pauses the execution of your code with the motors still at 50, and so they stay running until we stop them after the `sleep()` call ends. + +To turn the robot, you just need to set one motor going forwards and the second motor going backwards. The following program makes the robot do a little dance - try it out! (Note that if your robot had inverted motors from earlier, you may have differing results) +```python +import time +import robot +R = robot.Robot() + +speed = 50 + +R.motors[0] = speed +R.motors[1] = speed + +time.sleep(2) + +R.motors[0] = speed +R.motors[1] = -speed + +time.sleep(2) + +R.motors[0] = -speed +R.motors[1] = -speed + +time.sleep(2) + +R.motors[0] = -speed +R.motors[1] = speed + +time.sleep(2) + +R.motors[0] = 0 +R.motors[1] = 0 +``` +A final note, even if you set both motors the same power, your robot probably won't drive in a perfectly straight line. This is due to defects in the motors, and unless you get specialised motors, no two motors will have the same offset. How your robot deals with this is up to you! + +## Troubleshooting and Further Reading +[Connecting to the robot](/tools/connecting)
+[Uploading and running code](/tools/uploading)
+[Using the editor](/tools/editor)
+[Motors](/programming/motors) diff --git a/docs.robocon.uk/src/content/docs/tutorials/hello-servos.md b/docs.robocon.uk/src/content/docs/tutorials/hello-servos.md new file mode 100644 index 0000000..ed731cb --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tutorials/hello-servos.md @@ -0,0 +1,28 @@ +--- +title: Hello Servos +category: Tutorials +sidebar: + order: 6 +--- +Servos are a type of motor with internal feedback they can move to a set position. The type of servo you will come across most frequently have a set range of motion, but with precise position control you can do a whole manner of actions within the mechanics of your robot! Servo motors (or anything else you connect to the servo ports of your BrainBox) are controlled by accessing `R.servos[]`, similar to how motors are accessed. + +```python +import robot +import time + +R = robot.Robot() +R.servos[0].mode = robot.PWM_SERVO + +R.servos[0] = 50 + +time.sleep(1) +``` + +However, where the value of a motor determines the *speed* it turns, the value of a servo controls the *position* it is at on its rotation, with a range of -100 to 100. Try it out on your robot to see which values correspond to each position! + +Servos take a moment to move into their new positions, so it's a good idea to add a delay after setting positions (use `time.sleep`) if it might affect your robot later. + +:::tip +When your robot is turned off, the brain will automatically set all of its servos to the 0 position. Make sure you factor this in when you run your robots! +::: + diff --git a/docs.robocon.uk/src/content/docs/tutorials/hello-vision.md b/docs.robocon.uk/src/content/docs/tutorials/hello-vision.md new file mode 100644 index 0000000..ee151a1 --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tutorials/hello-vision.md @@ -0,0 +1,70 @@ +--- +title: Hello Vision +category: Tutorials +sidebar: + order: 3 +--- +Your robot can use its camera to see markers to identify tokens and walls. This tutorial will help you make a program that makes the robot output the number of cubes it can see. + +## Initialising the Robot + +Create a new script called "VisionTest". + +Unlike in the previous tutorial, [Hello World](/tutorials/hello-world), the use of the first couple lines of code is important here. So let's break them down: + +```python +import robot +R = robot.Robot() +``` + +This creates a "Robot" object, and places it inside the variable "R". This allows us to use robot functions through the R variable, such as `R.See()`. If you are using Blockly, the robot is initialised automatically. + +[Here](https://www.makeuseof.com/tag/object-oriented-programming-explained/) is a basic introduction into what Object Oriented Programming is. + +## Counting Markers + +To make the robot "see" what is in front of it we have to call the function `R.see()` and assign the result to a variable. This will set that variable to a list of every marker the robot can see: + +```python +markers = R.see() +``` + +Every item in the list contains information about the type of the marker, the distance/angle to the marker, and more! For now all we want to do is to find the number of markers the robot can see, so we just need to print the length of the list: + +```python +print(len(markers)) +# len gets the length of something, +# in this case a list of all the markers we can see +``` + +If we run this code as it is, it will output the number of markers it can see once and then stop. To make it continue looking we need to put it in a `while True` loop, so it will repeat our program forever (or until we turn it off). + +The complete code is as follows: + +```python +import robot +import time +R = robot.Robot() + +while True: + markers = R.see() + print(len(markers)) + time.sleep(2) +``` + +You'll notice some new lines we snuck in there - an `import time` and a `time.sleep(2)`. The first of these adds another toolset to our code, the `time` library. This most notably adds the sleep function we used just now, which pauses the code's execution for the number of seconds specified - in this case two. + +:::tip +The camera takes a moment to process the images it takes. While you can run it without any delay in the loop, this can lead to some buggy behaviour, and will act more like running every 0.6 or so seconds. In general, adding a `sleep()` gives you more control over what your robot is doing. +::: + +## Running the code + +Place a few markers infront of the camera on the robot about 10-20cm away and run the code. In the logs the number of markers visible will be outputted, and in addition to the logs, the raw images taken by the camera can be seen, which can be useful for working out if something is blocking the camera. + +## Troubleshooting and Further Reading + +[Connecting to the robot](/tools/connecting)
+[Initalising the robot](/programming/init-robot)
+[Using the editor](/tools/editor)
+[Vision Code](/programming/vision) \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/tutorials/hello-world.md b/docs.robocon.uk/src/content/docs/tutorials/hello-world.md new file mode 100644 index 0000000..0a8e15b --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tutorials/hello-world.md @@ -0,0 +1,62 @@ +--- +title: Hello World +category: Tutorials +sidebar: + order: 2 +--- +Welcome to the RoboCon tutorials!
+Following each of the tasks in this category will start you on your way to getting your robot doing stuff. + +Ready? Let's go! + +> These tutorials will always assume that you have connected to the robot, started on the homepage and completed the previous tutorials. To find out how to connect to your robot click [here](/tools/connecting) + +# Creating your first program + +As this is the first program that your robot will run we'll make it as simple and clichéd as it can get:
+We're going to make the robot write "Hello World!" into the output logs! + +## Create a new file + +![Run Button](/images/shepherd-editor.png) + +1. On the main page click the "Editor" button. +2. On the tabs click new file and name it something (e.g. "HelloWorld") + +## Writing the Code + +There are two ways to go about writing code for the robot:
+ +1. Python - The main language used to program robots with the BrainBox.
+2. Blockly - A Scratch-like language that allows you to write programs connecting blocks. This will automatically produce a python script that can be run in the robot. + +Both can be used to program a winning robot for the competition and it is up to you which one you develop your robot with. However for the following tutorials, Python will be used. + +Details on both these methods can be found in the programming section of the documentation. + +If you are running into problems using the editor, more details can be found [here](/tools/editor). + +In the editor window write: + +```python +import robot + +R = robot.Robot() + +print("Hello World!") +``` +You don't need to know much about what the first couple lines do - they are covered in later chapters, and do setup for the robot to be able to run. The important bit for you to understand is the last bit - the `print()` statement. + +## Running the code + +Click on the green run button in the top right corner: + +![Run Button](/images/editor-robot-run.png) + +The logs should then appear with a friendly "Hello World!" + +## Troubleshooting and Further Reading + +[Connecting to the robot](/tools/connecting)
+[Uploading and running code](/tools/uploading)
+[Using the editor](/tools/editor) \ No newline at end of file diff --git a/docs.robocon.uk/src/content/docs/tutorials/turning-everything-on.md b/docs.robocon.uk/src/content/docs/tutorials/turning-everything-on.md new file mode 100644 index 0000000..6fff5cf --- /dev/null +++ b/docs.robocon.uk/src/content/docs/tutorials/turning-everything-on.md @@ -0,0 +1,19 @@ +--- +title: Turning everything on +category: Tutorials +sidebar: + order: 1 +--- +The BrainBox is the core of the kit which we provide. In it is all of the electronics and software you need to power a robot. Lets start by turning it on. Take a battery from the kit and plug the **yellow end** into the corresponding port on the brain box (Labelled "Battery"), ensuring that it is the right way round. Then take a red "power button" and connect that to the **black** connector along the top of the BrainBox. Using the green ended button provided will not work, as this button is momentary and will not maintain power to the BrainBox. + +![Diagram showing the pinout of the top of the BrainBox](/images/BrainBox%20power%20input%20side%20profile%20labelled.png) + +Pressing the start button will cause the blue status LED on the front of the BrainBox to turn on. When the light starts flashing your BrainBox is ready to run code. You can now turn on your tablet by pressing the power button on the left-hand side and [connect to your robot](/tools/connecting). The status LED will go solid while code is running. + +# How to turn everything off + +When you are done for the day, press the power button, the status LED will flash rapidly. When this has turned off you may unplug the battery. + +:::caution +Unplugging the battery before the status LED turns off will cause the Pi to lose power before it has finished shutting down which could permanently damage its SD card. **Always** wait till all the lights turn off before unplugging power. +::: diff --git a/docs.robocon.uk/src/env.d.ts b/docs.robocon.uk/src/env.d.ts new file mode 100644 index 0000000..acef35f --- /dev/null +++ b/docs.robocon.uk/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/docs.robocon.uk/src/styling.css b/docs.robocon.uk/src/styling.css new file mode 100644 index 0000000..91ff656 --- /dev/null +++ b/docs.robocon.uk/src/styling.css @@ -0,0 +1,11 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +a { + font-family: 'Space Mono', monospace; +} + +h1 { + font-family: 'Rubik Mono One' , sans-serif; +} \ No newline at end of file diff --git a/docs.robocon.uk/tailwind.config.mjs b/docs.robocon.uk/tailwind.config.mjs new file mode 100644 index 0000000..a61cb97 --- /dev/null +++ b/docs.robocon.uk/tailwind.config.mjs @@ -0,0 +1,20 @@ +import starlightPlugin from '@astrojs/starlight-tailwind'; + +// Generated color palettes +const accent = { 200: '#feb3a6', 600: '#c90e00', 900: '#640300', 950: '#460b05' }; +const gray = { 100: '#f9f5f5', 200: '#f3ecea', 300: '#c8c0be', 400: '#978784', 500: '#635451', 700: '#423432', 800: '#302321', 900: '#1d1715' }; + +/** @type {import('tailwindcss').Config} */ +export default { + content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'], + theme: { + extend: { + colors: { accent, gray }, + fontFamily : { + mono: ['Space Mono', 'monospace'], + sans: ['Lexend', 'sans-serif'], + } + }, + }, + plugins: [starlightPlugin()], +}; \ No newline at end of file diff --git a/docs.robocon.uk/tsconfig.json b/docs.robocon.uk/tsconfig.json new file mode 100644 index 0000000..fbc2f5f --- /dev/null +++ b/docs.robocon.uk/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "astro/tsconfigs/strictest" +} diff --git a/favicon.xcf b/favicon.xcf deleted file mode 100644 index 9637871..0000000 Binary files a/favicon.xcf and /dev/null differ diff --git a/flake.lock b/flake.lock index c853bc9..fa562b2 100644 --- a/flake.lock +++ b/flake.lock @@ -1,27 +1,89 @@ { "nodes": { - "flake-utils": { + "fenix": { + "inputs": { + "nixpkgs": "nixpkgs", + "rust-analyzer-src": "rust-analyzer-src" + }, "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "lastModified": 1777190237, + "narHash": "sha256-XbNSZv/fi6U8r8r8J/rljY91wf2jxyM6AwNLBeeM5SA=", + "owner": "nix-community", + "repo": "fenix", + "rev": "82fcabb6d9819f34170877fb1848b92e9350ec57", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "fenix_2": { + "inputs": { + "nixpkgs": [ + "naersk", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src_2" + }, + "locked": { + "lastModified": 1752475459, + "narHash": "sha256-z6QEu4ZFuHiqdOPbYss4/Q8B0BFhacR8ts6jO/F/aOU=", + "owner": "nix-community", + "repo": "fenix", + "rev": "bf0d6f70f4c9a9cf8845f992105652173f4b617f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "naersk": { + "inputs": { + "fenix": "fenix_2", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1777031541, + "narHash": "sha256-KZ4s1kolHXFQrRGlnB503gDcTrVQMhiczO+LvvwKEPg=", + "owner": "nix-community", + "repo": "naersk", + "rev": "5e73301621274c44798bf6c6211ed27fc2ced201", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "master", + "repo": "naersk", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1666688649, - "narHash": "sha256-i1Tq2VgXbEZKgjM2p2OqZdxcnK4FZjRZ9Oy4Ewx8gjA=", + "lastModified": 1776877367, + "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1752077645, + "narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "03a00f66fc4e893dccba1579df6d0c83852e1c2c", + "rev": "be9e214982e20b8310878ac2baa063a961c1bdf6", "type": "github" }, "original": { @@ -31,28 +93,95 @@ "type": "github" } }, - "nixpkgs-19": { - "flake": false, + "nixpkgs_3": { "locked": { - "lastModified": 1558254092, - "narHash": "sha256-5v6XuO9dOVpB3ZGNyDvLqOvCnzlyyvscTYbNiQouSZo=", + "lastModified": 1776949667, + "narHash": "sha256-GMSVw35Q+294GlrTUKlx087E31z7KurReQ1YHSKp5iw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a7e559a5504572008567383c3dc8e142fa7a8633", + "rev": "01fbdeef22b76df85ea168fbfe1bfd9e63681b30", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-18.09", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "root": { "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "nixpkgs-19": "nixpkgs-19" + "fenix": "fenix", + "naersk": "naersk", + "nixpkgs": "nixpkgs_3", + "utils": "utils" + } + }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1776800521, + "narHash": "sha256-f8YJfwAOsLFpIoqZuX3yF69UvMLrkx7iVzMH1pJU7cM=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "8954b66d43225e62c92e8bbcc8500191b5cceb1e", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "rust-analyzer-src_2": { + "flake": false, + "locked": { + "lastModified": 1752428706, + "narHash": "sha256-EJcdxw3aXfP8Ex1Nm3s0awyH9egQvB2Gu+QEnJn2Sfg=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "591e3b7624be97e4443ea7b5542c191311aa141d", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 7261a10..82c1b24 100644 --- a/flake.nix +++ b/flake.nix @@ -1,20 +1,110 @@ { - description = "A basic flake with a shell"; - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - inputs.nixpkgs-19 = { - url = "github:NixOS/nixpkgs/nixos-18.09"; - flake = false; + inputs = { + naersk.url = "github:nix-community/naersk/master"; + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + utils.url = "github:numtide/flake-utils"; + fenix.url = "github:nix-community/fenix"; }; - inputs.flake-utils.url = "github:numtide/flake-utils"; - - outputs = { self, nixpkgs, flake-utils, nixpkgs-19 }: - flake-utils.lib.eachDefaultSystem (system: let - pkgs = nixpkgs.legacyPackages.${system}; - pkgs-19 = import nixpkgs-19 {inherit system;}; - in { - devShells.default = pkgs.mkShell { - nativeBuildInputs = with pkgs-19; [python2 nodejs-8_x]; - buildInputs = [ ]; - }; - }); + + outputs = + { + self, + nixpkgs, + utils, + naersk, + fenix, + }: + utils.lib.eachDefaultSystem ( + system: + let + pkgs = import nixpkgs { inherit system; }; + naersk' = pkgs.callPackage naersk { }; + in + { + packages = { + default = naersk'.buildPackage { + name = "shepherd"; + src = ./.; + }; + + cross-x86_64 = + let + rustToolchain = + with fenix.packages.${system}; + combine [ + minimal.cargo + minimal.rustc + targets.x86_64-unknown-linux-musl.latest.rust-std + ]; + in + (naersk.lib.${system}.override { + cargo = rustToolchain; + rustc = rustToolchain; + }).buildPackage + { + name = "shepherd"; + src = ./.; + + CARGO_BUILD_TARGET = "x86_64-unknown-linux-musl"; + CARGO_TARGET_x86_64_UNKNOWN_LINUX_MUSL_LINKER = + let + inherit (pkgs.pkgsCross.gnu64.pkgsStatic.stdenv) cc; + in + "${cc}/bin/${cc.targetPrefix}cc"; + + CC_x86_64_unknown_linux_musl = + let + cc = pkgs.pkgsCross.gnu64.pkgsStatic.stdenv.cc; + in + "${cc}/bin/${cc.targetPrefix}cc"; + }; + + cross-aarch64 = + let + rustToolchain = + with fenix.packages.${system}; + combine [ + minimal.cargo + minimal.rustc + targets.aarch64-unknown-linux-musl.latest.rust-std + ]; + in + (naersk.lib.${system}.override { + cargo = rustToolchain; + rustc = rustToolchain; + }).buildPackage + { + name = "shepherd"; + src = ./.; + + CARGO_BUILD_TARGET = "aarch64-unknown-linux-musl"; + CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER = + let + inherit (pkgs.pkgsCross.aarch64-multiplatform.pkgsStatic.stdenv) cc; + in + "${cc}/bin/${cc.targetPrefix}cc"; + + CC_aarch64_unknown_linux_musl = + let + cc = pkgs.pkgsCross.aarch64-multiplatform.pkgsStatic.stdenv.cc; + in + "${cc}/bin/${cc.targetPrefix}cc"; + }; + }; + + devShells.default = + with pkgs; + mkShell { + buildInputs = [ + cargo + rustc + rustfmt + pre-commit + rustPackages.clippy + rust-analyzer + ]; + RUST_SRC_PATH = rustPlatform.rustLibSrc; + }; + } + ); } diff --git a/helper.py b/helper.py deleted file mode 100755 index 9272fe0..0000000 --- a/helper.py +++ /dev/null @@ -1,186 +0,0 @@ -#!/usr/bin/env python3 -import sys - -major_version, minor_version, micro_version, *_ = sys.version_info - -if not (major_version == 3 and 7 <= minor_version <= 9): - raise Error("Bad python version need a version between 3.7-3.9") - -import asyncio -import aionotify -from websockets.server import serve -import websockets -import time -import base64 -import os -from io import BytesIO -from PIL import Image - -from hopper.client import * -from hopper.common import * - -PIPE_DIRECTORY = "/home/pi/pipes" - -HOPPER_CLIENT = HopperClient() -LOG_PIPE_NAME = PipeName((PipeType.RECEIVING, "log", "helper"), PIPE_DIRECTORY) -HOPPER_CLIENT.open_pipe(LOG_PIPE_NAME, delete=True, create=True) - -CONNECTIONS = set() - -# The following sets up the asynchronous waiting for file change -picture_watcher = aionotify.Watcher() - -img_static_path = "/home/pi/shepherd/shepherd/static/" -img_input_file = img_static_path + "image.jpg" -img_output_file = img_static_path + "resized_image.jpg" -stat_file = img_static_path + "imgtime.txt" -mod_time = 0 -out_width = 640.0 -out_height = 480.0 - -log_static_path = "/media/RobotUSB/" -log_input_file = log_static_path + "logs.txt" - -log_buffer = [] -ERASE_ESCAPE_SEQUENCE = "\033[2J" - -file_open_attempts = 10 -wait_between_attempts = 0.1 - -picture_watcher.watch( - alias="image", path=img_input_file, flags=aionotify.Flags.CLOSE_WRITE -) # sets up watcher - - - - -def shrink_image(img): - width_i, height_i = img.size - width = float(width_i) - height = float(height_i) - scale_x = out_width / width - scale_y = out_height / height - if scale_x > scale_y: - img = img.resize((int(width * scale_y), int(height * scale_y)), Image.LANCZOS) # replacement for Image.ANTIALIAS - else: - img = img.resize((int(width * scale_x), int(height * scale_x)), Image.LANCZOS) # replacement for Image.ANTIALIAS - return img - - -def im_2_b64(image): - buff = BytesIO() - image.save(buff, format="JPEG") - img_str = base64.b64encode(buff.getvalue()) - return img_str - - -async def wait_for_picture_change(): - loop = asyncio.get_event_loop() - - bypass = False # so first image is not ignored. - while not os.path.exists(img_input_file): - await asyncio.sleep(0.5) # wait until image.jpg does exist - if not bypass: - bypass = True - await picture_watcher.setup(loop) - print("Image change watcher is running.") - - while True: # for all events - if not bypass: - event = await picture_watcher.get_event() # blocks until file changed - else: - bypass = False # reset bypass - - for c in range(file_open_attempts): - #await asyncio.sleep(wait_between_attempts) # give it time to write the file. - try: # this runs until the bot has finished writing the image - img = Image.open(img_input_file) - img.load() - print("Opened successfully") - break - except: - print("Error opening file: attempt \#" + str(c)) - await asyncio.sleep(wait_between_attempts) # give it time to write the file. - - if c >= (file_open_attempts - 1): - print("Cannot open image (failed "+str(c)+" times)") - continue # error with this file, go back and wait for next change. - - img = shrink_image(img) - # converts image to a base64 which can be sent as a long string to the browser. - img_b64 = im_2_b64(img).decode() - websockets.broadcast( - CONNECTIONS, "[CAMERA]" + img_b64 - ) # sends image to all connected browsers. - print("Image broadcast.") - - # politely stops watching file system. - picture_watcher.close() - loop.stop() - loop.close() - - -async def wait_for_log_change(): - loop = asyncio.get_event_loop() - - websockets.broadcast(CONNECTIONS, ERASE_ESCAPE_SEQUENCE + "\n") - - while True: - d = HOPPER_CLIENT.read(LOG_PIPE_NAME) - - if d is not None: - ds = d.decode("utf-8") - if ERASE_ESCAPE_SEQUENCE in ds: - log_buffer.clear() - websockets.broadcast(CONNECTIONS, ERASE_ESCAPE_SEQUENCE + "\n") - print("Received erase sequence") - else: - websockets.broadcast(CONNECTIONS, "[LOGS]" + ds) - log_buffer.append("[LOGS]" + ds) - print("[LOGS]" + ds, end="") - - await asyncio.sleep(0.1) - - loop.stop() - loop.close() - - -async def register(websocket): # Runs every time someone connects - CONNECTIONS.add(websocket) - print("Someone has connected to the websocket.") - - for c in range(file_open_attempts): - time.sleep(wait_between_attempts) # give it time to write the file. - try: # this runs until the bot has finished writing the image - img = Image.open(img_input_file) - img.load() - print("Opened successfully") - break - except: - print("Error opening file: attempt #" + str(c)) - bypass = False - if c > (file_open_attempts - 1): - bypass = True # error with this file, go back and wait for next change. - if not bypass: - img = shrink_image(img) - img_b64 = im_2_b64(img).decode() - await websocket.send("[CAMERA]" + img_b64) - - # Send previous logs - for l in log_buffer: - await websocket.send(l) - - try: - await websocket.wait_closed() - finally: - CONNECTIONS.remove(websocket) - - -async def main(): - async with serve(register, "0.0.0.0", 5001): - await asyncio.gather( - wait_for_picture_change(), wait_for_log_change() - ) # runs the file change checker and webserver at the same time. - -asyncio.run(main()) -print("Goodbye.") diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index 40dd4f1..0000000 --- a/poetry.lock +++ /dev/null @@ -1,1309 +0,0 @@ -[[package]] -name = "attrs" -version = "21.2.0" -description = "Classes Without Boilerplate" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.extras] -dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"] -docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"] -tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"] - -[[package]] -name = "automat" -version = "20.2.0" -description = "Self-service finite-state machines for the programmer on the go." -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -attrs = ">=19.2.0" -six = "*" - -[package.extras] -visualize = ["graphviz (>0.5.1)", "Twisted (>=16.1.1)"] - -[[package]] -name = "cffi" -version = "1.15.0" -description = "Foreign Function Interface for Python calling C code." -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -pycparser = "*" - -[[package]] -name = "click" -version = "7.1.2" -description = "Composable command line interface toolkit" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "colorama" -version = "0.4.4" -description = "Cross-platform colored terminal text." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "constantly" -version = "15.1.0" -description = "Symbolic constants in Python" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "cryptography" -version = "35.0.0" -description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -cffi = ">=1.12" - -[package.extras] -docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"] -docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"] -pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"] -sdist = ["setuptools_rust (>=0.11.4)"] -ssh = ["bcrypt (>=3.1.5)"] -test = ["pytest (>=6.2.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"] - -[[package]] -name = "entrypoints" -version = "0.3" -description = "Discover and load entry points from installed packages." -category = "main" -optional = false -python-versions = ">=2.7" - -[[package]] -name = "enum34" -version = "1.1.10" -description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "fake-rpi" -version = "0.7.1" -description = "A bunch of fake interfaces for development when not using the RPi or unit testing" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} -numpy = "*" - -[[package]] -name = "flake8" -version = "3.8.0" -description = "the modular source code checker: pep8 pyflakes and co" -category = "main" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" - -[package.dependencies] -importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} -mccabe = ">=0.6.0,<0.7.0" -pycodestyle = ">=2.6.0a1,<2.7.0" -pyflakes = ">=2.2.0,<2.3.0" - -[[package]] -name = "flakehell" -version = "0.9.0" -description = "Flake8 wrapper to make it nice and configurable" -category = "main" -optional = false -python-versions = ">=3.5" - -[package.dependencies] -colorama = "*" -entrypoints = "*" -flake8 = ">=3.8.0" -pygments = "*" -toml = "*" -urllib3 = "*" - -[package.extras] -docs = ["alabaster", "pygments-github-lexers", "recommonmark", "sphinx"] -dev = ["dlint", "flake8-2020", "flake8-aaa", "flake8-absolute-import", "flake8-alfred", "flake8-annotations-complexity", "flake8-bandit", "flake8-black", "flake8-broken-line", "flake8-bugbear", "flake8-builtins", "flake8-coding", "flake8-cognitive-complexity", "flake8-commas", "flake8-comprehensions", "flake8-debugger", "flake8-django", "flake8-docstrings", "flake8-eradicate", "flake8-executable", "flake8-expression-complexity", "flake8-fixme", "flake8-functions", "flake8-future-import", "flake8-import-order", "flake8-isort", "flake8-logging-format", "flake8-mock", "flake8-mutable", "flake8-mypy", "flake8-pep3101", "flake8-pie", "flake8-print", "flake8-printf-formatting", "flake8-pyi", "flake8-pytest", "flake8-pytest-style", "flake8-quotes", "flake8-requirements", "flake8-rst-docstrings", "flake8-scrapy", "flake8-spellcheck", "flake8-sql", "flake8-strict", "flake8-string-format", "flake8-tidy-imports", "flake8-todo", "flake8-use-fstring", "flake8-variables-names", "isort", "mccabe", "pandas-vet", "pep8-naming", "pylint", "pytest", "typing-extensions", "wemake-python-styleguide"] - -[[package]] -name = "flask" -version = "1.1.4" -description = "A simple framework for building complex web applications." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.dependencies] -click = ">=5.1,<8.0" -itsdangerous = ">=0.24,<2.0" -Jinja2 = ">=2.10.1,<3.0" -Werkzeug = ">=0.15,<2.0" - -[package.extras] -dev = ["pytest", "coverage", "tox", "sphinx", "pallets-sphinx-themes", "sphinxcontrib-log-cabinet", "sphinx-issues"] -docs = ["sphinx", "pallets-sphinx-themes", "sphinxcontrib-log-cabinet", "sphinx-issues"] -dotenv = ["python-dotenv"] - -[[package]] -name = "flask-cors" -version = "3.0.10" -description = "A Flask extension adding a decorator for CORS support" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -Flask = ">=0.9" -Six = "*" - -[[package]] -name = "flask-sockets" -version = "0.2.1" -description = "Elegant WebSockets for your Flask apps." -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -Flask = "*" -gevent = "*" -gevent-websocket = "*" - -[[package]] -name = "gevent" -version = "21.8.0" -description = "Coroutine-based network library" -category = "main" -optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5" - -[package.dependencies] -cffi = {version = ">=1.12.2", markers = "platform_python_implementation == \"CPython\" and sys_platform == \"win32\""} -greenlet = {version = ">=1.1.0,<2.0", markers = "platform_python_implementation == \"CPython\""} -"zope.event" = "*" -"zope.interface" = "*" - -[package.extras] -dnspython = ["dnspython (>=1.16.0,<2.0)", "idna"] -docs = ["repoze.sphinx.autointerface", "sphinxcontrib-programoutput", "zope.schema"] -monitor = ["psutil (>=5.7.0)"] -recommended = ["cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "selectors2", "backports.socketpair", "psutil (>=5.7.0)"] -test = ["requests", "objgraph", "cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "selectors2", "futures", "mock", "backports.socketpair", "contextvars (==2.4)", "coverage (>=5.0)", "coveralls (>=1.7.0)", "psutil (>=5.7.0)"] - -[[package]] -name = "gevent-websocket" -version = "0.10.1" -description = "Websocket handler for the gevent pywsgi server, a Python network library" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -gevent = "*" - -[[package]] -name = "greenlet" -version = "1.1.2" -description = "Lightweight in-process concurrent programming" -category = "main" -optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" - -[package.extras] -docs = ["sphinx"] - -[[package]] -name = "hyperlink" -version = "21.0.0" -description = "A featureful, immutable, and correct URL for Python." -category = "main" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[package.dependencies] -idna = ">=2.5" - -[[package]] -name = "idna" -version = "3.3" -description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" -optional = false -python-versions = ">=3.5" - -[[package]] -name = "importlib-metadata" -version = "4.8.2" -description = "Read metadata from Python packages" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} -zipp = ">=0.5" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] -perf = ["ipython"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] - -[[package]] -name = "incremental" -version = "21.3.0" -description = "A small library that versions your Python projects." -category = "main" -optional = false -python-versions = "*" - -[package.extras] -scripts = ["click (>=6.0)", "twisted (>=16.4.0)"] - -[[package]] -name = "itsdangerous" -version = "1.1.0" -description = "Various helpers to pass data to untrusted environments and back." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "jedi" -version = "0.17.2" -description = "An autocompletion tool for Python that can be used for text editors." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.dependencies] -parso = ">=0.7.0,<0.8.0" - -[package.extras] -qa = ["flake8 (==3.7.9)"] -testing = ["Django (<3.1)", "colorama", "docopt", "pytest (>=3.9.0,<5.0.0)"] - -[[package]] -name = "jinja2" -version = "2.11.3" -description = "A very fast and expressive template engine." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.dependencies] -MarkupSafe = ">=0.23" - -[package.extras] -i18n = ["Babel (>=0.8)"] - -[[package]] -name = "jsonrpc" -version = "3.0.1" -description = "A JSON-RPC 2.0 client-server library" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -pyOpenSSL = "*" -service-identity = "*" -Twisted = "*" - -[[package]] -name = "markupsafe" -version = "2.0.1" -description = "Safely add untrusted strings to HTML/XML markup." -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "mccabe" -version = "0.6.1" -description = "McCabe checker, plugin for flake8" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "numpy" -version = "1.21.4" -description = "NumPy is the fundamental package for array computing with Python." -category = "main" -optional = false -python-versions = ">=3.7,<3.11" - -[[package]] -name = "opencv-python" -version = "4.5.4.58" -description = "Wrapper package for OpenCV python bindings." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -numpy = ">=1.21.2" - -[[package]] -name = "parso" -version = "0.7.1" -description = "A Python Parser" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[package.extras] -testing = ["docopt", "pytest (>=3.0.7)"] - -[[package]] -name = "pluggy" -version = "1.0.0" -description = "plugin and hook calling mechanisms for python" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "pyasn1" -version = "0.4.8" -description = "ASN.1 types and codecs" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "pyasn1-modules" -version = "0.2.8" -description = "A collection of ASN.1-based protocols modules." -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -pyasn1 = ">=0.4.6,<0.5.0" - -[[package]] -name = "pycodestyle" -version = "2.6.0" -description = "Python style guide checker" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "pycparser" -version = "2.21" -description = "C parser in Python" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "pyflakes" -version = "2.2.0" -description = "passive checker of Python programs" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "pygments" -version = "2.10.0" -description = "Pygments is a syntax highlighting package written in Python." -category = "main" -optional = false -python-versions = ">=3.5" - -[[package]] -name = "pyopenssl" -version = "21.0.0" -description = "Python wrapper module around the OpenSSL library" -category = "main" -optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" - -[package.dependencies] -cryptography = ">=3.3" -six = ">=1.5.2" - -[package.extras] -docs = ["sphinx", "sphinx-rtd-theme"] -test = ["flaky", "pretend", "pytest (>=3.0.1)"] - -[[package]] -name = "python-jsonrpc-server" -version = "0.4.0" -description = "JSON RPC 2.0 server library" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -ujson = ">=3.0.0" - -[package.extras] -test = ["versioneer", "pylint", "pycodestyle", "pyflakes", "pytest", "mock", "pytest-cov", "coverage"] - -[[package]] -name = "python-language-server" -version = "0.36.2" -description = "Python Language Server for the Language Server Protocol" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -jedi = ">=0.17.2,<0.18.0" -pluggy = "*" -python-jsonrpc-server = ">=0.4.0" -ujson = {version = ">=3.0.0", markers = "python_version > \"3\""} - -[package.extras] -all = ["autopep8", "flake8 (>=3.8.0)", "mccabe (>=0.6.0,<0.7.0)", "pycodestyle (>=2.6.0,<2.7.0)", "pydocstyle (>=2.0.0)", "pyflakes (>=2.2.0,<2.3.0)", "pylint (>=2.5.0)", "rope (>=0.10.5)", "yapf"] -autopep8 = ["autopep8"] -flake8 = ["flake8 (>=3.8.0)"] -mccabe = ["mccabe (>=0.6.0,<0.7.0)"] -pycodestyle = ["pycodestyle (>=2.6.0,<2.7.0)"] -pydocstyle = ["pydocstyle (>=2.0.0)"] -pyflakes = ["pyflakes (>=2.2.0,<2.3.0)"] -pylint = ["pylint (>=2.5.0)"] -rope = ["rope (>0.10.5)"] -test = ["versioneer", "pylint (>=2.5.0)", "pytest", "mock", "pytest-cov", "coverage", "numpy", "pandas", "matplotlib", "flaky", "pyqt5"] -yapf = ["yapf"] - -[[package]] -name = "pytz" -version = "2021.3" -description = "World timezone definitions, modern and historical" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "scipy" -version = "1.7.2" -description = "SciPy: Scientific Library for Python" -category = "main" -optional = false -python-versions = ">=3.7,<3.11" - -[package.dependencies] -numpy = ">=1.16.5,<1.23.0" - -[[package]] -name = "service-identity" -version = "21.1.0" -description = "Service identity verification for pyOpenSSL & cryptography." -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -attrs = ">=19.1.0" -cryptography = "*" -pyasn1 = "*" -pyasn1-modules = "*" -six = "*" - -[package.extras] -dev = ["coverage[toml] (>=5.0.2)", "pytest", "sphinx", "furo", "idna", "pyopenssl"] -docs = ["sphinx", "furo"] -idna = ["idna"] -tests = ["coverage[toml] (>=5.0.2)", "pytest"] - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "smbus2" -version = "0.4.1" -description = "smbus2 is a drop-in replacement for smbus-cffi/smbus-python in pure Python" -category = "main" -optional = false -python-versions = "*" - -[package.extras] -docs = ["sphinx (>=1.5.3)"] -qa = ["flake8"] -test = ["nose", "mock"] - -[[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" -category = "main" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "twisted" -version = "21.7.0" -description = "An asynchronous networking framework written in Python" -category = "main" -optional = false -python-versions = ">=3.6.7" - -[package.dependencies] -attrs = ">=19.2.0" -Automat = ">=0.8.0" -constantly = ">=15.1" -hyperlink = ">=17.1.1" -incremental = ">=21.3.0" -twisted-iocpsupport = {version = ">=1.0.0,<1.1.0", markers = "platform_system == \"Windows\""} -typing-extensions = ">=3.6.5" -"zope.interface" = ">=4.4.2" - -[package.extras] -all_non_platform = ["cython-test-exception-raiser (>=1.0,<2.0)", "PyHamcrest (>=1.9.0)", "pyopenssl (>=16.0.0)", "service-identity (>=18.1.0)", "idna (>=2.4)", "pyasn1", "cryptography (>=2.6)", "appdirs (>=1.4.0)", "bcrypt (>=3.0.0)", "pyserial (>=3.0)", "h2 (>=3.0,<4.0)", "priority (>=1.1.0,<2.0)", "pywin32 (!=226)", "contextvars (>=2.4,<3)"] -conch = ["pyasn1", "cryptography (>=2.6)", "appdirs (>=1.4.0)", "bcrypt (>=3.0.0)"] -contextvars = ["contextvars (>=2.4,<3)"] -dev = ["towncrier (>=19.2,<20.0)", "sphinx-rtd-theme (>=0.5,<1.0)", "readthedocs-sphinx-ext (>=2.1,<3.0)", "sphinx (>=3.3,<4.0)", "pyflakes (>=2.2,<3.0)", "twistedchecker (>=0.7,<1.0)", "coverage (>=6b1,<7)", "python-subunit (>=1.4,<2.0)", "pydoctor (>=21.2.2,<21.3.0)"] -dev_release = ["towncrier (>=19.2,<20.0)", "sphinx-rtd-theme (>=0.5,<1.0)", "readthedocs-sphinx-ext (>=2.1,<3.0)", "sphinx (>=3.3,<4.0)", "pydoctor (>=21.2.2,<21.3.0)"] -http2 = ["h2 (>=3.0,<4.0)", "priority (>=1.1.0,<2.0)"] -macos_platform = ["pyobjc-core", "pyobjc-framework-cfnetwork", "pyobjc-framework-cocoa", "cython-test-exception-raiser (>=1.0,<2.0)", "PyHamcrest (>=1.9.0)", "pyopenssl (>=16.0.0)", "service-identity (>=18.1.0)", "idna (>=2.4)", "pyasn1", "cryptography (>=2.6)", "appdirs (>=1.4.0)", "bcrypt (>=3.0.0)", "pyserial (>=3.0)", "h2 (>=3.0,<4.0)", "priority (>=1.1.0,<2.0)", "pywin32 (!=226)", "contextvars (>=2.4,<3)"] -mypy = ["mypy (==0.910)", "mypy-zope (==0.3.2)", "types-setuptools", "towncrier (>=19.2,<20.0)", "sphinx-rtd-theme (>=0.5,<1.0)", "readthedocs-sphinx-ext (>=2.1,<3.0)", "sphinx (>=3.3,<4.0)", "pyflakes (>=2.2,<3.0)", "twistedchecker (>=0.7,<1.0)", "coverage (>=6b1,<7)", "cython-test-exception-raiser (>=1.0,<2.0)", "PyHamcrest (>=1.9.0)", "pyopenssl (>=16.0.0)", "service-identity (>=18.1.0)", "idna (>=2.4)", "pyasn1", "cryptography (>=2.6)", "appdirs (>=1.4.0)", "bcrypt (>=3.0.0)", "pyserial (>=3.0)", "h2 (>=3.0,<4.0)", "priority (>=1.1.0,<2.0)", "pywin32 (!=226)", "python-subunit (>=1.4,<2.0)", "contextvars (>=2.4,<3)", "pydoctor (>=21.2.2,<21.3.0)"] -osx_platform = ["pyobjc-core", "pyobjc-framework-cfnetwork", "pyobjc-framework-cocoa", "cython-test-exception-raiser (>=1.0,<2.0)", "PyHamcrest (>=1.9.0)", "pyopenssl (>=16.0.0)", "service-identity (>=18.1.0)", "idna (>=2.4)", "pyasn1", "cryptography (>=2.6)", "appdirs (>=1.4.0)", "bcrypt (>=3.0.0)", "pyserial (>=3.0)", "h2 (>=3.0,<4.0)", "priority (>=1.1.0,<2.0)", "pywin32 (!=226)", "contextvars (>=2.4,<3)"] -serial = ["pyserial (>=3.0)", "pywin32 (!=226)"] -test = ["cython-test-exception-raiser (>=1.0,<2.0)", "PyHamcrest (>=1.9.0)"] -tls = ["pyopenssl (>=16.0.0)", "service-identity (>=18.1.0)", "idna (>=2.4)"] -windows_platform = ["pywin32 (!=226)", "cython-test-exception-raiser (>=1.0,<2.0)", "PyHamcrest (>=1.9.0)", "pyopenssl (>=16.0.0)", "service-identity (>=18.1.0)", "idna (>=2.4)", "pyasn1", "cryptography (>=2.6)", "appdirs (>=1.4.0)", "bcrypt (>=3.0.0)", "pyserial (>=3.0)", "h2 (>=3.0,<4.0)", "priority (>=1.1.0,<2.0)", "pywin32 (!=226)", "contextvars (>=2.4,<3)"] - -[[package]] -name = "twisted-iocpsupport" -version = "1.0.2" -description = "An extension for use in the twisted I/O Completion Ports reactor." -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "typing-extensions" -version = "3.10.0.2" -description = "Backported and Experimental Type Hints for Python 3.5+" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "ujson" -version = "4.2.0" -description = "Ultra fast JSON encoder and decoder for Python" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "urllib3" -version = "1.26.7" -description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" - -[package.extras] -brotli = ["brotlipy (>=0.6.0)"] -secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] - -[[package]] -name = "werkzeug" -version = "1.0.1" -description = "The comprehensive WSGI web application library." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.extras] -dev = ["pytest", "pytest-timeout", "coverage", "tox", "sphinx", "pallets-sphinx-themes", "sphinx-issues"] -watchdog = ["watchdog"] - -[[package]] -name = "zipp" -version = "3.6.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] -testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] - -[[package]] -name = "zope.event" -version = "4.5.0" -description = "Very basic event publishing system" -category = "main" -optional = false -python-versions = "*" - -[package.extras] -docs = ["sphinx"] -test = ["zope.testrunner"] - -[[package]] -name = "zope.interface" -version = "5.4.0" -description = "Interfaces for Python" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.extras] -docs = ["sphinx", "repoze.sphinx.autointerface"] -test = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] -testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] - -[metadata] -lock-version = "1.1" -python-versions = ">=3.7, <3.10" -content-hash = "e96811282bf71b4b204929d33c3ae62dfb610bbf0640577724c998e96deae27b" - -[metadata.files] -attrs = [ - {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"}, - {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"}, -] -automat = [ - {file = "Automat-20.2.0-py2.py3-none-any.whl", hash = "sha256:b6feb6455337df834f6c9962d6ccf771515b7d939bca142b29c20c2376bc6111"}, - {file = "Automat-20.2.0.tar.gz", hash = "sha256:7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33"}, -] -cffi = [ - {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"}, - {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"}, - {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"}, - {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"}, - {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"}, - {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"}, - {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"}, - {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"}, - {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"}, - {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"}, - {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"}, - {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"}, - {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"}, - {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"}, - {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"}, - {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"}, - {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"}, - {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"}, - {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"}, - {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"}, - {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"}, - {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"}, - {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"}, - {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"}, - {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"}, - {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"}, - {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"}, - {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"}, - {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"}, - {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"}, - {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"}, - {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"}, - {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"}, - {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"}, - {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"}, - {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"}, - {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"}, - {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"}, - {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"}, - {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"}, - {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"}, - {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"}, - {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"}, - {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"}, - {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"}, - {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"}, - {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"}, - {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"}, - {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"}, - {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"}, -] -click = [ - {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"}, - {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"}, -] -colorama = [ - {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, - {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, -] -constantly = [ - {file = "constantly-15.1.0-py2.py3-none-any.whl", hash = "sha256:dd2fa9d6b1a51a83f0d7dd76293d734046aa176e384bf6e33b7e44880eb37c5d"}, - {file = "constantly-15.1.0.tar.gz", hash = "sha256:586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35"}, -] -cryptography = [ - {file = "cryptography-35.0.0-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:d57e0cdc1b44b6cdf8af1d01807db06886f10177469312fbde8f44ccbb284bc9"}, - {file = "cryptography-35.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:ced40344e811d6abba00295ced98c01aecf0c2de39481792d87af4fa58b7b4d6"}, - {file = "cryptography-35.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:54b2605e5475944e2213258e0ab8696f4f357a31371e538ef21e8d61c843c28d"}, - {file = "cryptography-35.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:7b7ceeff114c31f285528ba8b390d3e9cfa2da17b56f11d366769a807f17cbaa"}, - {file = "cryptography-35.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d69645f535f4b2c722cfb07a8eab916265545b3475fdb34e0be2f4ee8b0b15e"}, - {file = "cryptography-35.0.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a2d0e0acc20ede0f06ef7aa58546eee96d2592c00f450c9acb89c5879b61992"}, - {file = "cryptography-35.0.0-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:07bb7fbfb5de0980590ddfc7f13081520def06dc9ed214000ad4372fb4e3c7f6"}, - {file = "cryptography-35.0.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:7eba2cebca600a7806b893cb1d541a6e910afa87e97acf2021a22b32da1df52d"}, - {file = "cryptography-35.0.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:18d90f4711bf63e2fb21e8c8e51ed8189438e6b35a6d996201ebd98a26abbbe6"}, - {file = "cryptography-35.0.0-cp36-abi3-win32.whl", hash = "sha256:c10c797ac89c746e488d2ee92bd4abd593615694ee17b2500578b63cad6b93a8"}, - {file = "cryptography-35.0.0-cp36-abi3-win_amd64.whl", hash = "sha256:7075b304cd567694dc692ffc9747f3e9cb393cc4aa4fb7b9f3abd6f5c4e43588"}, - {file = "cryptography-35.0.0-pp36-pypy36_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a688ebcd08250eab5bb5bca318cc05a8c66de5e4171a65ca51db6bd753ff8953"}, - {file = "cryptography-35.0.0-pp36-pypy36_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d99915d6ab265c22873f1b4d6ea5ef462ef797b4140be4c9d8b179915e0985c6"}, - {file = "cryptography-35.0.0-pp36-pypy36_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:928185a6d1ccdb816e883f56ebe92e975a262d31cc536429041921f8cb5a62fd"}, - {file = "cryptography-35.0.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:ebeddd119f526bcf323a89f853afb12e225902a24d29b55fe18dd6fcb2838a76"}, - {file = "cryptography-35.0.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:22a38e96118a4ce3b97509443feace1d1011d0571fae81fc3ad35f25ba3ea999"}, - {file = "cryptography-35.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb80e8a1f91e4b7ef8b33041591e6d89b2b8e122d787e87eeb2b08da71bb16ad"}, - {file = "cryptography-35.0.0-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:abb5a361d2585bb95012a19ed9b2c8f412c5d723a9836418fab7aaa0243e67d2"}, - {file = "cryptography-35.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:1ed82abf16df40a60942a8c211251ae72858b25b7421ce2497c2eb7a1cee817c"}, - {file = "cryptography-35.0.0.tar.gz", hash = "sha256:9933f28f70d0517686bd7de36166dda42094eac49415459d9bdf5e7df3e0086d"}, -] -entrypoints = [ - {file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"}, - {file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"}, -] -enum34 = [ - {file = "enum34-1.1.10-py2-none-any.whl", hash = "sha256:a98a201d6de3f2ab3db284e70a33b0f896fbf35f8086594e8c9e74b909058d53"}, - {file = "enum34-1.1.10-py3-none-any.whl", hash = "sha256:c3858660960c984d6ab0ebad691265180da2b43f07e061c0f8dca9ef3cffd328"}, - {file = "enum34-1.1.10.tar.gz", hash = "sha256:cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248"}, -] -fake-rpi = [ - {file = "fake_rpi-0.7.1-py3-none-any.whl", hash = "sha256:2ca5af521c095fcfd1d368a4e96d6b4445b3ad673470d63f0867d3411ac38ceb"}, - {file = "fake_rpi-0.7.1.tar.gz", hash = "sha256:9194842c49ad17afa5b492c52172d7e15790563e36a01fc5f525b606416e00ee"}, -] -flake8 = [ - {file = "flake8-3.8.0-py2.py3-none-any.whl", hash = "sha256:bcf5163890bb01f11f04f0f444f01004d0f9ad5fab10c51104f770acf532008f"}, - {file = "flake8-3.8.0.tar.gz", hash = "sha256:e2f33066fb92ac0a3a30ea509f61e325f2110b2e84644333a3ff8e9e98a2beab"}, -] -flakehell = [ - {file = "flakehell-0.9.0-py3-none-any.whl", hash = "sha256:48a3a9b46136240e52b3b32a78a0826c45f6dcf7d980c30f758c1db5b1439c0b"}, - {file = "flakehell-0.9.0.tar.gz", hash = "sha256:208836d8d24194d50cfa4c1fc99f681f3c537cc232edcd06455abc2971460893"}, -] -flask = [ - {file = "Flask-1.1.4-py2.py3-none-any.whl", hash = "sha256:c34f04500f2cbbea882b1acb02002ad6fe6b7ffa64a6164577995657f50aed22"}, - {file = "Flask-1.1.4.tar.gz", hash = "sha256:0fbeb6180d383a9186d0d6ed954e0042ad9f18e0e8de088b2b419d526927d196"}, -] -flask-cors = [ - {file = "Flask-Cors-3.0.10.tar.gz", hash = "sha256:b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de"}, - {file = "Flask_Cors-3.0.10-py2.py3-none-any.whl", hash = "sha256:74efc975af1194fc7891ff5cd85b0f7478be4f7f59fe158102e91abb72bb4438"}, -] -flask-sockets = [ - {file = "Flask-Sockets-0.2.1.tar.gz", hash = "sha256:072927da8edca0e81e024f5787e643c87d80b351b714de95d723becb30e0643b"}, - {file = "Flask_Sockets-0.2.1-py2.py3-none-any.whl", hash = "sha256:350a76d55f5889f64afd2ca9b32f262680b7960965f0830365576307d30cfe1e"}, -] -gevent = [ - {file = "gevent-21.8.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:e91632fdcf1c9a33e97e35f96edcbdf0b10e36cf53b58caa946dca4836bb688c"}, - {file = "gevent-21.8.0-cp27-cp27m-win32.whl", hash = "sha256:84e1af2dfb4ea9495cb914b00b6303ca0d54bf0a92e688a17e60f6b033873df2"}, - {file = "gevent-21.8.0-cp27-cp27m-win_amd64.whl", hash = "sha256:3b600145dc0c5b39c6f89c2e91ec6c55eb0dd52dc8148228479ca42cded358e4"}, - {file = "gevent-21.8.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:90131877d3ce1a05da1b718631860815b89ff44e93c42d168c9c9e8893b26318"}, - {file = "gevent-21.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:3f5ba654bdd3c774079b553fef535ede5b52c7abd224cb235a15da90ae36251b"}, - {file = "gevent-21.8.0-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:02d1e8ca227d0ab0b7917fd7e411f9a534475e0a41fb6f434e9264b20155201a"}, - {file = "gevent-21.8.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55ede95f41b74e7506fab293ad04cc7fc2b6f662b42281e9f2d668ad3817b574"}, - {file = "gevent-21.8.0-cp36-cp36m-win32.whl", hash = "sha256:72d4c2a8e65bbc702db76456841c7ddd6de2d9ab544a24aa74ad9c2b6411a269"}, - {file = "gevent-21.8.0-cp36-cp36m-win_amd64.whl", hash = "sha256:ceec7c5f15fb2f9b767b194daa55246830db6c7c3c2f0b1c7e9e90cb4d01f3f9"}, - {file = "gevent-21.8.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:6cad37a55e904879beef2a7e7c57c57d62fde2331fef1bec7f2b2a7ef14da6a2"}, - {file = "gevent-21.8.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:aaf1451cd0d9c32f65a50e461084a0540be52b8ea05c18669c95b42e1f71592a"}, - {file = "gevent-21.8.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c7b4763514fec74c9fe6ad10c3de62d8fe7b926d520b1e35eb6887181b954ff"}, - {file = "gevent-21.8.0-cp37-cp37m-win32.whl", hash = "sha256:1c9c87b15f792af80edc950a83ab8ef4f3ba3889712211c2c42740ddb57b5492"}, - {file = "gevent-21.8.0-cp37-cp37m-win_amd64.whl", hash = "sha256:23077d87d1589ac141c22923fd76853d2cc5b7e3c5e1f1f9cdf6ff23bc9790fc"}, - {file = "gevent-21.8.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:4c94d27be9f0439b28eb8bd0f879e6142918c62092fda7fb96b6d06f01886b94"}, - {file = "gevent-21.8.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8d8655ce581368b7e1ab42c8a3a166c0b43ea04e59970efbade9448864585e99"}, - {file = "gevent-21.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f918bdf7d2096e391f66bd8ce1e969639aa235e710aaf750a37774bb585bd"}, - {file = "gevent-21.8.0-cp38-cp38-win32.whl", hash = "sha256:f39d5defda9443b5fb99a185050e94782fe7ac38f34f751b491142216ad23bc7"}, - {file = "gevent-21.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:afc877ff4f277d0e51a1206d748fdab8c1e0256f7a05e1b1067abbed71c64da9"}, - {file = "gevent-21.8.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:a8656d6e02bf47d7fa47728cf7a7cbf408f77ef1fad12afd9e0e3246c5de1707"}, - {file = "gevent-21.8.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9d46bea8644048ceac5737950c08fc89c37a66c34a56a6c9e3648726e60cb767"}, - {file = "gevent-21.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75c29ed5148c916021d39d2fac90ccc0e19adf854626a34eaee012aa6b1fcb67"}, - {file = "gevent-21.8.0-cp39-cp39-win32.whl", hash = "sha256:e00dc0450f79253b7a3a7f2a28e6ca959c8d0d47c0f9fa2c57894c7974d5965f"}, - {file = "gevent-21.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:37a469a99e6000b42dd0b9bbd9d716dbd66cdc6e5738f136f6a266c29b90ee99"}, - {file = "gevent-21.8.0-pp27-pypy_73-win32.whl", hash = "sha256:b10c3326edb76ec3049646dc5131608d6d3733b5adfc75d34852028ecc67c52c"}, - {file = "gevent-21.8.0.tar.gz", hash = "sha256:43e93e1a4738c922a2416baf33f0afb0a20b22d3dba886720bc037cd02a98575"}, -] -gevent-websocket = [ - {file = "gevent-websocket-0.10.1.tar.gz", hash = "sha256:7eaef32968290c9121f7c35b973e2cc302ffb076d018c9068d2f5ca8b2d85fb0"}, - {file = "gevent_websocket-0.10.1-py3-none-any.whl", hash = "sha256:17b67d91282f8f4c973eba0551183fc84f56f1c90c8f6b6b30256f31f66f5242"}, -] -greenlet = [ - {file = "greenlet-1.1.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:58df5c2a0e293bf665a51f8a100d3e9956febfbf1d9aaf8c0677cf70218910c6"}, - {file = "greenlet-1.1.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:aec52725173bd3a7b56fe91bc56eccb26fbdff1386ef123abb63c84c5b43b63a"}, - {file = "greenlet-1.1.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:833e1551925ed51e6b44c800e71e77dacd7e49181fdc9ac9a0bf3714d515785d"}, - {file = "greenlet-1.1.2-cp27-cp27m-win32.whl", hash = "sha256:aa5b467f15e78b82257319aebc78dd2915e4c1436c3c0d1ad6f53e47ba6e2713"}, - {file = "greenlet-1.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:40b951f601af999a8bf2ce8c71e8aaa4e8c6f78ff8afae7b808aae2dc50d4c40"}, - {file = "greenlet-1.1.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:95e69877983ea39b7303570fa6760f81a3eec23d0e3ab2021b7144b94d06202d"}, - {file = "greenlet-1.1.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:356b3576ad078c89a6107caa9c50cc14e98e3a6c4874a37c3e0273e4baf33de8"}, - {file = "greenlet-1.1.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:8639cadfda96737427330a094476d4c7a56ac03de7265622fcf4cfe57c8ae18d"}, - {file = "greenlet-1.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97e5306482182170ade15c4b0d8386ded995a07d7cc2ca8f27958d34d6736497"}, - {file = "greenlet-1.1.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e6a36bb9474218c7a5b27ae476035497a6990e21d04c279884eb10d9b290f1b1"}, - {file = "greenlet-1.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abb7a75ed8b968f3061327c433a0fbd17b729947b400747c334a9c29a9af6c58"}, - {file = "greenlet-1.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:14d4f3cd4e8b524ae9b8aa567858beed70c392fdec26dbdb0a8a418392e71708"}, - {file = "greenlet-1.1.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:17ff94e7a83aa8671a25bf5b59326ec26da379ace2ebc4411d690d80a7fbcf23"}, - {file = "greenlet-1.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9f3cba480d3deb69f6ee2c1825060177a22c7826431458c697df88e6aeb3caee"}, - {file = "greenlet-1.1.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:fa877ca7f6b48054f847b61d6fa7bed5cebb663ebc55e018fda12db09dcc664c"}, - {file = "greenlet-1.1.2-cp35-cp35m-win32.whl", hash = "sha256:7cbd7574ce8e138bda9df4efc6bf2ab8572c9aff640d8ecfece1b006b68da963"}, - {file = "greenlet-1.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:903bbd302a2378f984aef528f76d4c9b1748f318fe1294961c072bdc7f2ffa3e"}, - {file = "greenlet-1.1.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:049fe7579230e44daef03a259faa24511d10ebfa44f69411d99e6a184fe68073"}, - {file = "greenlet-1.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:dd0b1e9e891f69e7675ba5c92e28b90eaa045f6ab134ffe70b52e948aa175b3c"}, - {file = "greenlet-1.1.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:7418b6bfc7fe3331541b84bb2141c9baf1ec7132a7ecd9f375912eca810e714e"}, - {file = "greenlet-1.1.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9d29ca8a77117315101425ec7ec2a47a22ccf59f5593378fc4077ac5b754fce"}, - {file = "greenlet-1.1.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21915eb821a6b3d9d8eefdaf57d6c345b970ad722f856cd71739493ce003ad08"}, - {file = "greenlet-1.1.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eff9d20417ff9dcb0d25e2defc2574d10b491bf2e693b4e491914738b7908168"}, - {file = "greenlet-1.1.2-cp36-cp36m-win32.whl", hash = "sha256:32ca72bbc673adbcfecb935bb3fb1b74e663d10a4b241aaa2f5a75fe1d1f90aa"}, - {file = "greenlet-1.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f0214eb2a23b85528310dad848ad2ac58e735612929c8072f6093f3585fd342d"}, - {file = "greenlet-1.1.2-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:b92e29e58bef6d9cfd340c72b04d74c4b4e9f70c9fa7c78b674d1fec18896dc4"}, - {file = "greenlet-1.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:fdcec0b8399108577ec290f55551d926d9a1fa6cad45882093a7a07ac5ec147b"}, - {file = "greenlet-1.1.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:93f81b134a165cc17123626ab8da2e30c0455441d4ab5576eed73a64c025b25c"}, - {file = "greenlet-1.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e12bdc622676ce47ae9abbf455c189e442afdde8818d9da983085df6312e7a1"}, - {file = "greenlet-1.1.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c790abda465726cfb8bb08bd4ca9a5d0a7bd77c7ac1ca1b839ad823b948ea28"}, - {file = "greenlet-1.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f276df9830dba7a333544bd41070e8175762a7ac20350786b322b714b0e654f5"}, - {file = "greenlet-1.1.2-cp37-cp37m-win32.whl", hash = "sha256:64e6175c2e53195278d7388c454e0b30997573f3f4bd63697f88d855f7a6a1fc"}, - {file = "greenlet-1.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b11548073a2213d950c3f671aa88e6f83cda6e2fb97a8b6317b1b5b33d850e06"}, - {file = "greenlet-1.1.2-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:9633b3034d3d901f0a46b7939f8c4d64427dfba6bbc5a36b1a67364cf148a1b0"}, - {file = "greenlet-1.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:eb6ea6da4c787111adf40f697b4e58732ee0942b5d3bd8f435277643329ba627"}, - {file = "greenlet-1.1.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:f3acda1924472472ddd60c29e5b9db0cec629fbe3c5c5accb74d6d6d14773478"}, - {file = "greenlet-1.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e859fcb4cbe93504ea18008d1df98dee4f7766db66c435e4882ab35cf70cac43"}, - {file = "greenlet-1.1.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00e44c8afdbe5467e4f7b5851be223be68adb4272f44696ee71fe46b7036a711"}, - {file = "greenlet-1.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec8c433b3ab0419100bd45b47c9c8551248a5aee30ca5e9d399a0b57ac04651b"}, - {file = "greenlet-1.1.2-cp38-cp38-win32.whl", hash = "sha256:288c6a76705dc54fba69fbcb59904ae4ad768b4c768839b8ca5fdadec6dd8cfd"}, - {file = "greenlet-1.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:8d2f1fb53a421b410751887eb4ff21386d119ef9cde3797bf5e7ed49fb51a3b3"}, - {file = "greenlet-1.1.2-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:166eac03e48784a6a6e0e5f041cfebb1ab400b394db188c48b3a84737f505b67"}, - {file = "greenlet-1.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:572e1787d1460da79590bf44304abbc0a2da944ea64ec549188fa84d89bba7ab"}, - {file = "greenlet-1.1.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:be5f425ff1f5f4b3c1e33ad64ab994eed12fc284a6ea71c5243fd564502ecbe5"}, - {file = "greenlet-1.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1692f7d6bc45e3200844be0dba153612103db241691088626a33ff1f24a0d88"}, - {file = "greenlet-1.1.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7227b47e73dedaa513cdebb98469705ef0d66eb5a1250144468e9c3097d6b59b"}, - {file = "greenlet-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ff61ff178250f9bb3cd89752df0f1dd0e27316a8bd1465351652b1b4a4cdfd3"}, - {file = "greenlet-1.1.2-cp39-cp39-win32.whl", hash = "sha256:f70a9e237bb792c7cc7e44c531fd48f5897961701cdaa06cf22fc14965c496cf"}, - {file = "greenlet-1.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:013d61294b6cd8fe3242932c1c5e36e5d1db2c8afb58606c5a67efce62c1f5fd"}, - {file = "greenlet-1.1.2.tar.gz", hash = "sha256:e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a"}, -] -hyperlink = [ - {file = "hyperlink-21.0.0-py2.py3-none-any.whl", hash = "sha256:e6b14c37ecb73e89c77d78cdb4c2cc8f3fb59a885c5b3f819ff4ed80f25af1b4"}, - {file = "hyperlink-21.0.0.tar.gz", hash = "sha256:427af957daa58bc909471c6c40f74c5450fa123dd093fc53efd2e91d2705a56b"}, -] -idna = [ - {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, - {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, -] -importlib-metadata = [ - {file = "importlib_metadata-4.8.2-py3-none-any.whl", hash = "sha256:53ccfd5c134223e497627b9815d5030edf77d2ed573922f7a0b8f8bb81a1c100"}, - {file = "importlib_metadata-4.8.2.tar.gz", hash = "sha256:75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb"}, -] -incremental = [ - {file = "incremental-21.3.0-py2.py3-none-any.whl", hash = "sha256:92014aebc6a20b78a8084cdd5645eeaa7f74b8933f70fa3ada2cfbd1e3b54321"}, - {file = "incremental-21.3.0.tar.gz", hash = "sha256:02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57"}, -] -itsdangerous = [ - {file = "itsdangerous-1.1.0-py2.py3-none-any.whl", hash = "sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749"}, - {file = "itsdangerous-1.1.0.tar.gz", hash = "sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19"}, -] -jedi = [ - {file = "jedi-0.17.2-py2.py3-none-any.whl", hash = "sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5"}, - {file = "jedi-0.17.2.tar.gz", hash = "sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20"}, -] -jinja2 = [ - {file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"}, - {file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"}, -] -jsonrpc = [ - {file = "jsonrpc-3.0.1-py3-none-any.whl", hash = "sha256:17da99530cf2a322045077249d525d699e0e87231f7309550a068f9aca498f42"}, - {file = "jsonrpc-3.0.1.tar.gz", hash = "sha256:083d02f220f4f222d2f5142c787a70ad9d6fe0e7dac590398439e6f652cb1380"}, -] -markupsafe = [ - {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"}, - {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"}, - {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"}, - {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"}, - {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"}, - {file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"}, - {file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"}, - {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"}, - {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"}, - {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"}, - {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"}, - {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"}, -] -mccabe = [ - {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, - {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, -] -numpy = [ - {file = "numpy-1.21.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8890b3360f345e8360133bc078d2dacc2843b6ee6059b568781b15b97acbe39f"}, - {file = "numpy-1.21.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:69077388c5a4b997442b843dbdc3a85b420fb693ec8e33020bb24d647c164fa5"}, - {file = "numpy-1.21.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e89717274b41ebd568cd7943fc9418eeb49b1785b66031bc8a7f6300463c5898"}, - {file = "numpy-1.21.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b78ecfa070460104934e2caf51694ccd00f37d5e5dbe76f021b1b0b0d221823"}, - {file = "numpy-1.21.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:615d4e328af7204c13ae3d4df7615a13ff60a49cb0d9106fde07f541207883ca"}, - {file = "numpy-1.21.4-cp310-cp310-win_amd64.whl", hash = "sha256:1403b4e2181fc72664737d848b60e65150f272fe5a1c1cbc16145ed43884065a"}, - {file = "numpy-1.21.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:74b85a17528ca60cf98381a5e779fc0264b4a88b46025e6bcbe9621f46bb3e63"}, - {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:92aafa03da8658609f59f18722b88f0a73a249101169e28415b4fa148caf7e41"}, - {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5d95668e727c75b3f5088ec7700e260f90ec83f488e4c0aaccb941148b2cd377"}, - {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5162ec777ba7138906c9c274353ece5603646c6965570d82905546579573f73"}, - {file = "numpy-1.21.4-cp37-cp37m-win32.whl", hash = "sha256:81225e58ef5fce7f1d80399575576fc5febec79a8a2742e8ef86d7b03beef49f"}, - {file = "numpy-1.21.4-cp37-cp37m-win_amd64.whl", hash = "sha256:32fe5b12061f6446adcbb32cf4060a14741f9c21e15aaee59a207b6ce6423469"}, - {file = "numpy-1.21.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c449eb870616a7b62e097982c622d2577b3dbc800aaf8689254ec6e0197cbf1e"}, - {file = "numpy-1.21.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2e4ed57f45f0aa38beca2a03b6532e70e548faf2debbeb3291cfc9b315d9be8f"}, - {file = "numpy-1.21.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1247ef28387b7bb7f21caf2dbe4767f4f4175df44d30604d42ad9bd701ebb31f"}, - {file = "numpy-1.21.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:34f3456f530ae8b44231c63082c8899fe9c983fd9b108c997c4b1c8c2d435333"}, - {file = "numpy-1.21.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4c9c23158b87ed0e70d9a50c67e5c0b3f75bcf2581a8e34668d4e9d7474d76c6"}, - {file = "numpy-1.21.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4799be6a2d7d3c33699a6f77201836ac975b2e1b98c2a07f66a38f499cb50ce"}, - {file = "numpy-1.21.4-cp38-cp38-win32.whl", hash = "sha256:bc988afcea53e6156546e5b2885b7efab089570783d9d82caf1cfd323b0bb3dd"}, - {file = "numpy-1.21.4-cp38-cp38-win_amd64.whl", hash = "sha256:170b2a0805c6891ca78c1d96ee72e4c3ed1ae0a992c75444b6ab20ff038ba2cd"}, - {file = "numpy-1.21.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fde96af889262e85aa033f8ee1d3241e32bf36228318a61f1ace579df4e8170d"}, - {file = "numpy-1.21.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c885bfc07f77e8fee3dc879152ba993732601f1f11de248d4f357f0ffea6a6d4"}, - {file = "numpy-1.21.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e6f5f50d1eff2f2f752b3089a118aee1ea0da63d56c44f3865681009b0af162"}, - {file = "numpy-1.21.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ad010846cdffe7ec27e3f933397f8a8d6c801a48634f419e3d075db27acf5880"}, - {file = "numpy-1.21.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c74c699b122918a6c4611285cc2cad4a3aafdb135c22a16ec483340ef97d573c"}, - {file = "numpy-1.21.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9864424631775b0c052f3bd98bc2712d131b3e2cd95d1c0c68b91709170890b0"}, - {file = "numpy-1.21.4-cp39-cp39-win32.whl", hash = "sha256:b1e2312f5b8843a3e4e8224b2b48fe16119617b8fc0a54df8f50098721b5bed2"}, - {file = "numpy-1.21.4-cp39-cp39-win_amd64.whl", hash = "sha256:e3c3e990274444031482a31280bf48674441e0a5b55ddb168f3a6db3e0c38ec8"}, - {file = "numpy-1.21.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a3deb31bc84f2b42584b8c4001c85d1934dbfb4030827110bc36bfd11509b7bf"}, - {file = "numpy-1.21.4.zip", hash = "sha256:e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0"}, -] -opencv-python = [ - {file = "opencv-python-4.5.4.58.tar.gz", hash = "sha256:48288428f407bacba5f73d460feb4a1ecafe87db3d7cfc0730a49fb32f589bbf"}, - {file = "opencv_python-4.5.4.58-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0eba0bfe62c48a02a5af3a0944e872c99f57f98653bed14d51c6991a58f9e1d1"}, - {file = "opencv_python-4.5.4.58-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:9bcca50c5444b5cfb01624666b69f91ba8f2d2bf4ef37b111697aafdeb81c99f"}, - {file = "opencv_python-4.5.4.58-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:8f7886acabaebf0361bd3dbccaa0d08e3f65ab13b7c739eb11e028f01ad13582"}, - {file = "opencv_python-4.5.4.58-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:d4b1d0b98ee72ba5dd720166790fc93ce459281e138ee79b0d41420b3da52b2e"}, - {file = "opencv_python-4.5.4.58-cp310-cp310-win32.whl", hash = "sha256:69a78e40a374ac14e4bf15a13dbb6c30fd2fbd5fcd3674d020a31b88861d5aaf"}, - {file = "opencv_python-4.5.4.58-cp310-cp310-win_amd64.whl", hash = "sha256:315c357522b6310ef7a0718d9f0c5d3110e59c19140705499a3c29bdd8c0124f"}, - {file = "opencv_python-4.5.4.58-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:887a61097092dc0bf23fa24646dbc8cfeeb753649cb28a3782a93a6879e3b7d2"}, - {file = "opencv_python-4.5.4.58-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:22bcc3153a7d4f95aff79457eef81ef5e40ab1851b189e014412b5e9fbee2573"}, - {file = "opencv_python-4.5.4.58-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:92e9b2261ec764229c948d77fe0d922ee033348ca6519939b87861016c1614b3"}, - {file = "opencv_python-4.5.4.58-cp36-cp36m-win32.whl", hash = "sha256:0d6249a49122a78afc6685ddb1377a87e46414ae61c84535c4c6024397f1f3e8"}, - {file = "opencv_python-4.5.4.58-cp36-cp36m-win_amd64.whl", hash = "sha256:eaa144013b597e4dcabc8d8230edfe810319de01b5609556d415a20e2b707547"}, - {file = "opencv_python-4.5.4.58-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:26feeeb280de179f5dbb8976ebf7ceb836bd263973cb5daec8ca36e8ef7b5773"}, - {file = "opencv_python-4.5.4.58-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:4a13381bdfc0fb4b080efcc27c46561d0bd752f126226e9f19aa9cbcf6677f40"}, - {file = "opencv_python-4.5.4.58-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:ac852fcaac93439f2f7116ddffdc23fd366c872200ade2272446f9898180cecb"}, - {file = "opencv_python-4.5.4.58-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:02872e0a9358526646d691f390143e9c21109c210095314abaa0641211cda077"}, - {file = "opencv_python-4.5.4.58-cp37-cp37m-win32.whl", hash = "sha256:6b87bab220d17e03eeedbcc6652d9d7e7bb09886dbd0f810310697a948b4c6fd"}, - {file = "opencv_python-4.5.4.58-cp37-cp37m-win_amd64.whl", hash = "sha256:a2a7f09b8843b85f3e1b02c5ea3ddc0cb9f5ad9698380109b37069ee8db7746d"}, - {file = "opencv_python-4.5.4.58-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:c44f5c51e92322ed832607204249c190764dec6cf29e8ba6d679b10326be1c1b"}, - {file = "opencv_python-4.5.4.58-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9b2c198af083a693d42a82bddc4d1f7e6bb02c64192ff7fac1fd1d43a8cf1be6"}, - {file = "opencv_python-4.5.4.58-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:637f4d3ad81bd27f273ede4c5fa6c26afb85c097c9715baf107cc270e37f5fea"}, - {file = "opencv_python-4.5.4.58-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:2fff48a641a74d1def31c1e88f9e5ce50ba4d0f87d085dfbf8bc844e12f6cd54"}, - {file = "opencv_python-4.5.4.58-cp38-cp38-win32.whl", hash = "sha256:8ddf4dcd8199209e33f21deb0c6d8ab62b21802816bba895fefc346b6d2e522d"}, - {file = "opencv_python-4.5.4.58-cp38-cp38-win_amd64.whl", hash = "sha256:085c5fcf5a6479c34aca3fd0f59055e704083d6a44009d6583c675ff1a5a0625"}, - {file = "opencv_python-4.5.4.58-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:4abe9c4fb6fe16daa9fcdd68b5357d3530431341aa655203f8e84f394e1fe6d4"}, - {file = "opencv_python-4.5.4.58-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4b614fbd81aeda53ce28e645aaee18fda7c7f2a48eb7f1a70a7c6c3427946342"}, - {file = "opencv_python-4.5.4.58-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:215bdf069847d4e3b0447a34e9eb4046dd4ca523d41fe4381c1c55f6704fd0dc"}, - {file = "opencv_python-4.5.4.58-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc34cdbfbab463750713118c8259a5d364547adab8ed91e94ba888349f33590a"}, - {file = "opencv_python-4.5.4.58-cp39-cp39-win32.whl", hash = "sha256:9998ce60884f3cda074f02b56d2b57ee6bd863e2ddba132da2b0af3b9487d584"}, - {file = "opencv_python-4.5.4.58-cp39-cp39-win_amd64.whl", hash = "sha256:5370a11757fbe94b176771269aff599f4da8676c2a672b13bcbca043f2e3eea8"}, -] -parso = [ - {file = "parso-0.7.1-py2.py3-none-any.whl", hash = "sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea"}, - {file = "parso-0.7.1.tar.gz", hash = "sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9"}, -] -pluggy = [ - {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, - {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, -] -pyasn1 = [ - {file = "pyasn1-0.4.8-py2.4.egg", hash = "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3"}, - {file = "pyasn1-0.4.8-py2.5.egg", hash = "sha256:0458773cfe65b153891ac249bcf1b5f8f320b7c2ce462151f8fa74de8934becf"}, - {file = "pyasn1-0.4.8-py2.6.egg", hash = "sha256:5c9414dcfede6e441f7e8f81b43b34e834731003427e5b09e4e00e3172a10f00"}, - {file = "pyasn1-0.4.8-py2.7.egg", hash = "sha256:6e7545f1a61025a4e58bb336952c5061697da694db1cae97b116e9c46abcf7c8"}, - {file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"}, - {file = "pyasn1-0.4.8-py3.1.egg", hash = "sha256:78fa6da68ed2727915c4767bb386ab32cdba863caa7dbe473eaae45f9959da86"}, - {file = "pyasn1-0.4.8-py3.2.egg", hash = "sha256:08c3c53b75eaa48d71cf8c710312316392ed40899cb34710d092e96745a358b7"}, - {file = "pyasn1-0.4.8-py3.3.egg", hash = "sha256:03840c999ba71680a131cfaee6fab142e1ed9bbd9c693e285cc6aca0d555e576"}, - {file = "pyasn1-0.4.8-py3.4.egg", hash = "sha256:7ab8a544af125fb704feadb008c99a88805126fb525280b2270bb25cc1d78a12"}, - {file = "pyasn1-0.4.8-py3.5.egg", hash = "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2"}, - {file = "pyasn1-0.4.8-py3.6.egg", hash = "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359"}, - {file = "pyasn1-0.4.8-py3.7.egg", hash = "sha256:99fcc3c8d804d1bc6d9a099921e39d827026409a58f2a720dcdb89374ea0c776"}, - {file = "pyasn1-0.4.8.tar.gz", hash = "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"}, -] -pyasn1-modules = [ - {file = "pyasn1-modules-0.2.8.tar.gz", hash = "sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e"}, - {file = "pyasn1_modules-0.2.8-py2.4.egg", hash = "sha256:0fe1b68d1e486a1ed5473f1302bd991c1611d319bba158e98b106ff86e1d7199"}, - {file = "pyasn1_modules-0.2.8-py2.5.egg", hash = "sha256:fe0644d9ab041506b62782e92b06b8c68cca799e1a9636ec398675459e031405"}, - {file = "pyasn1_modules-0.2.8-py2.6.egg", hash = "sha256:a99324196732f53093a84c4369c996713eb8c89d360a496b599fb1a9c47fc3eb"}, - {file = "pyasn1_modules-0.2.8-py2.7.egg", hash = "sha256:0845a5582f6a02bb3e1bde9ecfc4bfcae6ec3210dd270522fee602365430c3f8"}, - {file = "pyasn1_modules-0.2.8-py2.py3-none-any.whl", hash = "sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74"}, - {file = "pyasn1_modules-0.2.8-py3.1.egg", hash = "sha256:f39edd8c4ecaa4556e989147ebf219227e2cd2e8a43c7e7fcb1f1c18c5fd6a3d"}, - {file = "pyasn1_modules-0.2.8-py3.2.egg", hash = "sha256:b80486a6c77252ea3a3e9b1e360bc9cf28eaac41263d173c032581ad2f20fe45"}, - {file = "pyasn1_modules-0.2.8-py3.3.egg", hash = "sha256:65cebbaffc913f4fe9e4808735c95ea22d7a7775646ab690518c056784bc21b4"}, - {file = "pyasn1_modules-0.2.8-py3.4.egg", hash = "sha256:15b7c67fabc7fc240d87fb9aabf999cf82311a6d6fb2c70d00d3d0604878c811"}, - {file = "pyasn1_modules-0.2.8-py3.5.egg", hash = "sha256:426edb7a5e8879f1ec54a1864f16b882c2837bfd06eee62f2c982315ee2473ed"}, - {file = "pyasn1_modules-0.2.8-py3.6.egg", hash = "sha256:cbac4bc38d117f2a49aeedec4407d23e8866ea4ac27ff2cf7fb3e5b570df19e0"}, - {file = "pyasn1_modules-0.2.8-py3.7.egg", hash = "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd"}, -] -pycodestyle = [ - {file = "pycodestyle-2.6.0-py2.py3-none-any.whl", hash = "sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367"}, - {file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"}, -] -pycparser = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, -] -pyflakes = [ - {file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"}, - {file = "pyflakes-2.2.0.tar.gz", hash = "sha256:35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8"}, -] -pygments = [ - {file = "Pygments-2.10.0-py3-none-any.whl", hash = "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380"}, - {file = "Pygments-2.10.0.tar.gz", hash = "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6"}, -] -pyopenssl = [ - {file = "pyOpenSSL-21.0.0-py2.py3-none-any.whl", hash = "sha256:8935bd4920ab9abfebb07c41a4f58296407ed77f04bd1a92914044b848ba1ed6"}, - {file = "pyOpenSSL-21.0.0.tar.gz", hash = "sha256:5e2d8c5e46d0d865ae933bef5230090bdaf5506281e9eec60fa250ee80600cb3"}, -] -python-jsonrpc-server = [ - {file = "python-jsonrpc-server-0.4.0.tar.gz", hash = "sha256:62c543e541f101ec5b57dc654efc212d2c2e3ea47ff6f54b2e7dcb36ecf20595"}, - {file = "python_jsonrpc_server-0.4.0-py3-none-any.whl", hash = "sha256:e5a908ff182e620aac07db5f57887eeb0afe33993008f57dc1b85b594cea250c"}, -] -python-language-server = [ - {file = "python-language-server-0.36.2.tar.gz", hash = "sha256:9984c84a67ee2c5102c8e703215f407fcfa5e62b0ae86c9572d0ada8c4b417b0"}, - {file = "python_language_server-0.36.2-py2.py3-none-any.whl", hash = "sha256:a0ad0aca03f4a20c1c40f4f230c6773eac82c9b7cdb026cb09ba10237f4815d5"}, -] -pytz = [ - {file = "pytz-2021.3-py2.py3-none-any.whl", hash = "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c"}, - {file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"}, -] -scipy = [ - {file = "scipy-1.7.2-1-cp310-cp310-win_amd64.whl", hash = "sha256:dc2d1bf41294e63c7302bf499973ac0c7f73c93c01763db43055f6525234bf11"}, - {file = "scipy-1.7.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:97eb573e361a73a553b915dc195c6f72a08249964b1a33f157f9659f3b6210d1"}, - {file = "scipy-1.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:359b60a0cccd17723b9d5e329a5212a710e771a3ddde800e472fb93732756c46"}, - {file = "scipy-1.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82c5befebf54d799d77e5f0205c03030f57f69ba2541baa44d2e6ad138c28cd3"}, - {file = "scipy-1.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:54951f51d731c832b1b8885e0a92e89f33d087de7e40d02078bf0d49c7cbdbb5"}, - {file = "scipy-1.7.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:30bdda199667e74b50208a793eb1ba47a04e5e3fa16f5ff06c6f7969ae78e4da"}, - {file = "scipy-1.7.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e3efe7ef75dfe627b354ab0af0dbc918eadee97cc80ff1aabea6d3e01114ebdd"}, - {file = "scipy-1.7.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:17fd991a275e4283453f89d404209aa92059ac68d76d804b4bc1716a3742e1b5"}, - {file = "scipy-1.7.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74f518ce542533054695f743e4271cb8986b63f95bb51d70fcee4f3929cbff7d"}, - {file = "scipy-1.7.2-cp37-cp37m-win32.whl", hash = "sha256:1437073f1d4664990879aa8f9547524764372e0fef84a077be4b19e82bba7a8d"}, - {file = "scipy-1.7.2-cp37-cp37m-win_amd64.whl", hash = "sha256:39f838ea5ce8da868785193d88d05cf5a6d5c390804ec99de29a28e1dcdd53e6"}, - {file = "scipy-1.7.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e08b81fcd9bf98740b58dc6fdd7879e33a64dcb682201c1135f7d4a75216bb05"}, - {file = "scipy-1.7.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7b1d0f5f524518f1a86f288443528e4ff4a739c0966db663af4129b7ac7849f8"}, - {file = "scipy-1.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cac71d5476a6f56b50459da21f6221707e0051ebd428b2137db32ef4a43bb15e"}, - {file = "scipy-1.7.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d175ba93e00d8eef8f7cd70d4d88a9106a86800c82ea03cf2268c36d6545483"}, - {file = "scipy-1.7.2-cp38-cp38-win32.whl", hash = "sha256:8b5726a0fedeaa6beb1095e4466998bdd1d1e960b28db9b5a16c89cbd7b2ebf1"}, - {file = "scipy-1.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:8482c8e45857ab0a5446eb7460d2307a27cbbe659d6d2257820c6d6eb950fd0f"}, - {file = "scipy-1.7.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1ea6233f5a365cb7945b4304bd06323ece3ece85d6a3fa8598d2f53e513467c9"}, - {file = "scipy-1.7.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d86abd1ddf421dea5e9cebfeb4de0d205b3dc04e78249afedba9c6c3b2227ff2"}, - {file = "scipy-1.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d25272c03ee3c0fe5e0dff1bb7889280bb6c9e1766fa9c7bde81ad8a5f78694"}, - {file = "scipy-1.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5273d832fb9cd5724ee0d335c16a903b923441107dd973d27fc4293075a9f4e3"}, - {file = "scipy-1.7.2-cp39-cp39-win32.whl", hash = "sha256:87cf3964db0f1cce17aeed5bfc1b89a6b4b07dbfc48e50d21fa3549e00456803"}, - {file = "scipy-1.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:a80eb01c43fd98257ec7a49ff5cec0edba32031b5f86503f55399a48cb2c5379"}, - {file = "scipy-1.7.2.tar.gz", hash = "sha256:fa2dbabaaecdb502641b0b3c00dec05fb475ae48655c66da16c9ed24eda1e711"}, -] -service-identity = [ - {file = "service-identity-21.1.0.tar.gz", hash = "sha256:6e6c6086ca271dc11b033d17c3a8bea9f24ebff920c587da090afc9519419d34"}, - {file = "service_identity-21.1.0-py2.py3-none-any.whl", hash = "sha256:f0b0caac3d40627c3c04d7a51b6e06721857a0e10a8775f2d1d7e72901b3a7db"}, -] -six = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] -smbus2 = [ - {file = "smbus2-0.4.1-py2.py3-none-any.whl", hash = "sha256:8b1e70cda011b6fb3caf8377a1084f73a5aa99392b78529f140b0a3f06468f6c"}, - {file = "smbus2-0.4.1.tar.gz", hash = "sha256:6276eb599b76c4e74372f2582d2282f03b4398f0da16bc996608e4f21557ca9b"}, -] -toml = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, -] -twisted = [ - {file = "Twisted-21.7.0-py3-none-any.whl", hash = "sha256:13c1d1d2421ae556d91e81e66cf0d4f4e4e1e4a36a0486933bee4305c6a4fb9b"}, - {file = "Twisted-21.7.0.tar.gz", hash = "sha256:2cd652542463277378b0d349f47c62f20d9306e57d1247baabd6d1d38a109006"}, -] -twisted-iocpsupport = [ - {file = "twisted-iocpsupport-1.0.2.tar.gz", hash = "sha256:72068b206ee809c9c596b57b5287259ea41ddb4774d86725b19f35bf56aa32a9"}, - {file = "twisted_iocpsupport-1.0.2-cp310-cp310-win32.whl", hash = "sha256:985c06a33f5c0dae92c71a036d1ea63872ee86a21dd9b01e1f287486f15524b4"}, - {file = "twisted_iocpsupport-1.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:81b3abe3527b367da0220482820cb12a16c661672b7bcfcde328902890d63323"}, - {file = "twisted_iocpsupport-1.0.2-cp36-cp36m-win32.whl", hash = "sha256:9dbb8823b49f06d4de52721b47de4d3b3026064ef4788ce62b1a21c57c3fff6f"}, - {file = "twisted_iocpsupport-1.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:b9fed67cf0f951573f06d560ac2f10f2a4bbdc6697770113a2fc396ea2cb2565"}, - {file = "twisted_iocpsupport-1.0.2-cp37-cp37m-win32.whl", hash = "sha256:b76b4eed9b27fd63ddb0877efdd2d15835fdcb6baa745cb85b66e5d016ac2878"}, - {file = "twisted_iocpsupport-1.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:851b3735ca7e8102e661872390e3bce88f8901bece95c25a0c8bb9ecb8a23d32"}, - {file = "twisted_iocpsupport-1.0.2-cp38-cp38-win32.whl", hash = "sha256:bf4133139d77fc706d8f572e6b7d82871d82ec7ef25d685c2351bdacfb701415"}, - {file = "twisted_iocpsupport-1.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:306becd6e22ab6e8e4f36b6bdafd9c92e867c98a5ce517b27fdd27760ee7ae41"}, - {file = "twisted_iocpsupport-1.0.2-cp39-cp39-win32.whl", hash = "sha256:3c61742cb0bc6c1ac117a7e5f422c129832f0c295af49e01d8a6066df8cfc04d"}, - {file = "twisted_iocpsupport-1.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:b435857b9efcbfc12f8c326ef0383f26416272260455bbca2cd8d8eca470c546"}, - {file = "twisted_iocpsupport-1.0.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:7d972cfa8439bdcb35a7be78b7ef86d73b34b808c74be56dfa785c8a93b851bf"}, -] -typing-extensions = [ - {file = "typing_extensions-3.10.0.2-py2-none-any.whl", hash = "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7"}, - {file = "typing_extensions-3.10.0.2-py3-none-any.whl", hash = "sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34"}, - {file = "typing_extensions-3.10.0.2.tar.gz", hash = "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e"}, -] -ujson = [ - {file = "ujson-4.2.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:02f5a6acc5aa5b054c32bdccd17064c2cbd07c81b3a49449589a4552888f1961"}, - {file = "ujson-4.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7c8cffd9e45248569fa576d19b043951a3edc67cbee3dca2a6b77e6998cb1ec"}, - {file = "ujson-4.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0abc1526d32ebe2f2b6fefcf82b9ee8661da3f45ecac087beee6aeaa21b39ec"}, - {file = "ujson-4.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:26ebe3ac1e0d18d58e11dbf7cdd0459adcefd5c025ede99be7fceae47bd1bfc6"}, - {file = "ujson-4.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6e8c30186eaa4f982b9b56cad30b173b71aac9d6a393d97cbcbc4ca805e87943"}, - {file = "ujson-4.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0db1acd8dbbf120095ce4ab118585219066ea2860332df2385a435c585036cae"}, - {file = "ujson-4.2.0-cp310-cp310-win32.whl", hash = "sha256:68088596e237dcda862c1760d1feb2236a8cc36804507a9fcfaa3ed21442ff64"}, - {file = "ujson-4.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:dd98d659365fb9271d9f9ba21160670ddfecb93deaec8a5350519a0ab3604654"}, - {file = "ujson-4.2.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:42f8def3e44d880774f644b53b4701a46889a9506e3fdc191c314c9e2e9b2a38"}, - {file = "ujson-4.2.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc9e2e6933ecec17a7d351116f555caee84b798076a4c5276ab1e8654c83bd90"}, - {file = "ujson-4.2.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adca402a97b8388c378d92c55b2bf4e8402baa5dfa059a85870a41e2f142a0d0"}, - {file = "ujson-4.2.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0076de81aadc287f025525969bbc1272703be92933e988e5663a76ec5863628f"}, - {file = "ujson-4.2.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:ff0ae4b1dc70c3362b04f4127e228b17e84946de611f85b32f565b990762deaf"}, - {file = "ujson-4.2.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:40235c3704ac7f29b24a7a785f856e1c45a567c8cd4b57a025f516733e358972"}, - {file = "ujson-4.2.0-cp36-cp36m-win32.whl", hash = "sha256:32f4340c8d6a34e7fa1f9447919ebd4b6256afef0965868d51ea3cdf0694a8f7"}, - {file = "ujson-4.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:bac42d0131740b6f1d2b6a15f770c1fef0db97d05aba8564f3c75bb59a9c91c7"}, - {file = "ujson-4.2.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:0ebc82847938e417092fd463e593da39a280fd12585b998e435a2a45bb7a33f7"}, - {file = "ujson-4.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bccfff9910fbe3dae6a17ec080c48fca0bfe939b18e4b2622122109d4d2570d"}, - {file = "ujson-4.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ec19982b7a40fb526b8ffd6edfff2c5c10556a54416d554c4bc83b1e4140a4c"}, - {file = "ujson-4.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3697cae44a92c2264cf307d4cdd9ea436faa75a009d35a4097362a6bbf221a1b"}, - {file = "ujson-4.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b55dde52028f3c426197b9a928618fbb2b548172eb45824ddb19cdcdf8e493f9"}, - {file = "ujson-4.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d9a0252da73d8b69de60811252cbfde215d76ee6eea935a519e223353352026c"}, - {file = "ujson-4.2.0-cp37-cp37m-win32.whl", hash = "sha256:a6e27ff0f92c719de004b806d84f471fff0157679e57517092b8f89345eb3a79"}, - {file = "ujson-4.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:50f413177206373b3568dff28c091b2d8c9145e5e54b0a524d3823293d7a29b8"}, - {file = "ujson-4.2.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:944dfdfae0cb4e4274a23e5070be913f7ff8f05666d8d143f2356cf873f9a77a"}, - {file = "ujson-4.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50ddff58727cc4f90ade4c818884c4f0fbeeb1f78f764ab2b2bc89cf1f4db126"}, - {file = "ujson-4.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78f8da27231b20d589319f743bd65011862691c102922be85c9f27e40656a0f7"}, - {file = "ujson-4.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99322e08e53580867c9909637747343354b7028a8208dc5df3d09233c8f52c30"}, - {file = "ujson-4.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5f863b12d27867b733d380a9878fc8c3ad11d3aea8a3650c33e7a8c2a888e1eb"}, - {file = "ujson-4.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c53653a12f6ce67b12e7806c190cce1db09c75de31212a5a9adbdbd7a2aba116"}, - {file = "ujson-4.2.0-cp38-cp38-win32.whl", hash = "sha256:c9723a5e2743ded9bc6106cb04f86244dd779ad847d8ac189cfe808ab16946c1"}, - {file = "ujson-4.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:fae1e251d9f9362ebc4adbbb252d0f4a023f66f180390624826fcb1812b808e9"}, - {file = "ujson-4.2.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:ab70a29914fc202f7c8f6353bb0622b91f878e2892e57a4c7293b341d5a85133"}, - {file = "ujson-4.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf272e6302c62a42ed0125efcc1d891dd909bcfb3c6aa075d89de209b2b8e930"}, - {file = "ujson-4.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6182898d7031d083017f9be47c6d57f9c2155d9f4391b77ed6c020cab8e5a471"}, - {file = "ujson-4.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a885675252e041e19cb92ff76419251fdd1ab4c2ca9766cb3ecfa6ae07884d2"}, - {file = "ujson-4.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:535f1e5b336f7a0573da59bd9352e9cc6a93185bf4b1d96fb3379e07b4fc619a"}, - {file = "ujson-4.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:26e299caa9bfc2e532e16de38de2af48cde48258922cda5efc0dd447d42692fc"}, - {file = "ujson-4.2.0-cp39-cp39-win32.whl", hash = "sha256:fa68b25c987b73fb1c83ece34e52856c2c6da3031384f72638696c56fa8baca9"}, - {file = "ujson-4.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:c7b2643b063f33e5e0d539cf2811793a7df9da525e63483f70c9262a343bd59d"}, - {file = "ujson-4.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d61ae7a505105a16220a4282dbd552bef76968203e5e4f5edfdbb03d3159e3a"}, - {file = "ujson-4.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bff484c162bd77877bc9ae6333b0a684493037ce3c5d8b664e8339becf9ad139"}, - {file = "ujson-4.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74961587e9c1682d3e04fe29e02b67ec9c88cb0c3406ad94cc617d04c6fa6db2"}, - {file = "ujson-4.2.0.tar.gz", hash = "sha256:fffe509f556861c7343c6cba57ed05fe7bcf4b48a934a5b946ccb45428cf8883"}, -] -urllib3 = [ - {file = "urllib3-1.26.7-py2.py3-none-any.whl", hash = "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"}, - {file = "urllib3-1.26.7.tar.gz", hash = "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece"}, -] -werkzeug = [ - {file = "Werkzeug-1.0.1-py2.py3-none-any.whl", hash = "sha256:2de2a5db0baeae7b2d2664949077c2ac63fbd16d98da0ff71837f7d1dea3fd43"}, - {file = "Werkzeug-1.0.1.tar.gz", hash = "sha256:6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c"}, -] -zipp = [ - {file = "zipp-3.6.0-py3-none-any.whl", hash = "sha256:9fe5ea21568a0a70e50f273397638d39b03353731e6cbbb3fd8502a33fec40bc"}, - {file = "zipp-3.6.0.tar.gz", hash = "sha256:71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832"}, -] -"zope.event" = [ - {file = "zope.event-4.5.0-py2.py3-none-any.whl", hash = "sha256:2666401939cdaa5f4e0c08cf7f20c9b21423b95e88f4675b1443973bdb080c42"}, - {file = "zope.event-4.5.0.tar.gz", hash = "sha256:5e76517f5b9b119acf37ca8819781db6c16ea433f7e2062c4afc2b6fbedb1330"}, -] -"zope.interface" = [ - {file = "zope.interface-5.4.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:7df1e1c05304f26faa49fa752a8c690126cf98b40b91d54e6e9cc3b7d6ffe8b7"}, - {file = "zope.interface-5.4.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:2c98384b254b37ce50eddd55db8d381a5c53b4c10ee66e1e7fe749824f894021"}, - {file = "zope.interface-5.4.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:08f9636e99a9d5410181ba0729e0408d3d8748026ea938f3b970a0249daa8192"}, - {file = "zope.interface-5.4.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:0ea1d73b7c9dcbc5080bb8aaffb776f1c68e807767069b9ccdd06f27a161914a"}, - {file = "zope.interface-5.4.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:273f158fabc5ea33cbc936da0ab3d4ba80ede5351babc4f577d768e057651531"}, - {file = "zope.interface-5.4.0-cp27-cp27m-win32.whl", hash = "sha256:a1e6e96217a0f72e2b8629e271e1b280c6fa3fe6e59fa8f6701bec14e3354325"}, - {file = "zope.interface-5.4.0-cp27-cp27m-win_amd64.whl", hash = "sha256:877473e675fdcc113c138813a5dd440da0769a2d81f4d86614e5d62b69497155"}, - {file = "zope.interface-5.4.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f7ee479e96f7ee350db1cf24afa5685a5899e2b34992fb99e1f7c1b0b758d263"}, - {file = "zope.interface-5.4.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:b0297b1e05fd128d26cc2460c810d42e205d16d76799526dfa8c8ccd50e74959"}, - {file = "zope.interface-5.4.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:af310ec8335016b5e52cae60cda4a4f2a60a788cbb949a4fbea13d441aa5a09e"}, - {file = "zope.interface-5.4.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:9a9845c4c6bb56e508651f005c4aeb0404e518c6f000d5a1123ab077ab769f5c"}, - {file = "zope.interface-5.4.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:0b465ae0962d49c68aa9733ba92a001b2a0933c317780435f00be7ecb959c702"}, - {file = "zope.interface-5.4.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:5dd9ca406499444f4c8299f803d4a14edf7890ecc595c8b1c7115c2342cadc5f"}, - {file = "zope.interface-5.4.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:469e2407e0fe9880ac690a3666f03eb4c3c444411a5a5fddfdabc5d184a79f05"}, - {file = "zope.interface-5.4.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:52de7fc6c21b419078008f697fd4103dbc763288b1406b4562554bd47514c004"}, - {file = "zope.interface-5.4.0-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:3dd4952748521205697bc2802e4afac5ed4b02909bb799ba1fe239f77fd4e117"}, - {file = "zope.interface-5.4.0-cp35-cp35m-win32.whl", hash = "sha256:dd93ea5c0c7f3e25335ab7d22a507b1dc43976e1345508f845efc573d3d779d8"}, - {file = "zope.interface-5.4.0-cp35-cp35m-win_amd64.whl", hash = "sha256:3748fac0d0f6a304e674955ab1365d515993b3a0a865e16a11ec9d86fb307f63"}, - {file = "zope.interface-5.4.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:66c0061c91b3b9cf542131148ef7ecbecb2690d48d1612ec386de9d36766058f"}, - {file = "zope.interface-5.4.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:d0c1bc2fa9a7285719e5678584f6b92572a5b639d0e471bb8d4b650a1a910920"}, - {file = "zope.interface-5.4.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2876246527c91e101184f63ccd1d716ec9c46519cc5f3d5375a3351c46467c46"}, - {file = "zope.interface-5.4.0-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:334701327f37c47fa628fc8b8d28c7d7730ce7daaf4bda1efb741679c2b087fc"}, - {file = "zope.interface-5.4.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:71aace0c42d53abe6fc7f726c5d3b60d90f3c5c055a447950ad6ea9cec2e37d9"}, - {file = "zope.interface-5.4.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:5bb3489b4558e49ad2c5118137cfeaf59434f9737fa9c5deefc72d22c23822e2"}, - {file = "zope.interface-5.4.0-cp36-cp36m-win32.whl", hash = "sha256:1c0e316c9add0db48a5b703833881351444398b04111188069a26a61cfb4df78"}, - {file = "zope.interface-5.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f0c02cbb9691b7c91d5009108f975f8ffeab5dff8f26d62e21c493060eff2a1"}, - {file = "zope.interface-5.4.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:7d97a4306898b05404a0dcdc32d9709b7d8832c0c542b861d9a826301719794e"}, - {file = "zope.interface-5.4.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:867a5ad16892bf20e6c4ea2aab1971f45645ff3102ad29bd84c86027fa99997b"}, - {file = "zope.interface-5.4.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5f931a1c21dfa7a9c573ec1f50a31135ccce84e32507c54e1ea404894c5eb96f"}, - {file = "zope.interface-5.4.0-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:194d0bcb1374ac3e1e023961610dc8f2c78a0f5f634d0c737691e215569e640d"}, - {file = "zope.interface-5.4.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:8270252effc60b9642b423189a2fe90eb6b59e87cbee54549db3f5562ff8d1b8"}, - {file = "zope.interface-5.4.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:15e7d1f7a6ee16572e21e3576d2012b2778cbacf75eb4b7400be37455f5ca8bf"}, - {file = "zope.interface-5.4.0-cp37-cp37m-win32.whl", hash = "sha256:8892f89999ffd992208754851e5a052f6b5db70a1e3f7d54b17c5211e37a98c7"}, - {file = "zope.interface-5.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2e5a26f16503be6c826abca904e45f1a44ff275fdb7e9d1b75c10671c26f8b94"}, - {file = "zope.interface-5.4.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:0f91b5b948686659a8e28b728ff5e74b1be6bf40cb04704453617e5f1e945ef3"}, - {file = "zope.interface-5.4.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:4de4bc9b6d35c5af65b454d3e9bc98c50eb3960d5a3762c9438df57427134b8e"}, - {file = "zope.interface-5.4.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:bf68f4b2b6683e52bec69273562df15af352e5ed25d1b6641e7efddc5951d1a7"}, - {file = "zope.interface-5.4.0-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:63b82bb63de7c821428d513607e84c6d97d58afd1fe2eb645030bdc185440120"}, - {file = "zope.interface-5.4.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:db1fa631737dab9fa0b37f3979d8d2631e348c3b4e8325d6873c2541d0ae5a48"}, - {file = "zope.interface-5.4.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:f44e517131a98f7a76696a7b21b164bcb85291cee106a23beccce454e1f433a4"}, - {file = "zope.interface-5.4.0-cp38-cp38-win32.whl", hash = "sha256:a9506a7e80bcf6eacfff7f804c0ad5350c8c95b9010e4356a4b36f5322f09abb"}, - {file = "zope.interface-5.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:3c02411a3b62668200910090a0dff17c0b25aaa36145082a5a6adf08fa281e54"}, - {file = "zope.interface-5.4.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:0cee5187b60ed26d56eb2960136288ce91bcf61e2a9405660d271d1f122a69a4"}, - {file = "zope.interface-5.4.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:a8156e6a7f5e2a0ff0c5b21d6bcb45145efece1909efcbbbf48c56f8da68221d"}, - {file = "zope.interface-5.4.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:205e40ccde0f37496904572035deea747390a8b7dc65146d30b96e2dd1359a83"}, - {file = "zope.interface-5.4.0-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:3f24df7124c323fceb53ff6168da70dbfbae1442b4f3da439cd441681f54fe25"}, - {file = "zope.interface-5.4.0-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:5208ebd5152e040640518a77827bdfcc73773a15a33d6644015b763b9c9febc1"}, - {file = "zope.interface-5.4.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:17776ecd3a1fdd2b2cd5373e5ef8b307162f581c693575ec62e7c5399d80794c"}, - {file = "zope.interface-5.4.0-cp39-cp39-win32.whl", hash = "sha256:d4d9d6c1a455d4babd320203b918ccc7fcbefe308615c521062bc2ba1aa4d26e"}, - {file = "zope.interface-5.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:0cba8477e300d64a11a9789ed40ee8932b59f9ee05f85276dbb4b59acee5dd09"}, - {file = "zope.interface-5.4.0.tar.gz", hash = "sha256:5dba5f530fec3f0988d83b78cc591b58c0b6eb8431a85edd1569a0539a8a5a0e"}, -] diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index 76151ca..0000000 --- a/pyproject.toml +++ /dev/null @@ -1,37 +0,0 @@ -[tool.poetry] -name = "shepherd" -version = "0.1.0" -description = "" -authors = ["Your Name "] - -[tool.poetry.dependencies] -python = ">=3.7, <3.10" -Flask = "1.1.4" -Flask-Sockets = "^0.2.1" -Flask-Cors = "^3.0.10" -enum34 = "^1.1.10" -pytz = "^2021.3" -python-language-server = "^0.36.2" -jsonrpc = "^3.0.1" -smbus2 = "^0.4.1" -opencv-python = "^4.5.3" -scipy = "^1.7.1" -flake8 = "3.8.0" -flakehell = "^0.9.0" - - -[tool.poetry.dev-dependencies] -fake-rpi = "^0.7.1" - - -[tool.flakehell] -# Inherit config -base = "https://raw.githubusercontent.com/life4/flakehell/master/pyproject.toml" -format = "grouped" -max_line_length = 100 -show_source = true -baseline = "baseline.txt" - -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" diff --git a/robotsrc/blocks.json b/robotsrc/blocks.json deleted file mode 100644 index 2078c31..0000000 --- a/robotsrc/blocks.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "requires": ["nice_robot.py"], - "header": "from __future__ import print_function\nfrom nice_robot import *\nimport time", - "blocks": [ - { - "id": "sleep", - "definition": [ - "Wait", - { - "id": "seconds", - "type": "number", - "default": 1 - }, - "second(s)" - ], - "template": "time.sleep(<%= seconds %>)" - }, - { - "id": "move", - "definition": [ - "Move", - { - "id": "distance", - "type": "number", - "default": 1 - }, - "metre(s)" - ], - "template": "move(<%= distance %>)" - }, - { - "id": "turn", - "definition": [ - "Turn", - { - "id": "angle", - "type": "number", - "default": 90 - }, - "degree(s)" - ], - "template": "move(<%= angle %>)" - }, - { - "id": "turn_to_cube", - "definition": "Turn to cube", - "template": "turn_to_cube()" - }, - { - "id": "move_to_cube", - "definition": "Move to cube", - "template": "move_to_cube()" - } - ] -} \ No newline at end of file diff --git a/robotsrc/main.py b/robotsrc/main.py deleted file mode 100644 index 3755e78..0000000 --- a/robotsrc/main.py +++ /dev/null @@ -1 +0,0 @@ -# DO NOT DELETE diff --git a/robotsrc/new_project.py b/robotsrc/new_project.py deleted file mode 100644 index e69de29..0000000 diff --git a/robotsrc/nice_robot.py b/robotsrc/nice_robot.py deleted file mode 100644 index 02a9ca7..0000000 --- a/robotsrc/nice_robot.py +++ /dev/null @@ -1,79 +0,0 @@ -# This is the default Python implementation for the Blockly blocks -# For information on how to customise this, please see the docs -from __future__ import print_function -import robot -import time - -power = 50 -multiplier = power / 25 -speed = 0.2 * multiplier -angleSpeed = 139.5 * multiplier - -R = robot.Robot() - -time.sleep(0.1) - -def move(distance): - print("Moving", distance, "m") - t = distance / (speed) - - R.motors[0].m0.power = -power - R.motors[0].m1.power = -power - - time.sleep(t) - - R.motors[0].m0.power = 0 - R.motors[0].m1.power = 0 - - -def turn(angle): - print("Turning", angle, "degrees") - t = angle / angleSpeed - - R.motors[0].m0.power = -power * t / abs(t) - R.motors[0].m1.power = power * t / abs(t) - - time.sleep(abs(t)) - - R.motors[0].m0.power = 0 - R.motors[0].m1.power = 0 - - -def turn_to_cube(): - print("Finding cube...") - notseen = 0 - while True: - markers = R.see() - if len(markers) > 0: - notseen = 0 - print("Found a cube at an angle of", markers[0].rot_y, "degrees") - turn(markers[0].rot_y) - break - else: - notseen+=1 - if notseen > 5: - print("Turning...") - turn(40) - time.sleep(0.2) - else: - time.sleep(0.1) - -def move_to_cube(): - print("Moving to cube...") - notseen = 0 - while True: - markers = R.see() - if len(markers) > 0: - notseen = 0 - print("The cube is", markers[0].dist, "metres away") - turn(markers[0].rot_y) - move(markers[0].dist / 2) - if markers[0].dist < 0.2: - break - else: - notseen+=1 - if notseen > 5: - break - else: - time.sleep(0.1) - diff --git a/runner/enums.py b/runner/enums.py deleted file mode 100644 index 834dac9..0000000 --- a/runner/enums.py +++ /dev/null @@ -1,12 +0,0 @@ -from enum import Enum - -class State(Enum): - # Once shepherd is up, we are by definition ready to run code, so - # there's no need for a "booting" state. - ready = object() - running = object() - post_run = object() - -class Mode(Enum): - dev = "dev" - comp = "comp" \ No newline at end of file diff --git a/runner/reaper.py b/runner/reaper.py deleted file mode 100644 index f2008e0..0000000 --- a/runner/reaper.py +++ /dev/null @@ -1,56 +0,0 @@ -from enums import State -import threading -import errno - -class Reaper: - @staticmethod - def reap(state, user_code, output_file, reason="", reap_grace_time=5): - if reason is None: - print("Reaping user code") - else: - print("Reaping user code ({})".format(reason)) - if state != State.running: - print("Warning: told to stop code, but state is {}, not State.running!".format(state)) - try: - user_code.terminate() - except OSError as e: - if e.errno == errno.ESRCH: # No such process - pass - else: - raise - if user_code.poll() is None: - butcher_thread = threading.Timer(reap_grace_time, Reaper.butcher, [user_code]) - butcher_thread.daemon = True - butcher_thread.start() - try: - user_code.communicate() - except Exception as e: - print("death: Caught an error while killing user code, sod Python's I/O handling...") - print("death: The error was: {}: {}".format(type(e), e)) - butcher_thread.cancel() - if output_file is not None: - try: - output_file.write("\n==== END OF ROUND ====\n\n") - except Exception: - pass - try: - output_file.close() - except Exception as e: - print("death: Caught an error while closing user code's output.") - print("death: The error was: {}: {}".format(type(e).__name__, e)) - - print("Done reaping user code") - return State.post_run - - @staticmethod - def butcher(user_code): - if user_code.poll() is None: - print("Butchering user code") - try: - user_code.kill() - except OSError as e: - if e.errno == errno.ESRCH: # No such process - pass - else: - raise - print("Done butchering user code") diff --git a/runner/start.py b/runner/start.py deleted file mode 100644 index 4dea08f..0000000 --- a/runner/start.py +++ /dev/null @@ -1,259 +0,0 @@ -#!/usr/bin/python3 - -import os, sys, shutil -import RPi.GPIO as GPIO -import json -import time -import subprocess, threading -import atexit -from pytz import utc -from pathlib import Path - -from enums import Mode, State -from reaper import Reaper - -from hopper.client import * -from hopper.common import * - -ROBOT_LIB_LOCATION = "/home/pi/robot" - -def load_package_paths(): - if not os.path.exists(ROBOT_LIB_LOCATION): - raise ImportError(f"Cannot find robot library!") - - sys.path.insert(0, ROBOT_LIB_LOCATION) - -class Runner: - ROUND_LENGTH = 180 - REAP_GRACE_TIME = 5 - OUTPUT_FILE_PATH = "/media/RobotUSB/logs.txt" - - # Tell the WebSocket handler to clear its buffer - ERASE_ESCAPE_SEQUENCE = b'\033[2J' - - USER_PIPE_NAME = None - FLASK_PIPE_NAME = None - LOG_PIPE_NAME = None - HOPPER_CLIENT = None - - PIPE_DIRECTORY = "/home/pi/pipes" - - START_BUTTON_BOUNCE_TIME=1000 - START_BUTTON_PIN = 26 - - GAME_CONTROL_PATH = Path("/media/ArenaUSB") - - MODE = None - ZONE = None - STATE = None - - REAPER_TIMER = None - DISABLE_REAPER = None - REAP_TIME = None - - USERCODE = None - OUTPUT_FILE = None - - USER_CODE_PATH = "/home/pi/shepherd/usercode" - USER_CODE_ENTRYPOINT_NAME = "main.py" - USER_CODE_ENTRYPOINT_PATH = os.path.join(USER_CODE_PATH,USER_CODE_ENTRYPOINT_NAME) - - USER_CODE_LOG_PIPE_NAME = None - - RUNNING = False - - def __init__(self): - os.makedirs(self.USER_CODE_PATH, exist_ok=True) - os.chown(self.USER_CODE_PATH, 1000, 1000) # pi:pi - - self.HOPPER_CLIENT = HopperClient() - - self.LOG_PIPE_NAME = PipeName((PipeType.INPUT, "log", "starter"), self.PIPE_DIRECTORY) - self.HOPPER_CLIENT.open_pipe(self.LOG_PIPE_NAME, delete=True, create=True) - - self.USER_PIPE_NAME = PipeName((PipeType.INPUT, "start-button", "starter"), self.PIPE_DIRECTORY) - self.HOPPER_CLIENT.open_pipe(self.USER_PIPE_NAME, delete=True, create=True) - - self.FLASK_PIPE_NAME = PipeName((PipeType.OUTPUT, "starter", "starter"), self.PIPE_DIRECTORY) - self.HOPPER_CLIENT.open_pipe(self.FLASK_PIPE_NAME, delete=True, create=True, blocking=True) - - self.__load_start_graphic() - self.__init_gpio() - - robot_reset.reset() - self.__reset_state() - self.__start_usercode() - self.__set_reaper_at_exit() - - def __set_reaper_at_exit(self): - atexit.register(self.__reap) - - def __reap(self, reason=""): - Reaper.reap(self.STATE, self.USERCODE, self.OUTPUT_FILE, reason=reason, reap_grace_time=self.REAP_GRACE_TIME) - - def __reset_state(self): - self.STATE = State.ready # The state of the user code. - self.ZONE = None # The robot's home zone, an integer from 0 to 3. - self.MODE = None # The robot's mode (development or competition), used for marker recognition. - self.DISABLE_REAPER = None # Whether the reaper will kill the user code or not. - self.REAPER_TIMER = None # The threading.Timer object that controls the reaper. - self.REAP_TIME = None # The time at which the user code will be killed. - self.USERCODE = None # A subprocess.Popen object representing the running user code. - self.OUTPUT_FILE = None # The file to which output from the user code goes. - - def __start_usercode(self): - # Send the erase escape sequence to clear remote logs - self.HOPPER_CLIENT.write(self.LOG_PIPE_NAME, self.ERASE_ESCAPE_SEQUENCE) - - pipe_fd = self.HOPPER_CLIENT.get_pipe_by_pipe_name(self.LOG_PIPE_NAME).fd - - # Reload the image if possible - self.__load_start_graphic() - - environment = dict(os.environ) - environment["PYTHONPATH"] = ROBOT_LIB_LOCATION - # Start the user code. - self.USERCODE = subprocess.Popen( - [ - # python -u /path/to/the_code.py - sys.executable, "-u", self.USER_CODE_ENTRYPOINT_PATH, - ], - stdout=pipe_fd, - stderr=pipe_fd, - bufsize=1, # Line-buffered - close_fds="posix" in sys.builtin_module_names, # Only if we're not on Windows - env=environment, - ) - user_code_wait_thread = threading.Thread(target=self.__user_code_wait) - user_code_wait_thread.daemon = True - user_code_wait_thread.start() - - def __user_code_wait(self): - exit_code = self.USERCODE.wait() - if exit_code == 1: - self.__round_end() - - def __round_end(self): - self.__reap(reason="end of round") - robot_reset.reset() - time.sleep(0.5) - - def __init_gpio(self): - GPIO.setmode(GPIO.BCM) - GPIO.setup(self.START_BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) - - GPIO.add_event_detect(self.START_BUTTON_PIN, GPIO.FALLING, callback=self.__gpio_start, bouncetime=self.START_BUTTON_BOUNCE_TIME) - - def __load_start_graphic(self): - teamname_file = Path('/home/pi/teamname.txt') - if teamname_file.exists(): - teamname_jpg = teamname_file.read_text().replace('\n', '') +'.jpg' - else: - teamname_jpg = 'none' - - # Pick a start imapge in order of preference : - # 1) We have a team corner image on the USB - # 2) The team have uploaded their own image to the robot - # 3) We have a generic corner image on the USB - # 4) The game image - start_graphic = self.GAME_CONTROL_PATH / teamname_jpg - if not start_graphic.exists(): - # attempt to find the team specific corner graphic from the ArenaUSB - start_graphic = Path('/home/pi/shepherd/robotsrc/team_logo.jpg') - if not start_graphic.exists(): - # attempt to find the default corner graphic from ArenaUSB - start_graphic = self.GAME_CONTROL_PATH / 'Corner.jpg' - if not start_graphic.exists(): - # finally look for a game specific logo - start_graphic = Path('/home/pi/game_logo.jpg') - if start_graphic.exists(): - # if ANY of the above paths generate a useful image, copy it into the web "static" files like an animal who doesn't understand the word static - # if this all fails then the user will see the last image the camera took - static_graphic = Path('/home/pi/shepherd/shepherd/static/image.jpg') - static_graphic.write_bytes(start_graphic.read_bytes()) - - def __gpio_start(self, _): - zone = "0" - if (self.GAME_CONTROL_PATH / 'zone1.txt').exists(): - zone = "1" - elif (self.GAME_CONTROL_PATH / 'zone2.txt').exists(): - zone = "2" - elif (self.GAME_CONTROL_PATH / 'zone3.txt').exists(): - zone = "3" - - self.__start({ - "mode": "comp", - "zone": int(zone) - }) - - def __start(self, params): - self.MODE = Mode[params["mode"]] - self.ZONE = int(params["zone"]) - - if self.STATE == State.ready: - self.STATE = State.running - - start_args = json.dumps({ - "mode": self.MODE.value, - "zone": self.ZONE, - "arena": "A", - }) - - # Put the JSON configuration in the pipe - self.HOPPER_CLIENT.write(self.USER_PIPE_NAME, start_args.encode("utf-8")) - - if self.MODE == Mode.comp: - self.REAPER_TIMER = threading.Timer(self.ROUND_LENGTH, self.__round_end) - # If we get told to exit, there's no point waiting around for the round to finish. - self.REAPER_TIMER.daemon = True - self.REAPER_TIMER.start() - print("Started the robot! It will stop automatically in {} seconds.".format(self.ROUND_LENGTH)) - else: - print("Started the robot! It will not stop automatically.") - - def __stop(self): - if self.STATE == State.ready: - print("The robot has not run yet, can't stop it before it's started.") - elif self.STATE == State.running: - try: - self.REAPER_TIMER.cancel() - except AttributeError: # probably because reaper_timer is None - pass - self.__round_end() - print("Stopped the robot!") - elif self.STATE == State.post_run: - print("Code already ran, can't stop it") - else: - raise Exception("This can't happen") - - def __upload(self): - if self.REAPER_TIMER is not None: - self.REAPER_TIMER.cancel() - - self.__reap("new code upload") - - robot_reset.reset() - self.__reset_state() - self.__start_usercode() - - def run(self): - self.RUNNING = True - while (1): - b = self.HOPPER_CLIENT.read(self.FLASK_PIPE_NAME) - if b != None and len(b) > 0: - s = b.decode("utf-8").strip("\n ") - d = json.loads(s) - if d["request"] == "start": - self.__start(d["params"]) - elif d["request"] == "stop": - self.__stop() - elif d["request"] == "upload": - self.__upload() - -if __name__ == "__main__": - load_package_paths() - - import robot.reset as robot_reset - - r = Runner() - r.run() diff --git a/scripts/robot_reset.py b/scripts/robot_reset.py new file mode 100755 index 0000000..815eb2b --- /dev/null +++ b/scripts/robot_reset.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python3 + +import sys + +try: + from robocon.brain.reset import reset + reset() +except ImportError: + print("failed to locate robot library!") + sys.exit(1) diff --git a/setup.py b/setup.py deleted file mode 100644 index 37fa9a5..0000000 --- a/setup.py +++ /dev/null @@ -1,16 +0,0 @@ -from setuptools import setup - -setup( - name="shepherd", - version="0.1", - packages=["shepherd"], - - install_requires=[ - "Flask", - "enum34 ; python_version < '3.4'", - "pytz", - ], - - author="Josh Holland", - author_email="anowlcalledjosh@gmail.com", -) diff --git a/sheep/.gitignore b/sheep/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/sheep/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/sheep/app/App.vue b/sheep/app/App.vue new file mode 100644 index 0000000..a6dfdc8 --- /dev/null +++ b/sheep/app/App.vue @@ -0,0 +1,121 @@ + + + + + \ No newline at end of file diff --git a/sheep/app/assets/block_definitions.svg b/sheep/app/assets/block_definitions.svg new file mode 100644 index 0000000..741c059 --- /dev/null +++ b/sheep/app/assets/block_definitions.svg @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/sheep/app/assets/blocks.svg b/sheep/app/assets/blocks.svg new file mode 100644 index 0000000..3681d7c --- /dev/null +++ b/sheep/app/assets/blocks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sheep/app/assets/python.svg b/sheep/app/assets/python.svg new file mode 100644 index 0000000..7574995 --- /dev/null +++ b/sheep/app/assets/python.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sheep/app/bus.ts b/sheep/app/bus.ts new file mode 100644 index 0000000..dc7e25b --- /dev/null +++ b/sheep/app/bus.ts @@ -0,0 +1,3 @@ +import Vue from "vue"; + +export default new Vue(); diff --git a/sheep/app/components/IconButton.vue b/sheep/app/components/IconButton.vue new file mode 100644 index 0000000..bc0b9a0 --- /dev/null +++ b/sheep/app/components/IconButton.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/sheep/app/components/Messages.vue b/sheep/app/components/Messages.vue new file mode 100644 index 0000000..ed4a3fa --- /dev/null +++ b/sheep/app/components/Messages.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/sheep/app/components/ProjectTab.vue b/sheep/app/components/ProjectTab.vue new file mode 100644 index 0000000..0637761 --- /dev/null +++ b/sheep/app/components/ProjectTab.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/sheep/app/components/dialog/CreateProjectDialog.vue b/sheep/app/components/dialog/CreateProjectDialog.vue new file mode 100644 index 0000000..c18527f --- /dev/null +++ b/sheep/app/components/dialog/CreateProjectDialog.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/sheep/app/components/dialog/DeleteProjectDialog.vue b/sheep/app/components/dialog/DeleteProjectDialog.vue new file mode 100644 index 0000000..400b01b --- /dev/null +++ b/sheep/app/components/dialog/DeleteProjectDialog.vue @@ -0,0 +1,33 @@ + + + diff --git a/sheep/app/components/dialog/DialogWrapper.vue b/sheep/app/components/dialog/DialogWrapper.vue new file mode 100644 index 0000000..a02b9b8 --- /dev/null +++ b/sheep/app/components/dialog/DialogWrapper.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/sheep/app/components/dialog/PictureDialog.vue b/sheep/app/components/dialog/PictureDialog.vue new file mode 100644 index 0000000..fd9db74 --- /dev/null +++ b/sheep/app/components/dialog/PictureDialog.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/sheep/app/components/dialog/RunConfigDialog.vue b/sheep/app/components/dialog/RunConfigDialog.vue new file mode 100644 index 0000000..a2b3ffc --- /dev/null +++ b/sheep/app/components/dialog/RunConfigDialog.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/sheep/app/components/editor/Editor.vue b/sheep/app/components/editor/Editor.vue new file mode 100644 index 0000000..de84593 --- /dev/null +++ b/sheep/app/components/editor/Editor.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/sheep/app/components/editor/Tabs.vue b/sheep/app/components/editor/Tabs.vue new file mode 100644 index 0000000..43c9911 --- /dev/null +++ b/sheep/app/components/editor/Tabs.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/sheep/app/components/editor/blockly/Blockly.vue b/sheep/app/components/editor/blockly/Blockly.vue new file mode 100644 index 0000000..1e31b86 --- /dev/null +++ b/sheep/app/components/editor/blockly/Blockly.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/sheep/app/components/editor/blockly/block-loader.ts b/sheep/app/components/editor/blockly/block-loader.ts new file mode 100644 index 0000000..0fd5298 --- /dev/null +++ b/sheep/app/components/editor/blockly/block-loader.ts @@ -0,0 +1,105 @@ +const _ = { + isArray: require("lodash/isArray"), + isPlainObject: require("lodash/isPlainObject"), + template: require("lodash/template") +}; + +interface BlockParameter { + id: string; + type: "number" | "boolean" | "angle" | "text"; + default: any; +} + +export interface BlockDefinition { + id: string; + definition: ((string | BlockParameter)[]) | string; + template: string; +} + +export interface BlocksConfiguration { + requires: string[]; + header: string; + footer: string; + blocks: BlockDefinition[]; +} + +function getField(Blockly: any, parameter: BlockParameter) { + switch (parameter.type) { + case "number": + return new Blockly.FieldNumber(parameter.default); + case "boolean": + return new Blockly.FieldCheckbox(parameter.default); + case "angle": + return new Blockly.FieldAngle(parameter.default); + case "text": + return new Blockly.FieldTextInput(parameter.default); + default: + console.error(`Unknown field type: ${parameter.type}`); + return new Blockly.FieldTextInput(parameter.default); + } +} + +export default function loadBlocks( + Blockly: any, + blocks: BlockDefinition[] +): string { + let toolbox = ""; + + blocks.forEach(block => { + const id = `robot_${block.id}`; + + toolbox += `\n`; + + Blockly.Blocks[id] = { + init: function() { + let dummy = this.appendDummyInput(); + + function addText(text: string) { + dummy.appendField(text); + } + + if (_.isArray(block.definition)) { + for (let part of block.definition) { + if (_.isPlainObject(part)) { + const parameter = part as BlockParameter; + dummy.appendField(getField(Blockly, parameter), parameter.id); + } else { + addText(part as string); + } + } + } else { + addText(block.definition as string); + } + + this.setInputsInline(true); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(65); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + const fields: string[] = []; + if (_.isArray(block.definition)) { + for (let part of block.definition) { + if (_.isPlainObject(part)) { + const parameter = part as BlockParameter; + fields.push(parameter.id); + } + } + } + + const compiled = _.template(block.template); + + Blockly.Python[id] = function(item: any) { + const input: { [index: string]: any } = {}; + for (let field of fields) { + input[field] = item.getFieldValue(field); + } + return compiled(input) + "\n"; + }; + }); + + return toolbox; +} diff --git a/sheep/app/components/editor/blockly/blocks.js b/sheep/app/components/editor/blockly/blocks.js new file mode 100644 index 0000000..fb3a785 --- /dev/null +++ b/sheep/app/components/editor/blockly/blocks.js @@ -0,0 +1,677 @@ +/* +This program: +-Set hues of different block types +-Defines a function for movement blocks +-Defines a function for GPIO blocks +-Defines a function for Vision blocks + (and marker team because there isn't a better location), + but excluding marker blocks (see next function) +-Defines a function for marker blocks; + you will almost definetly have to change them for next year +-Defines a exported function called load blocks. + This will call the first 4 functions, then add the block wait + (this is added to logic in toolbox.xml) + +(This is from my understanding I will get some names wrong) +To add each block, two things are required - +The first is a method which defines what the block looks like and what parameter (if any) it take +It uses the constant colour hues definied at the beginning +The second is a function which decides how it is converted into python and returns +a string which is concatenated with others in the finished programm in Blockly.vue +(see Blockly.vue line 80 ish) + +If you want to specifically want to change a marker specifically, +it looks like this (in the marker blocks function): + +Blockly.Blocks["vision_marker_type_arena"] = { <-What the marker is called internally + init: function() { + this.appendDummyInput().appendField("Arena"); <-The name on the block + this.setOutput(true, "MarkerType"); <-The output given - with how it is currently set up, should be "MarkerType" or "MarkerTeam" + this.setColour(markerTypeHue); <-Sets the hue of the block to the constant defined at the start + this.setTooltip(""); <-Sets the text displayd when hovered over (if you want to) + this.setHelpUrl(""); + } +}; + +Blockly.Python["vision_marker_type_arena"] = function() { <-Make sure the name is the same internally + const code = "robot.MARKER_TYPE.ARENA"; <-Set the constant that is the code that is returned + return [code, Blockly.Python.ORDER_NONE]; <-Returns said constant +}; + +Finally: +REMEMBER TO CHANGE TOOLBOX.XML WHENEVER YOU CHANGE NAMES OR ADD OR REMOVE BLOCKS +*/ + +// Block colours use HSL. setColor takes the hue value (0 to 255). +const movementHue = 0; +const gpioHue = 210; +const visionHue = 90; +const markerTypeHue = 70; +const markerTeamHue = 60; + +function loadMovementBlocks(Blockly) { + Blockly.Blocks["motors_set_power"] = { + init: function() { + this.appendDummyInput() + .appendField("Set motor") + .appendField(new Blockly.FieldNumber(1, 0, 1, 1), "MOTOR_INDEX"); + this.appendValueInput("MOTOR_PERCENT") + .setCheck("Number") + .appendField("to"); + this.appendDummyInput().appendField("% power"); + this.setInputsInline(true); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(movementHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["motors_move_for_time"] = { + init: function() { + this.appendDummyInput() + .appendField("Move ") + .appendField( + new Blockly.FieldDropdown([ + ["forwards", "FORWARDS"], + ["backwards", "BACKWARDS"] + ]), + "MOTORS_DIRECTION" + ); + this.appendValueInput("MOTORS_TIME") + .setCheck("Number") + .appendField("for"); + this.appendValueInput("MOTORS_POWER_PERCENT") + .setCheck("Number") + .appendField("second(s) at"); + this.appendDummyInput().appendField("% power"); + this.setInputsInline(true); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(movementHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["motors_turn_for_time"] = { + init: function() { + this.appendDummyInput() + .appendField("Turn") + .appendField( + new Blockly.FieldDropdown([ + ["clockwise", "CLOCKWISE"], + ["anticlockwise", "ANTICLOCKWISE"] + ]), + "MOTORS_DIRECTION" + ); + this.appendValueInput("MOTORS_TIME") + .setCheck("Number") + .appendField("for"); + this.appendValueInput("MOTORS_POWER") + .setCheck("Number") + .appendField("second(s) at"); + this.appendDummyInput().appendField("% power"); + this.setInputsInline(true); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(movementHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["motors_reset"] = { + init: function() { + this.appendDummyInput().appendField("Stop both motors"); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(movementHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + /*Blockly.Blocks["motors_safety_override"] = { + init: function() { + this.appendDummyInput().appendField("Enable motor safety override"); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(0); + this.setTooltip(""); + this.setHelpUrl(""); + } + };*/ + + Blockly.Blocks["servo_set_position"] = { + init: function() { + this.appendDummyInput() + .appendField("Set servo") + .appendField(new Blockly.FieldNumber(1, 0, 3, 1), "SERVO_INDEX"); + this.appendValueInput("SERVO_POSITION") + .setCheck("Number") + .appendField("to the"); + this.appendDummyInput().appendField("% position"); + this.setInputsInline(true); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(movementHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["zone"] = { + init: function() { + this.appendDummyInput().appendField("Own Team"); + this.setOutput(true, null); + this.setColour(movementHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Python["motors_set_power"] = function(block) { + const number_motor_index = block.getFieldValue("MOTOR_INDEX"); + const value_motor_percent = Blockly.Python.valueToCode( + block, + "MOTOR_PERCENT", + Blockly.Python.ORDER_ATOMIC + ); + return `R.motors[${number_motor_index}] = ${value_motor_percent}\n`; + }; + + Blockly.Python["motors_move_for_time"] = function(block) { + const dropdown_motors_direction = block.getFieldValue("MOTORS_DIRECTION"); + const value_motors_time = Blockly.Python.valueToCode( + block, + "MOTORS_TIME", + Blockly.Python.ORDER_ATOMIC + ); + const value_motors_power_percent = Blockly.Python.valueToCode( + block, + "MOTORS_POWER_PERCENT", + Blockly.Python.ORDER_ATOMIC + ); + const sign = dropdown_motors_direction === "FORWARDS" ? "" : "-"; + return [ + `R.motors[0] = ${sign}${value_motors_power_percent}`, + `R.motors[1] = ${sign}${value_motors_power_percent}`, + `time.sleep(${value_motors_time})`, + `R.motors[0] = 0`, + `R.motors[1] = 0`, + "" + ].join("\n"); + }; + + Blockly.Python["motors_turn_for_time"] = function(block) { + const dropdown_motors_direction = block.getFieldValue("MOTORS_DIRECTION"); + const value_motors_time = Blockly.Python.valueToCode( + block, + "MOTORS_TIME", + Blockly.Python.ORDER_ATOMIC + ); + const value_motors_power = Blockly.Python.valueToCode( + block, + "MOTORS_POWER", + Blockly.Python.ORDER_ATOMIC + ); + const first_sign = dropdown_motors_direction === "CLOCKWISE" ? "" : "-"; + const second_sign = dropdown_motors_direction === "CLOCKWISE" ? "-" : ""; + return [ + `R.motors[0] = ${first_sign}${value_motors_power}`, + `R.motors[1] = ${second_sign}${value_motors_power}`, + `time.sleep(${value_motors_time})`, + `R.motors[0] = 0`, + `R.motors[1] = 0`, + "" + ].join("\n"); + }; + + Blockly.Python["motors_reset"] = function() { + return "R.motors[0] = 0\nR.motors[1] = 0\n"; + }; + + /*Blockly.Python["motors_safety_override"] = function() { + return "R.motors.safety_override = True\n"; + };*/ + + Blockly.Python["servo_set_position"] = function(block) { + const number_servo_index = block.getFieldValue("SERVO_INDEX"); + const value_servo_position = Blockly.Python.valueToCode( + block, + "SERVO_POSITION", + Blockly.Python.ORDER_ATOMIC + ); + return `R.servos[${number_servo_index}] = ${value_servo_position}\n`; + }; + + Blockly.Python["zone"] = function() { + const code = "R.zone"; + return [code, Blockly.Python.ORDER_NONE]; + }; +} + +function loadGPIOBlocks(Blockly) { + Blockly.Blocks["gpio_set_mode"] = { + init: function() { + this.appendDummyInput() + .appendField("Set the mode of GPIO") + .appendField(new Blockly.FieldNumber(1, 0, 3, 1), "GPIO_INDEX") + .appendField("to") + .appendField( + new Blockly.FieldDropdown([ + ["Output", "OUTPUT"], + ["Digital Input", "INPUT"], + ["Analog Input", "INPUT_ANALOG"], + ["Input Pullup", "INPUT_PULLUP"] + ]), + "GPIO_MODE" + ); + this.setInputsInline(true); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(gpioHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["gpio_write_digital"] = { + init: function() { + this.appendValueInput("GPIO_STATE") + .setCheck("Boolean") + .appendField("Set GPIO") + .appendField(new Blockly.FieldNumber(1, 0, 4, 1), "GPIO_INDEX") + .appendField("to"); + this.setInputsInline(true); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(gpioHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["gpio_read_digital"] = { + init: function() { + this.appendDummyInput() + .appendField("Digital value of GPIO") + .appendField(new Blockly.FieldNumber(1, 0, 4, 1), "GPIO_INDEX"); + this.setOutput(true, "Boolean"); + this.setColour(gpioHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["gpio_read_analog"] = { + init: function() { + this.appendDummyInput() + .appendField("Analog value of GPIO") + .appendField(new Blockly.FieldNumber(1, 0, 4, 1), "GPIO_INDEX"); + this.setOutput(true, "Number"); + this.setColour(gpioHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Python["gpio_set_mode"] = function(block) { + const number_gpio_index = block.getFieldValue("GPIO_INDEX"); + const dropdown_gpio_mode = block.getFieldValue("GPIO_MODE"); + return `R.gpio[${number_gpio_index}].mode = ${dropdown_gpio_mode}\n`; + }; + + Blockly.Python["gpio_write_digital"] = function(block) { + const number_gpio_index = block.getFieldValue("GPIO_INDEX"); + const value_gpio_state = Blockly.Python.valueToCode( + block, + "GPIO_STATE", + Blockly.Python.ORDER_ATOMIC + ); + return `R.gpio[${number_gpio_index}].digital = ${value_gpio_state}\n`; + }; + + Blockly.Python["gpio_read_digital"] = function(block) { + const number_gpio_index = block.getFieldValue("GPIO_INDEX"); + const code = `R.gpio[${number_gpio_index}].digital`; + return [code, Blockly.Python.ORDER_NONE]; + }; + + Blockly.Python["gpio_read_analog"] = function(block) { + const number_gpio_index = block.getFieldValue("GPIO_INDEX"); + const code = `R.gpio[${number_gpio_index}].analog`; + return [code, Blockly.Python.ORDER_NONE]; + }; +} + +function loadVisionBlocks(Blockly) { + /* Loads blocks for vision code that are not dependent on the current year's game. + * Marker blocks (year depentent) are loaded in loadMarkerBlocks. */ + + Blockly.Blocks["vision_see"] = { + init: function() { + this.appendDummyInput() + .appendField("Visible markers") + this.setOutput(true, "Array"); + this.setColour(visionHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["vision_camera_res"] = { + init: function() { + this.appendDummyInput() + .appendField("Set camera resolution to") + .appendField( + new Blockly.FieldDropdown([ + ["640x480", "(640, 480)"], + ["1296x736", "(1296, 736)"], + ["1296x976", "(1296, 976)"], + ["1920x1088", "(1920, 1088)"], + ["1920x1440", "(1920, 1440)"] + ]), + "VISION_RESOLUTION" + ); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(visionHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["vision_distance_to"] = { + init: function() { + this.appendValueInput("MARKER") + .setCheck("Marker") + .appendField("Distance to"); + this.setInputsInline(false); + this.setOutput(true, "Number"); + this.setColour(visionHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["vision_angle_to"] = { + init: function() { + this.appendValueInput("MARKER") + .setCheck("Marker") + .appendField("Angle to"); + this.setInputsInline(false); + this.setOutput(true, "Number"); + this.setColour(visionHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["vision_marker_type"] = { + init: function() { + this.appendValueInput("MARKER") + .setCheck("Marker") + .appendField("Marker type of"); + this.setInputsInline(false); + this.setOutput(true, "MarkerType"); + this.setColour(markerTypeHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["vision_marker_team"] = { + init: function() { + this.appendValueInput("MARKER") + .setCheck("Marker") + .appendField("Marker team of"); + this.setInputsInline(false); + this.setOutput(true, "MarkerTeam"); + this.setColour(markerTeamHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Blocks["vision_marker_target_type"] = { + init: function() { + this.appendValueInput("MARKER") + .setCheck("Marker") + .appendField("Marker target type of"); + this.setInputsInline(false); + this.setOutput(true, "MarkerTargetType"); + this.setColour(markerTeamHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Python["vision_see"] = function(block) { + const code = `R.see()`; + return [code, Blockly.Python.ORDER_NONE]; + }; + + Blockly.Python["vision_camera_res"] = function(block) { + const dropdown_vision_resolution = block.getFieldValue("VISION_RESOLUTION"); + return `R.camera.res = ${dropdown_vision_resolution}\n`; + }; + + Blockly.Python["vision_distance_to"] = function(block) { + const value_marker = Blockly.Python.valueToCode( + block, + "MARKER", + Blockly.Python.ORDER_ATOMIC + ); + const code = `${value_marker}.dist`; + return [code, Blockly.Python.ORDER_NONE]; + }; + + Blockly.Python["vision_angle_to"] = function(block) { + const value_marker = Blockly.Python.valueToCode( + block, + "MARKER", + Blockly.Python.ORDER_ATOMIC + ); + const code = `${value_marker}.bearing.y`; + return [code, Blockly.Python.ORDER_NONE]; + }; + + Blockly.Python["vision_marker_type"] = function(block) { + const value_marker = Blockly.Python.valueToCode( + block, + "MARKER", + Blockly.Python.ORDER_ATOMIC + ); + const code = `${value_marker}.info.type`; + return [code, Blockly.Python.ORDER_NONE]; + }; + + Blockly.Python["vision_marker_team"] = function(block) { + const value_marker = Blockly.Python.valueToCode( + block, + "MARKER", + Blockly.Python.ORDER_ATOMIC + ); + const code = `${value_marker}.info.owning_team`; + return [code, Blockly.Python.ORDER_NONE]; + }; + + Blockly.Python["vision_marker_target_type"] = function(block) { + const value_marker = Blockly.Python.valueToCode( + block, + "MARKER", + Blockly.Python.ORDER_ATOMIC + ); + const code = `${value_marker}.info.target_type`; + return [code, Blockly.Python.ORDER_NONE]; + }; +} + +function loadMarkerBlocks(Blockly) { + /* Year dependent marker blocks (2024) */ + + Blockly.Blocks["vision_marker_type_arena"] = { + init: function() { + this.appendDummyInput().appendField("Arena"); + this.setOutput(true, "MarkerType"); + this.setColour(markerTypeHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + Blockly.Blocks["vision_marker_type_target"] = { + init: function() { + this.appendDummyInput().appendField("Target"); + this.setOutput(true, "MarkerType"); + this.setColour(markerTypeHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + Blockly.Blocks["vision_marker_type_tree"] = { + init: function() { + this.appendDummyInput().appendField("Tree"); + this.setOutput(true, "MarkerType"); + this.setColour(markerTypeHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + + + Blockly.Blocks["vision_marker_team_red"] = { + init: function() { + this.appendDummyInput().appendField("Red"); + this.setOutput(true, "MarkerTeam"); + this.setColour(markerTeamHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + Blockly.Blocks["vision_marker_team_green"] = { + init: function() { + this.appendDummyInput().appendField("Green"); + this.setOutput(true, "MarkerTeam"); + this.setColour(markerTeamHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + Blockly.Blocks["vision_marker_team_yellow"] = { + init: function() { + this.appendDummyInput().appendField("Yellow"); + this.setOutput(true, "MarkerTeam"); + this.setColour(markerTeamHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + Blockly.Blocks["vision_marker_team_blue"] = { + init: function() { + this.appendDummyInput().appendField("Blue"); + this.setOutput(true, "MarkerTeam"); + this.setColour(markerTeamHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + + + Blockly.Blocks["vision_marker_target_type_supply_crate"] = { + init: function() { + this.appendDummyInput().appendField("Supply Crate"); + this.setOutput(true, "MarkerTargetType"); + this.setColour(markerTeamHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + Blockly.Blocks["vision_marker_target_type_supply_drop"] = { + init: function() { + this.appendDummyInput().appendField("Supply Drop"); + this.setOutput(true, "MarkerTargetType"); + this.setColour(markerTeamHue); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + + + Blockly.Python["vision_marker_type_arena"] = function() { + const code = "MARKER_TYPE.ARENA"; + return [code, Blockly.Python.ORDER_NONE]; + }; + Blockly.Python["vision_marker_type_target"] = function() { + const code = "MARKER_TYPE.TARGET"; + return [code, Blockly.Python.ORDER_NONE]; + }; + Blockly.Python["vision_marker_type_tree"] = function() { + const code = "MARKER_TYPE.TREE"; + return [code, Blockly.Python.ORDER_NONE]; + }; + + + + Blockly.Python["vision_marker_team_red"] = function() { + const code = "SECTOR.RED"; + return [code, Blockly.Python.ORDER_NONE]; + }; + Blockly.Python["vision_marker_team_green"] = function() { + const code = "SECTOR.GREEN"; + return [code, Blockly.Python.ORDER_NONE]; + }; + Blockly.Python["vision_marker_team_yellow"] = function() { + const code = "SECTOR.YELLOW"; + return [code, Blockly.Python.ORDER_NONE]; + }; + Blockly.Python["vision_marker_team_blue"] = function() { + const code = "SECTOR.BLUE"; + return [code, Blockly.Python.ORDER_NONE]; + }; + + + + Blockly.Python["vision_marker_target_type_supply_crate"] = function() { + const code = "TARGET_TYPE.SUPPLY_CRATE"; + return [code, Blockly.Python.ORDER_NONE]; + }; + Blockly.Python["vision_marker_target_type_supply_drop"] = function() { + const code = "TARGET_TYPE.SUPPLY_DROP"; + return [code, Blockly.Python.ORDER_NONE]; + }; +} + +export default function loadBlocks(Blockly) { + loadMovementBlocks(Blockly); + loadGPIOBlocks(Blockly); + loadVisionBlocks(Blockly); + + // Marker blocks are specific to the competition - you probably want to change them + loadMarkerBlocks(Blockly); + + + Blockly.Blocks["wait"] = { + init: function() { + this.appendDummyInput() + .appendField("Wait") + .appendField(new Blockly.FieldNumber(1, 0, Infinity, 0.1), "TIME") + .appendField("second(s)"); + this.setPreviousStatement(true, null); + this.setNextStatement(true, null); + this.setColour(210); + this.setTooltip(""); + this.setHelpUrl(""); + } + }; + + Blockly.Python["wait"] = function(block) { + const number_time = block.getFieldValue("TIME"); + return `time.sleep(${number_time})\n`; + }; +} diff --git a/sheep/app/components/editor/blockly/toolbox.xml b/sheep/app/components/editor/blockly/toolbox.xml new file mode 100644 index 0000000..2962551 --- /dev/null +++ b/sheep/app/components/editor/blockly/toolbox.xml @@ -0,0 +1,436 @@ + diff --git a/sheep/app/components/editor/monaco/Monaco.vue b/sheep/app/components/editor/monaco/Monaco.vue new file mode 100644 index 0000000..adac049 --- /dev/null +++ b/sheep/app/components/editor/monaco/Monaco.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/sheep/app/components/editor/monaco/json/language.ts b/sheep/app/components/editor/monaco/json/language.ts new file mode 100644 index 0000000..ddca318 --- /dev/null +++ b/sheep/app/components/editor/monaco/json/language.ts @@ -0,0 +1,15 @@ +import * as monaco from "monaco-editor"; +// @ts-ignore +import schema from "./schema.json"; + +monaco.languages.json.jsonDefaults.setDiagnosticsOptions({ + validate: true, + allowComments: false, + schemas: [ + { + uri: "http://robot.go/blocks-schema.json", + fileMatch: ["*.py"], + schema: schema + } + ] +}); diff --git a/sheep/app/components/editor/monaco/json/schema.json b/sheep/app/components/editor/monaco/json/schema.json new file mode 100644 index 0000000..d0f0333 --- /dev/null +++ b/sheep/app/components/editor/monaco/json/schema.json @@ -0,0 +1,70 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "JSON schema for Block definitions files", + "type": "object", + "additionalProperties": false, + "properties": { + "requires": { + "description": "Files to be included in the code archive", + "type": "array", + "items": { + "type": "string" + } + }, + "header": { + "description": "Code placed at the beginning of generated code", + "type": "string" + }, + "footer": { + "description": "Code placed at the end of generated code", + "type": "string" + }, + "blocks": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "definition", + "template" + ], + "properties": { + "id": { + "type": "string" + }, + "definition": { + "type": ["string", "array"], + "items": { + "type": ["string", "object"], + "additionalProperties": false, + "required": [ + "id", + "type", + "default" + ], + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "number", + "boolean", + "angle", + "text" + ] + }, + "default": {} + } + } + }, + "template": { + "type": "string" + } + } + } + } + } +} \ No newline at end of file diff --git a/sheep/app/components/editor/monaco/python/language.ts b/sheep/app/components/editor/monaco/python/language.ts new file mode 100644 index 0000000..2d75711 --- /dev/null +++ b/sheep/app/components/editor/monaco/python/language.ts @@ -0,0 +1,75 @@ +import { listen, MessageConnection } from "vscode-ws-jsonrpc"; +import { + MonacoLanguageClient, + CloseAction, + ErrorAction, + MonacoServices, + createConnection +} from "monaco-languageclient"; +import * as monaco from "monaco-editor"; +import ReconnectingWebSocket from "reconnecting-websocket"; +import { tokens } from "./tokens"; +// noinspection TypeScriptPreferShortImport +import { makeFullUrl } from "../../../../store"; + +monaco.languages.register({ + id: "python", + extensions: [".py"], + aliases: ["PYTHON", "python"] +}); +// noinspection JSCheckFunctionSignatures +monaco.languages.setMonarchTokensProvider("python", tokens); + +export default function registerPythonLanguage( + monacoEditor: monaco.editor.IStandaloneCodeEditor +) { + MonacoServices.install(monacoEditor); + + const url = makeFullUrl("/pyls", "ws"); + const webSocket = createWebSocket(url); + + listen({ + webSocket, + onConnection: connection => { + const languageClient = createLanguageClient(connection); + const disposable = languageClient.start(); + connection.onClose(() => disposable.dispose()); + } + }); +} + +function createLanguageClient( + connection: MessageConnection +): MonacoLanguageClient { + return new MonacoLanguageClient({ + name: "Python Language Client", + clientOptions: { + documentSelector: ["python"], + errorHandler: { + error: () => ErrorAction.Continue, + closed: () => CloseAction.DoNotRestart + } + }, + connectionProvider: { + get: (errorHandler, closeHandler) => { + return Promise.resolve( + // @ts-ignore + createConnection(connection, errorHandler, closeHandler) + ); + } + } + }); +} + +function createWebSocket(url: string): WebSocket { + const socketOptions = { + maxReconnectionDelay: 10000, + minReconnectionDelay: 1000, + reconnectionDelayGrowFactor: 1.3, + connectionTimeout: 10000, + maxRetries: Infinity, + debug: false + }; + // @ts-ignore + return new ReconnectingWebSocket(url, undefined, socketOptions); +} diff --git a/sheep/app/components/editor/monaco/python/tokens.ts b/sheep/app/components/editor/monaco/python/tokens.ts new file mode 100644 index 0000000..17cc64b --- /dev/null +++ b/sheep/app/components/editor/monaco/python/tokens.ts @@ -0,0 +1,274 @@ +// noinspection RegExpRedundantEscape +export const tokens: any = { + keywords: [ + "and", + "del", + "from", + "not", + "while", + "as", + "elif", + "global", + "or", + "with", + "assert", + "else", + "if", + "pass", + "yield", + "break", + "except", + "import", + "print", + "class", + "exec", + "in", + "raise", + "continue", + "finally", + "is", + "return", + "def", + "for", + "lambda", + "try", + ":", + "=", + "isinstance", + "__debug__" + ], + + operators: [ + "+", + "-", + "*", + "**", + "/", + "//", + "%", + "<<", + ">>", + "&", + "|", + "^", + "~", + "<", + ">", + "<=", + ">=", + "==", + "!=", + "<>", + "+=", + "-=", + "*=", + "/=", + "//=", + "%=", + "&=", + "|=", + "^=", + ">>=", + "<<=", + "**=" + ], + + brackets: [ + ["(", ")", "delimiter.parenthesis"], + ["{", "}", "delimiter.curly"], + ["[", "]", "delimiter.square"] + ], + + // operator symbols + symbols: /[=> + + + + + + diff --git a/sheep/app/components/sidebar/logs/Camera.vue b/sheep/app/components/sidebar/logs/Camera.vue new file mode 100644 index 0000000..e7ff071 --- /dev/null +++ b/sheep/app/components/sidebar/logs/Camera.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/sheep/app/components/sidebar/logs/LogText.vue b/sheep/app/components/sidebar/logs/LogText.vue new file mode 100644 index 0000000..d4b51ee --- /dev/null +++ b/sheep/app/components/sidebar/logs/LogText.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/sheep/app/components/sidebar/logs/Logs.vue b/sheep/app/components/sidebar/logs/Logs.vue new file mode 100644 index 0000000..58f4fe3 --- /dev/null +++ b/sheep/app/components/sidebar/logs/Logs.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/sheep/app/components/sidebar/projects/ProjectList.vue b/sheep/app/components/sidebar/projects/ProjectList.vue new file mode 100644 index 0000000..c7224ee --- /dev/null +++ b/sheep/app/components/sidebar/projects/ProjectList.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/sheep/app/index.ts b/sheep/app/index.ts new file mode 100644 index 0000000..b6bbd07 --- /dev/null +++ b/sheep/app/index.ts @@ -0,0 +1,162 @@ +import "./styles.scss"; +import "./prism"; + +import Vue from "vue"; +import store, { + ACTION_FETCH_PROJECTS, + ACTION_INIT_LOG_WEBSOCKET, + ACTION_INIT_CAMERA_WEBSOCKET, + ACTION_RUN_PROJECT, + ACTION_SAVE_PROJECT, + ACTION_STOP_PROJECT, + MUTATION_SET_CREATE_OPEN, + MUTATION_SHOW_UPLOAD_DIALOG, +} from "./store"; + +import { library } from "@fortawesome/fontawesome-svg-core"; + +import { + faPlus, + faTrash, + faSyncAlt, + faExclamationTriangle, + faUpload, + faDownload, + faInfoCircle, + faExclamationCircle, + faChevronLeft, + faPlay, + faStop, + faExpand, + faCog, +} from "@fortawesome/free-solid-svg-icons"; + +library.add( + faPlus, + faTrash, + faSyncAlt, + faExclamationTriangle, + faUpload, + faDownload, + faInfoCircle, + faExclamationCircle, + faChevronLeft, + faPlay, + faStop, + faExpand, + faCog +); + +import App from "./App.vue"; + +import IconButton from "./components/IconButton.vue"; +import Messages from "./components/Messages.vue"; +import Editor from "./components/editor/Editor.vue"; +import Tabs from "./components/editor/Tabs.vue"; +import Monaco from "./components/editor/monaco/Monaco.vue"; +import Blockly from "./components/editor/blockly/Blockly.vue"; +// import BlockDefinitions from "./components/editor/block-definitions/BlockDefinitions.vue"; +import Sidebar from "./components/sidebar/Sidebar.vue"; +import ProjectList from "./components/sidebar/projects/ProjectList.vue"; +import ProjectTab from "./components/ProjectTab.vue"; +import Logs from "./components/sidebar/logs/Logs.vue"; +import Camera from "./components/sidebar/logs/Camera.vue"; +import LogText from "./components/sidebar/logs/LogText.vue"; +import DialogWrapper from "./components/dialog/DialogWrapper.vue"; +import CreateProjectDialog from "./components/dialog/CreateProjectDialog.vue"; +import DeleteProjectDialog from "./components/dialog/DeleteProjectDialog.vue"; +import PictureDialog from "./components/dialog/PictureDialog.vue"; +import RunConfigDialog from "./components/dialog/RunConfigDialog.vue"; +// @ts-ignore +import Prism from "vue-prism-component"; +// @ts-ignore +import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; + +import VueSplit from "vue-split-panel"; +Vue.use(VueSplit); + +Vue.component("IconButton", IconButton); +Vue.component("Messages", Messages); +Vue.component("Editor", Editor); +Vue.component("Tabs", Tabs); +Vue.component("Monaco", Monaco); +Vue.component("Blockly", Blockly); +// Vue.component("BlockDefinitions", BlockDefinitions); +Vue.component("Sidebar", Sidebar); +Vue.component("ProjectList", ProjectList); +Vue.component("ProjectTab", ProjectTab); +Vue.component("Logs", Logs); +Vue.component("Camera", Camera); +Vue.component("LogText", LogText); +Vue.component("DialogWrapper", DialogWrapper); +Vue.component("CreateProjectDialog", CreateProjectDialog); +Vue.component("DeleteProjectDialog", DeleteProjectDialog); +Vue.component("PictureDialog", PictureDialog); +Vue.component("RunConfigDialog", RunConfigDialog); +Vue.component("Prism", Prism); +Vue.component("FontAwesomeIcon", FontAwesomeIcon); + +Vue.config.productionTip = false; + +function init() { + // noinspection JSUnusedGlobalSymbols + new Vue({ + el: "#app", + store, + render: (h) => h(App), + }); +} + +store.dispatch(ACTION_INIT_LOG_WEBSOCKET).catch((e) => { + console.error(e); + init(); +}); + +store.dispatch(ACTION_INIT_CAMERA_WEBSOCKET).catch((e) => { + console.error(e); + init(); +}); + +store + .dispatch(ACTION_FETCH_PROJECTS) + .then(init) + .catch((e) => { + console.error(e); + init(); + }); + +window.addEventListener("keydown", (e) => { + if (e.key === "F5") { + e.preventDefault(); + if (e.ctrlKey) { + // CTRL-F5: Stop + // noinspection JSIgnoredPromiseFromCall + store.dispatch(ACTION_STOP_PROJECT); + } else { + // F5: Run + // SHIFT-F5: Run without save as dialog + // noinspection JSIgnoredPromiseFromCall + store.dispatch(ACTION_RUN_PROJECT, e.shiftKey); + } + } + + // CTRL-S: Save + if (e.ctrlKey && e.key === "s") { + e.preventDefault(); + // noinspection JSIgnoredPromiseFromCall + store.dispatch(ACTION_SAVE_PROJECT); + } + + // CTRL-ALT-N: New project + // Must be CTRL-ALT-N as apps can't override CTRL(-SHIFT)-N in Chrome + if (e.ctrlKey && e.altKey && e.key === "n") { + e.preventDefault(); + store.commit(MUTATION_SET_CREATE_OPEN, true); + } + + // CTRL-U: Upload + if (e.ctrlKey && e.key === "u") { + e.preventDefault(); + store.commit(MUTATION_SHOW_UPLOAD_DIALOG); + } +}); diff --git a/sheep/app/prism.js b/sheep/app/prism.js new file mode 100644 index 0000000..1e6b4ec --- /dev/null +++ b/sheep/app/prism.js @@ -0,0 +1,655 @@ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=python */ +var _self = + typeof window !== "undefined" + ? window // if in browser + : typeof WorkerGlobalScope !== "undefined" && + self instanceof WorkerGlobalScope + ? self // if in worker + : {}; // if in node js + +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * MIT license http://www.opensource.org/licenses/mit-license.php/ + * @author Lea Verou http://lea.verou.me + */ + +var Prism = (function() { + // Private helper vars + var lang = /\blang(?:uage)?-([\w-]+)\b/i; + var uniqueId = 0; + + var _ = (_self.Prism = { + manual: _self.Prism && _self.Prism.manual, + disableWorkerMessageHandler: + _self.Prism && _self.Prism.disableWorkerMessageHandler, + util: { + encode: function(tokens) { + if (tokens instanceof Token) { + return new Token( + tokens.type, + _.util.encode(tokens.content), + tokens.alias + ); + } else if (_.util.type(tokens) === "Array") { + return tokens.map(_.util.encode); + } else { + return tokens + .replace(/&/g, "&") + .replace(/ text.length) { + // Something went terribly wrong, ABORT, ABORT! + return; + } + + if (str instanceof Token) { + continue; + } + + if (greedy && i != strarr.length - 1) { + pattern.lastIndex = pos; + var match = pattern.exec(text); + if (!match) { + break; + } + + var from = match.index + (lookbehind ? match[1].length : 0), + to = match.index + match[0].length, + k = i, + p = pos; + + for ( + var len = strarr.length; + k < len && + (p < to || (!strarr[k].type && !strarr[k - 1].greedy)); + ++k + ) { + p += strarr[k].length; + // Move the index i to the element in strarr that is closest to from + if (from >= p) { + ++i; + pos = p; + } + } + + // If strarr[i] is a Token, then the match starts inside another Token, which is invalid + if (strarr[i] instanceof Token) { + continue; + } + + // Number of tokens to delete and replace with the new match + delNum = k - i; + str = text.slice(pos, p); + match.index -= pos; + } else { + pattern.lastIndex = 0; + + var match = pattern.exec(str), + delNum = 1; + } + + if (!match) { + if (oneshot) { + break; + } + + continue; + } + + if (lookbehind) { + lookbehindLength = match[1] ? match[1].length : 0; + } + + var from = match.index + lookbehindLength, + match = match[0].slice(lookbehindLength), + to = from + match.length, + before = str.slice(0, from), + after = str.slice(to); + + var args = [i, delNum]; + + if (before) { + ++i; + pos += before.length; + args.push(before); + } + + var wrapped = new Token( + token, + inside ? _.tokenize(match, inside) : match, + alias, + match, + greedy + ); + + args.push(wrapped); + + if (after) { + args.push(after); + } + + Array.prototype.splice.apply(strarr, args); + + if (delNum != 1) + _.matchGrammar(text, strarr, grammar, i, pos, true, token); + + if (oneshot) break; + } + } + } + }, + + tokenize: function(text, grammar, language) { + var strarr = [text]; + + var rest = grammar.rest; + + if (rest) { + for (var token in rest) { + grammar[token] = rest[token]; + } + + delete grammar.rest; + } + + _.matchGrammar(text, strarr, grammar, 0, 0, false); + + return strarr; + }, + + hooks: { + all: {}, + + add: function(name, callback) { + var hooks = _.hooks.all; + + hooks[name] = hooks[name] || []; + + hooks[name].push(callback); + }, + + run: function(name, env) { + var callbacks = _.hooks.all[name]; + + if (!callbacks || !callbacks.length) { + return; + } + + for (var i = 0, callback; (callback = callbacks[i++]); ) { + callback(env); + } + } + } + }); + + var Token = (_.Token = function(type, content, alias, matchedStr, greedy) { + this.type = type; + this.content = content; + this.alias = alias; + // Copy of the full string this token was created from + this.length = (matchedStr || "").length | 0; + this.greedy = !!greedy; + }); + + Token.stringify = function(o, language, parent) { + if (typeof o == "string") { + return o; + } + + if (_.util.type(o) === "Array") { + return o + .map(function(element) { + return Token.stringify(element, language, o); + }) + .join(""); + } + + var env = { + type: o.type, + content: Token.stringify(o.content, language, parent), + tag: "span", + classes: ["token", o.type], + attributes: {}, + language: language, + parent: parent + }; + + if (o.alias) { + var aliases = _.util.type(o.alias) === "Array" ? o.alias : [o.alias]; + Array.prototype.push.apply(env.classes, aliases); + } + + _.hooks.run("wrap", env); + + var attributes = Object.keys(env.attributes) + .map(function(name) { + return ( + name + + '="' + + (env.attributes[name] || "").replace(/"/g, """) + + '"' + ); + }) + .join(" "); + + return ( + "<" + + env.tag + + ' class="' + + env.classes.join(" ") + + '"' + + (attributes ? " " + attributes : "") + + ">" + + env.content + + "" + ); + }; + + if (!_self.document) { + if (!_self.addEventListener) { + // in Node.js + return _self.Prism; + } + + if (!_.disableWorkerMessageHandler) { + // In worker + _self.addEventListener( + "message", + function(evt) { + var message = JSON.parse(evt.data), + lang = message.language, + code = message.code, + immediateClose = message.immediateClose; + + _self.postMessage(_.highlight(code, _.languages[lang], lang)); + if (immediateClose) { + _self.close(); + } + }, + false + ); + } + + return _self.Prism; + } + + //Get current script and highlight + var script = + document.currentScript || + [].slice.call(document.getElementsByTagName("script")).pop(); + + if (script) { + _.filename = script.src; + + if (!_.manual && !script.hasAttribute("data-manual")) { + if (document.readyState !== "loading") { + if (window.requestAnimationFrame) { + window.requestAnimationFrame(_.highlightAll); + } else { + window.setTimeout(_.highlightAll, 16); + } + } else { + document.addEventListener("DOMContentLoaded", _.highlightAll); + } + } + } + + return _self.Prism; +})(); + +if (typeof module !== "undefined" && module.exports) { + module.exports = Prism; +} + +// hack for components to work correctly in node.js +if (typeof global !== "undefined") { + global.Prism = Prism; +} +Prism.languages.python = { + comment: { + pattern: /(^|[^\\])#.*/, + lookbehind: true + }, + "triple-quoted-string": { + pattern: /("""|''')[\s\S]+?\1/, + greedy: true, + alias: "string" + }, + string: { + pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, + greedy: true + }, + function: { + pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g, + lookbehind: true + }, + "class-name": { + pattern: /(\bclass\s+)\w+/i, + lookbehind: true + }, + keyword: /\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|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(?:True|False|None)\b/, + number: /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i, + operator: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/, + punctuation: /[{}[\];(),.:]/ +}; diff --git a/sheep/app/prism.scss b/sheep/app/prism.scss new file mode 100644 index 0000000..6762b1b --- /dev/null +++ b/sheep/app/prism.scss @@ -0,0 +1,295 @@ +/* PrismJS 1.14.0 +http://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+abap+actionscript+ada+apacheconf+apl+applescript+c+arff+asciidoc+asm6502+aspnet+autohotkey+autoit+bash+basic+batch+bison+brainfuck+bro+cpp+csharp+arduino+coffeescript+clojure+ruby+csp+css-extras+d+dart+diff+django+docker+eiffel+elixir+elm+markup-templating+erlang+fsharp+flow+fortran+gedcom+gherkin+git+glsl+go+graphql+groovy+haml+handlebars+haskell+haxe+http+hpkp+hsts+ichigojam+icon+inform7+ini+io+j+java+jolie+json+julia+keyman+kotlin+latex+less+liquid+lisp+livescript+lolcode+lua+makefile+markdown+erb+matlab+mel+mizar+monkey+n4js+nasm+nginx+nim+nix+nsis+objectivec+ocaml+opencl+oz+parigp+parser+pascal+perl+php+php-extras+sql+powershell+processing+prolog+properties+protobuf+pug+puppet+pure+python+q+qore+r+jsx+typescript+renpy+reason+rest+rip+roboconf+crystal+rust+sas+sass+scss+scala+scheme+smalltalk+smarty+plsql+soy+stylus+swift+tcl+textile+twig+tsx+vbnet+velocity+verilog+vhdl+vim+visual-basic+wasm+wiki+xeora+xojo+yaml&plugins=line-numbers+toolbar+show-language */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +/* +* Dracula Theme for Prism.JS +* +* @author Gustavo Costa +* e-mail: gusbemacbe@gmail.com +* +* @contributor Jon Leopard +* e-mail: jonlprd@gmail.com +* +* @license MIT 2016-2018 +*/ +@import "variables"; + +pre { + @include scrollbar(); +} + +code[class*="language-"], +pre[class*="language-"] { + color: #ccc; + //background: rgb(40, 41, 54); + text-shadow: none; + font-family: PT Mono, Consolas, Monaco, "Andale Mono", "Ubuntu Mono", + monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + + width: 100%; + height: 100%; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + //background-color: #5a5f80; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + //background-color: #5a5f80; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + //background: rgba(40, 41, 54, 1) !important; + border-radius: 0.5em; + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + //background: rgba(40, 41, 54, 1); +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 4px 7px; + border-radius: 0.3em; + white-space: normal; +} + +.limit-300 { + height: 300px !important; +} + +.limit-400 { + height: 400px !important; +} + +.limit-500 { + height: 500px !important; +} + +.limit-600 { + height: 600px !important; +} + +.limit-700 { + height: 700px !important; +} + +.limit-800 { + height: 800px !important; +} + +.token.comment { + color: rgba(98, 114, 164, 1); +} + +.token.prolog { + color: rgba(207, 207, 194, 1); +} + +.token.tag { + color: rgba(220, 104, 170, 1); +} + +.token.entity { + color: rgba(139, 233, 253, 1); +} + +.token.atrule { + color: rgba(98, 239, 117, 1); +} + +.token.url { + color: rgba(102, 217, 239, 1); +} + +.token.selector { + color: rgba(207, 207, 194, 1); +} + +.token.string { + color: rgba(241, 250, 140, 1); +} + +.token.property { + color: rgba(255, 184, 108, 1); +} + +.token.important { + color: rgba(255, 121, 198, 1); + font-weight: bold; +} + +.token.punctuation { + color: rgba(230, 219, 116, 1); +} + +.token.number { + color: rgba(189, 147, 249, 1); +} + +.token.function { + color: rgba(80, 250, 123, 1); +} + +.token.class-name { + color: rgba(255, 184, 108, 1); +} + +.token.keyword { + color: rgba(255, 121, 198, 1); +} + +.token.boolean { + color: rgba(255, 184, 108, 1); +} + +.token.operator { + color: rgba(139, 233, 253, 1); +} + +.token.char { + color: rgba(255, 135, 157, 1); +} + +.token.regex { + color: rgba(80, 250, 123, 1); +} + +.token.variable { + color: rgba(80, 250, 123, 1); +} + +.token.constant { + color: rgba(255, 184, 108, 1); +} + +.token.symbol { + color: rgba(255, 184, 108, 1); +} + +.token.builtin { + color: rgba(255, 121, 198, 1); +} + +.token.attr-value { + color: #7ec699; +} + +.token.deleted { + color: #e2777a; +} + +.token.namespace { + color: #e2777a; +} + +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token { + color: #ff79c6; +} + +.langague-cpp .token.string { + color: #8be9fd; +} + +.langague-c .token.string { + color: #8be9fd; +} + +.language-css .token.selector { + color: rgba(80, 250, 123, 1); +} + +.language-css .token.property { + color: rgba(255, 184, 108, 1); +} + +.language-java span.token.class-name { + color: #8be9fd; +} + +.language-java .token.class-name { + color: #8be9fd; +} + +.language-markup .token.attr-value { + color: rgba(102, 217, 239, 1); +} + +.language-markup .token.tag { + color: rgba(80, 250, 123, 1); +} + +.language-objectivec .token.property { + color: #66d9ef; +} + +.language-objectivec .token.string { + color: #50fa7b; +} + +.language-php .token.boolean { + color: #8be9fd; +} + +.language-php .token.function { + color: #ff79c6; +} + +.language-php .token.keyword { + color: #66d9ef; +} + +.language-ruby .token.symbol { + color: #8be9fd; +} + +.language-ruby .token.class-name { + color: #cfcfc2; +} diff --git a/sheep/app/store.ts b/sheep/app/store.ts new file mode 100644 index 0000000..72570dd --- /dev/null +++ b/sheep/app/store.ts @@ -0,0 +1,896 @@ +//TODO: split this into separate files at some point (see Vuex modules) + +// Import statements +import Vue from "vue"; +import Vuex from "vuex"; +import JSZip from "jszip"; +import { BlocksConfiguration } from "./components/editor/blockly/block-loader"; +import FileSaver from "file-saver"; +import Ajv from "ajv"; +import blocksSchema from "./components/editor/monaco/json/schema.json"; + +/**AJV is a JSON schema see (https://bit.ly/2kXnfiO) + * this defines the layout of the JSON objects and what data types should + * go where + */ +const ajv = new Ajv(); +const validateBlocks = ajv.compile(blocksSchema); + +/** + * Imports nice functional methods for string formating to startCase and + * snake case + */ +const _ = { + startCase: require("lodash/startCase"), + snakeCase: require("lodash/snakeCase"), +}; + +Vue.use(Vuex); + +/**Every file of the user's code is stored in "projects" with the following + * properties + */ +export interface Project { + filename: string; + name: string; + content: string | null; + lastSaveContent?: string; + blocklyGenerated?: string; +} + +/**This is for the projects retreived from the server initally to display the + * side bar: + * main: the file path of the "main" file used by monacos language server + * "/root/shepherd2/robosrc/main.py" + * The currently opened document is assumed to be at that location which allows + * the code completetion to work. + */ +interface FilesResponse { + main: string; + files: string[]; + blocks: BlocksConfiguration; +} + +/** Notifications can be raised to the user. Here is the interface for all of + * their settings */ +interface Message { + id: string | number; + message: string; + icon: "info-circle" | "exclamation-triangle" | "exclamation-circle"; + timeout?: any; +} + +// The user may wish to hide the side bars to increase screen real estate +interface SidebarsHidden { + leftHidden: boolean; + rightHidden: boolean; +} + +interface WebSockets { + logSocket: WebSocket | null; + cameraSocket: WebSocket | null; + logSocketUrl: string; + cameraSocketUrl: string; + reconnectInterval: number; +} + +export interface RunConfiguration { + zone: "red" | "yellow" | "green" | "blue"; + mode: "dev" | "comp"; +} + +// A "bucket" interface which holds all of the state of the program +interface State { + loaded: boolean; + main: string; + projects: Project[]; + blocksConfiguration?: BlocksConfiguration; + openProjects: Project[]; + currentProject?: Project; + running: boolean; + saving: number; + createOpen: boolean; + uploadFileKeyPressId: number; + messages: Message[]; + messageCount: number; + textLog: string; + textLogOutputState: number; + imageSrc: string; + pictureOpen: boolean; + lastImageUpdate: number; + runConfigOpen: boolean; + runConfig: RunConfiguration; + sidebarsHidden: SidebarsHidden; + sockets: WebSockets; +} + +// Events which can cause the program to change state +const MUTATION_SET_PROJECTS = "SET_PROJECTS"; +const MUTATION_OPEN_PROJECT = "OPEN_PROJECT"; +const MUTATION_CLOSE_PROJECT = "CLOSE_PROJECT"; +export const MUTATION_UPDATE_PROJECT = "UPDATE_PROJECT"; +const MUTATION_CREATE_PROJECT = "CREATE_PROJECT"; +const MUTATION_DELETE_PROJECT = "DELETE_PROJECT"; +const MUTATION_SET_RUNNING = "SET_RUNNING"; +const MUTATION_SET_SAVING = "SET_SAVING"; +const MUTATION_MARK_PROJECT_SAVED = "MARK_SAVED"; +export const MUTATION_SET_CREATE_OPEN = "SET_CREATE_OPEN"; +export const MUTATION_SHOW_UPLOAD_DIALOG = "SHOW_UPLOAD_DIALOG"; +const MUTATION_SHOW_MESSAGE = "SHOW_MESSAGE"; +export const MUTATION_DISMISS_MESSAGE = "DISMISS_MESSAGE"; +const MUTATION_RESET_TEXT_LOG_OUTPUT = "RESET_TEXT_LOG_OUTPUT"; +export const MUTATION_SET_SIDEBAR_HIDDEN = "SET_SIDEBAR_HIDDEN"; +const MUTATION_HANDLE_LOG_WEBSOCKET_MESSAGE = "LOG_WEBSOCKET_MESSAGE"; +const MUTATION_HANDLE_CAMERA_WEBSOCKET_MESSAGE = "CAMERA_WEBSOCKET_MESSAGE"; +export const MUTATION_SET_PICTURE_OPEN = "SET_PICTURE_OPEN"; +export const MUTATION_SET_RUN_CONFIG_OPEN = "SET_RUN_CONFIG_OPEN"; +export const MUTATION_SET_RUN_CONFIG = "SET_RUN_CONFIG"; + +// Actions which the user can take which cause mutations +export const ACTION_FETCH_PROJECTS = "FETCH_PROJECTS"; +export const ACTION_OPEN_PROJECT = "OPEN_PROJECT"; +export const ACTION_CLOSE_PROJECT = "CLOSE_PROJECT"; +export const ACTION_SAVE_PROJECT = "SAVE_PROJECT"; +export const ACTION_CREATE_PROJECT = "CREATE_PROJECT"; +export const ACTION_DELETE_PROJECT = "DELETE_PROJECT"; +export const ACTION_RUN_PROJECT = "RUN_PROJECT"; +export const ACTION_STOP_PROJECT = "STOP_PROJECT"; +export const ACTION_SHOW_MESSAGE = "SHOW_MESSAGE"; +export const ACTION_INIT_CAMERA_WEBSOCKET = "INIT_CAMERA_WEBSOCKET"; +export const ACTION_INIT_LOG_WEBSOCKET = "INIT_LOG_WEBSOCKET"; +export const ACTION_UPLOAD_TEAM_LOGO = "UPLOAD_TEAM_LOGO"; + +// Messages which can be displayed to the user +const MESSAGE_RUN = "RUN"; +const MESSAGE_STOP = "STOP"; +const MESSAGE_SAVED = "SAVED"; +const MESSAGE_JSON_ERROR = "JSON_ERROR"; + +// A function which adds host and protocol to make a useable URL +export function makeFullUrl(route: string, protocol?: string): string { + if (!protocol) protocol = "http"; + let host = window.location.host; + if (window.location.port === "8080") { + host = `${window.location.hostname}:80`; + } + return `${protocol}://${host}${route}`; +} + +// Create a promise which resolves after a certain time +export function wait(time: number): Promise { + return new Promise((resolve) => { + setTimeout(() => resolve(time), time); + }); +} + +/** A function used for passing to a `.sort` function for sorting + * a list of projects. + * This is for when we supported custom blockly blocks defined using JSON + * These could then be moved to the top or the bottom of the list + */ +function compareProjects(a: Project, b: Project): number { + if (a.filename === b.filename) return 0; + if (a.filename.endsWith(".json")) return 1; + if (b.filename.endsWith(".json")) return -1; + return a.filename < b.filename ? -1 : 1; +} + +/**Saves a project. + * Selects the correct mime type from the file extention so that it is + * saved correctly then creates a blob which can be writen to disk using + * the FileSaver object + */ +export function saveProject(p: Project) { + const ext = p.filename.substring(p.filename.lastIndexOf(".") + 1); + const mime = + ext === "py" + ? "application/x-python" + : ext === "xml" + ? "application/xml" + : "text/plain"; + const blob = new Blob([p.content], { type: `${mime};charset=utf-8` }); + FileSaver.saveAs(blob, p.filename); +} + +/**The Vuex Store + * If you are unfamiliar with vuex this may seem a little weird + * Link to documentation: https://vuex.vuejs.org + */ +export default new Vuex.Store({ + // The state of the program as defined in the "interface State" + state: { + loaded: false, + main: "", + projects: [], + openProjects: [], + blocksConfiguration: undefined, + currentProject: undefined, + running: false, + saving: 0, + createOpen: false, + uploadFileKeyPressId: 0, + messages: [], + messageCount: 0, + textLog: "", + textLogOutputState: 0, + imageSrc: makeFullUrl("/static/image.jpg"), + pictureOpen: false, + lastImageUpdate: Date.now(), + runConfigOpen: false, + runConfig: { + zone: "red", + mode: "dev", + }, + sidebarsHidden: { + leftHidden: false, + rightHidden: false, + }, + sockets: { + logSocket: null, + cameraSocket: null, + logSocketUrl: "ws://" + window.location.hostname + ":5001/robot/log", + cameraSocketUrl: "ws://" + window.location.hostname + ":5001/camera", + reconnectInterval: 2000, + }, + }, + + // Mutations can change application state + mutations: { + /**Unpacks the projects response ignoring the custom blocks definition + * Sorts the projects using the compare function. + */ + [MUTATION_SET_PROJECTS](state: State, res: FilesResponse) { + state.loaded = true; + state.main = res.main; + state.projects = res.files + .filter((f) => f !== "blocks.json") + .map((f) => ({ + filename: f, + name: _.startCase( + f.substring( + 0, + f.lastIndexOf(".") + ) + ), + content: null, + })); + state.projects.sort(compareProjects); + state.blocksConfiguration = res.blocks; + }, + + /**Checks if a project is already open. + * If not then adds the project to the list of currently open projects and + * sets it as the currently open project + */ + async [MUTATION_OPEN_PROJECT](state: State, filename?: string) { + const findProject = (project: Project) => + project.filename === filename; + + let newProject = state.projects.find(findProject); + if (!newProject) return; + + if (newProject.content === null) { + newProject.content = await fetch( + makeFullUrl(`/files/load/${newProject.filename}`) + ).then((res) => res.json()) + .then((res: any) => res.content) + } + + if (!state.openProjects.find(findProject)) + state.openProjects.push(newProject); + + state.currentProject = newProject; + }, + + /**Finds a choosen project in the list of open projects + * If the currently open project is the one to be removed then another + * openProject is found and that is set as the currently open project. + * NB there aren't index out of bounds errors in JS. Referencing an empty + * array therefore sets the current project to zero + */ + [MUTATION_CLOSE_PROJECT](state: State, filename?: string) { + let foundIndex = state.openProjects.findIndex( + (project) => project.filename === filename + ); + if (foundIndex >= 0) { + state.openProjects.splice(foundIndex, 1); + + if ( + state.currentProject && + state.currentProject.filename === filename + ) { + if (foundIndex == state.openProjects.length) { + foundIndex--; + } + state.currentProject = state.openProjects[foundIndex]; + } + } + }, + + /** + * Updates the state once the blockly script is compiled + */ + [MUTATION_UPDATE_PROJECT]( + state: State, + { + content, + blocklyGenerated, + filename, + }: { content: string; blocklyGenerated?: string; filename?: string } + ) { + if (filename) { + state.projects = state.projects.map((v) => { + if (v.filename === filename) { + v.content = content; + v.blocklyGenerated = blocklyGenerated; + } + return v; + }); + } else if (state.currentProject) { + state.currentProject.content = content; + state.currentProject.blocklyGenerated = blocklyGenerated; + } + }, + + //Creates a new project and adds it to the vuex store + [MUTATION_CREATE_PROJECT](state: State, project: Project) { + state.projects.push(project); + state.projects.sort(compareProjects); + }, + + //Removes a project from the vuex store + [MUTATION_DELETE_PROJECT](state: State, filename: string) { + const foundIndex = state.projects.findIndex( + (project) => project.filename === filename + ); + if (foundIndex >= 0) { + state.projects.splice(foundIndex, 1); + } + }, + + //Change the state.running to running + [MUTATION_SET_RUNNING](state: State, running: boolean) { + state.running = running; + }, + + /**This handles when multiple files start/stop saving at the same time. + */ + [MUTATION_SET_SAVING](state: State, saving: boolean) { + state.saving += saving ? 1 : -1; + }, + + /**Updates the "lastSaveContent" of all of the states to the currently + * projects. The calls to openProjects etc maybe need to let the + * reactively work depending on how vue handels pointers + */ + [MUTATION_MARK_PROJECT_SAVED](state: State, filename: string) { + const markSaved = (v: Project) => { + if (v.filename === filename) { + v.lastSaveContent = v.content; + } + return v; + }; + + if (state.currentProject && state.currentProject.filename) { + state.currentProject.lastSaveContent = + state.currentProject.content; + } + state.projects = state.projects.map(markSaved); + state.openProjects = state.openProjects.map(markSaved); + }, + + //Moves to the create new project dialogue + [MUTATION_SET_CREATE_OPEN](state: State, open: boolean) { + state.createOpen = open; + }, + + // Set the state of the picture dialog + [MUTATION_SET_PICTURE_OPEN](state: State, open: boolean) { + state.pictureOpen = open; + }, + + // Set the state of the run configuration dialog + [MUTATION_SET_RUN_CONFIG_OPEN](state: State, open: boolean) { + state.runConfigOpen = open; + }, + + /**I think this is just in case multiple files are uploaded at the same + * time + */ + [MUTATION_SHOW_UPLOAD_DIALOG](state: State) { + state.uploadFileKeyPressId++; + }, + + /**Create little pop up meesage by either altering a message with the same + * id or pushing a new message to the messages list + */ + [MUTATION_SHOW_MESSAGE](state: State, { id, message, icon }: Message) { + const foundIndex = state.messages.findIndex( + (test) => test.id === id + ); + if (foundIndex >= 0) { + state.messages[foundIndex].message = message; + state.messages[foundIndex].icon = icon; + } else { + state.messages.push({ id, message, icon }); + } + state.messageCount++; + }, + + /**Clears the time out of a message if it has one and then removes it from + * the message array + */ + [MUTATION_DISMISS_MESSAGE](state: State, id: string | number) { + const foundIndex = state.messages.findIndex( + (test) => test.id === id + ); + if (foundIndex >= 0) { + if (state.messages[foundIndex].timeout) { + clearTimeout(state.messages[foundIndex].timeout); + } + state.messages.splice(foundIndex, 1); + } + }, + + [MUTATION_HANDLE_CAMERA_WEBSOCKET_MESSAGE](state: State, data: string) { + state.imageSrc = "data:image/png;base64," + data; + state.lastImageUpdate = Date.now(); + console.log("Image updated"); + }, + + [MUTATION_HANDLE_LOG_WEBSOCKET_MESSAGE](state: State, data: string) { + // Handle the erase escape sequence from the server + if (data.includes("\x1b[2J")) { + state.textLog = data.slice(data.indexOf("\x1b[2J") + 4); + return; + } + + if (state.textLog !== data) { + if (state.textLogOutputState == 0) { + if (data.trim() === "") state.textLogOutputState = 1; + } else if (state.textLogOutputState == 1) { + if (data.trim() !== "") state.textLogOutputState = 2; + } + } + state.textLog += data; + }, + + /**This just resets the log state for when a new program is to be run*/ + [MUTATION_RESET_TEXT_LOG_OUTPUT](state: State) { + state.textLogOutputState = 0; + }, + + //Sets the state of the side bars to be hidden or not + [MUTATION_SET_SIDEBAR_HIDDEN]( + state: State, + { right, hidden }: { right: boolean; hidden: boolean } + ) { + if (right) { + state.sidebarsHidden.rightHidden = hidden; + } else { + state.sidebarsHidden.leftHidden = hidden; + } + }, + + [MUTATION_SET_RUN_CONFIG](state: State, config: RunConfiguration) { + state.runConfig.zone = config.zone; + state.runConfig.mode = config.mode; + }, + }, + + /**Actions are things which can trigger mutations*/ + actions: { + /**Fetches a list of projects + * Formats the response from the raw response (more details on this + * required to be understood) + * Then does some kinda sorting of the projects in the MUTATION_SET_PROJECTS? + * Then when all the projects are loaded tries to load the output of the + * currently selected project + */ + [ACTION_FETCH_PROJECTS]({ commit }) { + return fetch(makeFullUrl("/files/list")) + .then((res) => res.json()) + .then((res: any) => { + //TODO add a comment explaining this state + commit(MUTATION_SET_PROJECTS, res); + return true; + }); + }, + + /**Opens a new project: + * First saves the current project + * Marks it as saved + * Opens a new the new project + */ + [ACTION_OPEN_PROJECT]({ state, commit, dispatch }, filename?: string) { + if (state.currentProject) + dispatch(ACTION_SAVE_PROJECT, state.currentProject.filename); + commit(MUTATION_MARK_PROJECT_SAVED, filename); + commit(MUTATION_OPEN_PROJECT, filename); + }, + + /**Saves and then closes the project*/ + [ACTION_CLOSE_PROJECT]({ commit, dispatch }, filename?: string) { + dispatch(ACTION_SAVE_PROJECT, filename); + commit(MUTATION_CLOSE_PROJECT, filename); + }, + + /**Upload a new team logo image*/ + [ACTION_UPLOAD_TEAM_LOGO]({ state }, file: File) { + const formData = new FormData(); + formData.append("team-image.jpg", file); + + return fetch( + makeFullUrl("/upload/team-image"), + { + method: "POST", + body: formData, + } + ) + }, + + /**Saves the project: + * First checks if using blockly, if so: + * - Validates that all the blocks are okay + * Then uses a HTTP POST to send the file to the server (in "saving" state) + * Updates everything to show that it has been saved (in "saved" state) + */ + [ACTION_SAVE_PROJECT]({ state, commit, dispatch }, filename?: string) { + if (!filename && state.currentProject) { + filename = state.currentProject.filename; + } + const foundProject = state.projects.find( + (project) => project.filename === filename + ); + if (foundProject) { + if (foundProject.content === foundProject.lastSaveContent) + return; + + if (foundProject.filename.endsWith(".json")) { + let parsed; + try { + parsed = JSON.parse(foundProject.content); + } catch (e) { + dispatch(ACTION_SHOW_MESSAGE, { + id: MESSAGE_JSON_ERROR, + message: + "Unable to save block definitions! Failed to parse JSON!", + icon: "exclamation-circle", + }); + return; + } + const valid = validateBlocks(parsed); + if (!valid && validateBlocks.errors) { + console.log(validateBlocks.errors); + const error = validateBlocks.errors[0]; + dispatch(ACTION_SHOW_MESSAGE, { + id: MESSAGE_JSON_ERROR, + message: `Unable to save block definitions! At ${error.dataPath}, ${error.message}`, + icon: "exclamation-circle", + }); + return; + } + } + + commit(MUTATION_SET_SAVING, true); + return fetch( + makeFullUrl(`/files/save/${foundProject.filename}`), + { + method: "POST", + body: foundProject.content, + } + ).then((res) => { + setTimeout(() => { + commit(MUTATION_MARK_PROJECT_SAVED, filename); + commit(MUTATION_SET_SAVING, false); + dispatch(ACTION_SHOW_MESSAGE, { + id: MESSAGE_SAVED, + message: `${foundProject.name} saved!`, + icon: "info-circle", + }); + }, 250); + return res; + }); + } + return Promise.resolve(); + }, + + /**Creates a new project + * First converts the filename to snake_case and the name to startcase + * (not sure why) + * Checks that a project with that name does not already exist + * Then creates a new Project object and commits that + */ + [ACTION_CREATE_PROJECT]( + { state, commit, dispatch }, + { + type, + name, + filename, + loadContent, + }: { + type: string; + name: string; + filename: string; + loadContent: string; + } + ) { + if (filename) { + name = _.startCase( + filename.substring(0, filename.lastIndexOf(".")) + ); + } else { + const extension = type === "python" ? "py" : "xml"; + const snakeName = _.snakeCase(name); + filename = `${snakeName}.${extension}`; + name = _.startCase(snakeName); + } + + const foundProject = state.projects.find( + (project) => project.filename === filename + ); + if (foundProject) { + if (filename) { + commit(MUTATION_CLOSE_PROJECT, filename); + commit(MUTATION_UPDATE_PROJECT, { + filename: filename, + content: loadContent, + }); + dispatch(ACTION_SAVE_PROJECT, filename); + dispatch(ACTION_OPEN_PROJECT, filename); + return; + } else { + alert("Project with that name already exists!"); + return; + } + } + + const project: Project = { + name: name, + filename: filename, + content: + loadContent || + (type === "python" + ? "" + : ''), + }; + //project.lastSaveContent = project.content; + + commit(MUTATION_CREATE_PROJECT, project); + dispatch(ACTION_SAVE_PROJECT, project.filename); + dispatch(ACTION_OPEN_PROJECT, project.filename); + }, + + /**Delete a project + * First check if it is open and if so close it + * Delete the project from the projects array + * Delete it from the remote server + */ + [ACTION_DELETE_PROJECT]({ state, commit }, filename: string) { + const foundOpenProject = state.openProjects.find( + (project) => project.filename === filename + ); + if (foundOpenProject) { + commit(MUTATION_CLOSE_PROJECT, foundOpenProject.filename); + } + commit(MUTATION_DELETE_PROJECT, filename); + + return fetch(makeFullUrl(`/files/delete/${filename}`), { + method: "DELETE", + }); + }, + + /**Runs the project + * Checks that there is a project currently open + * Saves that project + * If a blockly project get the compiled code + * Finds any other projects with .py file name and zips them all + * POSTs the zip to shepherd + * Shepherd should signal to sheep when the script is ready because + * shepherd knows but we just wait because this implementation was faster + * POSTs to shephers run page to run the code + * Moves to the running state + */ + async [ACTION_RUN_PROJECT]( + { state, commit, dispatch }, + noSave: boolean + ) { + if (state.running) return; + + if (state.currentProject) { + commit(MUTATION_SET_RUNNING, true); + + if (!noSave) saveProject(state.currentProject); + await dispatch(ACTION_SAVE_PROJECT); + + const filename = state.currentProject.filename; + const zip = new JSZip(); + + let filesToPack: Project[] = []; + if (state.currentProject.filename.endsWith(".xml")) { + const blocksConfiguration: BlocksConfiguration = state.blocksConfiguration || { + header: "", + footer: "", + requires: [], + blocks: [], + }; + + /*const generated = `${blocksConfiguration.header}\n${ + state.currentProject.blocklyGenerated + }\n${blocksConfiguration.footer}`;*/ + const generated = state.currentProject.blocklyGenerated; + + zip.file("main.py", generated || ""); + + filesToPack = state.projects.filter( + (project) => + project.filename.endsWith(".py") && + blocksConfiguration.requires.includes( + project.filename + ) + ); + } else { + zip.file("main.py", state.currentProject.content); + + filesToPack = state.projects.filter( + (project) => + project.filename.endsWith(".py") && + project.filename != filename + ); + } + + for (let i = 0; i < filesToPack.length; i++) { + zip.file(filesToPack[i].filename, filesToPack[i].content); + } + + zip.generateAsync({ + type: "blob", + }) + .then((blob) => { + const uploadFormData = new FormData(); + uploadFormData.append( + "uploaded_file", + blob, + "code.zip" + ); + + dispatch(ACTION_SHOW_MESSAGE, { + id: MESSAGE_RUN, + message: "Running on Robot...", + icon: "info-circle", + }); + commit(MUTATION_RESET_TEXT_LOG_OUTPUT); + + return fetch(makeFullUrl(`/upload/file`), { + method: "POST", + body: uploadFormData, + }); + }) + .then(async () => { + let i = 0; + while (state.textLogOutputState !== 2) { + await wait(500); + i++; + if (i == 10) break; + } + await wait(1000); + }) + .then(() => { + const runData = { + zone: state.runConfig.zone.toString(), + mode: state.runConfig.mode.toString(), + }; + + return fetch(makeFullUrl(`/control/start`), { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(runData), + }); + }) + .then(() => commit(MUTATION_SET_RUNNING, false)) + .catch((e) => { + console.error(e); + commit(MUTATION_SET_RUNNING, false); + }); + } + }, + + //Tells shepherd to stop the execution of a project + [ACTION_STOP_PROJECT]({ dispatch }) { + dispatch(ACTION_SHOW_MESSAGE, { + id: MESSAGE_STOP, + message: "Robot stopped!", + icon: "info-circle", + }); + + return fetch(makeFullUrl(`/control/stop`), { + method: "POST", + }); + }, + + /**Shows a message to the user + * Clears any existing timeout + * Displayes the message + * waits for a timeout of 5 seconds + */ + [ACTION_SHOW_MESSAGE]({ commit, state }, message: Message) { + message.id = message.id || state.messageCount; + let foundIndex = state.messages.findIndex( + (test) => test.id === message.id + ); + if (foundIndex >= 0) { + clearTimeout(state.messages[foundIndex].timeout); + } else { + foundIndex = state.messages.length; + } + commit(MUTATION_SHOW_MESSAGE, message); + state.messages[foundIndex].timeout = setTimeout(() => { + commit(MUTATION_DISMISS_MESSAGE, message.id); + }, 5000); + }, + + [ACTION_INIT_CAMERA_WEBSOCKET]({ state }) { + state.sockets.cameraSocket = new WebSocket(state.sockets.cameraSocketUrl); + state.sockets.cameraSocket.onopen = () => { + console.log("camera websocket connection established"); + }; + state.sockets.cameraSocket.onmessage = ({ data }) => { + if (data instanceof Blob) { + const reader = new FileReader(); + + reader.onload = () => { + const text = reader.result as string; + this.commit(MUTATION_HANDLE_CAMERA_WEBSOCKET_MESSAGE, text); + }; + + reader.readAsText(data); + } else { + this.commit(MUTATION_HANDLE_CAMERA_WEBSOCKET_MESSAGE, data); + } + }; + state.sockets.cameraSocket.onerror = (event) => { + console.log("camera websocket error: ", event); + }; + state.sockets.cameraSocket.onclose = (event) => { + console.log( + `camera websocket connection closed with code ${event.code}. Reconnecting in ${state.sockets.reconnectInterval}ms...` + ); + setTimeout(() => { + this.dispatch(ACTION_INIT_CAMERA_WEBSOCKET); + }, state.sockets.reconnectInterval); + }; + }, + + [ACTION_INIT_LOG_WEBSOCKET]({ state }) { + state.sockets.logSocket = new WebSocket(state.sockets.logSocketUrl); + state.sockets.logSocket.onopen = () => { + console.log("log websocket connection established"); + }; + state.sockets.logSocket.onmessage = ({ data }) => { + if (data instanceof Blob) { + const reader = new FileReader(); + + reader.onload = () => { + const text = reader.result as string; + this.commit(MUTATION_HANDLE_LOG_WEBSOCKET_MESSAGE, text); + }; + + reader.readAsText(data); + } else { + this.commit(MUTATION_HANDLE_LOG_WEBSOCKET_MESSAGE, data); + } + }; + state.sockets.logSocket.onerror = (event) => { + console.log("log websocket error: ", event); + }; + state.sockets.logSocket.onclose = (event) => { + console.log( + `log websocket connection closed with code ${event.code}. Reconnecting in ${state.sockets.reconnectInterval}ms...` + ); + setTimeout(() => { + this.dispatch(ACTION_INIT_LOG_WEBSOCKET); + }, state.sockets.reconnectInterval); + }; + }, + }, +}); diff --git a/sheep/app/styles.scss b/sheep/app/styles.scss new file mode 100644 index 0000000..94d25d9 --- /dev/null +++ b/sheep/app/styles.scss @@ -0,0 +1,58 @@ +@import "../node_modules/minireset.css/minireset.css"; +@import "variables"; + +body { + background-color: #1e1e1e; + color: #aaaaaa; + font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", "Ubuntu", "Droid Sans", sans-serif; +} + +@import "prism"; + +input[type="text"] { + width: 100%; + color: #aaaaaa; + outline: 0; + border: none; + background-color: #2b2b2b; + border-radius: 2px; + padding: 4px; +} + +button { + background-color: transparent; + outline: 0; + border: none; + color: #aaaaaa; + padding: 4px; + border-radius: 2px; + transition: 0.1s ease-in-out all; + user-select: none; + + &:hover { + background-color: rgba(255, 255, 255, 0.1); + } + + &:active { + background-color: rgba(255, 255, 255, 0.2); + } + + &:disabled { + pointer-events: none; + cursor: not-allowed; + background-color: transparent; + opacity: 0.5; + } +} + +.close { + display: inline-block; + width: 16px; + height: 16px; + background: url($close) 50% no-repeat; + cursor: pointer; +} + +#app { + overflow-y: hidden; +} \ No newline at end of file diff --git a/shepherd/blueprints/editor/index.html b/sheep/app/template.html similarity index 67% rename from shepherd/blueprints/editor/index.html rename to sheep/app/template.html index 7aa7f2e..93f36b5 100644 --- a/shepherd/blueprints/editor/index.html +++ b/sheep/app/template.html @@ -4,8 +4,8 @@ Sheep - +
- + \ No newline at end of file diff --git a/sheep/app/variables.scss b/sheep/app/variables.scss new file mode 100644 index 0000000..3d870c5 --- /dev/null +++ b/sheep/app/variables.scss @@ -0,0 +1,20 @@ +$sidebar-width: 250px; + +@mixin scrollbar($background-color: #222222) { + &::-webkit-scrollbar { + width: 10px; + } + + &::-webkit-scrollbar-track { + background-color: $background-color; + } + + &::-webkit-scrollbar-thumb { + background-color: #333333; + &:hover { + background-color: #444444; + } + } +} + +$close: "data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.428 8L12 10.573 10.572 12 8 9.428 5.428 12 4 10.573 6.572 8 4 5.428 5.427 4 8 6.572 10.573 4 12 5.428 9.428 8z' fill='%23E8E8E8'/%3E%3C/svg%3E"; diff --git a/sheep/app/vue-shim.d.ts b/sheep/app/vue-shim.d.ts new file mode 100644 index 0000000..ad17f79 --- /dev/null +++ b/sheep/app/vue-shim.d.ts @@ -0,0 +1,4 @@ +declare module "*.vue" { + import Vue from "vue"; + export default Vue; +} \ No newline at end of file diff --git a/sheep/app/xml-shim.d.ts b/sheep/app/xml-shim.d.ts new file mode 100644 index 0000000..23c3a93 --- /dev/null +++ b/sheep/app/xml-shim.d.ts @@ -0,0 +1,4 @@ +declare module "*.xml" { + const contents: string; + export = contents; +} diff --git a/sheep/docs/.vuepress/categories.json b/sheep/docs/.vuepress/categories.json new file mode 100644 index 0000000..44c7f2d --- /dev/null +++ b/sheep/docs/.vuepress/categories.json @@ -0,0 +1 @@ +["Tools", "Tutorials", "Programming", "Hardware"] diff --git a/sheep/docs/.vuepress/components/BlocklySnippet.vue b/sheep/docs/.vuepress/components/BlocklySnippet.vue new file mode 100644 index 0000000..52e7095 --- /dev/null +++ b/sheep/docs/.vuepress/components/BlocklySnippet.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/sheep/docs/.vuepress/config.js b/sheep/docs/.vuepress/config.js new file mode 100644 index 0000000..6897338 --- /dev/null +++ b/sheep/docs/.vuepress/config.js @@ -0,0 +1,69 @@ +const fs = require("fs"); +const path = require("path"); +const fm = require("front-matter"); +const docsCategories = require("./categories"); + +function makeSidebar(dirPath, categories = []) { + const sidebar = [ + { + collapsable: false, + children: [ + { + name: "", + position: -1 + } + ] + } + ].concat( + categories.map(category => ({ + title: category, + collapsable: false, + children: [] + })) + ); + + // noinspection JSCheckFunctionSignatures + fs.readdirSync(dirPath) + .filter(item => item.endsWith(".md") && item !== "README.md") + .map(item => ({ + name: item.substring(0, item.length - 3), + frontmatter: fm( + fs.readFileSync(path.resolve(dirPath, item), { encoding: "utf-8" }) + ).attributes + })) + .forEach(item => { + // noinspection JSUnresolvedVariable + const category = + item.frontmatter.category === "None" + ? sidebar[0] + : sidebar.find(group => group.title === item.frontmatter.category); + if (category) { + category.children.push({ + name: item.name, + position: item.frontmatter.position + }); + } + }); + sidebar.forEach(group => { + group.children.sort((a, b) => a.position - b.position); + group.children = group.children.map(item => item.name); + }); + + return sidebar; +} + +const docsSidebar = makeSidebar(path.resolve(__dirname, ".."), docsCategories); + +module.exports = { + title: "Robocon", + base: "/docs/", + themeConfig: { + nav: [ + { text: "Shepherd", link: "http://robot.local" }, + { text: "Editor", link: "http://robot.local/editor" } + ], + sidebar: { + "/": docsSidebar + } + } +}; diff --git a/sheep/docs/.vuepress/override.styl b/sheep/docs/.vuepress/override.styl new file mode 100644 index 0000000..e91a2dd --- /dev/null +++ b/sheep/docs/.vuepress/override.styl @@ -0,0 +1,2 @@ +$accentColor = #0094FF +$codeBgColor = #1e1e1e \ No newline at end of file diff --git a/sheep/docs/.vuepress/public/2019-10-17 Chicken and egg game rules.pdf b/sheep/docs/.vuepress/public/2019-10-17 Chicken and egg game rules.pdf new file mode 100644 index 0000000..3b3e8b6 Binary files /dev/null and b/sheep/docs/.vuepress/public/2019-10-17 Chicken and egg game rules.pdf differ diff --git a/sheep/docs/.vuepress/public/CytronBoardDocs.pdf b/sheep/docs/.vuepress/public/CytronBoardDocs.pdf new file mode 100644 index 0000000..35c55cd Binary files /dev/null and b/sheep/docs/.vuepress/public/CytronBoardDocs.pdf differ diff --git a/sheep/docs/.vuepress/public/HowToAssembleYourMiniBot.pdf b/sheep/docs/.vuepress/public/HowToAssembleYourMiniBot.pdf new file mode 100644 index 0000000..a14d0ea Binary files /dev/null and b/sheep/docs/.vuepress/public/HowToAssembleYourMiniBot.pdf differ diff --git a/sheep/docs/.vuepress/public/RoboCon2019RulebookRev10.pdf b/sheep/docs/.vuepress/public/RoboCon2019RulebookRev10.pdf new file mode 100644 index 0000000..132da83 Binary files /dev/null and b/sheep/docs/.vuepress/public/RoboCon2019RulebookRev10.pdf differ diff --git a/sheep/docs/.vuepress/public/main.py b/sheep/docs/.vuepress/public/main.py new file mode 100644 index 0000000..b56d1bf --- /dev/null +++ b/sheep/docs/.vuepress/public/main.py @@ -0,0 +1,7 @@ +import robot + +R = robot.Robot() + +print("Recovery complete!") +print("Please turn off your robot and unplug the USB stick.") +print("Then start the robot normally.") diff --git a/sheep/docs/.vuepress/public/markers.pdf b/sheep/docs/.vuepress/public/markers.pdf new file mode 100644 index 0000000..0111dd6 Binary files /dev/null and b/sheep/docs/.vuepress/public/markers.pdf differ diff --git a/sheep/docs/.vuepress/public/patch-2019-01-12.zip b/sheep/docs/.vuepress/public/patch-2019-01-12.zip new file mode 100644 index 0000000..a43aa13 --- /dev/null +++ b/sheep/docs/.vuepress/public/patch-2019-01-12.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e03576859b8f1f43db41799786b53f9c1b3a4a8cd3fa29a4ae8a9983b1639d60 +size 5261607 diff --git a/sheep/docs/.vuepress/public/patch-2019-02-27.zip b/sheep/docs/.vuepress/public/patch-2019-02-27.zip new file mode 100644 index 0000000..5a71e64 --- /dev/null +++ b/sheep/docs/.vuepress/public/patch-2019-02-27.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e1ba84dfbed9ce9b069e09bd8f454781b2dfcb7b6bf40b58db263aecc98f535 +size 13412 diff --git a/sheep/docs/.vuepress/public/roboconRulebook.pdf b/sheep/docs/.vuepress/public/roboconRulebook.pdf new file mode 100644 index 0000000..7a839d3 Binary files /dev/null and b/sheep/docs/.vuepress/public/roboconRulebook.pdf differ diff --git a/sheep/docs/.vuepress/public/simple.py b/sheep/docs/.vuepress/public/simple.py new file mode 100644 index 0000000..32691ed --- /dev/null +++ b/sheep/docs/.vuepress/public/simple.py @@ -0,0 +1,3 @@ +import robot + +R = robot.Robot() diff --git a/sheep/docs/README.md b/sheep/docs/README.md new file mode 100644 index 0000000..3af9c38 --- /dev/null +++ b/sheep/docs/README.md @@ -0,0 +1,45 @@ +--- +title: Getting Started +category: None +position: 1 +--- +# Getting Started + +Welcome to the docs for **Robocon 2025**! + +We suggest you first grasp the idea of the [rules](http://robot.local/docs/roboconRulebook.pdf). +:::tip + +If you are viewing this page on your BrainBox then please check the website for the latest revision. + +::: + +![Game logo](/images/logo-with-sponsors.png) +Once you've done that, you'll need to turn your robot on. + +To begin, get familiar with the kit provided. It includes : + +| Count | Parts | +| ------ | -------------------------- | +| 2 | Lithium Polymer Batteries | +| 1 | Battery Bag | +| 1 | Battery Charger | +| 1 | BrainBox | +| 2 | Motor | +| 2 | Wheels | +| 1 | Caster Wheel | +| 1 | Chassis | +| 2 | Servo Motor | +| 1 | Start Button | +| 1 | Power Switch | + +:::warning + Handling batteries incorrectly can be dangerous. Make sure you follow these [safety guidelines](/charging.md) at all times. +::: +:::tip +You can also access these docs from your robot. Go to when you're connected to your robot. +::: + +If you have any questions related to the competition, the brainboxes, or any ideas or struggles you have, feel free to [drop us an email](mailto:robotics@hrsfc.ac.uk) - we are happy to help! + + diff --git a/sheep/docs/batteries.md b/sheep/docs/batteries.md new file mode 100644 index 0000000..73e828c --- /dev/null +++ b/sheep/docs/batteries.md @@ -0,0 +1,58 @@ +--- +title: Batteries +category: Hardware +position: 1 +--- +![Zippy Compact 2200mAh battery](/images/63391_m_1__6.jpg) + +# Batteries + +The electronics kit contains two lithium-ion polymer (LiPo) batteries. These are similar to those used in laptops and are small and light for the amount of energy they contain. This is great for your robot but it is vital to treat such a high concentration of energy with respect. If you do not, there is a serious risk of fire and injury. To avoid this, you should follow the safety information on this page closely, at all times. + +Your kit will come with several pieces of battery-related equipment: + +* Two 11.1V 2200mAh LiPo Batteries. +* One battery charger. +* One battery charging bag. + +You must not use any batteries, chargers, bags or cables **not** explicitly authorised by **Hills Road RoboCon**. If you have any doubts or wish to request permission to use a battery, charger, charging bag or battery cable not provided by **Hills Road RoboCon**, please contact [robotics@hrsfc.ac.uk](mailto:robotics@hrsfc.ac.uk). + +:::warning + +* Never leave batteries unattended when they are in use or charging. +* Always place the batteries in the provided charging bag when charging or storing. +* Do not charge or use a damaged battery. +* Do not tamper with the battery wires. +* If a battery has any cuts, nicks, exposed copper on wires or is bulging, [contact us](mailto:robotics@hrsfc.ac.uk) immediately. + +::: + +## Storing + +When your batteries are not actively in use, they should be safely stored. You must disconnect the batteries from all electrical equipment, and place them in the battery charging bag. You should then store the charging bag in a safe location. + +If you are not going to use the batteries for a long period of time, such as more than a week, then you should charge the batteries beforehand. By themselves, batteries will discharge very slowly, and over-discharging will lead to damage. We recommend that you charge all batteries to at least 70% of capacity before being stored for a long period. + +## Operating Batteries + +To use your batteries, you must connect them to the **Hills Road RoboCon** BrainBox. Do not tamper with the cable or connect the batteries to anything other than the power board (or the charger when charging). + +During operation, the battery is protected by over-current protection by a regulator on the power board. If any equipment is short circuited, the over-current protection will activate - protecting the battery. There is a fuse placed inline with the power cord. If you suspect the fuse has gone something _very_ wrong has happened. This is an important safety feature. + +:::warning + +Do **NOT**, under any circumstances, bypass or replace the fuse. If the fuse has blown then the power board has failed and **must** be replaced for safe operation. If you suspect the fuse has blown then please contact straight away. + +::: + +Mechanical damage to a battery can be dangerous, and a puncture or large force applied to a battery causes a serious risk of fire. To avoid this, your battery should be shielded from mechanical damage while you operate it. Secure your battery to your robot, so that it does not move or fall off while the robot moves. You should also build a compartment for the battery to be placed in to prevent accidental collisions damaging the battery. + +## Flat batteries + +When the battery has been almost completely discharged, the Power Board will automatically go into a low power state and shut everything down. You should immediately disconnect the battery, and begin charging it. You should keep your second battery charged so that you can immediately switch to using it. + +Do not store a discharged battery for more than a few days without charging it, as it may discharge further and become damaged. + +## Charging batteries + +You should only use the battery charger provided by **Hills Road RoboCon** to charge the batteries provided in the kit. Plug your battery in and put it in a LiPo safe bag until all the lights turn green. diff --git a/sheep/docs/charging.md b/sheep/docs/charging.md new file mode 100644 index 0000000..7007af6 --- /dev/null +++ b/sheep/docs/charging.md @@ -0,0 +1,20 @@ +--- +title: Charging +category: Hardware +position: 2 +--- +# Charging + +The exact charger you have will vary, however the one you have should look a bit like this one: + +![A charger](/images/charger.png) + +To charge the battery find an adapter and plug the charger into the mains. All three LEDs should light up red. Take the battery and place it in the LiPo-safe bag so that only the leads protrude then take the four pin lead from the battery. Then plug that into the four pin connector on the charger, noting the direction they are keyed in. + +:::warning + +Always make sure that you charge the battery in a LiPo-safe bag. If you have any reason to suspect that the battery is damaged **do NOT use it**. + +::: + +When the battery is charged all 3 LEDs will turn green, if the LED's flash red it means that there is a problem with your battery and you should contact us immediately. diff --git a/sheep/docs/collecting-images-and-raw-analysis.md b/sheep/docs/collecting-images-and-raw-analysis.md new file mode 100644 index 0000000..093406c --- /dev/null +++ b/sheep/docs/collecting-images-and-raw-analysis.md @@ -0,0 +1,23 @@ +--- +title: Collecting Images and Raw Analysis +category: Tools +position: 8 +--- +![]() + +# Collecting Images and Raw Analysis + +Every time the robot takes a picture it is updated on the web interface, during development it is occasionally useful to be able to also keep a log of pictures that have been analysed to check the camera focus, motion blur etc. + +## Gathering Data: + +1. Add a file with the name "collect_images.txt" to the USB stick to collect the images +2. Add a file with the name "log_markers.txt" to the USB stick to collect analysis of images +3. Insert the USB stick before turning the robot on +4. Remember to fully shut down the robot before removing the USB stick + +:::warning + +Collecting all images may slow down the processing time from your robot - Use with care! + +::: diff --git a/sheep/docs/connecting.md b/sheep/docs/connecting.md new file mode 100644 index 0000000..be0c644 --- /dev/null +++ b/sheep/docs/connecting.md @@ -0,0 +1,21 @@ +--- +title: Connecting +category: Tools +position: 1 +--- + +# Connecting to the Robot + +1. Turn on the robot by following the instructions [here](/turning-everything-on.md). +2. Turn on your computer and wait until you reach the Windows desktop. +3. Click on the WiFi icon in the bottom right and connect to `RoboConYYYY-TeamXX` where `YYYY` is the competition year and `XX` is your team number. Your WiFi password should be on the bottom of your BrainBox, underneath its network name. +4. Navigate to in your web browser of choice (**Chrome** or **Firefox** is recommended). You should see an interface similar to this: + +![The Interface](/images/shepherd.png) + +From now on, this will be referred to as the **Shepherd Homepage**. + +## Next Steps + + - [Learn to use the editor](/editor.md) right here in the browser! + - [Troubleshooting](/troubleshooting.md) \ No newline at end of file diff --git a/sheep/docs/editor.md b/sheep/docs/editor.md new file mode 100644 index 0000000..a82bbdc --- /dev/null +++ b/sheep/docs/editor.md @@ -0,0 +1,68 @@ +--- +title: Using the Editor +category: Tools +position: 3 +--- +# Using the Editor + +We recommend you use the code editor that's included with Shepherd to program your robot. You can either program in Python or use Blockly, a powerful Scratch-like programming tool. + +Assuming you've [connected to your robot](/connecting.md), head to or click the orange +editor button on the Shepherd homepage. + +![Upload Button](/images/shepherd-editor.png) + +## The Editor Interface + +You should now see the editor interface. _(yours will look slightly different to this)_ + +![Annotated Editor Interface](/images/shepherd-editor-annotated.png) + +The **green sidebar** is the **projects panel**. This is where you can access or +export your existing projects, and create or import new ones. Clicking on a project in this list will open it in the +editor. + +* The **orange button** is the **import button**. This lets you load a saved project + into the editor. +* The **blue button** is the **create project button**. This is how you + [create a project](#creating-a-new-project). +* The **red button** is the **export button**. This allows you to save the project + to your computer as a backup. +* The **pink button** is the **delete project button**. This will allow you to + delete a project if you don't want it. There is no way to undo this action. + +The **yellow toolbar** is the **tab list**. This is where you can find all your open +projects. If your project has a **white circle** at the end of the tab, it means you have **unsaved** content. Projects are +auto-saved after you stop editing them or when you run your project, but you can also manually save by pressing the **CTRL** +and **S** keys simultaneously. + +The **teal sidebar** is the **logs panel**. This is where you can see the output +from your robot when you run your program. + +* The **dark green button** is the **run button**. Pressing this will prompt you to + save your project to your computer, just as a backup, and then run your code on the robot. +* The **dark red button** is the **stop button**. Pressing this will force the robot + to stop what it's doing, useful if your robot is out of control. + +The **main section** in the middle is the **editor**. This will be different depending on whether you're editing a Python or a +Blockly project. + +## Creating a new project + +Click on the **create project button** (marked in **blue** in the above screenshot). +The create project dialog will appear: + +![Create Project Interface](/images/shepherd-editor-create-project.png) + +Give your project a name, then select the type of project you would like. Choose either Python or Blockly. Then click the **create** button. + +Your new project will open in the editor. See the sections below for more information on [Python](#python-projects) and +[Blockly](#blockly-projects) projects. Once you've read these, why not start learning [how to program your robot](/init-robot.md). + +## Python Projects + +Python projects provide a powerful development tool with syntax highlighting and code completion for the standard Python libraries and also the `robot` module. If you are interested, it uses the text editor that powers Visual Studio Code. + +## Blockly Projects + +Google's Blockly is a programming environment similar to Scratch that allows you to program your robot with blocks. You still have access to all the features of the robot so you are not disadvantaged if you decide to use this over Python. diff --git a/sheep/docs/enabling-and-disabling-power.md b/sheep/docs/enabling-and-disabling-power.md new file mode 100644 index 0000000..328d798 --- /dev/null +++ b/sheep/docs/enabling-and-disabling-power.md @@ -0,0 +1,59 @@ +--- +title: Toggling 12v and 5v power +category: Programming +position: 10 +--- +# Toggling 12v and 5v power +Output power at both 12v and 5v can be toggled on and off using your code. This can be done in a couple different ways. + +## Toggling 12v power +The BrainBox provides 12v power to the Aux 12v port on the side of the BrainBox next to the motors. In your code you can toggle whether this power is being supplied using the `R.enable_12v` property as shown below: +```python +import robot +R = robot.Robot() + +# ...Your code + +R.enable_12v = False + +# ...Rest of your code +``` +This will disable the Aux 12v port until you re-enable it using `R.enable_12v = True`. +You can also check whether the 12v is currently enabled or disabled. +```python +import robot +R = robot.Robot() + +R.enable_12v = False +print(R.enable_12v) # Outputs "False" +``` + +## Toggling 5v power +The BrainBox supplied 5v power to multiple outputs. These are the Servos (all 0-3), as well as the 5v GPIO pin. You can disable these similarly to the 12v power by using the following code: +```python +import robot +R = robot.Robot() + +# ...Your code + +R.enable_5v = False + +# ...Rest of your code +``` +This will disable the Servo ports as well as the 5v GPIO pin until you re-enable them using `R.enable_5v = True`. +You can also check whether the 5v is currently enabled or disabled. +```python +import robot +R = robot.Robot() + +R.enable_5v = False +print(R.enable_5v) # Outputs "False" +``` + +## Enabling or disabling power by default. +You can set the BrainBox to have 5v and 12v disabled by default using the following code: +```python +import robot +R = robot.Robot(start_enable_5v=False, start_enable_12v=False) +``` +You can set both to false as in the example, or alternatively only set one. This will disable the power immediately when the brain loads to blinky, rather than you manually disabling it when the code starts execution. \ No newline at end of file diff --git a/sheep/docs/expanding-functionality.md b/sheep/docs/expanding-functionality.md new file mode 100644 index 0000000..9fa710e --- /dev/null +++ b/sheep/docs/expanding-functionality.md @@ -0,0 +1,32 @@ +--- +title: Expanding Functionality +category: Hardware +position: 5 +--- +# Expanding Functionality + +:::warning +Although the I2C and UART are connected to the Raspberry Pi, they operate at 5.1V not 3.3V. Check that your devices are compatible first! +::: + +## I2C + +I2C is a great way to a components to your BrainBox. Look at the datasheet for your device which you would like to connect and connect the SDA and SDL to the appropriate pins. You should now be able to send data to your device by using the [SMBus2 python library](https://pypi.org/project/smbus2/). + +:::warning +You should avoid address 0x08 (8) and 0x68 (104) because these are used by critical system components. +::: + +If you are interested in the I2C protocol there is a good guide to find out more about how it works [here](http://www.circuitbasics.com/basics-of-the-i2c-communication-protocol/). + +## USB + +You can use USB devices using the [`serial`](https://pyserial.readthedocs.io/en/latest/shortintro.html) library. The connection will probably open on something similar to `dev/ttyUSB0` but if you can't find it where you expect then connect the device to a Raspberry Pi running a recent OS image and observe where it appears. + +## UART + +UART is not enabled by default on the BrainBox and you will need to ask on the forums for us to provide a patch to enable it should you wish to use it. + +:::tip +Please ask on the forums for more infomation if you wish to expand your BrainBox. +::: diff --git a/sheep/docs/gpio.md b/sheep/docs/gpio.md new file mode 100644 index 0000000..8605476 --- /dev/null +++ b/sheep/docs/gpio.md @@ -0,0 +1,103 @@ +--- +title: GPIO +category: Programming +position: 5 +--- +# GPIO + +The GPIO (General Purpose Input Output) allows you to turn on LEDs, react to button presses, or do just about anything. + +Our BrainBox has 4 GPIO pins that you can control. Before you do anything with a pin, you must first set its mode. + +There are 4 modes: +|Mode|Python|Description| +|-|-|-| +|Digital Output|`robot.OUTPUT`|Allows you to write a high or low signal| +|Digital Input|`robot.INPUT`|Allows you to read a high or low signal| +|Analog Input|`robot.INPUT_ANALOG`|Allows you to read a voltage, like a voltmeter| +|Pullup Input|`robot.INPUT_PULLUP`|Like input, but uses a [weak pullup resistor](/gpio.html#pull-ups)| + +:::tip +The GPIO are numbered 0-3 +::: + +## Python + +To write a digital signal on pin 0: + +```python +R.gpio[0].mode = robot.OUTPUT +R.gpio[0].digital = True +``` + +To read a digital signal on pin 1: + +```python +R.gpio[1].mode = robot.INPUT +print(R.gpio[1].digital) +``` + +To read an analog signal on pin 2: + +```python +R.gpio[2].mode = robot.INPUT_ANALOG +print(R.gpio[2].analog) +``` + +To read a pullup signal on pin 3 +```python +R.gpio[3].mode = robot.INPUT_PULLUP +print(R.gpio[3].digital) # Note that this output will be inverted - True when the connnection is open, and False when closed. +``` + +:::tip +All modes can be used on all pins. Note that you only need to set this mode once in your code, not every time you read an input or send an output. +::: + +Here's a more complete example: + +```python +import robot +import time + +R = robot.Robot() + +R.gpio[0].mode = robot.INPUT +R.gpio[1].mode = robot.INPUT_ANALOG +R.gpio[2].mode = robot.OUTPUT +R.gpio[3].mode = robot.INPUT_PULLUP + +outputState = False + +while True: + # Read the values of 0 and 1 + print(R.gpio[0].digital) + print(R.gpio[1].analog) + + # Switch output state and send it to 2 + outputState = !outputState + R.gpio[2].digital = outputState + + # Read the value of 3 + print(R.gpio[3].digital) + + # Pause for 2 seconds + time.sleep(2) +``` + +## Blockly + +The GPIO blocks can be found in the **GPIO** section, and function similarly to the python. + +## Pull-ups + +The BrainBox possesses the ability to enable a built-in pull-up resistor on any input pin. This takes a small amount of explanation. + +Normally, input pins are not connected to anything - known as “floating”. In this state, they might read high or low, or different values depending on their environment (due to anything from cosmic rays to the wiring in the building). This is obviously not good for consistent control. + +Many pieces of off-the-shelf electronics that have some form of standard I/O output will connect this pin to 5V (high) and 0V (low) when required, so this is not a problem. However, for simple electronics, a microswitch for example, you would normally be required to connect a resistor between the input pin and 5V (a pull-up resistor), or between the input pin and 0V (a pull-down resistor) to keep the input in a known state until the switch overrides it by connecting directly to the opposite state. + +However, the built-in pull-up resistor alleviates this need. It essentially wires in a resistor connected to 5V, meaning that when this option is enabled, an input pin will “default” to being high. This means you can simply connect a switch between the input pin and a ground pin without any need of resistors - when the switch is open, the pin will read high; when closed, it will read low. + +![An example weak pull up](/images/capture.png) + diff --git a/sheep/docs/hello-challenges.md b/sheep/docs/hello-challenges.md new file mode 100644 index 0000000..e1b0457 --- /dev/null +++ b/sheep/docs/hello-challenges.md @@ -0,0 +1,24 @@ +--- +title: Hello Challenges +category: Tutorials +position: 7 +--- +# Challenges + +The following are challenges for you to attempt and might give you a some help for the competition... + +1. Create a program that turns a LED on when a button is pressed. +2. Create a program that makes the robot move a given distance. +3. Create a program that makes a robot turn towards the first marker it sees. +4. Create a program that makes the robot move towards the first marker it sees. + +# More challenges + +At the launch, we gave teams a PDF of challenges to complete. [You can find a +copy of that here](/images/challenges.pdf). +Note that quite a few of these require input from the red shirts, so you may have to adapt them to suit what you have available! + +# Next Steps + +You are now familiar with the RoboCon kit! We recomend that you now start thinking about your strategy for how you will win. Design your robot in little steps, and test along the way - getting a prototype up and rolling is the best way to ensure your robot will be achieving your goals by the time the competition rolls around! So best of luck, and don't delay - you've got some engineering to do... + diff --git a/sheep/docs/hello-gpio.md b/sheep/docs/hello-gpio.md new file mode 100644 index 0000000..9f5892c --- /dev/null +++ b/sheep/docs/hello-gpio.md @@ -0,0 +1,93 @@ +--- +title: Hello GPIO +category: Tutorials +position: 5 +--- +# GPIO + +GPIO, or General Purpose Input Output, is the main way you'll interface with simple or obscure bits of hardware. This tutorial will introduce the GPIO system and how to use it. + +## GPIO Pins + +On the side of your BrainBox, there are 4 regular pins and a "+5V" and "-" pin. The top of the BrainBox labels which pin corresponds to which number. Different devices need to be plugged into different pins. + +## LED Output + +:::tip +GPIO outputs are already protected by a 1k Ohm current limiting resistor, you can connect LEDs directly! +::: + +If you want to put an LED on your robot, for testing or just for looks, you'll need to plug the short leg of the LED into the `-` (ground) pin, and the long leg of the LED into any regular pin (such as 1). Then, use the following code to set up the pin in `OUTPUT` mode and turn the LED on: + +```python +import robot +R = robot.Robot() + +# If you're not using GPIO pin 1, change this number to whatever pin you're using. +R.gpio[0].mode = robot.OUTPUT +R.gpio[0].digital = True +``` + +Try using a loop to make the light turn on and off every 2 seconds. You'll need the time library from the motors exercise. + +## Buttons + +While your robot hopefully won't be colliding with much, buttons are a good way for a robot to know if it's driven into something. Buttons should be plugged into the - pin and a regular pin (such as 0). Using the `INPUT_PULLUP` mode, you can detect when a button is pressed. + +```python +import robot +import time +R = robot.Robot() + +# If you're not using GPIO pin 0, change this number to whatever pin you're using. +R.gpio[0].mode = robot.INPUT_PULLUP + +while True: + if not R.gpio[0].digital: + print("Pressed") + else: + print("Not Pressed") + time.sleep(0.1) +``` + +Note that `INPUT_PULLUP` returns inverted values - `True` when it isn't pressed and `False` when it is. This means we use `not` to invert the output we get back to something more sensible for our use. + +Try making a light turn on or off depending on if a button is pressed. An explanation of why it is needed to use `INPUT_PULLUP` can be found in the [GPIO documentation](/gpio.html#pull-ups). + +## Potentiometers + +Another form of input is a potentiometer or a variable resistor. Potentiometers should be plugged into the +5V, a regular pin (such as 3) and the - pin. Using `INPUT_ANALOG` mode, you can read the voltage output of the resistor (between 0V and 5V). + +```python +import robot + +R = robot.Robot() + +POT_PIN = 3 + +R.gpio[POT_PIN].mode = robot.INPUT_ANALOG + +while True: + print(R.gpio[POT_PIN].analog) +``` + +## Using sensors with retroreflective tape + +You can also use retroreflective sensors with your robot's GPIO. This can be configured in the code as follows: + +```python +import robot +import time + +R = robot.Robot() + +R.gpio[0].mode = robot.INPUT + +while True: + if not R.gpio[0].digital: + print("Reflecting!") + time.sleep(1) +``` + +This is a piece of code, that when run, should detect things very close to the sensor, or reflective objects further away (such as the retroreflective tape in the arena). +Note that the detector also returns `False` when it detects something, so `not` is used. Retroreflective tape is used in the arena to mark the borders of each quadrant. Using a sensor like this facing downwards can allow your robot to detect when it passes into a new quadrant. This could be used for a whole variety of helpful tasks when navigating the arena. We look forward to seeing your creativity! \ No newline at end of file diff --git a/sheep/docs/hello-motors.md b/sheep/docs/hello-motors.md new file mode 100644 index 0000000..c942fc0 --- /dev/null +++ b/sheep/docs/hello-motors.md @@ -0,0 +1,92 @@ +--- +title: Hello Motors +category: Tutorials +position: 4 +--- +# Making The Robot Go +Your robot is unlikely to score many points if it doesn't go anywhere. This tutorial will show you how to access and turn the motors on your robot. + +## Getting Ready +First things first, make sure that your robot is not about to drive off a table. Even if you're planning on turning on the spot, it's best to put your robot on the floor in case it does something unexpected. + +Next, you'll need to initialise the robot. For this exercise, you'll also need the "time" Python library - remember that we used this last chapter to help our camera code along. +```python +import time +import robot +R = robot.Robot() +``` + +## Driving Around + +:::tip +Motor power is automatically scaled for the 3-6V motors included in the kit, if you are sourcing your own motors then see [the motors reference](/motors.md) for how to allow faster speeds. +::: + +Now that everything is set up, it's time to set the motors. All the motors are stored in a list inside the Robot variable - to access the first motor, you can use `R.motors[0]`, the second motor is found with `R.motors[1]`. + +Changing the speed of the motor is easy - just set the motor to a number from -100 to 100. Immediately setting the power to 100 can have unwanted side effects, so we'll start by setting them to half power: +```python +import time +import robot +R = robot.Robot() + +R.motors[0] = 50 +R.motors[1] = 50 +``` +Running this program will either make you move forwards or make your robot turn on the spot, depending on how you have set up the motors. If your motor is spinning, try setting one of the motors to the negative value, spinning it in the other direction, and swap which one is negative until your robot drives forwards in a way you are happy with. + +The issue with this code is that unfortunately, it will never tell it to stop moving forwards, so hopefully you put it on the floor and it hasn't driven off the table.
+To fix this we can set the power of the motors to 0 after a couple of seconds: +```python +import time +import robot +R = robot.Robot() + +R.motors[0] = 50 +R.motors[1] = 50 + +time.sleep(2) + +R.motors[0] = 0 +R.motors[1] = 0 +``` +This is where `sleep()` becomes handy. It pauses the execution of your code with the motors still at 50, and so they stay running until we stop them after the `sleep()` call ends. + +To turn the robot, you just need to set one motor going forwards and the second motor going backwards. The following program makes the robot do a little dance - try it out! (Note that if your robot had inverted motors from earlier, you may have differing results) +```python +import time +import robot +R = robot.Robot() + +speed = 50 + +R.motors[0] = speed +R.motors[1] = speed + +time.sleep(2) + +R.motors[0] = speed +R.motors[1] = -speed + +time.sleep(2) + +R.motors[0] = -speed +R.motors[1] = -speed + +time.sleep(2) + +R.motors[0] = -speed +R.motors[1] = speed + +time.sleep(2) + +R.motors[0] = 0 +R.motors[1] = 0 +``` +A final note, even if you set both motors the same power, your robot probably won't drive in a perfectly straight line. This is due to defects in the motors, and unless you get specialised motors, no two motors will have the same offset. How your robot deals with this is up to you! + +# Troubleshooting and Further Reading +[Connecting to the robot](/connecting.html)
+[Uploading and running code](/uploading.html)
+[Using the editor](/editor.html)
+[Motors](/motors.html) diff --git a/sheep/docs/hello-servos.md b/sheep/docs/hello-servos.md new file mode 100644 index 0000000..616c05d --- /dev/null +++ b/sheep/docs/hello-servos.md @@ -0,0 +1,26 @@ +--- +title: Hello Servos +category: Tutorials +position: 6 +--- +# Servos + +Servos are a type of motor with internal feedback they can move to a set position. The type of servo you will come across most frequently have a set range of motion, but with precise position control you can do a whole manner of actions within the mechanics of your robot! Servo motors (or anything else you connect to the servo ports of your BrainBox) are controlled by accessing `R.servos[]`, similar to how motors are accessed. + +```python +import robot +import time + +R = robot.Robot() +R.servos[0].mode = robot.PWM_SERVO + +R.servos[0] = 50 +``` + +However, where the value of a motor determines the *speed* it turns, the value of a servo controls the *position* it is at on its rotation, with a range of -100 to 100. Try it out on your robot to see which values correspond to each position! + +:::tip +When your robot is turned off, the brain will automatically set all of its servos to the 0 position. Make sure you factor this in when you run your robots! +::: + + diff --git a/sheep/docs/hello-vision.md b/sheep/docs/hello-vision.md new file mode 100644 index 0000000..09ceac1 --- /dev/null +++ b/sheep/docs/hello-vision.md @@ -0,0 +1,71 @@ +--- +title: Hello Vision +category: Tutorials +position: 3 +--- +# Making the Robot See + +Your robot can use its camera to see markers to identify tokens and walls. This tutorial will help you make a program that makes the robot output the number of cubes it can see. + +## Initialising the Robot + +Create a new script called "VisionTest". + +Unlike in the previous tutorial, [Hello World](/hello-world.md), the use of the first couple lines of code is important here. So let's break them down: + +```python +import robot +R = robot.Robot() +``` + +This creates a "Robot" object, and places it inside the variable "R". This allows us to use robot functions through the R variable, such as `R.See()`. If you are using Blockly, the robot is initialised automatically. + +[Here](https://www.makeuseof.com/tag/object-oriented-programming-explained/) is a basic introduction into what Object Oriented Programming is. + +## Counting Markers + +To make the robot "see" what is in front of it we have to call the function `R.see()` and assign the result to a variable. This will set that variable to a list of every marker the robot can see: + +```python +markers = R.see() +``` + +Every item in the list contains information about the type of the marker, the distance/angle to the marker, and more! For now all we want to do is to find the number of markers the robot can see, so we just need to print the length of the list: + +```python +print(len(markers)) +# len gets the length of something, +# in this case a list of all the markers we can see +``` + +If we run this code as it is, it will output the number of markers it can see once and then stop. To make it continue looking we need to put it in a `while True` loop, so it will repeat our program forever (or until we turn it off). + +The complete code is as follows: + +```python +import robot +import time +R = robot.Robot() + +while True: + markers = R.see() + print(len(markers)) + time.sleep(2) +``` + +You'll notice some new lines we snuck in there - an `import time` and a `time.sleep(2)`. The first of these adds another toolset to our code, the `time` library. This most notably adds the sleep function we used just now, which pauses the code's execution for the number of seconds specified - in this case two. + +:::tip +The camera takes a moment to process the images it takes. While you can run it without any delay in the loop, this can lead to some buggy behaviour, and will act more like running every 0.6 or so seconds. In general, adding a `sleep()` gives you more control over what your robot is doing. +::: + +## Running the code + +Place a few markers infront of the camera on the robot about 10-20cm away and run the code. In the logs the number of markers visible will be outputted, and in addition to the logs, the raw images taken by the camera can be seen, which can be useful for working out if something is blocking the camera. + +# Troubleshooting and Further Reading + +[Connecting to the robot](/connecting.md)
+[Initalising the robot](/init-robot.md)
+[Using the editor](/editor.md)
+[Vision Code](/vision.md) \ No newline at end of file diff --git a/sheep/docs/hello-world.md b/sheep/docs/hello-world.md new file mode 100644 index 0000000..edb68b2 --- /dev/null +++ b/sheep/docs/hello-world.md @@ -0,0 +1,63 @@ +--- +title: Hello World +category: Tutorials +position: 2 +--- +# Hello + +Welcome to the RoboCon tutorials!
+Following each of the tasks in this category will start you on your way to getting your robot doing stuff. + +Ready? Let's go! + +> These tutorials will always assume that you have connected to the robot, started on the homepage and completed the previous tutorials. To find out how to connect to your robot click [here](/connecting.md) + +# Creating your first program + +As this is the first program that your robot will run we'll make it as simple and clichéd as it can get:
+We're going to make the robot write "Hello World!" into the output logs! + +## Create a new file + +![Run Button](/images/shepherd-editor.png) + +1. On the main page click the "Editor" button. +2. On the tabs click new file and name it something (e.g. "HelloWorld") + +## Writing the Code + +There are two ways to go about writing code for the robot:
+ +1. Python - The main language used to program robots with the BrainBox.
+2. Blockly - A Scratch-like language that allows you to write programs connecting blocks. This will automatically produce a python script that can be run in the robot. + +Both can be used to program a winning robot for the competition and it is up to you which one you develop your robot with. However for the following tutorials, Python will be used. + +Details on both these methods can be found in the programming section of the documentation. + +If you are running into problems using the editor, more details can be found [here](/editor.md). + +In the editor window write: + +```python +import robot + +R = robot.Robot() + +print("Hello World!") +``` +You don't need to know much about what the first couple lines do - they are covered in later chapters, and do setup for the robot to be able to run. The important bit for you to understand is the last bit - the `print()` statement. + +## Running the code + +Click on the green run button in the top right corner: + +![Run Button](/images/editor-robot-run.png) + +The logs should then appear with a friendly "Hello World!" + +## Troubleshooting and Further Reading + +[Connecting to the robot](/connecting.md)
+[Uploading and running code](/uploading.md)
+[Using the editor](/editor.md) \ No newline at end of file diff --git a/shepherd/images/63391_m_1__6.jpg b/sheep/docs/images/63391_m_1__6.jpg similarity index 100% rename from shepherd/images/63391_m_1__6.jpg rename to sheep/docs/images/63391_m_1__6.jpg diff --git a/shepherd/images/BrainBox lego attachment side profile photo.png b/sheep/docs/images/BrainBox lego attachment side profile photo.png similarity index 100% rename from shepherd/images/BrainBox lego attachment side profile photo.png rename to sheep/docs/images/BrainBox lego attachment side profile photo.png diff --git a/sheep/docs/images/BrainBox power input side profile labelled.png b/sheep/docs/images/BrainBox power input side profile labelled.png new file mode 100644 index 0000000..c64a322 Binary files /dev/null and b/sheep/docs/images/BrainBox power input side profile labelled.png differ diff --git a/shepherd/images/BrainBox servo connector side profile photo.png b/sheep/docs/images/BrainBox servo connector side profile photo.png similarity index 100% rename from shepherd/images/BrainBox servo connector side profile photo.png rename to sheep/docs/images/BrainBox servo connector side profile photo.png diff --git a/sheep/docs/images/CytronBoardDocs.pdf b/sheep/docs/images/CytronBoardDocs.pdf new file mode 100644 index 0000000..1ab7e0a Binary files /dev/null and b/sheep/docs/images/CytronBoardDocs.pdf differ diff --git a/shepherd/images/Landscape RC24 image.jpg b/sheep/docs/images/Landscape RC24 image.jpg similarity index 100% rename from shepherd/images/Landscape RC24 image.jpg rename to sheep/docs/images/Landscape RC24 image.jpg diff --git a/sheep/docs/images/MiniBot assembly instruction manual .pdf b/sheep/docs/images/MiniBot assembly instruction manual .pdf new file mode 100644 index 0000000..d2329b1 Binary files /dev/null and b/sheep/docs/images/MiniBot assembly instruction manual .pdf differ diff --git a/shepherd/images/RC24 Laptop background 1600x900.jpg b/sheep/docs/images/RC24 Laptop background 1600x900.jpg similarity index 100% rename from shepherd/images/RC24 Laptop background 1600x900.jpg rename to sheep/docs/images/RC24 Laptop background 1600x900.jpg diff --git a/shepherd/images/angled.png b/sheep/docs/images/angled.png similarity index 100% rename from shepherd/images/angled.png rename to sheep/docs/images/angled.png diff --git a/shepherd/images/brainboxmotors.png b/sheep/docs/images/brainboxmotors.png similarity index 100% rename from shepherd/images/brainboxmotors.png rename to sheep/docs/images/brainboxmotors.png diff --git a/shepherd/images/capture.png b/sheep/docs/images/capture.png similarity index 100% rename from shepherd/images/capture.png rename to sheep/docs/images/capture.png diff --git a/sheep/docs/images/challenges.pdf b/sheep/docs/images/challenges.pdf new file mode 100644 index 0000000..d3c6f60 Binary files /dev/null and b/sheep/docs/images/challenges.pdf differ diff --git a/shepherd/images/charger.png b/sheep/docs/images/charger.png similarity index 100% rename from shepherd/images/charger.png rename to sheep/docs/images/charger.png diff --git a/shepherd/images/editor-robot-run.png b/sheep/docs/images/editor-robot-run.png similarity index 100% rename from shepherd/images/editor-robot-run.png rename to sheep/docs/images/editor-robot-run.png diff --git a/shepherd/images/roboconHeader.jpg b/sheep/docs/images/logo-with-sponsors.png similarity index 100% rename from shepherd/images/roboconHeader.jpg rename to sheep/docs/images/logo-with-sponsors.png diff --git a/shepherd/images/powerconnector.png b/sheep/docs/images/powerconnector.png similarity index 100% rename from shepherd/images/powerconnector.png rename to sheep/docs/images/powerconnector.png diff --git a/shepherd/images/redpanel.png b/sheep/docs/images/redpanel.png similarity index 100% rename from shepherd/images/redpanel.png rename to sheep/docs/images/redpanel.png diff --git a/shepherd/static/footer.jpg b/sheep/docs/images/roboconHeader.jpg similarity index 100% rename from shepherd/static/footer.jpg rename to sheep/docs/images/roboconHeader.jpg diff --git a/shepherd/images/run-button.jpg b/sheep/docs/images/run-button.jpg similarity index 100% rename from shepherd/images/run-button.jpg rename to sheep/docs/images/run-button.jpg diff --git a/shepherd/images/shepherd-editor-annotated.png b/sheep/docs/images/shepherd-editor-annotated.png similarity index 100% rename from shepherd/images/shepherd-editor-annotated.png rename to sheep/docs/images/shepherd-editor-annotated.png diff --git a/shepherd/images/shepherd-editor-create-project.png b/sheep/docs/images/shepherd-editor-create-project.png similarity index 100% rename from shepherd/images/shepherd-editor-create-project.png rename to sheep/docs/images/shepherd-editor-create-project.png diff --git a/shepherd/images/shepherd-editor.png b/sheep/docs/images/shepherd-editor.png similarity index 100% rename from shepherd/images/shepherd-editor.png rename to sheep/docs/images/shepherd-editor.png diff --git a/shepherd/images/shepherd.png b/sheep/docs/images/shepherd.png similarity index 100% rename from shepherd/images/shepherd.png rename to sheep/docs/images/shepherd.png diff --git a/sheep/docs/images/upload-button.png b/sheep/docs/images/upload-button.png new file mode 100644 index 0000000..9d06e12 Binary files /dev/null and b/sheep/docs/images/upload-button.png differ diff --git a/shepherd/images/usbstick.jpg b/sheep/docs/images/usbstick.jpg similarity index 100% rename from shepherd/images/usbstick.jpg rename to sheep/docs/images/usbstick.jpg diff --git a/sheep/docs/init-robot.md b/sheep/docs/init-robot.md new file mode 100644 index 0000000..db2f007 --- /dev/null +++ b/sheep/docs/init-robot.md @@ -0,0 +1,18 @@ +--- +title: Initialising the Robot +category: Programming +position: 2 +--- +# Initialising the Robot + +When using Python to program your robot, you must remember to initialise the robot. If you're using Blockly, this is done automatically. + +All of the code required to control the Robot is located in the `robot` python module. +To import the module, and initialise the robot use the following code: + +```py +import robot +R = robot.Robot() +``` + +When you initialise the robot with `robot.Robot()`, your code will be paused until the hardware start button or web interface run button is pressed. When the Robot is waiting for either of these buttons to be pressed, the blue user LED will flash on and off. diff --git a/sheep/docs/kit-list-of-parts.md b/sheep/docs/kit-list-of-parts.md new file mode 100644 index 0000000..e166ee2 --- /dev/null +++ b/sheep/docs/kit-list-of-parts.md @@ -0,0 +1,40 @@ +--- +title: Kit List of Parts +category: Hardware +position: 3 +--- +## The RoboCon kit +We hope that the RoboCon kit was useful to you, we ask that all kits are returned to us over the summer so that we can improve them and keep this competition free for years to come. + +## Packing and returning the kit +Shipping can sometimes be quite rough for the kit and so we require the following standards to be adheared to if the kit is to be shipped: +* The kit it should be returned inside of the Really Useful Box (RUB) provided +* All space inside the RUB should be filled with a packing material (cardboard etc) such that the kit can not move around inside the RUB. +* The RUB should be wrapped in a protective layer of cardboard. +* Most couriers have rules and regulations regarding shippment of lithium batteries, you must check with any courier beforehand about lithium batteries. In most cases it is required for the batteries to be in a device meaning that the **loose batteries provided in the RoboCon kit can not be shipped**. You may find it easier to return the kit to Hills Road in person. Shipment is at your own risk. +* Hills Road Robotics will **not** fund the shipment of kit back to us. + +If you plan to return the kit to Hills Road in person then please email [robotics@hrsfc.ac.uk](mailto:robotics@hrsfc.ac.uk) and we will organise a time to have someone meet you at reception. + +## Items to be returned: +### Containers: +* 1 x 12L Really Useful Box +## Electronics Kit: +* 1 BrainBox +* 1 microservo 9g SG90 +* 1 6 pin GPIO connector +* 1 2 pin 12V connector +### Switches: +* Red switch, black connector: ON/OFF (latching) +* Black switch, green connector: Start (momentary) +### Batteries: +* 2 x 12 V LiPo Battery +* 1 x Turnigy E3 Compact 2S/3S Lipo Charger +* 1 x Lithium Polymer Charge Pack +### Computer: +* 1 Tablet computer +* 1 Charging brick +* 1 Kettle lead +### Note +Please return any surviving parts of the minibot + diff --git a/sheep/docs/learning-python.md b/sheep/docs/learning-python.md new file mode 100644 index 0000000..b3af505 --- /dev/null +++ b/sheep/docs/learning-python.md @@ -0,0 +1,27 @@ +--- +title: Learning Python +category: Programming +position: 1 +--- +# Learning Python + +Python is an interpreted high-level programming language for general-purpose programming. First released in 1991, Python has a design philosophy that emphasises code readability, notably using significant whitespace. + +:::tip +If you don't know Python, why not try out Blockly? It's just as powerful, but lets you use a simple drag and drop interface to program the robot - and if you have any struggles with it, why not drop us [an email](mailto:robotics@hrsfc.ac.uk)! We want to make it as easy for you to get started as possible. +::: + +There are many resources online for learning Python, here are a few good ones that we would recommend: + + + +* [Student Robotics' tutorial](https://www.studentrobotics.org/docs/tutorials/python) has a tutorial called Python: a whirlwind tour. This was written for Student Robotics competitors (a similar competition to the one you are taking part in), and explains the basics while trying not to overwhelm you. +* [CSNewbs](https://www.csnewbs.com/python) has a very comprehensive tutorial, that takes you through from the basics to the slightly more advanced. The later chapters cover things like File Handling and UIs - you shouldn't be using these on your brains, but go wild on your own devices! +* [The Official Python Tutorial](http://docs.python.org/tutorial/) can be pretty handy - the good stuff starts at chapter 3, but you should at least skim the stuff before it; there is a lot there and it may be a little overwhelming. +* A number of tutorials for beginners are linked to from [here](http://wiki.python.org/moin/BeginnersGuide/NonProgrammers). +* [Learn X in Y minutes](https://learnxinyminutes.com/docs/python/) is quite nice if you've programmed before in another language and just want to learn the syntax. (Tip: If you're trying to complete the challenges, here's where we say you can learn Python in "Y" minutes) +* [The Official Docs](https://docs.python.org/) can be handy, but a little dense! Give them a shot, but don't worry if you can't find what you are looking for. + +:::warning +Running code on your brain may have unintended side effects if it does not call `import robot`, and doesn't create a robot object (`R = robot.Robot()`). Its best to leave those lines in, even if you don't need to run anything related to the hardware on the brain. +::: diff --git a/sheep/docs/libraries.md b/sheep/docs/libraries.md new file mode 100644 index 0000000..c826c6c --- /dev/null +++ b/sheep/docs/libraries.md @@ -0,0 +1,36 @@ +--- +title: Libraries +category: Programming +position: 9 +--- + +# Libraries + +:::tip + if you wish to use a library that is not on the list, please contact us. +::: +### the following libraries are installed on your robot. +| Package | Version | +|-------------|---------| +| [chardet](https://chardet.readthedocs.io/en/latest/) | 2018.8.24 | +| [entrypoints](https://entrypoints.readthedocs.io/en/latest/) | 0.3 | +| [gevent](https://www.gevent.org/contents.html) | 21.8.0 | +| [gpiozero](https://gpiozero.readthedocs.io/en/latest/) | 1.6.2 | +| [greenlet](https://greenlet.readthedocs.io/en/latest/) | 1.1.1 | +| [keyrings](https://keyring.readthedocs.io/en/latest/) | 17.1.1 | +| [numpy](https://numpy.org/doc/1.21) | 1.21.2 | +| [picamera](https://picamera.readthedocs.io/en/release-1.13/) | 1.13 | +| [pillow](https://pillow.readthedocs.io/en/stable/) | 8.3.2 | +| [pluggy](https://pluggy.readthedocs.io/en/stable/) | 1.0.0 | +| [pycairo](https://pycairo.readthedocs.io/en/latest/) | 1.20.1 | +| [pygobject](https://pygobject.readthedocs.io/en/latest/) | 3.30.4 | +| [pyserial](https://pyserial.readthedocs.io/en/latest/) | 3.5 | +| [rpi.gpio](https://sourceforge.net/p/raspberry-gpio-python/wiki/Home/) | 0.7.0 | +| [scipy](https://docs.scipy.org/doc/scipy/) | 1.7.1 | +| [smbus2](https://buildmedia.readthedocs.org/media/pdf/smbus2/latest/smbus2.pdf) | 0.4.1 | +| [spidev](https://www.sigmdel.ca/michel/ha/rpi/dnld/draft_spidev_doc.pdf) | 3.5 | +| [wiringpi](http://wiringpi.com/reference/) | 2.60.1 | + +:::warning +documentation might not align with used version, please verify documentation is set to the specified version as that is what is installed on the robot +::: \ No newline at end of file diff --git a/sheep/docs/markers.md b/sheep/docs/markers.md new file mode 100644 index 0000000..97bfc5a --- /dev/null +++ b/sheep/docs/markers.md @@ -0,0 +1,11 @@ +--- +title: Markers +category: Programming +position: 7 +--- +# Markers + +You can download a pdf of all of the markers [here](/docs/markers.pdf). + +- Ruby markers are on pages 1-9 +- Arena markers are from page 10 onwards diff --git a/sheep/docs/minibot-assembly.md b/sheep/docs/minibot-assembly.md new file mode 100644 index 0000000..cfa0694 --- /dev/null +++ b/sheep/docs/minibot-assembly.md @@ -0,0 +1,10 @@ +--- +title: Minibot Assembly +category: Hardware +position: 6 +--- +# Minibot Assembly + +You can download instructions on how to make your minibot [here](/images/MiniBot%20assembly%20instruction%20manual%20.pdf). + + diff --git a/sheep/docs/motors.md b/sheep/docs/motors.md new file mode 100644 index 0000000..5a870bb --- /dev/null +++ b/sheep/docs/motors.md @@ -0,0 +1,65 @@ +--- +title: Motors +category: Programming +position: 3 +--- +# Motors + +Motors can be used for all sorts of things, besides just moving your robot. For instance, they could also be used as part of a mechanism to collect cubes. However you decide to use them, they're really simple to control. + +When you control motors, you can choose how much power you want to give them. This is expressed as a percentage, so 0% means a stopped motor and 100% means a motor at full power. + +:::tip +If you have large motors you should avoid using 100% power when the motor is stalled or stationary, otherwise the rush of current may cause the robot to shut down the motor output. Instead of jumping from 0% to 100% start at a lower value such as 50% and work your way up. +::: + +If you want to spin your motors in reverse, just stick a negative sign in front of your percentage. + +## Python + +You can control motors using the `motors` property of the `Robot` object. To set the power of the first motor to 60% use: + +```python +R.motors[0] = 60 +``` + +Remember that indexes start at 0; To control the second motor instead, replace `motors[0]` with `motors[1]`. + +To stop both motors: + +```python +R.motors[0] = 0 +R.motors[1] = 0 +``` + +Here's a more complete example: + +```python +import robot + +R = robot.Robot() + +# set motor 1 to 60% power +R.motors[0] = 60 + +# set motor 2 to 60% power in the backwards direction +R.motors[1] = -60 + +# turn both motors off +R.motors[0] = 0 +R.motors[1] = 0 +``` + +:::tip +By default the BrainBox is designed to work safely with the TT motors supplied, these are 6V motors. If you choose to use motors that have a different nominal voltage, then you can specify this when initalising the robot object. For example when using 9V motors: + +```python +R = robot.Robot(max_motor_voltage=9) +``` + +We do not recommend running motors above their design voltage, it may (sometimes dramatically) shorten the lifespan of your motors. If you choose to overvolt your motors you should be prepared to swap them with spares and design your robot to ensure you have access to replace them. +::: + +## Blockly + +Blocks for controlling motors can be found in the **Movement** section. It follows a similar structure to how the python is layed out, with motors being set to a value between -100 and 100 to control their rotation speed. diff --git a/sheep/docs/patching-the-robot.md b/sheep/docs/patching-the-robot.md new file mode 100644 index 0000000..0b2a32a --- /dev/null +++ b/sheep/docs/patching-the-robot.md @@ -0,0 +1,34 @@ +--- +title: Patching the Robot +category: Tools +position: 6 +--- +# Patching the Robot + +An important part of looking after your robot is making sure its software is up to date. Over time **RoboCon** may release patches that allow you to update your robot. Follow the steps below to bring your robot up to date. + +## Steps to Patch + +1. Download the patch from the email we sent, or our [blog](https://robocon.uk/blog), onto the computer you will be connecting your BrainBox to.  +2. [Turn on](/turning-everything-on.md) and [connect](/connecting.md) to your robot.  +3. Navigate to the editor by visiting  and clicking the orange button  +4. Click the upload button (indicated below).  + + ![](/images/upload-button.png) +5. Navigate to where you have saved the patch and click OK.  +6. Select the patch file in the left-hand panel. The patch will show on the code view as Base64 encoded data (random-looking text characters).  +7. Click the "Run" button (green arrow on the right-hand panel).  + + ![](/images/run-button.jpg) +8. After a few moments, your BrainBox should reboot, and the LED will either turn off or remain on. You will lose connection with it while it does this. **Do not turn off your BrainBox** - the LED may stay off for a couple minutes. +9. The BrainBox LED will eventually start flashing again to show it has rebooted successfully.  +10. If your PC has not automatically connected, connect to it using the WiFi. Once reconnected, refresh your browser and open a project from the left-hand side of the editor. Check that the patch version is correct in the right-hand panel.   +11. If you have any issues, please [contact us](mailto:robotics@hrsfc.ac.uk).  + +:::tip +Your robot will restart as part of the patching process, so you will lose connectivity with it for about half a minute. Your laptop should automatically reconnect to the robot when it turns back on. If you cannot connect to your robot, please [contact us](mailto:robotics@hrsfc.ac.uk). +::: + +### This patch's passphrase is: +Why are dragons good at music? +They know lots of scales \ No newline at end of file diff --git a/sheep/docs/running-code-from-a-usb.md b/sheep/docs/running-code-from-a-usb.md new file mode 100644 index 0000000..96533b8 --- /dev/null +++ b/sheep/docs/running-code-from-a-usb.md @@ -0,0 +1,95 @@ +--- +title: USB Tricks +category: Tools +position: 4 +--- +# USB Tricks + +![USB Stick](/images/usbstick.jpg) + +:::tip +The BrainBox only checks for the presence of USB sticks at boot - only plug and unplug USB sticks when the BrainBox is off (front panel blue light off). +::: + +:::warning +During the competition **RoboCon** requires unrestricted access to at least one USB port. If you are running a **red BrainBox**, only one USB port is available, and this must be unused during the competition. +If you have a **green BrainBox** and want to use a USB stick during the competition it must leave enough space around at least one port to insert our low profile arena stick. +::: + +## Running your code from a USB: + +When started, using the start button the robot will default to running the last piece of code written in the editor. In some cases at the competition it can be useful to be able to run code from a USB stick. + +1. Place a file called `main.py` or `code.zip` (which must include a file called `main.py`) in the root directory of the USB stick on another computer. +2. Turn on the robot using the red power button. +3. The file will be automatically copied from the USB stick +4. Press the black start button + +:::warning +Code copied from USB sticks is not [Linted](https://en.wikipedia.org/wiki/Lint_%28software%29), sufficiently broken code may crash not just the user code, but also the web interface preventing the robot from reaching "Blinky". See [troubleshooting](/troubleshooting.html#troubleshooting) for details about what the LEDs mean. It is highly recommended for users to export working code from the editor to the USB stick rather than editing code directly. See [troubleshooting](/troubleshooting.html#the-brainbox-appears-to-power-up-but-i-can-t-connect-to-the-website-and-the-blue-led-lights-but-never-starts-flashing) for how to recover a robot which does not boot to Blinky. + +::: + +# Getting Logs + +When running your robot code you can see the logs from the robot in the editor. Sometimes it's useful to be able to view the logs later to analyse what happened. + +:::warning + +* Be careful when reusing USB sticks to avoid accidentally running code from the USB Stick! + ::: + +1. Insert a USB stick in the robot before turning it on. +2. The log file will be automatically written to the USB stick as `logs.txt` +3. Remember to fully power down the robot before removing the USB stick + +:::tip + +* Logs are collected whatever way the code is run, but only the most recent logs are preserved +* The log files are also collected during system shutdown leading to worrying messages like: + ::: + +``` +Exception in thread Thread-2: +Traceback (most recent call last): + File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner + self.run() + File "/usr/lib/python2.7/threading.py", line 754, in run + self.\_\_target(\*self.\_\_args, \**self.__kwargs) + File "/root/.local/share/virtualenvs/shepherd2-rSdGMoSR/local/lib/python2.7/site + self.run() + File "/usr/lib/python2.7/threading.py", line 754, in run + self.\_\_target(\*self.\_\_args, \**self.__kwargs) + -packages/robot/wrapper.py", line 251, in wait_start_blink + self._internal.set_status_led(v) + File "/root/.local/share/virtualenvs/shepherd2-rSdGMoSR/local/lib/python2.7/site-packages/robot/greengiant.py", line 87, in set_status_led + self._bus.write_byte_data(_GG_I2C_ADDR, _GG_STATUS, int(on)) + File "/root/.local/share/virtualenvs/shepherd2-rSdGMoSR/local/lib/python2.7/site-packages/smbus2/smbus2.py", line 377, in write_byte_data + ioctl(self.fd, I2C_SMBUS, msg) +IOError: \[Errno 121] Remote I/O error +``` + + These can safely be ignored unless you also see them on the web interface. + +# Collecting images and raw analysis + +Every time the robot takes a picture it is updated on the web interface, during development it is occasionally useful to be able to also keep a log of pictures that have been analysed to check camera focus, motion blur etc. + +1. Add a file with the name "collect_images.txt" to the USB stick to collect the images +2. Add a file with the name "log_markers.txt" to the USB stick to collect analysis of images +3. Insert the stick before turning the robot on +4. Remember to fully shut down the robot before removing the USB stick + WARNING: Collecting all images may slow down the processing time from your robot - Use with care! + +# Updating your team image + +When the robot boots, it loads a default image which is displayed until the robot takes a picture, in the arena these images are displayed on an overhead projector. You can change the default image. + +1. Save your Image as 440x330 pixels in jpeg format onto the USB stick as "team_logo.jpg" +2. Boot the robot once to install the image +3. Fully shut down the robot +4. The image will be used from the next time the robot is booted + +:::tip +We may ask that your image includes either a Team Name or your institution (e.g. Systemetric or Hills Road Sixth Form College) to assist the Marshalls, but if you have a iconic robot design then we may waive this rule +::: \ No newline at end of file diff --git a/sheep/docs/servos.md b/sheep/docs/servos.md new file mode 100644 index 0000000..884a2a3 --- /dev/null +++ b/sheep/docs/servos.md @@ -0,0 +1,47 @@ +--- +title: Servos +category: Programming +position: 4 +--- +# Servos + +Servos are a bit like motors, except their position is fixed. This is useful for building an arm mechanism that grabs cubes, or anything else that has fixed states that it needs to be in. + +Similarly to motors, the position of a servo is expressed as a percentage. This can be negative. + +Servos are plugged into the **Servo** ports on the BrainBox. The numbers present on each port correspond to the index used in your code. + +## Python + +You can control servos using the `servos` property of the `Robot` object. To set the servo 0 to the 50% position use: + +```python +R.servos[0].mode = robot.PWM_SERVO +R.servos[0] = 50 +``` + +To control servo 3 instead, replace `servos[0]` with `servos[3]`. Again, remember that indexes start at 0. + +Here's a more complete example: + +```python +import robot + +R = robot.Robot() +R.servos[0].mode = robot.PWM_SERVO +R.servos[2].mode = robot.PWM_SERVO + +# set servo 0 to the 50% position +R.servos[0] = 50 + +# set servo 1 to the -100% position +R.servos[1] = -100 + +# set servos 0 & 1 to the default positions +R.servos[0] = 0 +R.servos[1] = 0 +``` + +## Blockly + +Blocks for controlling servos can be found in the **Movement** section. diff --git a/sheep/docs/the-brainbox.md b/sheep/docs/the-brainbox.md new file mode 100644 index 0000000..f16960c --- /dev/null +++ b/sheep/docs/the-brainbox.md @@ -0,0 +1,91 @@ +--- +title: The BrainBox +category: Hardware +position: 2 +--- +# The BrainBox + +The BrainBox is the core of the kit which we provide. In it is all of the electronics and software you need to power a robot. Lets start by turning it on. Take a battery from the kit and plug it into the yellow socket labelled battery, then take a red "power button" and connect that to the black connector along the side of the BrainBox. The battery and start button are both labelled on the red surface of the BrainBox. +![The brain box](/images/angled.png) +## How to turn everything on +Pressing the start button will cause the battery status LEDs on the front of the BrainBox flash in an upwards direction and the power LED turns green. When the user light starts flashing blue your BrainBox is ready to run code. You can now turn connect to your robot. The user LED will go solid while code is running. +## Power + +The BrainBox distributes power to the robot from the battery. It provides both 12V and 5V power out. All power must go through the BrainBox and the fuse should never be replaced. + +The On/Off switch also plugs into the BrainBox as well as the Start button which is used to start your robot code running. + +## Motors & 12V Power + +The specifications for the motor board can be found [here](/docs/CytronBoardDocs.pdf), however to summarize: + +| Condition per channel | Maximum Value | +| ------------------------- | ------------- | +| Continuous current | 10A | +| Peak current (10 seconds) | 30A | +| Operating Voltage | 12V | + +:::tip +You can toggle the 12V which allows you to turn 12V devices on and off easily. However, this will also cut power to the motor board. +::: + +## How to turn everything off +When you are done for the day, press the power button, the user LED will flash rapidly, when this turns off you may unplug the battery. + +## USB's +On the new brainBox, there is only one USB port. If you want to use something that requires a USB port such as a USB camera, you will need to get your own USB hub. + +## GPIO + +### GPIO - Out + +All of the BrainBox's GPIO pins are connected in-series with a 1K Ohm resistor, to provide current limiting. This means that you can plug devices such as LED's straight into your BrainBox. + +Nominally they operate at 5V but depending on your load the true output will vary. You can calculate the voltage you will get across your load by measuring its resistance, then doing the sum: + +(5*Load_resistance)/(Load_resistance+1000) + +### GPIO - In + +We advise against you using analogue inputs with an impedance (You can think of impedance as "effective resistance in an analogue circuit") of greater than 9K Ohm's as this will result in values which do not necessarily correspond to what you'd expect. + +If you need to sense something with an impedance of more than 9K then you will need to use an Op-amp to buffer the input. If you would like more details on how to do this please contact us on the forums. + +### GPIO - Limits + +Do not try and sink or source more than 25mA into the BrainBox's GPIO, it may damage some of the internal components. + +## PWM Pins + +PWM (Pulse Width Modulation) is a technique used for sending signals to a device for how much it should do a thing. This could be how fast to spin a motor, or the position to turn an RC Servo to. It does this by sending regular pulses, which vary in width. The length of the pulse tells the device how much to do the thing. If you are interested you can find out more about using PWM for control [here](http://smartmicrocontroller.com/how-to-control-a-servo-using-pulse-width-modulation-pwm/). + +Please note you will not be able to drive large motors over the PWM pin's supplied as the maximum which they can supply is 3A at 5V. + +The PWM pins ranges: + +| Value | Pulse | +| ----- | ------ | +| 0 | 1.5ms | +| 100 | 2ms | +| \-100 | 1ms | +| 178 | 2.39ms | +| \-178 | 0.61ms | + +## Pin Out + +### IO + +![USB's](/images/powerconnector.png) + +### Motors + +![Motors](/images/brainboxmotors.png) + + +### Front + +![Front](/images/redpanel.png) + +## Expansion I2C, UART & USB + +For expansion please see the [expansion page](/expanding-functionality.md). diff --git a/sheep/docs/transform.js b/sheep/docs/transform.js new file mode 100644 index 0000000..0782ec2 --- /dev/null +++ b/sheep/docs/transform.js @@ -0,0 +1,43 @@ +const fs = require("fs"); +const path = require("path"); + +// noinspection JSCheckFunctionSignatures +fs.readdirSync(__dirname) + .filter(file => file.endsWith(".md")) + .forEach(file => { + console.log(`Transforming ${file}...`); + + const filePath = path.join(__dirname, file); + + let data = fs.readFileSync(filePath, { encoding: "utf8" }); + + // Gets rid of docs prefix for internal links + data = data.replace(/]\(\/docs\//g, "](/"); + + // Make image urls relative + data = data.replace(/]\(\/images\//g, "](./images/"); + + // Remove PI_REMOVE sections + data = data.replace(/[\s\S]*/g, ""); + + // Add PI_EXTERNAL_LINK_WARNING + data = data.replace( + //g, + [ + ":::danger", + "These links won't work when you're connected to your Robot.", + ":::" + ].join("\n") + ); + + // Transform PDF links + data = data.replace(/]\(\/(.*)\.pdf\)/g, "](/docs/$1.pdf)"); + + // Transform ZIP links + data = data.replace(/]\(\/(.*)\.zip\)/g, "](/docs/$1.zip)"); + + // Transform PY links + data = data.replace(/]\(\/(.*)\.py\)/g, "](/docs/$1.py)"); + + fs.writeFileSync(filePath, data, { encoding: "utf8" }); + }); diff --git a/sheep/docs/troubleshooting.md b/sheep/docs/troubleshooting.md new file mode 100644 index 0000000..537b50b --- /dev/null +++ b/sheep/docs/troubleshooting.md @@ -0,0 +1,68 @@ +--- +title: Troubleshooting +category: Tools +position: 5 +--- +# Troubleshooting + +Here are a few *common* issues you might have and some solutions to them. Student Robotics has a [similar section](https://studentrobotics.org/docs/troubleshooting/) on their website which is also relevant. + +## I've connected a battery and the power switch to the black connector but never get any lights on The BrainBox. + +Unless the battery is really very low the front led will blink very briefly when the switch is first pressed. If this happens you need to charge the battery. The BrainBox will not switch on at all when the voltage of the battery is very low. If the battery is freshly charged, it's possible that the switch has failed or become internally disconnected. For testing purposes, you can swap the power switch for a single piece of wire. NOTE: at the competition, you must have a red power switch to control your robot as per the rules. Finally - in exceptional circumstances the fuse in the cable may have failed, if this has happened then there must have been some terminal problem internal to the BrainBox - [contact us](mailto:robotics@hillsroad.ac.uk) for instructions. + +## The BrainBox appears to power up, but I can't connect to the website and the blue LED lights up but never starts flashing. + +This can happen if erroneous code which does not start with `R = robot.Robot()` is uploaded to The BrainBox. If you think this may have happened, download [this file](/docs/main.py) and place it on a USB stick. Put the USB stick into The BrainBox and turn the robot on normally. Wait 5 minutes, if you do not at this point get the flashing blue light, [contact us](mailto:robotics@hrsfc.ac.uk). + +:::warning +Using this file will overwrite the current robot code. It will not touch any other files you have stored in the editor. +::: + +## I've connected a battery and the power switch to the black connector but never get any lights on the Brainbox +If the battery is fresh, it's possible that the switch has failed or become internally disconnected. For testing purposes, you can swap the power switch for a single piece of wire. NOTE: at the competition, you must have a red power switch to control your robot as per the rules. Finally - in exceptional circumstances the fuse in the cable may have failed, if this has happened then there must have been some terminal problem internal to the BrainBox - [contact us](mailto:robotics@hrsfc.ac.uk) for instructions. + +## The BrainBox appears to power up, the blue LED light flashes but I cannot connect to it using the WiFi. + +We apologise for the poor choice of font, zeroes and capital-o's can be confused as can capital-i's and number ones. Try swapping these. If this does not help, or the status LEDs stop behaving as expected, try restarting your brain. If the issue persists, [contact us](mailto:robotics@hrsfc.ac.uk) for further advice. + +## The BrainBox appears to power up, I can connect to it with WiFi, but am unable to reach the web interface. + +Some modern browsers default to a web search if they do not understand the web address. Try putting `http://` in front of the address, e.g. `http://robot.local` instead of `robot.local`. If this does not help, or the status LEDs stop behaving as expected, try restarting your brain. If the issue persists, [contact us](mailto:robotics@hrsfc.ac.uk) for further advice. + +## I've connected to the web interface and can run code, but my motors never turn on. + +The BrainBox will automatically cut power to the 12V socket and the motor outputs if it detects a current surge exceeding 20A. When this happens, the centre LED ("Error/Wait") next to where the battery LEDS are will flash red. First disconnect the motors and power cycle the BrainBox to see if this resolves the problem. If it does, then your motors are probably too large. + +It is possible to enable/disable this power output from software. When the output is disabled, there will be no light at all visible through this hole. If you can see no light through the hole when the robot is running code check that you have not disabled the motor output by uploading a [simple file](/docs/simple.py) and running it. + +## I'm trying to read an analog value from GPIOs, but I'm getting strange values. + +Check you're actually reading the pin you're trying to read. `R.gpio[0]` is Pin 0, `R.gpio[3]` is Pin 3, etc. If everything's connected correctly, try setting the other pins to output and writing `False` to them. + +## R.see() doesn't seem to work. + +When you call R.see() the camera preview in the top right should show you what the camera can see. If this image is consistently blurred, incorrect looking, or not loading, try placing some markers in front of the camera and try: +```py +print(R.see()) +``` +If this prints out the markers you placed in front of the robot in the debug console, the issue is most likely just with the editor's camera preview. [Contact us](mailto:robotics@hrsfc.ac.uk) if the issue persists, but this shouldn't prevent your robot from running the code. +However, if the robot cannot find markers, then the camera itself is most likely having problems. Contact us about changing the focus of the camera. Note that the robot being in motion may add blur to the images taken, and prevent the marker detection system from functioning. + +:::tip +Calling `R.see()` at a high rate (with a sleep of less than 2 seconds between each call, or no sleep at all) may result in issues with the camera preview such as frames being dropped or blurred. Try slowing down your loop to see if this helps with the issue. +::: + + +## Can you post a kit to or from Hills Road + +We can post kits from Hills Road however you will need to cover the costs of shipping. To return kits, see [Kit List of Parts](/kit-list-of-parts.md) + +## What is the patch and how do I install it? + +The patch is an update which improve your BrainBox, by adding more docs, more blocks to blocky, faster boot times and more! To patch your robot please follow the instructions [here](/patching-the-robot.md). + +## Why is the time wrong + +The Raspberry Pi does not keep time when it is off and so has no way of knowing how much time has passed since it was turned off. This should not affect your code. + diff --git a/sheep/docs/turning-everything-on.md b/sheep/docs/turning-everything-on.md new file mode 100644 index 0000000..51e6120 --- /dev/null +++ b/sheep/docs/turning-everything-on.md @@ -0,0 +1,20 @@ +--- +title: Turning everything on +category: Tutorials +position: 1 +--- +# The BrainBox + +The BrainBox is the core of the kit which we provide. In it is all of the electronics and software you need to power a robot. Lets start by turning it on. Take a battery from the kit and plug the **yellow end** into the corresponding port on the brain box (Labelled "Battery"), ensuring that it is the right way round. Then take a red "power button" and connect that to the **black** connector along the top of the BrainBox. Using the green ended button provided will not work, as this button is momentary and will not maintain power to the BrainBox. + +![Diagram showing the pinout of the top of the BrainBox](/images/BrainBox%20power%20input%20side%20profile%20labelled.png) + +Pressing the start button will cause the blue status LED on the front of the BrainBox to turn on. When the light starts flashing your BrainBox is ready to run code. You can now turn on your tablet by pressing the power button on the left-hand side and [connect to your robot](/connecting.md). The status LED will go solid while code is running. + +# How to turn everything off + +When you are done for the day, press the power button, the status LED will flash rapidly. When this has turned off you may unplug the battery. + +:::warning +Unplugging the battery before the status LED turns off will cause the Pi to lose power before it has finished shutting down which could permanently damage its SD card. **Always** wait till all the lights turn off before unplugging power. +::: diff --git a/sheep/docs/vision.md b/sheep/docs/vision.md new file mode 100644 index 0000000..0812c1b --- /dev/null +++ b/sheep/docs/vision.md @@ -0,0 +1,333 @@ +--- +title: Vision +category: Programming +position: 6 +--- + +# Vision + +Computer Vision allows your robots to understand their environment. For the competition, this is used to locate markers. It will give you information about the type of the marker, the distance/angle to the marker, etc. + +## Python + +To look for markers call `see()`: + +```python +markers = R.see() + +print(markers) +``` + +`markers` is a Python list of "marker objects", which each look like the following: + +``` +[target Marker 0: 0.856m @0.754 degrees +{ + info.type = TARGET + info.id = 50 + info.owning_team = TEAM.RUBY + info.target_type = TARGET_TYPE.LAIR + dist = 0.856 + bearing.y = 0.754 + bearing.x = 1.03e+02 + rotation.y = 5.1 + rotation.x = -11.4 + rotation.z = 9.47 + info = TOO BIG TO PRINT + detection = TOO BIG TO PRINT +} +] +``` + +Full reference of the properties are further below but some useful properties are: + +| Property | Description | +| ------------------------ | --------------------------------------------------------------------------------- | +| `marker.dist` | Distance to the marker in metres | +| `marker.bearing.y` | The angle your robot needs to turn to get to the marker in degrees | +| `marker.info.id` | Numeric code of the marker | +| `marker.info.type` | Returns `ARENA` for a wall marker, or `TARGET` for sheep, gems and lair markers. | +| `marker.info.owning_team`| Returns the gem colour of the team that owns the marker. For example, calling this on Smaug's lair marker would return `TEAM.RUBY`. | +| `marker.info.target_type` | Returns if the marker is a sheep, gem, or lair marker. If it's none of these, `NONE` will be returned. For example, a sheep marker would return `TARGET_TYPE.SHEEP`. | + +## Codes + +:::tip +You do not need to use the marker ids themselves for your calculations. Use `marker.type`, `marker.owning_team` and `marker.target_type` instead to find out the information you need (see above). +::: + +:::tip +`marker.owning_team` will return the Gem Type of that team, not the team name. For example, for team "Smaug" `marker.owning_team` would return "ruby". +::: + +Every april tag has a code: + +- April tags 0-39 will be used for cubes. Although only 20 are used in each round, there are another 20 spare in case some get damaged. + +- April tags 100+ will around the arena on the walls. See the rules for + specifics on where around the rules they will be placed + +- You do not need to use the marker numbers, and can instead use marker.type and marker.owning_team + +| Function | Codes | | +| -------- | ----- | ---- +| Arena Marker | 100 - 123 | | +| Ruby | 24, 25 | Lair marker - 50 | +| Jade | 26, 27 | Lair marker - 51 | +| Topaz | 28, 29 | Lair marker - 52 | +| Diamond | 30, 30 | Lair marker - 53 | +| Sheep | 0 - 23 | + +## Blockly + +Blocks for vision can be found in the **Vision** section. + + + +Here's an example of a Blockly program that does some basic vision: + + + + +## Example + +After reading the [motors documentation](motors.html) you should be able to create a function which moves your robot by a number of meters as well as turn. We can then use this to write some code where a robot: + +- Looks for a marker +- If it can see a marker: + + - Turn so that it is facing the marker + - Drive the distance to the marker + +- If there is no marker in sight turn a bit and look again, maybe there is a marker out of view. + +```python +import robot + +R = robot.Robot() + +def move(distance): + """The robot drives `distance` meters forwards""" + print("PUT YOUR MOVE CODE HERE") + +def turn(rotation): + """The robot turns `rotation` degrees""" + print("PUT YOUR TURN CODE HERE") + +while True: + for marker in R.see(): + turn(marker.bearing.y) # Face the marker + move(marker.dist) # Drive to the marker + else: + turn(20) # The robot didn't see anything and so we turn and maybe see + # another marker +``` + +## The `Marker` object + +Details about the markers can be accessed using the following syntax: + +```python +markers = R.see() # returns list of markers which the robot can see + +for marker in markers: + print(marker.dist) # The distance to the marker in meters + print(marker.bearing.y) # The rotation the robot would need to turn to + # face the marker + print(marker.info.id) # The number of the marker +else: + print("The robot didn't see any markers and skipped the for loop!") +``` + +A `Marker` object contains information about a _detected_ marker. It has the following attributes: + +| Attribute | What it does | +| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `dist` | The distance to the Marker from the camera in meters. | +| `bearing` | How far the **BrainBox** would have to rotate to face that **Marker** in degrees | +| `bearing.x` | The **up/down** bearing. 0 is vertically bellow the camera | +| `bearing.y` | The **left/right** bearing. 0 is straight ahead from the camera | +| `rotation` | How much the **Marker** would need to be rotated to face the **BrainBox**. `(0,0,0)` Is if the marker was facing the BrainBox in the upright position | +| `rotation.x` | The **roll** of the marker | +| `rotation.y` | The **pitch** of the marker | +| `rotation.z` | The **yaw** of the marker | +| `info` | An object with various information about the marker | +| `info.id` | The ID number of the marker | +| `info.size` | The length of the black edge of the marker in meters | +| `info.type` | Returns `ARENA` for a wall marker, or `TARGET` for sheep, gems and lair markers. | +| `info.owning_team` | Returns the gem colour of the team that owns the marker. For example, calling this on Smaug's lair marker would return `TEAM.RUBY`. | +| `info.target_type` | Returns if the marker is a sheep, gem, or lair marker. If it's none of these, `NONE` will be returned. For example, a sheep marker would return `TARGET_TYPE.SHEEP`. | +| `info.bounding_box_colour` | A tuple describing the colour which is drawn around the marker in the preview image (Blue, Red, Green) | +| `detection` | Technical information which has been inferred from the image. | +| `detection.tag_family` | The family of AprilTag which is detected. RoboCon currently only uses `tag36h11`. | +| `detection.tag_id` | The ID number of the detected marker. Aliased by `marker.info.id`. | +| `detection.hamming` | The number of bits which were corrected. The detector cannon detect tags with a hamming distance greater than 2. | +| `detection.decision_margin` | A measure of the quality of the binary decoding process; the average difference between the intensity of a data bit versus the decision threshold. Higher numbers roughly indicate better decodes. Only effective for tags which appear small. | +| `detection.homography` | The 3x3 homography matrix describing the projection from an "ideal" tag (with corners at (-1,1), (1,1), (1,-1), and (-1, -1)) to pixels in the image. | +| `detection.center` | The image pixel coordinates of the center of the marker. | +| `detection.corners` | The image pixel coordinates of corners of the detected marker | +| `detection.pose_R` | The 3x3 Rotational matrix which describes the rotation of the marker relative to the origin. | +| `detection.pose_T` | The 1x3 translation vector of the marker in meters. | +| `detection.pose_err` | The uncertainty of the detection in meters. This number can vary massively between detections depending on if local minima were bypassed. See [Apriltag: A robust and flexible visual fiducial system](https://ieeexplore.ieee.org/document/5979561) | +| `dectection.dist` | The distance to the marker in meters. | +| `detection.rotation` | How much the **Marker** would need to be rotated to face the **BrainBox**. `(0,0,0)` Is if the marker was facing the BrainBox in the upright position. | +| `detection.bearing` | How far the **BrainBox** would have to rotate to face that **Marker** in degrees. | + +:::tip +Axes are all defined relative to the camera not your robot. Since we have +no way to know how you've mounted your camera. You may need to account for this. +::: + +:::tip +You can use `TARGET_TYPE`, `MARKER_TYPE`, and `TEAM` from `robot`, for example... + +```python +import robot + +R = robot.Robot() + +markers = R.see() + +for marker in markers: + if marker.info.owning_team == R.zone: + print(f"I own {marker.info.id}") + elif marker.info.type == robot.MARKER_TYPE.TARGET and marker.info.owning_team == robot.TEAM.JADE and marker.info.target_type == robot.TARGET_TYPE.LAIR: + print(f"Marker {marker.info.id} is Jade's Lair Marker") + else: + print(f"Marker {marker.info.id} is owned by {marker.info.owning_team}"") +``` + +::: + +## The `Camera` object + +An interface to the camera is provided incase you want to do additional computer vision. + +### Changing the resolution + +By default the camera takes pictures at a resolution of **640x480px**. You can change this by setting the `res` parameter. + +```python +import robot + +R = robot.Robot() + +print(f"The current res is set to {R.camera.res}") +R.camera.res = (1920, 1440) +print(f"The current res is set to {R.camera.res}") +``` + +You must use one of the following resolutions: + +- `(640, 480)` _(default)_ +- `(1296, 736)` +- `(1296, 976)` +- `(1920, 1088)` +- `(1920, 1440)` + +:::tip +Using a higher resolution will increase the amount of time it takes to process the image, but you may be able to see more. Using a smaller resolution will be faster, but markers further away may stop being visible. +::: +::: warning +The resolution values may be different on a USB camera. Please see _Using USB Cameras_ (below) for more information. +::: + +### Get data straight from the camera + +If you wish to do your own computer vision you can capture frames directly from the camera using `robot.camera.capture()`. + +```python +import robot + +R = robot.Robot() + +image = R.camera.capture() + +image.grey_frame # A 2d numpy array of the image data uint8 +image.colour_frame # A 3d numpy array of the image data +image.colour_type # The encoding method used to store the colour_frame defaults to 8 bit RGB. +image.time # A `datetime` object representing approximately the capture time. +``` +## Using USB cameras + +The built-in Pi Camera inside your brain should be great for your robot, however if you would like to use your own USB Camera (perhaps you want to put a camera somewhere else on your robot), you can! + +USB cameras can have slightly different functionality than the built-in Pi Camera, so they'll need some fine tuning before you can use them. The basic steps outlined below should get you up and running. + +Please **turn your robot off** before plugging in your USB Camera of choice. + +To use a USB camera you will need to initialize the `Robot` with something which inherits from `robot.vision.Camera`. Then just call `R.see()` as you would normally. + +```python +import robot +from robot.vision import RoboConUSBCamera + +R = robot.Robot(camera=RoboConUSBCamera) + +print(R.see()) +``` + +### Setting the resolution + +You may now wish to change the resolution of your camera, this can be done the same as before with `R.camera.res = (width,height)`. + +::: tip +Some resolutions may not work with your USB camera, as different cameras support different resolutions. Check your camera's documentation. If you try and use a resolution that your camera doesn't support, you will get an error that will state the closest resolution to the value you attempted to use. Try changing your resolution to the value that the error message suggests! +::: + +For example, to set a USB Camera's resolution to `800x600`: + +``` python +import robot +from robot.vision import RoboConUSBCamera + +R = robot.Robot(camera=RoboConUSBCamera) + +R.camera.res = (800, 600) +print(R.see()) +``` + +### Calibrating the camera + +You will then need to calibrate your USB camera as the distance that it reports will not be accurate. You can do this by changing the value in the `R.camera.focal_lengths` dictionary up or down. By default, the robot will use the focal lengths for a "Logitech C270" camera, it's unlikely this is your camera - so see the steps below on how to calibrate it. + +::: tip +Remember that focal lengths vary for different resolutions. You will need to run the calibration code below to find the focal length for each resolution you intend to use with your USB camera. +::: + +- Place a marker exactly 1m away from the camera (measure this distance). Make sure there are no other markers in sight of the camera. +- Copy and paste the following code into your editor. Please set the `resolution` value to a resolution you wish to use. + +``` python +import robot +from robot.vision import RoboConUSBCamera +R = robot.Robot(camera=RoboConUSBCamera) + +resolution = (640, 480) + +R.camera.focal_lengths[resolution] = (120, 120) # set the focal lengths to a known bad value +R.camera.res = resolution # set resolution + +marker = R.see()[0] # get first marker +d = marker.dist +focal_length = 120 / d # focal length = focal length / distance +print("Focal length is around:",focal_length) +print("Use this in your code to set the correct focal length: R.camera.focal_lengths[resolution] = ("+str(focal_length)+", "+str(focal_length)+")") +``` + +It's worth noting that this is only an average value. + +The code above will output a focal length value which you should use **before** setting `R.camera.res` or `R.see()`. You can also copy the line of code it produces and paste that into your code to set the focal lengths. + +For example, if your focal length was `123` at the resolution of `800x600`, you should use the following lines of code, in the **same order**: + +``` python +import robot +from robot.vision import RoboConUSBCamera +R = robot.Robot(camera=RoboConUSBCamera) + +R.camera.focal_lengths[resolution] = (123, 123) +R.camera.res = resolution + +marker = R.see()[0] +``` diff --git a/sheep/docs/zones.md b/sheep/docs/zones.md new file mode 100644 index 0000000..721e987 --- /dev/null +++ b/sheep/docs/zones.md @@ -0,0 +1,37 @@ +--- +title: Zones +category: Programming +position: 8 +--- +# Zones + +Your code will probably need to look for different markers depending on the zone your robot starts in. Whilst you could have different files for each zone, there's also a property on the robot object for this. + +## Python + +`R.zone` will be equal to the the start zone of the robot, and will be equal to one of the teams. + +| **Team** | **Code** | +| --- | --- | +| Ruby | `robot.TEAM.RUBY` | +| Jade | `robot.TEAM.JADE` | +| Topaz | `robot.TEAM.TOPAZ` | +| Diamond | `robot.TEAM.DIAMOND` | +Here's an example: + +```python +import robot + +R = robot.Robot() + +if R.zone == robot.TEAM.RUBY: + print("Do something!") +else: + print("Do something else!") +``` + +This code checks if the first marker in the list belongs to the current robot. + +## Blockly + +You can find the zone block in the **Movement** section. diff --git a/sheep/package-lock.json b/sheep/package-lock.json new file mode 100644 index 0000000..d165830 --- /dev/null +++ b/sheep/package-lock.json @@ -0,0 +1,12046 @@ +{ + "name": "pysheep", + "version": "1.0.0", + "lockfileVersion": 1, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz", + "integrity": "sha512-W7IeG4MoVf4oUvWfHUx9VG9if3E0xSUDf1urrnNYtC2ow1dz2ptvQ6YsJfyVXDuPTFXz66jkHhzMW7a5Eld7TA==", + "dev": true + }, + "@babel/core": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.47.tgz", + "integrity": "sha512-7EIuAX0UVnCgZ0E9tz9rFK0gd+aovwMA9bul+dnkmBQYLrJdas2EHMUSmaK67i1cyZpvgVvXhHtXJxC7wo3rlQ==", + "dev": true, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true + }, + "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 + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.47.tgz", + "integrity": "sha512-fJP+9X+gqgTTZzTqrKJHwebPwt6S/e/4YuyRyKyWHAIirGgUwjRoZgbFci24wwGYMJW7nlkCSwWG7QvCVsG0eg==", + "dev": true, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "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 + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.47.tgz", + "integrity": "sha512-Pjxb/PrxyKWc7jcAXlawvNAQMxxY+tSSNC5wxJstJjpO10mocmGzBOqNYjxdvVhMb3d0BEPQ8mR+D65fFpZ+TA==", + "dev": true + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.47.tgz", + "integrity": "sha512-nv8d6TcDBb1CJMQzwab/e0rqyqoP9d2AQBjr4GdSiVRpJX4aiLEiLBm2XprdEb/sVIRmmBnVxPXJaHDsS/K2fw==", + "dev": true + }, + "@babel/helper-call-delegate": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.47.tgz", + "integrity": "sha512-Rx9TRmCCEP0pWau9gfR6ubcbbX3nVc4ImNY143ftC70jrKdSv5rS20yz2cmCilDzhexwGZQ3PFwOLKe3C/5aEg==", + "dev": true + }, + "@babel/helper-define-map": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.47.tgz", + "integrity": "sha512-pLB9RY7GZKcc/frzgfDY/HwdqxWPe60qMAvNUef1V1bDZ8i4AUgxAANgltFzj61t100WGhqaS0xGkALD+9VA+g==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.47.tgz", + "integrity": "sha512-1mwk27zmhSuMUcVWxw5ZKiPYfuWXviZNqgA4OvFBloPf9R+dKDhNgP2uUrkHh68ltVVc3Bup1nsbd/2KM5AxEw==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.47.tgz", + "integrity": "sha512-0LSvt95XCYaOrDA5K68KkTyldKXizDwBnKACdYzQszp1GdbtzmSeGwFU5Ecw86fU6bkYXtDvkFTOQwk/WQSJPw==", + "dev": true + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.47.tgz", + "integrity": "sha512-63j0i3YUW8CO//uQc3ACffJdIlYcIlysuHjMF0yzQhqKoQ/CUPv0hf3nBwdRGjiWrr3JcL6++NF4XmXdwSU+fA==", + "dev": true + }, + "@babel/helper-hoist-variables": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.47.tgz", + "integrity": "sha512-5BcKFhyzrsInlrfO/tGoe6khUuJzGfROD7oozF/5MWsKo/c3gVJfQ5y83lZ4XoTKJt/x4PQlLU0aHd/SJpYONA==", + "dev": true + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.47.tgz", + "integrity": "sha512-gpipslnZw2hcVGADUtqQII9KF8FPpRZsVUXwKP/0EnWwtujRFSVL+u2Fh+VXODRAxFmTLo6eGcOr/Vfan0MqYw==", + "dev": true + }, + "@babel/helper-module-imports": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.47.tgz", + "integrity": "sha512-Rk43Ty+a6npu9znK22IqFlseStRGWxEHi2cjmLbbi63VGiseofdUtIJI65F9MTCuMTXAX7VbY/ghef1Jp5qpvw==", + "dev": true + }, + "@babel/helper-module-transforms": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.47.tgz", + "integrity": "sha512-CziMe30ZunAhe6j05oNOFOg7im1lcv3dYuMxrwBYVe9YdP4NHPU7a1wrDBUhaPmyqTIZDwGnFne7k1KP79SeGQ==", + "dev": true + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.47.tgz", + "integrity": "sha512-NhnGhjwrhzGas4A/PoBDEtEPCGJHrzhaT6qGmo1hmkA2orG4UNi7KENC38DhJII0n2oUrKUuzTwgCvxKOTiHbw==", + "dev": true + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.47.tgz", + "integrity": "sha512-GR67o8boOKVJRKM5Nhk7oVEHpxYy8R00lwu0F82WxxBH+iiT26DqW1e/4w/mo7Bdn1A6l0pNaOlNk1PdM2Hgag==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.47.tgz", + "integrity": "sha512-dafidvVkjJP5AIWkJspV+7RGj1jeNts0qYvlmVzqAGb6BmQzEldJr6ZPzrmlpW/AW1YJGdw7br2yiwvlCRqDvQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.47.tgz", + "integrity": "sha512-Nmj3lUHQscD160asav2bZ3sMIjGwGY9r6Vrriy9TqH7bmaClKUKUs5Twv0htFWfOKNFLEeY/MaqiAXylr1GS2w==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.47.tgz", + "integrity": "sha512-yf2JAD1+xNTjavqazqknRgPfd6MbGfvfIcAkxWsPURynAwOMSs4zThED8ImT2d5a97rGPysRJcq1jNh2L0WYxg==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.47.tgz", + "integrity": "sha512-sd2t3QDKjd+hHkJKaC2AX39l6oIil1N548oMZAtV5YHlVGoWWkAVGnPMxRg7ICEjIftCU3ZI6UeaogyEhF8t7Q==", + "dev": true + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.47.tgz", + "integrity": "sha512-jx8GmxryT6Qy4+24W6M6TnVL9T8bxqdyg5UKHjxBdw0Y2Sano1n0WphUS2seuOugn04W2ZQLqGc0ut8nGe/taA==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.47.tgz", + "integrity": "sha512-SAasvh80Mz5q9x15dqH6z8jpM0WTBmxQSNZATSwJwhmWdme6r2gxpufIMr8LwQIJHmXmgNLmvh0zdWSbE/PR4Q==", + "dev": true + }, + "@babel/helpers": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.47.tgz", + "integrity": "sha512-uWk7gIua2COEWLwZGxfF5Wq1bgXOt1V6xzWxqeFznrA6F1TUPiAhkK5zORiZEa5RAILp6Mswsn3xFjDyCpp3rQ==", + "dev": true + }, + "@babel/highlight": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.47.tgz", + "integrity": "sha512-d505K3Hth1eg0b2swfEF7oFMw3J9M8ceFg0s6dhCSxOOF+07WDvJ0HKT/YbK/Jk9wn8Wyr6HIRAUPKJ9Wfv8Rg==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + } + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.47.tgz", + "integrity": "sha512-TQMLYVIqQ0MqVS1Z7jsuv3HlEetLo/7EnDY9mGBZ4c4/WLD/mu+tFuLiK2/2QH5wgi5viRfJGs/+L5TaDzxWng==", + "dev": true + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.47.tgz", + "integrity": "sha512-6yuCiF+ZZHPLgAa+0a6/teNeAMsWqY6AVtZA4NhCWnwP4OH0JrRaY7rwvFCJSqNGurf8rF65W9IucM/l0+HOCg==", + "dev": true + }, + "@babel/plugin-proposal-decorators": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.0.0-beta.47.tgz", + "integrity": "sha512-sI+cO1okrlOyV4I63HDXf/SFsCr492HLjzNsMsd7Lk9WrViA+eQIboIiI9wHicozdgD1WrpZGJTjz7Z3xwl2Qw==", + "dev": true + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.0.0-beta.47.tgz", + "integrity": "sha512-tTYnPZzCrOm8NK+7lRi4LGxPaw6lErDsozNInM/FWOXGe7s2EpQnTa40S7/gLLNGvpNshYHdykJtKgfiar9qkA==", + "dev": true + }, + "@babel/plugin-proposal-function-sent": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.0.0-beta.47.tgz", + "integrity": "sha512-253O7PlXtV1LjJkRSMCzG7L16JaQE62AWFVUbbd/8LZI7evyGE5pP90d4R7V+ir/Ra17tL+nk9GfUpEKG7KT4A==", + "dev": true + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.0.0-beta.47.tgz", + "integrity": "sha512-WSS8EVGwHF1g0nQ7IFjiCtBOSyONLqVA3yOriJR1oJS+0HVjfvbee5XwfwsIvdtEIh6YKEnHik5yh54qu7C/PQ==", + "dev": true + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.47.tgz", + "integrity": "sha512-ujUjQUyTxUWHfixRD7Y5Nm8VCgHSf6YgbM37LEnojKp5lPahZO42qJfDty+Kh0tEanpI5H8BLPkJbFSzx6TNEw==", + "dev": true + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.47.tgz", + "integrity": "sha512-XMZavW6uior8KD4BeMavxF3PGrwVpIFlZk/GJQGkd3lOeOHil8nhHDuTWvsbsJptKFWMPkhGR18boNdxgmxyFQ==", + "dev": true + }, + "@babel/plugin-proposal-throw-expressions": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.0.0-beta.47.tgz", + "integrity": "sha512-BGJ96kIVi9NlojyZkpJNkdkxABt+VQT6hLQfILpNfFBJUzdOnZbVecXJUmoTAzg56Wse29XbY9bpNmocdNmtFQ==", + "dev": true + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.47.tgz", + "integrity": "sha512-TCQqSmPrgVB0Txr6WzCpxJyLuVTb9KoT0+oECKELtF717bvHOI4woR7o8D8DFkXzVQeb7Kqfu5w05gsvPq591g==", + "dev": true, + "dependencies": { + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.47.tgz", + "integrity": "sha512-LCNGYTLpQAsvTmVmT/I2pz7dIh3Bu+9BLxqL7b3QfplsMQxNsoBBMend33Arb4EtPt5dX7KeeVof8tL0trDRRA==", + "dev": true + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.47.tgz", + "integrity": "sha512-vLoAuLSjHSenX3TQmri6ttQWZp3rEtGcRp4LgYEBQ012fN5h+KmcssvkCAqm6V6ozS5KzUWpBlZ6t7YhZG6oBw==", + "dev": true + }, + "@babel/plugin-syntax-decorators": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.0.0-beta.47.tgz", + "integrity": "sha512-Lv10BM3C+0Ki53lI7T9xZsSsgzQqfoQZq4pZj0F6tkK54E5BBSFfUxGavRE43CFXHbK0Hd9uMqmpGWPGtCvgAw==", + "dev": true + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.47.tgz", + "integrity": "sha512-J2y7RAH2NwQ+ahJahj2eS1PqS2NWNWTDaEibqrE55VTJU7nPL8AhthRwIQfQkCH+8UIeL/T3Jh1iHIRkvJ6dXA==", + "dev": true + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.0.0-beta.47.tgz", + "integrity": "sha512-mCNj425dtBdO95z1jMKoW0H3nZnTy9tjsdIuLw94uS+y97hvmFkFQtffqH+WIwEGxGBWq1Pn0OGfk3E8GfkhgQ==", + "dev": true + }, + "@babel/plugin-syntax-function-sent": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.0.0-beta.47.tgz", + "integrity": "sha512-S/jMyfNd+a/MbtUCvQ3wDC/Wt9Cftj/Q59bVROOX79DrWpKE9VL/kEeiIJzCNKetvDesUdDH+4xcXt3D0/5Rog==", + "dev": true + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.0.0-beta.47.tgz", + "integrity": "sha512-ISVXJZw9Q2Q0pwcXNv3nfA1p9Ia0clDMTtYxlqIGE5/3WaIQoHkkeaOYsckBKiIIL0hfU+GEjL1g5hRBYPlMUA==", + "dev": true + }, + "@babel/plugin-syntax-jsx": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.47.tgz", + "integrity": "sha512-5scuJzIYZY8M+A1ra8mcKANIwB5TtsRD6Aw94xZxfvnjhhVMFR5RYE9HshVlBrZVY+r3cJDNIQLJMC/fGJHImA==", + "dev": true + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.0.0-beta.47.tgz", + "integrity": "sha512-qAGv7jHtZWNWy4n23OzKLrVk+xfaEO4LYRK3zCMyudXRfB3FPaer6NJNjU5rebvJzC4wB2EVb2nPwVENNNh2jQ==", + "dev": true + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.47.tgz", + "integrity": "sha512-UOGQCmzvNlZMQOuys7xPiTa2EjTT3xHuhUghcdJnYikqGV43obpIIaP+VDCWPvIT8g0QDIvmRWx5UefvkWXN+w==", + "dev": true + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.47.tgz", + "integrity": "sha512-Dmq+REMR95Syg+VjV3bh63DD/tDxdraNQ4ErAOXFobfSCDbfov9YGkqSJ4K61LHTQwinQ0+dIUlgdFL2kbedIw==", + "dev": true + }, + "@babel/plugin-syntax-throw-expressions": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.0.0-beta.47.tgz", + "integrity": "sha512-v9DcO3cmp0maysKG7MMjHqHeGTY0/UY4cOuPckIZK3HHmUtQliSLeAw6eaLXGRUv4ZgaqX/T3dbi8YH7YeK4YQ==", + "dev": true + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.47.tgz", + "integrity": "sha512-xiU+7RJAsqx+iZqWSQQWBu9ZDTruWimkg4puDSdRVfEwgZQdOtiU2LuO0+xGFyitJPHkKuje0WvK1tFu1dmxCw==", + "dev": true + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.47.tgz", + "integrity": "sha512-/TXK3v6ipvmhMO81Y2Vjc7RYROkS2PcmRc+kvmU3CWA7r5I73KWg10UEW/fpWqCuoTCHHHXu1ZcZ5u+nduJeFw==", + "dev": true + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.47.tgz", + "integrity": "sha512-8KPxKyE6kb9VRbHwQ8XKsg/IPlxHaOMRyg2WfyV5C4dCmXbRdHDJy4hZKB3o4rGxjggmC/Bx8Fh51/P7UNtTcA==", + "dev": true + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.47.tgz", + "integrity": "sha512-V/u3Zdy40KjVQeyYUaQnCGiHQbRNJoc6IEtNDERltuW9vYPHS1n6YGc+EHKi8JVYT4kE6UHOjD+BrbCCV4kjRw==", + "dev": true + }, + "@babel/plugin-transform-classes": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.47.tgz", + "integrity": "sha512-hzW/jL6TPBMHJXeXwzuxMN0PFAfjVD0UzATHrFSejY5A7SvhWWrv1cZ3K0/SzCXJ9LpMdxCNiREvVjeD/Tyx2g==", + "dev": true + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.47.tgz", + "integrity": "sha512-V78qyzmjj4aq/tjpkMFbV5gPtrx7xdclW1Rn6vV9hIwMSMbtstYEXF4msy614MofvYj6gYbPbNfyhXFIUvz/xw==", + "dev": true + }, + "@babel/plugin-transform-destructuring": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.47.tgz", + "integrity": "sha512-3AaXC9H7qPybJbSs/QMhhj9EZF9MYrb/HRytwki1tckaYifqCJquENIZxDAYmwsWIGIHiq34WqwPRMIsz/b5uQ==", + "dev": true + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.47.tgz", + "integrity": "sha512-ofB5GwipMoaOH3Qyr5g5FpXWePhIAaD4zMDOoAHDYBPuLWxzAME8YQCa0S3HJf3eTu/HTN/c/G1gDwDB8Z/gKQ==", + "dev": true, + "dependencies": { + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true + } + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.47.tgz", + "integrity": "sha512-r3xNVYTLVasjqTowIr6s+27oc5n7A5TKbB0/4u9FHjF7ONTWaggO8UFbbj07DOJ4Ll2RkigrZA8/D+w2nJ+XlA==", + "dev": true + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.47.tgz", + "integrity": "sha512-vyGG3kLIXpMuaPL485aqowdWFrxCxXtbzMXy9p1QTK5Q/+9UHpK9XoAVJZGknnsm091m0Ss7spo8uHaxbzYVog==", + "dev": true + }, + "@babel/plugin-transform-for-of": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.47.tgz", + "integrity": "sha512-tfH5OMzV9fWLYJTzWDhoRJKr8kvBZWH26jiCgM0ayNq75ES/X947MqMNAgBjJdTAVEV2kOyks2ItgNAJT4rOUw==", + "dev": true + }, + "@babel/plugin-transform-function-name": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.47.tgz", + "integrity": "sha512-/5I/f8NCouugsRT6ORB1UjCP3N+Rgv/OB6SzmaeIUEpYYPM6D7WQ+4BaRYXQn4eqtOJmTgxDXYa8FgYtoeqP9A==", + "dev": true + }, + "@babel/plugin-transform-literals": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.47.tgz", + "integrity": "sha512-PxBw+52qWypwR76YfS2FlW4wZfp61SjIyt3OSPZeWnf0zVQWNVrlRRunJ7lBYudDYvyMwStAE/VynZ0fHtPgng==", + "dev": true + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.47.tgz", + "integrity": "sha512-zW84YqQ5Kt8+t5pYrnFhjWQP2w2wq6Nxz9pozxpnvXP+lhqyJPqNdWM1lcVApORpWL1BF7BlgP08yk+5MVRfGA==", + "dev": true + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.47.tgz", + "integrity": "sha512-MYoLyexybBJ9ODWWMsMFzxAQey68RzhQNPjfNAYPhPPB3X160EZ5qOjWxRS2rYNvuYAxs6guy5OdrDpESqFSrQ==", + "dev": true + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.47.tgz", + "integrity": "sha512-bMQy3/jEZRpoUg7RdOouphBO8+7Sfjl7XrO84PtgBx4ck+ZPc4xOlBQyr2rkmsJNmmGLi42nnMI1cZZJT3LVnQ==", + "dev": true + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.47.tgz", + "integrity": "sha512-rG7KioAFCLxZ33wNBqUoxPhtXOmVEvnZNIy9wv0fSbNIQr8lO1avZ7SeBL3OZduNvLocqrESt9Xhh1nzb/zOvA==", + "dev": true + }, + "@babel/plugin-transform-new-target": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.47.tgz", + "integrity": "sha512-2IRZtdoPXJn7KSwrmp0xtLTZ0PnhlQxhcTZ0XZ5wfFXmsZ9vi6AK4whIZ2IXI/c2qrYK9FEYLwR5QRfL5Qe6eQ==", + "dev": true + }, + "@babel/plugin-transform-object-super": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.47.tgz", + "integrity": "sha512-JN6ox2rH1xe6hlsd6/7d2kPjZSA97wH4oOdNOSaNqaFGEFuaP/Je4+ojHMgyHKU2nx9QHNBCTxHEj+ko+Ij6HQ==", + "dev": true + }, + "@babel/plugin-transform-parameters": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.47.tgz", + "integrity": "sha512-UzQG8draO+30Y8eNEREuGBfmEHLL7WFxOjmTBbaTrbdOrm/znCUThqcuNz8cyn2nrZbln7M/loQ3stjf9Pt9fQ==", + "dev": true + }, + "@babel/plugin-transform-regenerator": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.47.tgz", + "integrity": "sha512-JEPIiJyqYRfjOYUTZguLkb2HTwudReqLyOljpOXnJ/1ymwsiof4D6ul611DGlMxJMZJGQ6TBi59iY9GoJ6j4Iw==", + "dev": true + }, + "@babel/plugin-transform-runtime": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.47.tgz", + "integrity": "sha512-RhnhjYsOxmKDGa1ePM5RQWFBYe1PnEZAhXTNEeIwtw1jluEoLL+PCTZDbt/aAcAkZvqwIWccjkNM/FwKTd5Sxw==", + "dev": true + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.47.tgz", + "integrity": "sha512-+o7/yb0Nrk4Gg/tnBgfBf+G1uGZbtkSluUnj8RyD37ajpDlWmysDjFEHSfktKcuD8YHeGz2M9AYNGcClk1fr/g==", + "dev": true + }, + "@babel/plugin-transform-spread": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.47.tgz", + "integrity": "sha512-LFAozFdfT4bE2AQw2BnjzLufTX4GBsTUHUGRhT8XNoDYuGnV+7k9Yj6JU3/7csJc9u6W91PArYgoO+D56CMw6Q==", + "dev": true + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.47.tgz", + "integrity": "sha512-+Rc6NihGoXcwAqAxbiumvzOYxRR0aUg1ZExfyHnI5QnQf0sf4xAfgT/YpGvEgLd5Ci0rka+IWSj54PhzZkhuTg==", + "dev": true + }, + "@babel/plugin-transform-template-literals": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.47.tgz", + "integrity": "sha512-ORfrfN/gQoRuI+xf+kOa2i/yvXfedFRgH+KtgoIrpUQom7OhexxzD280x80LMCIkdaVGzYhvlC3kdJkFMWAfUg==", + "dev": true + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.47.tgz", + "integrity": "sha512-PhPy5NUY5MT++fEr7/sxN1/ERSM2siHSbGgdkbqgDlyvf1NlU1HeqyfomHJEFE1Y4PX0hj+XmtjSAali/6XqYA==", + "dev": true + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.47.tgz", + "integrity": "sha512-44nWn421tMVZ/A4+1uppzoAO7nrlwWzefMr9JUi5G+tXl0DLEtWy+F7L6zCVw19C4OAOA6WlolVro5CEs6g6AQ==", + "dev": true, + "dependencies": { + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true + } + } + }, + "@babel/preset-env": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.0.0-beta.47.tgz", + "integrity": "sha512-ZFUgKdQDqw2H5TCMaWq6iDDO9+16RZPdDfOuoPID8Agm8I2MBlrqTI1MKWwqgEHICdZIOXkVszAMuuDTBwdzHA==", + "dev": true, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true + } + } + }, + "@babel/preset-stage-2": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/preset-stage-2/-/preset-stage-2-7.0.0-beta.47.tgz", + "integrity": "sha512-IabxIY3AAAHRy3GCGJQ3KBfRMR59OZJSMLke24Kwpwlvk09WEP5ERReRbfmUGJeEPeZK3rAt0oZBdF83Ri+C5Q==", + "dev": true + }, + "@babel/preset-stage-3": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/preset-stage-3/-/preset-stage-3-7.0.0-beta.47.tgz", + "integrity": "sha512-JOOsIaC3sbcBPbRpELUij3xLE8ObIr7TjanKTExlMwc/Hvz0YG3/ioXmDbphvR9L2cb9a+QNIdjAyOebqDyaFw==", + "dev": true + }, + "@babel/runtime": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.47.tgz", + "integrity": "sha512-3IaakAC5B4bHJ0aCUKVw0pt+GruavdgWDFbf7TfKh7ZJ8yQuUp7af7MNwf3e+jH8776cjqYmMO1JNDDAE9WfrA==", + "dev": true + }, + "@babel/template": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.47.tgz", + "integrity": "sha512-mAzrOCLwOb4jAobHi0kTwIkoamP1Do28c6zxvrDXjYSJFZHz6KGuzMaT0AV7ZCq7M3si7QypVVMVX2bE6IsuOg==", + "dev": true + }, + "@babel/traverse": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.47.tgz", + "integrity": "sha512-kYGGs//OnUnei+9TTldxlgf7llprj7VUeDKtG50+g+0k1g0yZyrkEgbyFheYFdnudR8IDEHOEXVsUuY82r5Aiw==", + "dev": true, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true + }, + "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 + } + } + }, + "@babel/types": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.47.tgz", + "integrity": "sha512-MOP5pOosg7JETrVGg8OQyzmUmbyoSopT5j2HlblHsto89mPz3cmxzn1IA4UNUmnWKgeticSwfhS+Gdy25IIlBQ==", + "dev": true + }, + "@fortawesome/fontawesome-common-types": { + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", + "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==" + }, + "@fortawesome/fontawesome-svg-core": { + "version": "1.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz", + "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==" + }, + "@fortawesome/free-solid-svg-icons": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", + "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==" + }, + "@fortawesome/vue-fontawesome": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.6.tgz", + "integrity": "sha512-V3vT3flY15AKbUS31aZOP12awQI3aAzkr2B1KnqcHLmwrmy51DW3pwyBczKdypV8QxBZ8U68Hl2XxK2nudTxpg==" + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@shellscape/koa-send": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@shellscape/koa-send/-/koa-send-4.1.3.tgz", + "integrity": "sha512-akNxJetq2ak8aj7U6ys+EYXfWY4k8keleDZJbHWvpuVDj0/PUbbOuPkeBYaie7C6d5fRNLK+0M1Puu8ywTlj3w==", + "dev": true + }, + "@shellscape/koa-static": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@shellscape/koa-static/-/koa-static-4.0.5.tgz", + "integrity": "sha512-0T2g2NtaO2zhbqR8EBACIGtBy+haodKb8PuJ17RGDXAJwhjkgghUKLrLEnm05zuiwupfYm2APIax6D2TwLoflA==", + "dev": true + }, + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", + "dev": true + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/file-saver": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.1.tgz", + "integrity": "sha512-g1QUuhYVVAamfCifK7oB7G3aIl4BbOyzDOqVyUfEr4tfBKrXfeH+M+Tg7HKCXSrbzxYdhyCP7z9WbKo0R2hBCw==", + "dev": true + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true + }, + "@types/jszip": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/jszip/-/jszip-3.1.6.tgz", + "integrity": "sha512-m8uFcI+O2EupCfbEVQWsBM/4nhbegjOHL7cQgBpM95FeF98kdFJXzy9/8yhx4b3lCRl/gMBhcvyh30Qt3X+XPQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.144", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.144.tgz", + "integrity": "sha512-ogI4g9W5qIQQUhXAclq6zhqgqNUr7UlFaqDHbch7WLSLeeM/7d3CRaw7GLajxvyFvhJqw4Rpcz5bhoaYtIx6Tg==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "10.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.22.tgz", + "integrity": "sha512-9taxKC944BqoTVjE+UT3pQH0nHZlTvITwfsOZqyc+R3sfJuxaTtxWjfn1K2UlxyPcKHf0rnaXcVFrS9F9vf0bw==", + "dev": true + }, + "@types/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha512-NWKCFU+yFaTY4yY1qNiAnlb085k2ZUKbgJ/ViZka13T90uQ7e17htntVOE5y2RcnTpoHvjMp4hyhZoU0mDdSlA==", + "dev": true + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "dev": true + }, + "@types/resize-observer-browser": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@types/resize-observer-browser/-/resize-observer-browser-0.1.11.tgz", + "integrity": "sha512-cNw5iH8JkMkb3QkCoe7DaZiawbDQEUX8t7iuQaRTyLOyQCR2h+ibBD4GJt7p5yhUHrlOeL7ZtbxNHeipqNsBzQ==", + "dev": true + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/tapable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.4.tgz", + "integrity": "sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ==", + "dev": true + }, + "@types/uglify-js": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.0.4.tgz", + "integrity": "sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==", + "dev": true, + "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 + } + } + }, + "@types/vue": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/vue/-/vue-2.0.0.tgz", + "integrity": "sha1-7Hez2JWR3rnKXLBSNoqpwyvgiOc=", + "dev": true + }, + "@types/webpack": { + "version": "4.39.3", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.39.3.tgz", + "integrity": "sha512-afGNNuTfKk1YfHrQ+IwF0QhDkSSMIMMt8BRRErTKaGVvWTMABDjT22/4kJ4bRoSzir9LVgxuuceyZ4Z5I82Cyg==", + "dev": true, + "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 + } + } + }, + "@types/webpack-sources": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.5.tgz", + "integrity": "sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==", + "dev": true, + "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 + } + } + }, + "@vue/babel-preset-app": { + "version": "3.0.0-beta.11", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-3.0.0-beta.11.tgz", + "integrity": "sha1-yLiJqnNGQFD5zT+dxiGVHYXCRQg=", + "dev": true + }, + "@vue/component-compiler-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.0.0.tgz", + "integrity": "sha512-am+04/0UX7ektcmvhYmrf84BDVAD8afFOf4asZjN84q8xzxFclbk5x0MtxuKGfp+zjN5WWPJn3fjFAWtDdIGSw==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "prettier": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.3.tgz", + "integrity": "sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "@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 + }, + "@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 + }, + "@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 + }, + "@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 + }, + "@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 + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true + }, + "@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 + }, + "@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 + }, + "@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 + }, + "@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 + }, + "@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 + }, + "@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 + }, + "@webpack-contrib/config-loader": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@webpack-contrib/config-loader/-/config-loader-1.2.1.tgz", + "integrity": "sha512-C7XsS6bXft0aRlyt7YCLg+fm97Mb3tWd+i5fVVlEl0NW5HKy8LoXVKj3mB7ECcEHNEEdHhgzg8gxP+Or8cMj8Q==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + } + } + }, + "@webpack-contrib/schema-utils": { + "version": "1.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz", + "integrity": "sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true + }, + "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 + } + } + }, + "@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 + }, + "abab": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz", + "integrity": "sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true + }, + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==" + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==" + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + }, + "agentkeepalive": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", + "integrity": "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=", + "dev": true + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==" + }, + "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 + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "algoliasearch": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz", + "integrity": "sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==", + "dev": true, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "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 + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true + } + } + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "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 + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "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 + }, + "app-root-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz", + "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", + "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true + }, + "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-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "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 + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==" + }, + "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 + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "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 + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "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": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "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-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "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==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "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 + }, + "autocomplete.js": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.36.0.tgz", + "integrity": "sha512-jEwUXnVMeCHHutUt10i/8ZiRaCb0Wo+ZyKxeGsYwBDtw6EJHqEeDrq4UwZRD8YBSvp3g6klP678il2eeiVXN2Q==", + "dev": true, + "dependencies": { + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=", + "dev": true + } + } + }, + "autoprefixer": { + "version": "8.6.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz", + "integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==", + "dev": true, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "dev": true, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + } + } + }, + "babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==", + "dev": true + }, + "babel-loader": { + "version": "8.0.0-beta.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.0-beta.3.tgz", + "integrity": "sha512-yvaAx7cBEjh+R2oGL2vIPmveO6daS5TYP2FSPq4b6CUYjU/ilD4HHyfLIa9KUj6OKBcR9fQcl1NvUOTWNaJ6mw==", + "dev": true, + "dependencies": { + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "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 + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.2.0.tgz", + "integrity": "sha512-yeDwKaLgGdTpXL7RgGt5r6T4LmnTza/hUn5Ul8uZSGGMtEjYo13Nxai7SQaGCTEzUtg9Zq9qJn0EjEr7SeSlTQ==", + "dev": true + }, + "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": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, + "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": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "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": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true + }, + "babel-plugin-transform-vue-jsx": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-4.0.1.tgz", + "integrity": "sha512-wbOz7ITB5cloLSjKUU1hWn8zhR+Dwah/RZiTiJY/CQliCwhowmzu6m7NEF+y5EJX/blDzGjRtZvC10Vdb3Q7vw==", + "dev": true + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz", + "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ==", + "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, + "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 + }, + "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 + }, + "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 + }, + "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 + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=" + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "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 + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true + }, + "bluebird": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz", + "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==", + "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 + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "dependencies": { + "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 + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "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 + }, + "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 + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true + }, + "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 + } + } + }, + "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 + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "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 + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==" + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "browserslist": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "dev": true + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "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-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "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-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 + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, + "dependencies": { + "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 + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true + }, + "cache-content-type": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", + "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", + "dev": true + }, + "cache-loader": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-1.2.5.tgz", + "integrity": "sha512-enWKEQ4kO3YreDFd7AtVRjtJBmNiqh/X9hVDReu0C4qm8gsGmySkwuWtdc+N5O+vq5FzxL1mIZc30NyXCB7o/Q==", + "dev": true, + "dependencies": { + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true + } + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true + }, + "caniuse-db": { + "version": "1.0.30000999", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000999.tgz", + "integrity": "sha512-NzRdDmSmg/kp+eNIE1FT+/aXsyGy0PPoAmSrRAR4kFFOs+P19csnJWx4OeIKo6sxurr4xzlsso3rO7SkK71SGw==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000999", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz", + "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==", + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "dependencies": { + "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 + } + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "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 + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "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 + } + } + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true + }, + "clipboard": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", + "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", + "dev": true, + "optional": true + }, + "clipboardy": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", + "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "dev": true + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "dev": true + }, + "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 + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "dev": true + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, + "dependencies": { + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true + } + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", + "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 + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "dev": true + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "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 + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "dev": true, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "consola": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/consola/-/consola-1.4.5.tgz", + "integrity": "sha512-movqq3MbyXbSf7cG/x+EbO3VjKQVZPB/zeB5+lN1TuBYh9BWDemLQca9P+a4xpO4lXva9rz+Bd8XyqlH136Lww==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + } + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true + }, + "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 + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "cookies": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz", + "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==", + "dev": true, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + } + } + }, + "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 + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "dependencies": { + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "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 + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "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 + } + } + }, + "core-js": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", + "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==", + "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=" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true + } + } + }, + "cp-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", + "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", + "dev": true, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "cpy": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/cpy/-/cpy-7.3.0.tgz", + "integrity": "sha512-auvDu6h/J+cO1uqV40ymL/VoPM0+qPpNGaNttTzkYVXO/+GeynuyAK/MwFcWgU/P82ezcZw7RaN34CIIWajKLA==", + "dev": true + }, + "cpy-cli": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cpy-cli/-/cpy-cli-2.0.0.tgz", + "integrity": "sha512-LzrtY3lBWvFZcw4lXgkEbbDUd7y78juC3C5l7gj3UyezMEZF0Be9fjCVLN1HoZAzdMDeC3KHehWpHBJvgVAPkw==", + "dev": true, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true + }, + "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-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true + } + } + }, + "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 + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true + }, + "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 + }, + "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 + }, + "cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", + "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "dev": true, + "dependencies": { + "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 + } + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true + }, + "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 + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dev": true, + "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 + } + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", + "dev": true + }, + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-selector-tokenizer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", + "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.33", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz", + "integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "css-unit-converter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", + "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=", + "dev": true + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", + "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "dev": true, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.29", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", + "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", + "dev": true + }, + "mdn-data": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", + "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=" + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==" + }, + "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 + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "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 + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "dependencies": { + "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 + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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 + } + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true + }, + "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-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 + }, + "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 + }, + "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 + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "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 + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "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 + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "diacritics": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/diacritics/-/diacritics-1.3.0.tgz", + "integrity": "sha1-PvqHMj67hj5mls67AILUj/PW96E=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "dependencies": { + "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 + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true + }, + "docsearch.js": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/docsearch.js/-/docsearch.js-2.6.3.tgz", + "integrity": "sha512-GN+MBozuyz664ycpZY0ecdQE0ND/LSgJKhTLA0/v3arIS3S1Rpf2OJz6A35ReMsm91V5apcmzr5/kM84cvUg+A==", + "dev": true + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true + }, + "dom-serializer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz", + "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==", + "dev": true, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + } + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.282", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.282.tgz", + "integrity": "sha512-irSaDeCGgfMu1OA30bhqIBr+dx+pDJjRbwCpob7YWqVZbzXblybNzPGklVnWqv4EXxbkEAzQYqiNCqNTgu00lQ==", + "dev": true + }, + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "dev": true + }, + "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 + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.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 + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", + "dev": true + }, + "envify": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz", + "integrity": "sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true + }, + "error-inject": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz", + "integrity": "sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc=", + "dev": true + }, + "es-abstract": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz", + "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==", + "dev": true + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true + }, + "es5-ext": { + "version": "0.10.51", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz", + "integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==", + "dev": true + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "es6-symbol": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz", + "integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": 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 + }, + "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 + }, + "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 + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "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 + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "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, + "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 + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true + } + } + }, + "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 + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "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": { + "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 + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "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 + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true + }, + "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 + }, + "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 + }, + "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 + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "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=" + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "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=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "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 + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true + }, + "file-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.0.0.tgz", + "integrity": "sha512-roAbL6IdSGczwfXxhMi6Zq+jD4IfUpL0jWHD7fvmjdOVb7xBfdRUHe4LpBgO23VtVK5AW1OlWZo0p34Jvx3iWg==", + "dev": true + }, + "file-saver": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz", + "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==" + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "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 + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true + }, + "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 + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "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 + }, + "follow-redirects": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", + "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", + "dev": true, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true + }, + "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 + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "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==" + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "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 + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true + }, + "front-matter": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-3.0.2.tgz", + "integrity": "sha512-iBGZaWyzqgsrPGsqrXZP6N4hp5FzSKDi18nfAoYpgz3qK5sAwFv/ojmn3VS60SOgLvq6CtojNqy0y6ZNz05IzQ==", + "dev": true + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true + }, + "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 + }, + "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, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz", + "integrity": "sha512-09/VS4iek66Dh2bctjRkowueRJbY1JDGR1L/zRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA==", + "dev": true + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=" + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true + } + } + }, + "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": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true + } + } + }, + "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 + }, + "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 + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "dev": true, + "optional": true + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true + }, + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", + "dev": true + }, + "gray-matter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.2.tgz", + "integrity": "sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==", + "dev": true + }, + "handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "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 + }, + "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": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true + } + } + }, + "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 + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "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 + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", + "dev": true + }, + "hogan.js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", + "integrity": "sha1-TNnhq9QpQUbnZ55B14mHMrAse/0=", + "dev": true, + "dependencies": { + "mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", + "dev": true + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "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==" + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true + } + } + }, + "http-assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz", + "integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "dev": true + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=" + }, + "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.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" + }, + "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": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true + }, + "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": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "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 + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "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 + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "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 + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true + }, + "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": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "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-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "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-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "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 + }, + "is-generator-function": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz", + "integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==", + "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 + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "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, + "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 + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true + } + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dev": true + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isemail": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", + "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", + "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 + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "javascript-stringify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz", + "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=", + "dev": true + }, + "joi": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-11.4.0.tgz", + "integrity": "sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA==", + "dev": true + }, + "js-base64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.1.1.tgz", + "integrity": "sha512-cQZRBB33arrDAeCrAEWn1U3SvrvC8XysBua9Oqg1yWrsY/gYcusloJC3RZJXuY5eehSCmws8f2YeliCqGSkrtQ==", + "dependencies": { + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==" + } + } + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "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==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "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 + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=" + }, + "jszip": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz", + "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==" + }, + "keygrip": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", + "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", + "dev": true + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "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 + }, + "koa": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.10.0.tgz", + "integrity": "sha512-vcZopGEWHDokchYtjU6jF1BCy+2MA2hnvGP7xPi26qWoIS0OiAUb4+lCqkqf05qG5ULnGYUFTvFnSK9RyOoiKw==", + "dev": true, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true + }, + "koa-compose": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", + "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==", + "dev": true + } + } + }, + "koa-compose": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz", + "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=", + "dev": true + }, + "koa-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/koa-connect/-/koa-connect-2.0.1.tgz", + "integrity": "sha512-MNaiK5og8aj4I+tx8l+jSW24QX7aaQyZemV821VPY+AOJ8XUbrrAj9AzrpZKDQp5jTmylAZW2sXhTz2+SRqZog==", + "dev": true + }, + "koa-convert": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz", + "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=", + "dev": true + }, + "koa-is-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz", + "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=", + "dev": true + }, + "koa-mount": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/koa-mount/-/koa-mount-3.0.0.tgz", + "integrity": "sha1-CMqzuD0xRC7Yt+dcVLGr65IuwZc=", + "dev": true + }, + "koa-range": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/koa-range/-/koa-range-0.3.0.tgz", + "integrity": "sha1-NYjjSWRzqDmhvSZNKkKx2FvX/qw=", + "dev": true + }, + "koa-send": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/koa-send/-/koa-send-4.1.3.tgz", + "integrity": "sha512-3UetMBdaXSiw24qM2Mx5mKmxLKw5ZTPRjACjfhK6Haca55RKm9hr/uHDrkrxhSl5/S1CKI/RivZVIopiatZuTA==", + "dev": true + }, + "koa-static": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/koa-static/-/koa-static-4.0.3.tgz", + "integrity": "sha512-JGmxTuPWy4bH7bt6gD/OMWkhprawvRmzJSr8TWKmTL4N7+IMv3s0SedeQi5S4ilxM9Bo6ptkCyXj/7wf+VS5tg==", + "dev": true, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true + }, + "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 + } + } + }, + "koa-webpack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/koa-webpack/-/koa-webpack-4.0.0.tgz", + "integrity": "sha512-P+j2TzeZAqFwscd/dlLykk/sxwr6wQ5Tp3FYDhqv1+y9aRIffTPnu2zK+1BhfM+Kyh8bepU1jFR420maE+Vajw==", + "dev": true + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "dev": true + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=" + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==" + }, + "linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true + }, + "load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=", + "dev": true + }, + "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 + }, + "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": { + "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 + } + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + } + } + }, + "log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", + "dev": true, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "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 + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true + }, + "wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", + "dev": true + } + } + }, + "loglevel": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz", + "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==", + "dev": true + }, + "loglevelnext": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", + "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", + "dev": true + }, + "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 + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true + }, + "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": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "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 + }, + "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-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "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 + }, + "markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dev": true, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + } + } + }, + "markdown-it-anchor": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.4.tgz", + "integrity": "sha512-n8zCGjxA3T+Mx1pG8HEgbJbkB8JFUuRkeTZQuIM8iPY6oQ8sWOPRZJDFC9a/pNg2QkHEjjGkhBEl/RSyzaDZ3A==", + "dev": true + }, + "markdown-it-container": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz", + "integrity": "sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU=", + "dev": true + }, + "markdown-it-emoji": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz", + "integrity": "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=", + "dev": true + }, + "markdown-it-table-of-contents": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz", + "integrity": "sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw==", + "dev": true + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "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 + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "dependencies": { + "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 + } + } + }, + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "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 + } + } + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true + }, + "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 + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==" + }, + "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 + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.5.tgz", + "integrity": "sha512-dqBanNfktnp2hwL2YguV9Jh91PFX7gu7nRLs4TGsbAfAG6WOtlynFRYzwDwmmeSb5uIwHo9nx1ta0f7vAZVp2w==", + "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 + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true + }, + "minireset.css": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/minireset.css/-/minireset.css-0.0.3.tgz", + "integrity": "sha1-CxEtu9eAnqD8llOIt5/Sk5B3j+U=" + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true + }, + "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": { + "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 + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "monaco-editor": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.14.3.tgz", + "integrity": "sha512-RhaO4xXmWn/p0WrkEOXe4PoZj6xOcvDYjoAh0e1kGUrQnP1IOpc0m86Ceuaa2CLEMDINqKijBSmqhvBQnsPLHQ==" + }, + "monaco-editor-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/monaco-editor-webpack-plugin/-/monaco-editor-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-oItymcnlL14Sjd7EF7q+CMhucfwR/2BxsqrXIBrWL6LQplFfAfV+grLEQRmVHeGSBZ/Gk9ptzfueXnWcoEcFuA==", + "dev": true + }, + "monaco-languageclient": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-0.9.1.tgz", + "integrity": "sha512-mDwbYk67UVPf41RnhfMLRME08NsK2/JeqCkkhPL+wef6rZQNHRb/U2bMMuW/MVVM/yT2DYFy5f7cLNm63FYGMw==" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true + }, + "nanoassert": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz", + "integrity": "sha1-TzFS4JVA/eKMdvRLGbvNHVpCR40=", + "dev": true + }, + "nanobus": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/nanobus/-/nanobus-4.4.0.tgz", + "integrity": "sha512-Hv9USGyH8EsPy0o8pPWE7x3YRIfuZDgMBirzjU6XLebhiSK2g53JlfqgolD0c39ne6wXAfaBNcIAvYe22Bav+Q==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true + }, + "nanoscheduler": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/nanoscheduler/-/nanoscheduler-1.0.3.tgz", + "integrity": "sha512-jBbrF3qdU9321r8n9X7yu18DjP31Do2ItJm3mWrt90wJTrnDO+HXpoV7ftaUglAtjgj9s+OaCxGufbvx6pvbEQ==", + "dev": true + }, + "nanotiming": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/nanotiming/-/nanotiming-7.3.1.tgz", + "integrity": "sha512-l3lC7v/PfOuRWQa8vV29Jo6TG10wHtnthLElFXs4Te4Aas57Fo4n1Q8LH9n+NDh9riOzTVvb2QNBhTS4JUKNjw==", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "nested-error-stacks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", + "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "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 + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true + }, + "node-blockly": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/node-blockly/-/node-blockly-1.1.2.tgz", + "integrity": "sha512-KybAeWYvdUY/VaN5TJkCyiYsKepUdFNa5IQyZhv9ZBKlKHulm3HmajD/TVifwfITCFvBwqw/e0UpdGv4yRFOTg==" + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "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 + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.35", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.35.tgz", + "integrity": "sha512-JGcM/wndCN/2elJlU0IGdVEJQQnJwsLbgPCFd2pY7V0mxf17bZ0Gb/lgOtL29ZQhvEX5shnVhxQyZz3ex94N8w==", + "dev": true, + "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 + } + } + }, + "node-sass": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "dev": true, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "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 + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true + }, + "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 + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true + }, + "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 + }, + "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 + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + }, + "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 + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true + }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=", + "dev": true + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwmatcher": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", + "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==" + }, + "nwsapi": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz", + "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "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 + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true + } + } + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + }, + "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 + }, + "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 + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true + }, + "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 + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "dev": true + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true + }, + "only": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", + "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=", + "dev": true + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true + }, + "optimize-css-assets-webpack-plugin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==", + "dev": true + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=" + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true + }, + "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.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true + }, + "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 + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true + }, + "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 + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "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==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true + } + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true + }, + "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 + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "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.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "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": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "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-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "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.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "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 + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "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, + "dependencies": { + "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 + } + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "portfinder": { + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz", + "integrity": "sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==", + "dev": true + }, + "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": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + }, + "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 + } + } + }, + "postcss-calc": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz", + "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true + } + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true + } + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "dev": true + }, + "postcss-loader": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz", + "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==", + "dev": true, + "dependencies": { + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true + } + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "dev": true + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + } + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true + } + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "prettier": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", + "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==", + "dev": true + }, + "pretty-bytes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true + }, + "pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "dev": true + }, + "prismjs": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz", + "integrity": "sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "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 + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true + }, + "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 + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true + }, + "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 + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true + }, + "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 + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=" + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "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==" + }, + "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 + }, + "reconnecting-websocket": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/reconnecting-websocket/-/reconnecting-websocket-4.2.0.tgz", + "integrity": "sha512-HMD8A0sv40xhkHf/T4qxktyOvHx7K3d2A9i1QG2wRIYdMecxQJMhTIBH4aQ8KfQLfQW4UOqNSfxTgv0C+MbPIA==" + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true + }, + "reduce": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz", + "integrity": "sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==", + "dev": true + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", + "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", + "dev": true + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.12.4.tgz", + "integrity": "sha512-p2I0fY+TbSLD2/VFTFb/ypEHxs3e3AjU0DzttdPqk2bSmDhfSh5E54b86Yc6XhUa5KykK1tgbvZ4Nr82oCJWkQ==", + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true + }, + "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 + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true + }, + "register-service-worker": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.6.2.tgz", + "integrity": "sha512-I8L87fX2TK29LDx+wgyOUh2BJ3rDIRC1FtRZEHeP3rivzDv6p1DDZLGGtPucqjEkm45+2crtFIFssEWv56+9Wg==", + "dev": true + }, + "registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dev": true + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-array-items": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", + "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "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 + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==" + }, + "request-promise-core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", + "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==" + }, + "request-promise-native": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", + "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==" + }, + "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 + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "dev": true + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true + }, + "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": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true + } + } + }, + "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-path": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz", + "integrity": "sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=", + "dev": true, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "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 + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": 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 + }, + "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==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass-loader": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz", + "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", + "dev": true, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": 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 + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==" + }, + "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 + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true + }, + "section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dev": true, + "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 + } + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "dev": true, + "optional": true + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "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=" + }, + "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": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "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 + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true + }, + "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 + }, + "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-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "dependencies": { + "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 + } + } + }, + "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": { + "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 + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "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 + }, + "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 + }, + "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 + }, + "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 + } + } + }, + "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": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true + } + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true + }, + "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 + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true + }, + "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.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "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 + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "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 + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "dev": true, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true + }, + "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 + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true + }, + "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 + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "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 + }, + "split.js": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.6.5.tgz", + "integrity": "sha512-mPTnGCiS/RiuTNsVhCm9De9cCAUsrNFFviRbADdKiiV+Kk8HKp/0fWu7Kr8pi3/yBmsqLFHuXGT9UUZ+CNLwFw==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==" + }, + "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 + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true + }, + "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": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "std-env": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-1.3.1.tgz", + "integrity": "sha512-KI2F2pPJpd3lHjng+QLezu0eq+QDtXcv1um016mhOPAJFHKL+09ykK5PUBWta2pZDC8BVV0VPya08A15bUXSLQ==", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "stream-slice": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/stream-slice/-/stream-slice-0.1.2.tgz", + "integrity": "sha1-LcT04bk2+xPz6zmi3vGTJ5jQeks=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string_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==" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "dev": true + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "dev": true + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true + }, + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "dev": true + }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "dev": true + }, + "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 + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "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, + "dependencies": { + "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 + } + } + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "dependencies": { + "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 + }, + "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": { + "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 + } + } + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true + }, + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true + }, + "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 + }, + "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 + } + } + }, + "stylus": { + "version": "0.54.7", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.7.tgz", + "integrity": "sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==", + "dev": true, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": 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 + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "stylus-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", + "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "svg-url-loader": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-2.3.3.tgz", + "integrity": "sha512-dFXrXCrtyEucN6dWdvDGMipbVwPPez4OVVYUpxJwLJ5WuaPLYY9RmpOjUparDNs1+sPEXrsdDGIOCOK8NOy5VQ==", + "dev": true + }, + "svgo": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz", + "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "css-select": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", + "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==", + "dev": true + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true + }, + "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 + } + } + }, + "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==" + }, + "table": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true + }, + "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 + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "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, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "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.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "dev": true, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "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": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.8.tgz", + "integrity": "sha512-otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "dev": true + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "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 + }, + "thunky": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", + "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", + "dev": true + }, + "time-fix-plugin": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/time-fix-plugin/-/time-fix-plugin-2.0.6.tgz", + "integrity": "sha512-2cjjg3672ppNm/uKhHAoCFp1ItEAiH+xJOjO9WGIF8hXuxPAJ2adfYgFiyooVbsOb948c+WrRh+edxFUMxYHoQ==", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "dev": true, + "optional": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-factory": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz", + "integrity": "sha1-hzivi9lxIK0dQEeXKtpVY7+UebE=", + "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, + "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 + } + } + }, + "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 + }, + "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 + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "toml": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", + "dev": true + }, + "topo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", + "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", + "dev": true + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=" + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "ts-loader": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.4.5.tgz", + "integrity": "sha512-XYsjfnRQCBum9AMRZpk2rTYSVpdZBpZK+kDh0TeT3kxmQNBDVIeUjdPjY5RZry4eIAb8XHc4gYSUiUWPYvzSRw==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + } + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", + "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 + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typescript": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz", + "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==", + "dev": true + }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "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 + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true + }, + "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 + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "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 + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "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, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true + } + } + }, + "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 + } + } + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "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==" + }, + "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, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-join": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-3.0.0.tgz", + "integrity": "sha1-JugROs4ZXqMND8OBhuRUAPnOpnI=", + "dev": true + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "dev": true + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "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, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "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 + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz", + "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=" + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true + }, + "vscode-base-languageclient": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/vscode-base-languageclient/-/vscode-base-languageclient-4.4.0.tgz", + "integrity": "sha512-FUlMRslHaVCZZ4pSmLqa7p04yuB5hUSgqFAx5W4uINB9RfKgoTyy6eUphuhIsdBzgME1gyLe212Z8thmNNCy1A==" + }, + "vscode-jsonrpc": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.6.2.tgz", + "integrity": "sha512-T24Jb5V48e4VgYliUXMnZ379ItbrXgOimweKaJshD84z+8q7ZOZjJan0MeDe+Ugb+uqERDVV8SBmemaGMSMugA==" + }, + "vscode-languageserver-protocol": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz", + "integrity": "sha512-IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g==", + "dependencies": { + "vscode-jsonrpc": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz", + "integrity": "sha512-perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg==" + } + } + }, + "vscode-languageserver-types": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz", + "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==" + }, + "vscode-uri": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", + "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==" + }, + "vscode-ws-jsonrpc": { + "version": "0.0.2-2", + "resolved": "https://registry.npmjs.org/vscode-ws-jsonrpc/-/vscode-ws-jsonrpc-0.0.2-2.tgz", + "integrity": "sha512-hViHObJHtxD0KX8tvP6QL8fJGfH9mmDrEkdfLKj6Mf1uaxypoMBnjcZDCU3N4l7VriQiNRbohe/FlMrC3/0r7Q==" + }, + "vue": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz", + "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==" + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-loader": { + "version": "15.7.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.7.1.tgz", + "integrity": "sha512-fwIKtA23Pl/rqfYP5TSGK7gkEuLhoTvRYW+TU7ER3q9GpNLt/PjG5NLv3XHRDiTg7OPM1JcckBgds+VnAc+HbA==", + "dev": true + }, + "vue-prism-component": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vue-prism-component/-/vue-prism-component-1.1.1.tgz", + "integrity": "sha512-M4wM7gMIagWgf3YNS5Hrq7YDYu0pYbqMaJOhkVDfCfJ1col4ZCv+uyWpW/gkYZCuG3ic8UF3EAV22asm4pWjMA==" + }, + "vue-router": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.1.3.tgz", + "integrity": "sha512-8iSa4mGNXBjyuSZFCCO4fiKfvzqk+mhL0lnKuGcQtO1eoj8nq3CmbEG8FwK5QqoqwDgsjsf1GDuisDX4cdb/aQ==" + }, + "vue-server-renderer": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.10.tgz", + "integrity": "sha512-UYoCEutBpKzL2fKCwx8zlRtRtwxbPZXKTqbl2iIF4yRZUNO/ovrHyDAJDljft0kd+K0tZhN53XRHkgvCZoIhug==", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } + } + }, + "vue-split-panel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vue-split-panel/-/vue-split-panel-1.0.4.tgz", + "integrity": "sha512-OGR+2vIHGcXjpXMh7Pv6uG0t6ihL8o8wmHLeKfvArNPJs/Z0GYLplDcUdTg7Z/Et+IsYVlR13f83oiuRVLYOkw==" + }, + "vue-style-loader": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", + "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==", + "dev": true + }, + "vue-template-compiler": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz", + "integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==", + "dev": true + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "vuepress": { + "version": "0.14.11", + "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-0.14.11.tgz", + "integrity": "sha512-5iB7iWeEG7GtEiNwmS2LOcifp2V93aZ4+oO9pq8OcUgOWay9/NqmNqzg7KQ7AJ0puZGg0tYwUKKjifIWIPE8jQ==", + "dev": true, + "dependencies": { + "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 + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true + }, + "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 + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true + }, + "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 + }, + "css-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, + "dependencies": { + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true + } + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "dev": true + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.1.tgz", + "integrity": "sha512-XWuB3G61Rtasq/gLe7cp5cuozehE6hN+E4sxCamRR/WDiHTg+f7ZIAS024r8UJQffY+e2gGELXQZgQoFDfNDCg==", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true + }, + "optimize-css-assets-webpack-plugin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-4.0.3.tgz", + "integrity": "sha512-iOfMsuGMPbM/bZZ731gwtAXfXjIkR97BXqUXsPGIzBaQzpvqajsoIFlR+z+Q7FLcq2TmV4JFGo80d98ttfRzhA==", + "dev": true + }, + "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 + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true + } + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "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 + }, + "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 + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "dependencies": { + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true + } + } + } + } + }, + "vuepress-html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A==", + "dev": true, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true + } + } + }, + "vuex": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.1.1.tgz", + "integrity": "sha512-ER5moSbLZuNSMBFnEBVGhQ1uCBNJslH9W/Dw2W7GZN23UQA69uapP5GTT9Vm8Trc0PzBSVt6LzF3hGjmv41xcg==" + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=" + }, + "w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==" + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true + }, + "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==" + }, + "webpack": { + "version": "4.41.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz", + "integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==", + "dev": true, + "dependencies": { + "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 + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", + "dev": true, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "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 + }, + "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 + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "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 + }, + "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 + }, + "ws": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "dev": true + } + } + }, + "webpack-chain": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz", + "integrity": "sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==", + "dev": true + }, + "webpack-cli": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz", + "integrity": "sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==", + "dev": true, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "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 + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "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": { + "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 + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true + }, + "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 + }, + "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 + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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-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 + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, + "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 + }, + "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 + }, + "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 + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "dependencies": { + "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 + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.2.tgz", + "integrity": "sha512-0xxogS7n5jHDQWy0WST0q6Ykp7UGj4YvWh+HVN71JoE7BwPxMZrwgraBvmdEMbDVMBzF0u+mEzn8TQzBm5NYJQ==", + "dev": true, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "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, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true + } + } + }, + "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": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true + }, + "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 + }, + "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 + }, + "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 + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "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 + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true + }, + "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 + }, + "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 + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "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": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true + } + } + }, + "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 + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true + }, + "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 + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "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 + }, + "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 + } + } + }, + "webpack-hot-client": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-hot-client/-/webpack-hot-client-3.0.0.tgz", + "integrity": "sha512-6k91015hZ4Okkz8u6OzRgJygEL+3J3ay6HVZhWBF3tT2P0rZJ0mgca39dotJxngggUm3S8707c0vrcynn1IzEQ==", + "dev": true, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true + }, + "ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "dev": true + } + } + }, + "webpack-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + } + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true + }, + "webpack-serve": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/webpack-serve/-/webpack-serve-1.0.4.tgz", + "integrity": "sha512-WhI9PMY2YLFliZhDsQFE5Os/On5Py6DGZpeBJyDM8xl0cspxgvXmWFywACn2YWWDgowqIxRqveyGh2RwdFWTNQ==", + "dev": true, + "dependencies": { + "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 + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true + }, + "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 + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "dev": true + }, + "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 + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true + }, + "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-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "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 + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "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 + } + } + }, + "webpackbar": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-2.6.4.tgz", + "integrity": "sha512-uQzJwuX172E+Vnk2NRFSM1hZBMCXd2CIpRUl1hr5tbAndTGVnDmYXQKHsbgbCKQXFJKKAl8EHYsdeauJZu2Qvg==", + "dev": true, + "dependencies": { + "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 + }, + "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 + }, + "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 + } + } + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "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==" + }, + "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==" + }, + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==" + }, + "when": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", + "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", + "dev": true + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "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 + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true + } + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "workbox-background-sync": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-3.6.3.tgz", + "integrity": "sha512-ypLo0B6dces4gSpaslmDg5wuoUWrHHVJfFWwl1udvSylLdXvnrfhFfriCS42SNEe5lsZtcNZF27W/SMzBlva7Q==", + "dev": true + }, + "workbox-broadcast-cache-update": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.6.3.tgz", + "integrity": "sha512-pJl4lbClQcvp0SyTiEw0zLSsVYE1RDlCPtpKnpMjxFtu8lCFTAEuVyzxp9w7GF4/b3P4h5nyQ+q7V9mIR7YzGg==", + "dev": true + }, + "workbox-build": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-3.6.3.tgz", + "integrity": "sha512-w0clZ/pVjL8VXy6GfthefxpEXs0T8uiRuopZSFVQ8ovfbH6c6kUpEh6DcYwm/Y6dyWPiCucdyAZotgjz+nRz8g==", + "dev": true, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true + } + } + }, + "workbox-cache-expiration": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-cache-expiration/-/workbox-cache-expiration-3.6.3.tgz", + "integrity": "sha512-+ECNph/6doYx89oopO/UolYdDmQtGUgo8KCgluwBF/RieyA1ZOFKfrSiNjztxOrGJoyBB7raTIOlEEwZ1LaHoA==", + "dev": true + }, + "workbox-cacheable-response": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-3.6.3.tgz", + "integrity": "sha512-QpmbGA9SLcA7fklBLm06C4zFg577Dt8u3QgLM0eMnnbaVv3rhm4vbmDpBkyTqvgK/Ly8MBDQzlXDtUCswQwqqg==", + "dev": true + }, + "workbox-core": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-3.6.3.tgz", + "integrity": "sha512-cx9cx0nscPkIWs8Pt98HGrS9/aORuUcSkWjG25GqNWdvD/pSe7/5Oh3BKs0fC+rUshCiyLbxW54q0hA+GqZeSQ==", + "dev": true + }, + "workbox-google-analytics": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-3.6.3.tgz", + "integrity": "sha512-RQBUo/6SXtIaQTRFj4RQZ9e1gAl7D8oS5S+Hi173Kk70/BgJjzPwXpC5A249Jv5YfkCOLMQCeF9A27BiD0b0ig==", + "dev": true + }, + "workbox-navigation-preload": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-3.6.3.tgz", + "integrity": "sha512-dd26xTX16DUu0i+MhqZK/jQXgfIitu0yATM4jhRXEmpMqQ4MxEeNvl2CgjDMOHBnCVMax+CFZQWwxMx/X/PqCw==", + "dev": true + }, + "workbox-precaching": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-3.6.3.tgz", + "integrity": "sha512-aBqT66BuMFviPTW6IpccZZHzpA8xzvZU2OM1AdhmSlYDXOJyb1+Z6blVD7z2Q8VNtV1UVwQIdImIX+hH3C3PIw==", + "dev": true + }, + "workbox-range-requests": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-3.6.3.tgz", + "integrity": "sha512-R+yLWQy7D9aRF9yJ3QzwYnGFnGDhMUij4jVBUVtkl67oaVoP1ymZ81AfCmfZro2kpPRI+vmNMfxxW531cqdx8A==", + "dev": true + }, + "workbox-routing": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-3.6.3.tgz", + "integrity": "sha512-bX20i95OKXXQovXhFOViOK63HYmXvsIwZXKWbSpVeKToxMrp0G/6LZXnhg82ijj/S5yhKNRf9LeGDzaqxzAwMQ==", + "dev": true + }, + "workbox-strategies": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-3.6.3.tgz", + "integrity": "sha512-Pg5eulqeKet2y8j73Yw6xTgLdElktcWExGkzDVCGqfV9JCvnGuEpz5eVsCIK70+k4oJcBCin9qEg3g3CwEIH3g==", + "dev": true + }, + "workbox-streams": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-3.6.3.tgz", + "integrity": "sha512-rqDuS4duj+3aZUYI1LsrD2t9hHOjwPqnUIfrXSOxSVjVn83W2MisDF2Bj+dFUZv4GalL9xqErcFW++9gH+Z27w==", + "dev": true + }, + "workbox-sw": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-3.6.3.tgz", + "integrity": "sha512-IQOUi+RLhvYCiv80RP23KBW/NTtIvzvjex28B8NW1jOm+iV4VIu3VXKXTA6er5/wjjuhmtB28qEAUqADLAyOSg==", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true + }, + "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 + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true + }, + "ws": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz", + "integrity": "sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==" + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "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==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "xmlshim": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/xmlshim/-/xmlshim-0.2.5.tgz", + "integrity": "sha512-+N2iBfpKZkX39JJmM8aw1MHBdf0s7znQa+JGPl+31DJtIOAAw2GO0vZzdz05Z/31RoKiR5Zx60Haj296ttDkgQ==", + "dependencies": { + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=" + }, + "acorn": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" + }, + "acorn-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", + "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=" + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=" + }, + "jsdom": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-8.5.0.tgz", + "integrity": "sha1-1Nj12/J2hjW2KmKCO5R89wcevJg=" + }, + "parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=" + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-2.0.1.tgz", + "integrity": "sha1-U5ayBD8CDub3BNnEXqhRnnJN5lk=" + }, + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=" + } + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "ylru": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", + "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==", + "dev": true + }, + "zepto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz", + "integrity": "sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=", + "dev": true + } + } +} diff --git a/sheep/package.json b/sheep/package.json new file mode 100644 index 0000000..fe4247a --- /dev/null +++ b/sheep/package.json @@ -0,0 +1,79 @@ +{ + "name": "pysheep", + "version": "1.0.0", + "engines": { + "node": "8.1.0" + }, + "scripts": { + "start": "cross-env NODE_ENV=development webpack-dev-server", + "build": "rimraf ../manuallybuiltsheep*.* && cross-env NODE_ENV=production webpack --progress --config webpack.config.js", + "build-shepherd": "rimraf ../static/editor && cross-env NODE_ENV=production SHEPHERD=1 webpack --progress --config webpack.config.js", + "vuepress:update": "rimraf ./docs/full && rimraf ./docs/*.md && git clone --depth 1 https://github.com/systemetric/robocon-website ./docs/full && cpy ./docs/full/docs/*.md ./docs/ && cpy ./docs/full/.vuepress/public/images/*.* ./docs/images/ && cpy ./docs/full/.vuepress/categories.json ./docs/.vuepress/ && cpy ./docs/full/.vuepress/public/*.pdf ./docs/.vuepress/public && cpy ./docs/full/.vuepress/public/*.zip ./docs/.vuepress/public && cpy ./docs/full/.vuepress/public/*.py ./docs/.vuepress/public && node ./docs/transform.js && rimraf ./docs/full", + "vuepress:update-local": "rimraf ./docs/full && rimraf ./docs/*.md && git clone --depth 1 ../../robocon-website ./docs/full && cpy ./docs/full/docs/*.md ./docs/ && cpy ./docs/full/.vuepress/public/images/*.* ./docs/images/ && cpy ./docs/full/.vuepress/categories.json ./docs/.vuepress/ && cpy ./docs/full/.vuepress/public/*.pdf ./docs/.vuepress/public && cpy ./docs/full/.vuepress/public/*.zip ./docs/.vuepress/public && cpy ./docs/full/.vuepress/public/*.py ./docs/.vuepress/public && node ./docs/transform.js && rimraf ./docs/full", + "vuepress:dev": "vuepress dev docs", + "vuepress:build": "vuepress build docs --dest ../manuallybuiltdocs", + "vuepress:updatebuild-local": "npm run vuepress:update-local && npm run vuepress:build", + "updatebuild": "npm run vuepress:update && npm run vuepress:build && npm run build" + }, + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^1.2.36", + "@fortawesome/free-solid-svg-icons": "^5.15.4", + "@fortawesome/vue-fontawesome": "^2.0.6", + "ajv": "^6.10.2", + "fast-deep-equal": "^2.0.1", + "file-saver": "^2.0.2", + "json-schema-traverse": "^0.4.1", + "jszip": "^3.2.2", + "lodash": "^4.17.15", + "minireset.css": "0.0.3", + "monaco-editor": "^0.14.3", + "monaco-languageclient": "^0.9.1", + "node-blockly": "^1.1.2", + "normalize-url": "^3.3.0", + "raw-loader": "^0.5.1", + "reconnecting-websocket": "^4.2.0", + "resize-observer-polyfill": "^1.5.1", + "uri-js": "^4.2.2", + "vscode-languageserver-types": "^3.14.0", + "vscode-ws-jsonrpc": "0.0.2-2", + "vue": "^2.6.10", + "vue-prism-component": "^1.1.1", + "vue-router": "^3.1.3", + "vue-split-panel": "^1.0.4", + "vuex": "^3.1.1" + }, + "devDependencies": { + "@types/file-saver": "^2.0.1", + "@types/jszip": "^3.1.6", + "@types/lodash": "^4.14.144", + "@types/node": "^10.14.22", + "@types/normalize-url": "^1.9.1", + "@types/resize-observer-browser": "^0.1.11", + "@types/vue": "^2.0.0", + "cpy-cli": "^2.0.0", + "cross-env": "^5.2.1", + "css-loader": "^1.0.1", + "front-matter": "^3.0.2", + "html-webpack-plugin": "^3.2.0", + "mini-css-extract-plugin": "^0.4.5", + "monaco-editor-webpack-plugin": "^1.7.0", + "node-sass": "^4.14.1", + "optimize-css-assets-webpack-plugin": "^5.0.3", + "prettier": "^1.18.2", + "rimraf": "^2.7.1", + "sass-loader": "^7.3.1", + "style-loader": "^0.23.1", + "svg-url-loader": "^2.3.3", + "terser": "^3.17.0", + "terser-webpack-plugin": "^1.4.1", + "ts-loader": "^5.4.5", + "typescript": "^3.6.4", + "vue-loader": "^15.7.1", + "vue-template-compiler": "^2.6.10", + "vuepress": "^0.14.11", + "webpack": "^4.41.2", + "webpack-bundle-analyzer": "^3.9.0", + "webpack-cli": "^3.3.9", + "webpack-dev-server": "^3.8.2" + } +} diff --git a/sheep/tsconfig.json b/sheep/tsconfig.json new file mode 100644 index 0000000..3811f88 --- /dev/null +++ b/sheep/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "esnext", + "strict": false, + "importHelpers": true, + "moduleResolution": "node", + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "sourceMap": true, + "allowJs": true, + "baseUrl": ".", + "resolveJsonModule": true, + "paths": { + "@/*": [ + "app/*" + ] + }, + "lib": [ + "esnext", + "dom", + "dom.iterable", + "scripthost" + ] + }, + "exclude": [ + "node_modules" + ] +} diff --git a/sheep/webpack.config.js b/sheep/webpack.config.js new file mode 100644 index 0000000..719fdf7 --- /dev/null +++ b/sheep/webpack.config.js @@ -0,0 +1,97 @@ +const path = require("path"); +const MonacoWebpackPlugin = require("monaco-editor-webpack-plugin"); +const TerserPlugin = require("terser-webpack-plugin"); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin"); +const HtmlWebpackPlugin = require("html-webpack-plugin"); +const VueLoaderPlugin = require("vue-loader/lib/plugin"); +const dev = process.env.NODE_ENV !== "production"; +const isShepherd = process.env.SHEPHERD === "1"; + +module.exports = { + mode: process.env.NODE_ENV, + entry: "./app/index.ts", + devtool: "inline-source-map", + output: { + path: (isShepherd ? + path.resolve( + __dirname, + "..", + "static", + "editor" + ) + : path.resolve( + __dirname, + "..", + "manuallybuiltsheep" + )), + filename: "bundle.js" + }, + optimization: { + minimizer: [new TerserPlugin(), new OptimizeCSSAssetsPlugin({})] + }, + module: { + rules: [ + { + test: /\.vue$/, + loader: "vue-loader" + }, + { + test: /\.tsx?$/, + loader: "ts-loader", + options: { + appendTsSuffixTo: ["\\.vue$"] + }, + exclude: /node_modules/ + }, + { + test: /\.(sa|sc|c)ss$/, + use: [ + dev ? "vue-style-loader" : MiniCssExtractPlugin.loader, + "css-loader", + "sass-loader" + ] + }, + { + test: /\.svg$/, + loader: "svg-url-loader" + }, + { + test: /\.xml$/, + loader: "raw-loader" + } + ] + }, + resolve: { + alias: { + vscode: require.resolve("monaco-languageclient/lib/vscode-compatibility"), + "@": path.join(__dirname, "app"), + vue$: "vue/dist/vue.runtime.esm.js" + }, + extensions: [".js", ".jsx", ".vue", ".json", ".ts", ".tsx"] + }, + plugins: [ + new MonacoWebpackPlugin({ + languages: ["json"] + }), + new MiniCssExtractPlugin({ + filename: "style.css" + }), + new HtmlWebpackPlugin({ + template: "./app/template.html" + }), + new VueLoaderPlugin() + ], + node: { + fs: "empty", + child_process: "empty", + net: "empty", + crypto: "empty", + global: true, + tls: "empty", + process: true, + module: false, + clearImmediate: false, + setImmediate: true + } +}; diff --git a/sheepsrc b/sheepsrc deleted file mode 160000 index 62bd33a..0000000 --- a/sheepsrc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 62bd33a42e46e4399d5efc5dd14caa1d5c95bc20 diff --git a/shepherd/__init__.py b/shepherd/__init__.py deleted file mode 100644 index 4cf83be..0000000 --- a/shepherd/__init__.py +++ /dev/null @@ -1,56 +0,0 @@ -# encoding: utf-8 - - - -import errno -import os -from pathlib import Path - -from flask import Flask, render_template, send_file -from flask_sockets import Sockets -from flask_cors import CORS -import RPi.GPIO as GPIO -from logging.handlers import SysLogHandler -import logging - -from shepherd.blueprints import upload, run, pyls, editor, staticroutes - -syslogger = logging.getLogger() -syslogger.addHandler(SysLogHandler('/dev/log')) - -app = Flask(__name__, template_folder="templates") -sockets = Sockets(app) - -# Allow resources to be fetched from cross origin -CORS(app, resources=r'/*') -app.secret_key = os.urandom(32) - -app.config["SEND_FILE_MAX_AGE_DEFAULT"] = 0 -app.config["MAX_CONTENT_LENGTH"] = 64 * 1024 * 1024 # 64 MiB - -app.config["SHEPHERD_USER_CODE_ENTRYPOINT_NAME"] = "main.py" -app.config["SHEPHERD_USER_CODE_PATH"] = "/home/pi/shepherd/usercode/" -app.config["SHEEP_TEAM_LOGO_PATH"] = "/home/pi/shepherd/robotsrc/team_logo.jpg" - -run.init() - -app.register_blueprint(upload.blueprint, url_prefix="/upload") -app.register_blueprint(run.blueprint, url_prefix="/run") -app.register_blueprint(editor.blueprint, url_prefix="/files") -app.register_blueprint(staticroutes.blueprint, url_prefix="/") -sockets.register_blueprint(pyls.blueprint) - - -@app.route("/") -def index(): - return render_template("index.html") - - -@app.route("/about") -def about(): - return render_template("about.html") - - -@app.route("/favicon.ico") -def favicon(): - return send_file(os.path.join(app.root_path, "static", "favicon.ico")) diff --git a/shepherd/blueprints/__init__.py b/shepherd/blueprints/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/shepherd/blueprints/editor/0.bundle.js b/shepherd/blueprints/editor/0.bundle.js deleted file mode 100644 index 1c05526..0000000 --- a/shepherd/blueprints/editor/0.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{565:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return i})),t.d(n,"language",(function(){return r}));var i={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},r={defaultToken:"",tokenPostfix:".cpp",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/(.*)(\))(?:([^ ()\\\t]*))(\")/,{cases:{"$3==$S2":["string.raw","string.raw.end","string.raw.end",{token:"string.raw.end",next:"@pop"}],"@default":["string.raw","string.raw","string.raw","string.raw"]}}],[/.*/,"string.raw"]],include:[[/(\s*)(<)([^<>]*)(>)/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]],[/(\s*)(")([^"]*)(")/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/10.bundle.js b/shepherd/blueprints/editor/10.bundle.js deleted file mode 100644 index ed92154..0000000 --- a/shepherd/blueprints/editor/10.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{568:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return r})),n.d(t,"language",(function(){return i}));var r={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},i={defaultToken:"",tokenPostfix:".css",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/11.bundle.js b/shepherd/blueprints/editor/11.bundle.js deleted file mode 100644 index 6ac5dd7..0000000 --- a/shepherd/blueprints/editor/11.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{569:function(e,n,s){"use strict";s.r(n),s.d(n,"conf",(function(){return t})),s.d(n,"language",(function(){return o}));var t={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={defaultToken:"",tokenPostfix:".dockerfile",instructions:/FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT/,instructionAfter:/ONBUILD/,variableAfter:/ENV/,variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(@instructionAfter)(\s+)/,["keyword",{token:"",next:"@instructions"}]],["","keyword","@instructions"]],instructions:[[/(@variableAfter)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(@instructions)/,"keyword","@arguments"]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/12.bundle.js b/shepherd/blueprints/editor/12.bundle.js deleted file mode 100644 index 300d535..0000000 --- a/shepherd/blueprints/editor/12.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{570:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return s})),t.d(n,"language",(function(){return o}));var s={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},o={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/13.bundle.js b/shepherd/blueprints/editor/13.bundle.js deleted file mode 100644 index eee0f7b..0000000 --- a/shepherd/blueprints/editor/13.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{571:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return s}));var t={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/14.bundle.js b/shepherd/blueprints/editor/14.bundle.js deleted file mode 100644 index 9f6e43c..0000000 --- a/shepherd/blueprints/editor/14.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{572:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return i})),n.d(t,"language",(function(){return m}));var a="undefined"==typeof monaco?self.monaco:monaco,r=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],i={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+r.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:a.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+r.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:a.languages.IndentAction.Indent}}]},m={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],handlebarsInSimpleState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3"}],{include:"handlebarsRoot"}],handlebarsInEmbeddedState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"handlebarsRoot"}],handlebarsRoot:[[/[#/][^\s}]+/,"keyword.helper.handlebars"],[/else\b/,"keyword.helper.handlebars"],[/[\s]+/],[/[^}]/,"variable.parameter.handlebars"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/15.bundle.js b/shepherd/blueprints/editor/15.bundle.js deleted file mode 100644 index 746e201..0000000 --- a/shepherd/blueprints/editor/15.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{573:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return r})),n.d(t,"language",(function(){return d}));var i="undefined"==typeof monaco?self.monaco:monaco,o=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+o.join("|")+"))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:i.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+o.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:i.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#endregion\\b.*--\x3e")}}},d={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/16.bundle.js b/shepherd/blueprints/editor/16.bundle.js deleted file mode 100644 index 8607fc5..0000000 --- a/shepherd/blueprints/editor/16.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{574:function(e,n,s){"use strict";s.r(n),s.d(n,"conf",(function(){return o})),s.d(n,"language",(function(){return t}));var o={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},t={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/17.bundle.js b/shepherd/blueprints/editor/17.bundle.js deleted file mode 100644 index 4fff031..0000000 --- a/shepherd/blueprints/editor/17.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{575:function(e,t,o){"use strict";o.r(t),o.d(t,"conf",(function(){return n})),o.d(t,"language",(function(){return s}));var n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},s={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/18.bundle.js b/shepherd/blueprints/editor/18.bundle.js deleted file mode 100644 index b2c14c0..0000000 --- a/shepherd/blueprints/editor/18.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{577:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return i})),n.d(t,"language",(function(){return r}));var i={wordPattern:/(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},r={defaultToken:"",tokenPostfix:".less",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",identifierPlus:"-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@nestedJSBegin"},["[ \\t\\r\\n]+",""],{include:"@comments"},{include:"@keyword"},{include:"@strings"},{include:"@numbers"},["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))","attribute.name","@attribute"],["url(\\-prefix)?\\(",{token:"tag",next:"@urldeclaration"}],["[{}()\\[\\]]","@brackets"],["[,:;]","delimiter"],["#@identifierPlus","tag.id"],["&","tag"],["\\.@identifierPlus(?=\\()","tag.class","@attribute"],["\\.@identifierPlus","tag.class"],["@identifierPlus","tag"],{include:"@operators"},["@(@identifier(?=[:,\\)]))","variable","@attribute"],["@(@identifier)","variable"],["@","key","@atRules"]],nestedJSBegin:[["``","delimiter.backtick"],["`",{token:"delimiter.backtick",next:"@nestedJSEnd",nextEmbedded:"text/javascript"}]],nestedJSEnd:[["`",{token:"delimiter.backtick",next:"@pop",nextEmbedded:"@pop"}]],operators:[["[<>=\\+\\-\\*\\/\\^\\|\\~]","operator"]],keyword:[["(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b","keyword"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"tag",next:"@pop"}]],attribute:[{include:"@nestedJSBegin"},{include:"@comments"},{include:"@strings"},{include:"@numbers"},{include:"@keyword"},["[a-zA-Z\\-]+(?=\\()","attribute.value","@attribute"],[">","operator","@pop"],["@identifier","attribute.value"],{include:"@operators"},["@(@identifier)","variable"],["[)\\}]","@brackets","@pop"],["[{}()\\[\\]>]","@brackets"],["[;]","delimiter","@pop"],["[,=:]","delimiter"],["\\s",""],[".","attribute.value"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],strings:[['~?"',{token:"string.delimiter",next:"@stringsEndDoubleQuote"}],["~?'",{token:"string.delimiter",next:"@stringsEndQuote"}]],stringsEndDoubleQuote:[['\\\\"',"string"],['"',{token:"string.delimiter",next:"@popall"}],[".","string"]],stringsEndQuote:[["\\\\'","string"],["'",{token:"string.delimiter",next:"@popall"}],[".","string"]],atRules:[{include:"@comments"},{include:"@strings"},["[()]","delimiter"],["[\\{;]","delimiter","@pop"],[".","key"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/19.bundle.js b/shepherd/blueprints/editor/19.bundle.js deleted file mode 100644 index 41fad52..0000000 --- a/shepherd/blueprints/editor/19.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{578:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return s}));var t={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:o.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:o.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:o.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:o.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},r={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","as","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","package","private","protected","public","readonly","require","global","return","set","static","super","switch","symbol","this","throw","true","try","type","typeof","unique","var","void","while","with","yield","async","await","of"],typeKeywords:["any","boolean","number","object","string","undefined"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)/,"number.hex"],[/0(@octaldigits)/,"number.octal"],[/0[bB](@binarydigits)/,"number.binary"],[/(@digits)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],["/",{token:"regexp",bracket:"@close"},"@pop"]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,"@brackets.regexp.escape.control","@pop"]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}},576:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return i})),t.d(n,"language",(function(){return r}));var o=t(562),i=("undefined"==typeof monaco?self.monaco:monaco,o.conf),r={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:o.language.operators,symbols:o.language.symbols,escapes:o.language.escapes,digits:o.language.digits,octaldigits:o.language.octaldigits,binarydigits:o.language.binarydigits,hexdigits:o.language.hexdigits,regexpctl:o.language.regexpctl,regexpesc:o.language.regexpesc,tokenizer:o.language.tokenizer}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/20.bundle.js b/shepherd/blueprints/editor/20.bundle.js deleted file mode 100644 index 2021330..0000000 --- a/shepherd/blueprints/editor/20.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{579:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return c}));var s="attribute.name.html";var o={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},c={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+)\s*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"variable.source",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{[^}]+\}/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)\s*>/,{token:"tag"}],[//,"comment","@pop"],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],phpInSimpleState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3"}],{include:"phpRoot"}],phpInEmbeddedState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"phpRoot"}],phpRoot:[[/[a-zA-Z_]\w*/,{cases:{"@phpKeywords":{token:"keyword.php"},"@phpCompileTimeConstants":{token:"constant.php"},"@default":"identifier.php"}}],[/[$a-zA-Z_]\w*/,{cases:{"@phpPreDefinedVariables":{token:"variable.predefined.php"},"@default":"variable.php"}}],[/[{}]/,"delimiter.bracket.php"],[/[\[\]]/,"delimiter.array.php"],[/[()]/,"delimiter.parenthesis.php"],[/[ \t\r\n]+/],[/#/,"comment.php","@phpLineComment"],[/\/\//,"comment.php","@phpLineComment"],[/\/\*/,"comment.php","@phpComment"],[/"/,"string.php","@phpDoubleQuoteString"],[/'/,"string.php","@phpSingleQuoteString"],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,\@]/,"delimiter.php"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.php"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.php"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.php"],[/0[0-7']*[0-7]/,"number.octal.php"],[/0[bB][0-1']*[0-1]/,"number.binary.php"],[/\d[\d']*/,"number.php"],[/\d/,"number.php"]],phpComment:[[/\*\//,"comment.php","@pop"],[/[^*]+/,"comment.php"],[/./,"comment.php"]],phpLineComment:[[/\?>/,{token:"@rematch",next:"@pop"}],[/.$/,"comment.php","@pop"],[/[^?]+$/,"comment.php","@pop"],[/[^?]+/,"comment.php"],[/./,"comment.php"]],phpDoubleQuoteString:[[/[^\\"]+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/"/,"string.php","@pop"]],phpSingleQuoteString:[[/[^\\']+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/'/,"string.php","@pop"]]},phpKeywords:["abstract","and","array","as","break","callable","case","catch","cfunction","class","clone","const","continue","declare","default","do","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","false","final","for","foreach","function","global","goto","if","implements","interface","instanceof","insteadof","namespace","new","null","object","old_function","or","private","protected","public","resource","static","switch","throw","trait","try","true","use","var","while","xor","die","echo","empty","exit","eval","include","include_once","isset","list","require","require_once","return","print","unset","yield","__construct"],phpCompileTimeConstants:["__CLASS__","__DIR__","__FILE__","__LINE__","__NAMESPACE__","__METHOD__","__FUNCTION__","__TRAIT__"],phpPreDefinedVariables:["$GLOBALS","$_SERVER","$_GET","$_POST","$_FILES","$_REQUEST","$_SESSION","$_ENV","$_COOKIE","$php_errormsg","$HTTP_RAW_POST_DATA","$http_response_header","$argc","$argv"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/27.bundle.js b/shepherd/blueprints/editor/27.bundle.js deleted file mode 100644 index 93a689c..0000000 --- a/shepherd/blueprints/editor/27.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{585:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return i})),n.d(t,"language",(function(){return o}));var i={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},o={tokenPostfix:".pats",defaultToken:"invalid",keywords:["abstype","abst0ype","absprop","absview","absvtype","absviewtype","absvt0ype","absviewt0ype","as","and","assume","begin","classdec","datasort","datatype","dataprop","dataview","datavtype","dataviewtype","do","end","extern","extype","extvar","exception","fn","fnx","fun","prfn","prfun","praxi","castfn","if","then","else","ifcase","in","infix","infixl","infixr","prefix","postfix","implmnt","implement","primplmnt","primplement","import","let","local","macdef","macrodef","nonfix","symelim","symintr","overload","of","op","rec","sif","scase","sortdef","sta","stacst","stadef","static","staload","dynload","try","tkindef","typedef","propdef","viewdef","vtypedef","viewtypedef","prval","var","prvar","when","where","with","withtype","withprop","withview","withvtype","withviewtype"],keywords_dlr:["$delay","$ldelay","$arrpsz","$arrptrsize","$d2ctype","$effmask","$effmask_ntm","$effmask_exn","$effmask_ref","$effmask_wrt","$effmask_all","$extern","$extkind","$extype","$extype_struct","$extval","$extfcall","$extmcall","$literal","$myfilename","$mylocation","$myfunction","$lst","$lst_t","$lst_vt","$list","$list_t","$list_vt","$rec","$rec_t","$rec_vt","$record","$record_t","$record_vt","$tup","$tup_t","$tup_vt","$tuple","$tuple_t","$tuple_vt","$break","$continue","$raise","$showtype","$vcopyenv_v","$vcopyenv_vt","$tempenver","$solver_assert","$solver_verify"],keywords_srp:["#if","#ifdef","#ifndef","#then","#elif","#elifdef","#elifndef","#else","#endif","#error","#prerr","#print","#assert","#undef","#define","#include","#require","#pragma","#codegen2","#codegen3"],irregular_keyword_list:["val+","val-","val","case+","case-","case","addr@","addr","fold@","free@","fix@","fix","lam@","lam","llam@","llam","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","view+","view-","view@","view","type+","type-","type","vtype+","vtype-","vtype","vt@ype+","vt@ype-","vt@ype","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","prop+","prop-","prop","type+","type-","type","t@ype","t@ype+","t@ype-","abst@ype","abstype","absviewt@ype","absvt@ype","for*","for","while*","while"],keywords_types:["bool","double","byte","int","short","char","void","unit","long","float","string","strptr"],keywords_effects:["0","fun","clo","prf","funclo","cloptr","cloref","ref","ntm","1"],operators:["@","!","|","`",":","$",".","=","#","~","..","...","=>","=<>","=/=>","=>>","=/=>>","<",">","><",".<",">.",".<>.","->","-<>"],brackets:[{open:",(",close:")",token:"delimiter.parenthesis"},{open:"`(",close:")",token:"delimiter.parenthesis"},{open:"%(",close:")",token:"delimiter.parenthesis"},{open:"'(",close:")",token:"delimiter.parenthesis"},{open:"'{",close:"}",token:"delimiter.parenthesis"},{open:"@(",close:")",token:"delimiter.parenthesis"},{open:"@{",close:"}",token:"delimiter.brace"},{open:"@[",close:"]",token:"delimiter.square"},{open:"#[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],symbols:/[=>]/,digit:/[0-9]/,digitseq0:/@digit*/,xdigit:/[0-9A-Za-z]/,xdigitseq0:/@xdigit*/,INTSP:/[lLuU]/,FLOATSP:/[fFlL]/,fexponent:/[eE][+-]?[0-9]+/,fexponent_bin:/[pP][+-]?[0-9]+/,deciexp:/\.[0-9]*@fexponent?/,hexiexp:/\.[0-9a-zA-Z]*@fexponent_bin?/,irregular_keywords:/val[+-]?|case[+-]?|addr\@?|fold\@|free\@|fix\@?|lam\@?|llam\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\*?|while\*?/,ESCHAR:/[ntvbrfa\\\?'"\(\[\{]/,start:"root",tokenizer:{root:[{regex:/[ \t\r\n]+/,action:{token:""}},{regex:/\(\*\)/,action:{token:"invalid"}},{regex:/\(\*/,action:{token:"comment",next:"lexing_COMMENT_block_ml"}},{regex:/\(/,action:"@brackets"},{regex:/\)/,action:"@brackets"},{regex:/\[/,action:"@brackets"},{regex:/\]/,action:"@brackets"},{regex:/\{/,action:"@brackets"},{regex:/\}/,action:"@brackets"},{regex:/,\(/,action:"@brackets"},{regex:/,/,action:{token:"delimiter.comma"}},{regex:/;/,action:{token:"delimiter.semicolon"}},{regex:/@\(/,action:"@brackets"},{regex:/@\[/,action:"@brackets"},{regex:/@\{/,action:"@brackets"},{regex:/:/,action:{token:"@rematch",next:"@pop"}}],lexing_EXTCODE:[{regex:/^%}/,action:{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}},{regex:/[^%]+/,action:""}],lexing_DQUOTE:[{regex:/"/,action:{token:"string.quote",next:"@pop"}},{regex:/(\{\$)(@IDENTFST@IDENTRST*)(\})/,action:[{token:"string.escape"},{token:"identifier"},{token:"string.escape"}]},{regex:/\\$/,action:{token:"string.escape"}},{regex:/\\(@ESCHAR|[xX]@xdigit+|@digit+)/,action:{token:"string.escape"}},{regex:/[^\\"]+/,action:{token:"string"}}]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/28.bundle.js b/shepherd/blueprints/editor/28.bundle.js deleted file mode 100644 index 490e08b..0000000 --- a/shepherd/blueprints/editor/28.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{586:function(e,t,a){"use strict";a.r(t),a.d(t,"conf",(function(){return n})),a.d(t,"language",(function(){return i}));var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment","identifier"]},{open:"[",close:"]",notIn:["string","comment","identifier"]},{open:"(",close:")",notIn:["string","comment","identifier"]},{open:"{",close:"}",notIn:["string","comment","identifier"]}]},i={defaultToken:"",tokenPostfix:".pq",ignoreCase:!1,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],operatorKeywords:["and","not","or"],keywords:["as","each","else","error","false","if","in","is","let","meta","otherwise","section","shared","then","true","try","type"],constructors:["#binary","#date","#datetime","#datetimezone","#duration","#table","#time"],constants:["#infinity","#nan","#sections","#shared"],typeKeywords:["action","any","anynonnull","none","null","logical","number","time","date","datetime","datetimezone","duration","text","binary","list","record","table","function"],builtinFunctions:["Access.Database","Action.Return","Action.Sequence","Action.Try","ActiveDirectory.Domains","AdoDotNet.DataSource","AdoDotNet.Query","AdobeAnalytics.Cubes","AnalysisServices.Database","AnalysisServices.Databases","AzureStorage.BlobContents","AzureStorage.Blobs","AzureStorage.Tables","Binary.Buffer","Binary.Combine","Binary.Compress","Binary.Decompress","Binary.End","Binary.From","Binary.FromList","Binary.FromText","Binary.InferContentType","Binary.Length","Binary.ToList","Binary.ToText","BinaryFormat.7BitEncodedSignedInteger","BinaryFormat.7BitEncodedUnsignedInteger","BinaryFormat.Binary","BinaryFormat.Byte","BinaryFormat.ByteOrder","BinaryFormat.Choice","BinaryFormat.Decimal","BinaryFormat.Double","BinaryFormat.Group","BinaryFormat.Length","BinaryFormat.List","BinaryFormat.Null","BinaryFormat.Record","BinaryFormat.SignedInteger16","BinaryFormat.SignedInteger32","BinaryFormat.SignedInteger64","BinaryFormat.Single","BinaryFormat.Text","BinaryFormat.Transform","BinaryFormat.UnsignedInteger16","BinaryFormat.UnsignedInteger32","BinaryFormat.UnsignedInteger64","Byte.From","Character.FromNumber","Character.ToNumber","Combiner.CombineTextByDelimiter","Combiner.CombineTextByEachDelimiter","Combiner.CombineTextByLengths","Combiner.CombineTextByPositions","Combiner.CombineTextByRanges","Comparer.Equals","Comparer.FromCulture","Comparer.Ordinal","Comparer.OrdinalIgnoreCase","Csv.Document","Cube.AddAndExpandDimensionColumn","Cube.AddMeasureColumn","Cube.ApplyParameter","Cube.AttributeMemberId","Cube.AttributeMemberProperty","Cube.CollapseAndRemoveColumns","Cube.Dimensions","Cube.DisplayFolders","Cube.Measures","Cube.Parameters","Cube.Properties","Cube.PropertyKey","Cube.ReplaceDimensions","Cube.Transform","Currency.From","DB2.Database","Date.AddDays","Date.AddMonths","Date.AddQuarters","Date.AddWeeks","Date.AddYears","Date.Day","Date.DayOfWeek","Date.DayOfWeekName","Date.DayOfYear","Date.DaysInMonth","Date.EndOfDay","Date.EndOfMonth","Date.EndOfQuarter","Date.EndOfWeek","Date.EndOfYear","Date.From","Date.FromText","Date.IsInCurrentDay","Date.IsInCurrentMonth","Date.IsInCurrentQuarter","Date.IsInCurrentWeek","Date.IsInCurrentYear","Date.IsInNextDay","Date.IsInNextMonth","Date.IsInNextNDays","Date.IsInNextNMonths","Date.IsInNextNQuarters","Date.IsInNextNWeeks","Date.IsInNextNYears","Date.IsInNextQuarter","Date.IsInNextWeek","Date.IsInNextYear","Date.IsInPreviousDay","Date.IsInPreviousMonth","Date.IsInPreviousNDays","Date.IsInPreviousNMonths","Date.IsInPreviousNQuarters","Date.IsInPreviousNWeeks","Date.IsInPreviousNYears","Date.IsInPreviousQuarter","Date.IsInPreviousWeek","Date.IsInPreviousYear","Date.IsInYearToDate","Date.IsLeapYear","Date.Month","Date.MonthName","Date.QuarterOfYear","Date.StartOfDay","Date.StartOfMonth","Date.StartOfQuarter","Date.StartOfWeek","Date.StartOfYear","Date.ToRecord","Date.ToText","Date.WeekOfMonth","Date.WeekOfYear","Date.Year","DateTime.AddZone","DateTime.Date","DateTime.FixedLocalNow","DateTime.From","DateTime.FromFileTime","DateTime.FromText","DateTime.IsInCurrentHour","DateTime.IsInCurrentMinute","DateTime.IsInCurrentSecond","DateTime.IsInNextHour","DateTime.IsInNextMinute","DateTime.IsInNextNHours","DateTime.IsInNextNMinutes","DateTime.IsInNextNSeconds","DateTime.IsInNextSecond","DateTime.IsInPreviousHour","DateTime.IsInPreviousMinute","DateTime.IsInPreviousNHours","DateTime.IsInPreviousNMinutes","DateTime.IsInPreviousNSeconds","DateTime.IsInPreviousSecond","DateTime.LocalNow","DateTime.Time","DateTime.ToRecord","DateTime.ToText","DateTimeZone.FixedLocalNow","DateTimeZone.FixedUtcNow","DateTimeZone.From","DateTimeZone.FromFileTime","DateTimeZone.FromText","DateTimeZone.LocalNow","DateTimeZone.RemoveZone","DateTimeZone.SwitchZone","DateTimeZone.ToLocal","DateTimeZone.ToRecord","DateTimeZone.ToText","DateTimeZone.ToUtc","DateTimeZone.UtcNow","DateTimeZone.ZoneHours","DateTimeZone.ZoneMinutes","Decimal.From","Diagnostics.ActivityId","Diagnostics.Trace","DirectQueryCapabilities.From","Double.From","Duration.Days","Duration.From","Duration.FromText","Duration.Hours","Duration.Minutes","Duration.Seconds","Duration.ToRecord","Duration.ToText","Duration.TotalDays","Duration.TotalHours","Duration.TotalMinutes","Duration.TotalSeconds","Embedded.Value","Error.Record","Excel.CurrentWorkbook","Excel.Workbook","Exchange.Contents","Expression.Constant","Expression.Evaluate","Expression.Identifier","Facebook.Graph","File.Contents","Folder.Contents","Folder.Files","Function.From","Function.Invoke","Function.InvokeAfter","Function.IsDataSource","GoogleAnalytics.Accounts","Guid.From","HdInsight.Containers","HdInsight.Contents","HdInsight.Files","Hdfs.Contents","Hdfs.Files","Informix.Database","Int16.From","Int32.From","Int64.From","Int8.From","ItemExpression.From","Json.Document","Json.FromValue","Lines.FromBinary","Lines.FromText","Lines.ToBinary","Lines.ToText","List.Accumulate","List.AllTrue","List.Alternate","List.AnyTrue","List.Average","List.Buffer","List.Combine","List.Contains","List.ContainsAll","List.ContainsAny","List.Count","List.Covariance","List.DateTimeZones","List.DateTimes","List.Dates","List.Difference","List.Distinct","List.Durations","List.FindText","List.First","List.FirstN","List.Generate","List.InsertRange","List.Intersect","List.IsDistinct","List.IsEmpty","List.Last","List.LastN","List.MatchesAll","List.MatchesAny","List.Max","List.MaxN","List.Median","List.Min","List.MinN","List.Mode","List.Modes","List.NonNullCount","List.Numbers","List.PositionOf","List.PositionOfAny","List.Positions","List.Product","List.Random","List.Range","List.RemoveFirstN","List.RemoveItems","List.RemoveLastN","List.RemoveMatchingItems","List.RemoveNulls","List.RemoveRange","List.Repeat","List.ReplaceMatchingItems","List.ReplaceRange","List.ReplaceValue","List.Reverse","List.Select","List.Single","List.SingleOrDefault","List.Skip","List.Sort","List.StandardDeviation","List.Sum","List.Times","List.Transform","List.TransformMany","List.Union","List.Zip","Logical.From","Logical.FromText","Logical.ToText","MQ.Queue","MySQL.Database","Number.Abs","Number.Acos","Number.Asin","Number.Atan","Number.Atan2","Number.BitwiseAnd","Number.BitwiseNot","Number.BitwiseOr","Number.BitwiseShiftLeft","Number.BitwiseShiftRight","Number.BitwiseXor","Number.Combinations","Number.Cos","Number.Cosh","Number.Exp","Number.Factorial","Number.From","Number.FromText","Number.IntegerDivide","Number.IsEven","Number.IsNaN","Number.IsOdd","Number.Ln","Number.Log","Number.Log10","Number.Mod","Number.Permutations","Number.Power","Number.Random","Number.RandomBetween","Number.Round","Number.RoundAwayFromZero","Number.RoundDown","Number.RoundTowardZero","Number.RoundUp","Number.Sign","Number.Sin","Number.Sinh","Number.Sqrt","Number.Tan","Number.Tanh","Number.ToText","OData.Feed","Odbc.DataSource","Odbc.Query","OleDb.DataSource","OleDb.Query","Oracle.Database","Percentage.From","PostgreSQL.Database","RData.FromBinary","Record.AddField","Record.Combine","Record.Field","Record.FieldCount","Record.FieldNames","Record.FieldOrDefault","Record.FieldValues","Record.FromList","Record.FromTable","Record.HasFields","Record.RemoveFields","Record.RenameFields","Record.ReorderFields","Record.SelectFields","Record.ToList","Record.ToTable","Record.TransformFields","Replacer.ReplaceText","Replacer.ReplaceValue","RowExpression.Column","RowExpression.From","Salesforce.Data","Salesforce.Reports","SapBusinessWarehouse.Cubes","SapHana.Database","SharePoint.Contents","SharePoint.Files","SharePoint.Tables","Single.From","Soda.Feed","Splitter.SplitByNothing","Splitter.SplitTextByAnyDelimiter","Splitter.SplitTextByDelimiter","Splitter.SplitTextByEachDelimiter","Splitter.SplitTextByLengths","Splitter.SplitTextByPositions","Splitter.SplitTextByRanges","Splitter.SplitTextByRepeatedLengths","Splitter.SplitTextByWhitespace","Sql.Database","Sql.Databases","SqlExpression.SchemaFrom","SqlExpression.ToExpression","Sybase.Database","Table.AddColumn","Table.AddIndexColumn","Table.AddJoinColumn","Table.AddKey","Table.AggregateTableColumn","Table.AlternateRows","Table.Buffer","Table.Column","Table.ColumnCount","Table.ColumnNames","Table.ColumnsOfType","Table.Combine","Table.CombineColumns","Table.Contains","Table.ContainsAll","Table.ContainsAny","Table.DemoteHeaders","Table.Distinct","Table.DuplicateColumn","Table.ExpandListColumn","Table.ExpandRecordColumn","Table.ExpandTableColumn","Table.FillDown","Table.FillUp","Table.FilterWithDataTable","Table.FindText","Table.First","Table.FirstN","Table.FirstValue","Table.FromColumns","Table.FromList","Table.FromPartitions","Table.FromRecords","Table.FromRows","Table.FromValue","Table.Group","Table.HasColumns","Table.InsertRows","Table.IsDistinct","Table.IsEmpty","Table.Join","Table.Keys","Table.Last","Table.LastN","Table.MatchesAllRows","Table.MatchesAnyRows","Table.Max","Table.MaxN","Table.Min","Table.MinN","Table.NestedJoin","Table.Partition","Table.PartitionValues","Table.Pivot","Table.PositionOf","Table.PositionOfAny","Table.PrefixColumns","Table.Profile","Table.PromoteHeaders","Table.Range","Table.RemoveColumns","Table.RemoveFirstN","Table.RemoveLastN","Table.RemoveMatchingRows","Table.RemoveRows","Table.RemoveRowsWithErrors","Table.RenameColumns","Table.ReorderColumns","Table.Repeat","Table.ReplaceErrorValues","Table.ReplaceKeys","Table.ReplaceMatchingRows","Table.ReplaceRelationshipIdentity","Table.ReplaceRows","Table.ReplaceValue","Table.ReverseRows","Table.RowCount","Table.Schema","Table.SelectColumns","Table.SelectRows","Table.SelectRowsWithErrors","Table.SingleRow","Table.Skip","Table.Sort","Table.SplitColumn","Table.ToColumns","Table.ToList","Table.ToRecords","Table.ToRows","Table.TransformColumnNames","Table.TransformColumnTypes","Table.TransformColumns","Table.TransformRows","Table.Transpose","Table.Unpivot","Table.UnpivotOtherColumns","Table.View","Table.ViewFunction","TableAction.DeleteRows","TableAction.InsertRows","TableAction.UpdateRows","Tables.GetRelationships","Teradata.Database","Text.AfterDelimiter","Text.At","Text.BeforeDelimiter","Text.BetweenDelimiters","Text.Clean","Text.Combine","Text.Contains","Text.End","Text.EndsWith","Text.Format","Text.From","Text.FromBinary","Text.Insert","Text.Length","Text.Lower","Text.Middle","Text.NewGuid","Text.PadEnd","Text.PadStart","Text.PositionOf","Text.PositionOfAny","Text.Proper","Text.Range","Text.Remove","Text.RemoveRange","Text.Repeat","Text.Replace","Text.ReplaceRange","Text.Select","Text.Split","Text.SplitAny","Text.Start","Text.StartsWith","Text.ToBinary","Text.ToList","Text.Trim","Text.TrimEnd","Text.TrimStart","Text.Upper","Time.EndOfHour","Time.From","Time.FromText","Time.Hour","Time.Minute","Time.Second","Time.StartOfHour","Time.ToRecord","Time.ToText","Type.AddTableKey","Type.ClosedRecord","Type.Facets","Type.ForFunction","Type.ForRecord","Type.FunctionParameters","Type.FunctionRequiredParameters","Type.FunctionReturn","Type.Is","Type.IsNullable","Type.IsOpenRecord","Type.ListItem","Type.NonNullable","Type.OpenRecord","Type.RecordFields","Type.ReplaceFacets","Type.ReplaceTableKeys","Type.TableColumn","Type.TableKeys","Type.TableRow","Type.TableSchema","Type.Union","Uri.BuildQueryString","Uri.Combine","Uri.EscapeDataString","Uri.Parts","Value.Add","Value.As","Value.Compare","Value.Divide","Value.Equals","Value.Firewall","Value.FromText","Value.Is","Value.Metadata","Value.Multiply","Value.NativeQuery","Value.NullableEquals","Value.RemoveMetadata","Value.ReplaceMetadata","Value.ReplaceType","Value.Subtract","Value.Type","ValueAction.NativeStatement","ValueAction.Replace","Variable.Value","Web.Contents","Web.Page","WebAction.Request","Xml.Document","Xml.Tables"],builtinConstants:["BinaryEncoding.Base64","BinaryEncoding.Hex","BinaryOccurrence.Optional","BinaryOccurrence.Repeating","BinaryOccurrence.Required","ByteOrder.BigEndian","ByteOrder.LittleEndian","Compression.Deflate","Compression.GZip","CsvStyle.QuoteAfterDelimiter","CsvStyle.QuoteAlways","Culture.Current","Day.Friday","Day.Monday","Day.Saturday","Day.Sunday","Day.Thursday","Day.Tuesday","Day.Wednesday","ExtraValues.Error","ExtraValues.Ignore","ExtraValues.List","GroupKind.Global","GroupKind.Local","JoinAlgorithm.Dynamic","JoinAlgorithm.LeftHash","JoinAlgorithm.LeftIndex","JoinAlgorithm.PairwiseHash","JoinAlgorithm.RightHash","JoinAlgorithm.RightIndex","JoinAlgorithm.SortMerge","JoinKind.FullOuter","JoinKind.Inner","JoinKind.LeftAnti","JoinKind.LeftOuter","JoinKind.RightAnti","JoinKind.RightOuter","JoinSide.Left","JoinSide.Right","MissingField.Error","MissingField.Ignore","MissingField.UseNull","Number.E","Number.Epsilon","Number.NaN","Number.NegativeInfinity","Number.PI","Number.PositiveInfinity","Occurrence.All","Occurrence.First","Occurrence.Last","Occurrence.Optional","Occurrence.Repeating","Occurrence.Required","Order.Ascending","Order.Descending","Precision.Decimal","Precision.Double","QuoteStyle.Csv","QuoteStyle.None","RelativePosition.FromEnd","RelativePosition.FromStart","RoundingMode.AwayFromZero","RoundingMode.Down","RoundingMode.ToEven","RoundingMode.TowardZero","RoundingMode.Up","SapHanaDistribution.All","SapHanaDistribution.Connection","SapHanaDistribution.Off","SapHanaDistribution.Statement","SapHanaRangeOperator.Equals","SapHanaRangeOperator.GreaterThan","SapHanaRangeOperator.GreaterThanOrEquals","SapHanaRangeOperator.LessThan","SapHanaRangeOperator.LessThanOrEquals","SapHanaRangeOperator.NotEquals","TextEncoding.Ascii","TextEncoding.BigEndianUnicode","TextEncoding.Unicode","TextEncoding.Utf16","TextEncoding.Utf8","TextEncoding.Windows","TraceLevel.Critical","TraceLevel.Error","TraceLevel.Information","TraceLevel.Verbose","TraceLevel.Warning","WebMethod.Delete","WebMethod.Get","WebMethod.Head","WebMethod.Patch","WebMethod.Post","WebMethod.Put"],builtinTypes:["Action.Type","Any.Type","Binary.Type","BinaryEncoding.Type","BinaryOccurrence.Type","Byte.Type","ByteOrder.Type","Character.Type","Compression.Type","CsvStyle.Type","Currency.Type","Date.Type","DateTime.Type","DateTimeZone.Type","Day.Type","Decimal.Type","Double.Type","Duration.Type","ExtraValues.Type","Function.Type","GroupKind.Type","Guid.Type","Int16.Type","Int32.Type","Int64.Type","Int8.Type","JoinAlgorithm.Type","JoinKind.Type","JoinSide.Type","List.Type","Logical.Type","MissingField.Type","None.Type","Null.Type","Number.Type","Occurrence.Type","Order.Type","Password.Type","Percentage.Type","Precision.Type","QuoteStyle.Type","Record.Type","RelativePosition.Type","RoundingMode.Type","SapHanaDistribution.Type","SapHanaRangeOperator.Type","Single.Type","Table.Type","Text.Type","TextEncoding.Type","Time.Type","TraceLevel.Type","Type.Type","Uri.Type","WebMethod.Type"],tokenizer:{root:[[/#"[\w \.]+"/,"identifier.quote"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+([eE][\-+]?\d+)?/,"number"],[/(#?[a-z]+)\b/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@constants":"constant","@constructors":"constructor","@operatorKeywords":"operators","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.Type)\b/,{cases:{"@builtinTypes":"type","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,{cases:{"@builtinFunctions":"keyword.function","@builtinConstants":"constant","@default":"identifier"}}],[/\b([a-zA-Z_][\w\.]*)\b/,"identifier"],{include:"@whitespace"},{include:"@comments"},{include:"@strings"},[/[{}()\[\]]/,"@brackets"],[/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/,"operators"],[/[,;]/,"delimiter"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],strings:[['"',"string","@string"]],string:[['""',"string.escape"],['"',"string","@pop"],[".","string"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/29.bundle.js b/shepherd/blueprints/editor/29.bundle.js deleted file mode 100644 index 32dcde0..0000000 --- a/shepherd/blueprints/editor/29.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{587:function(e,n,s){"use strict";s.r(n),s.d(n,"conf",(function(){return t})),s.d(n,"language",(function(){return o}));var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"#",blockComment:["<#","#>"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},o={defaultToken:"",ignoreCase:!0,tokenPostfix:".ps1",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["begin","break","catch","class","continue","data","define","do","dynamicparam","else","elseif","end","exit","filter","finally","for","foreach","from","function","if","in","param","process","return","switch","throw","trap","try","until","using","var","while","workflow","parallel","sequence","inlinescript","configuration"],helpKeywords:/SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,symbols:/[=>/,"comment","@pop"],[/(\.)(@helpKeywords)(?!\w)/,{token:"comment.keyword.$2"}],[/[\.#]/,"comment"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/3.bundle.js b/shepherd/blueprints/editor/3.bundle.js deleted file mode 100644 index 8cfe487..0000000 --- a/shepherd/blueprints/editor/3.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{610:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return i}));var o={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},s=[];["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"].forEach((function(e){s.push(e),s.push(e.toUpperCase()),s.push(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(e))}));var i={defaultToken:"",tokenPostfix:".apex",keywords:s,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/30.bundle.js b/shepherd/blueprints/editor/30.bundle.js deleted file mode 100644 index e5f8aef..0000000 --- a/shepherd/blueprints/editor/30.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{588:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return a}));var o={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}],folding:{offSide:!0}},a={defaultToken:"",tokenPostfix:".pug",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["append","block","case","default","doctype","each","else","extends","for","if","in","include","mixin","typeof","unless","var","when"],tags:["a","abbr","acronym","address","area","article","aside","audio","b","base","basefont","bdi","bdo","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","keygen","kbd","label","li","link","map","mark","menu","meta","meter","nav","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","tracks","tt","u","ul","video","wbr"],symbols:/[\+\-\*\%\&\|\!\=\/\.\,\:]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)([a-zA-Z_-][\w-]*)/,{cases:{"$2@tags":{cases:{"@eos":["","tag"],"@default":["",{token:"tag",next:"@tag.$1"}]}},"$2@keywords":["",{token:"keyword.$2"}],"@default":["",""]}}],[/^(\s*)(#[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.id"],"@default":["",{token:"tag.id",next:"@tag.$1"}]}}],[/^(\s*)(\.[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.class"],"@default":["",{token:"tag.class",next:"@tag.$1"}]}}],[/^(\s*)(\|.*)$/,""],{include:"@whitespace"},[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":""}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d+/,"number"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],tag:[[/(\.)(\s*$)/,[{token:"delimiter",next:"@blockText.$S2."},""]],[/\s+/,{token:"",next:"@simpleText"}],[/#[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.id",next:"@pop"},"@default":"tag.id"}}],[/\.[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.class",next:"@pop"},"@default":"tag.class"}}],[/\(/,{token:"delimiter.parenthesis",next:"@attributeList"}]],simpleText:[[/[^#]+$/,{token:"",next:"@popall"}],[/[^#]+/,{token:""}],[/(#{)([^}]*)(})/,{cases:{"@eos":["interpolation.delimiter","interpolation",{token:"interpolation.delimiter",next:"@popall"}],"@default":["interpolation.delimiter","interpolation","interpolation.delimiter"]}}],[/#$/,{token:"",next:"@popall"}],[/#/,""]],attributeList:[[/\s+/,""],[/(\w+)(\s*=\s*)("|')/,["attribute.name","delimiter",{token:"attribute.value",next:"@value.$3"}]],[/\w+/,"attribute.name"],[/,/,{cases:{"@eos":{token:"attribute.delimiter",next:"@popall"},"@default":"attribute.delimiter"}}],[/\)$/,{token:"delimiter.parenthesis",next:"@popall"}],[/\)/,{token:"delimiter.parenthesis",next:"@pop"}]],whitespace:[[/^(\s*)(\/\/.*)$/,{token:"comment",next:"@blockText.$1.comment"}],[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],razorInSimpleState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3"}]],razorInEmbeddedState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],razorBlockCommentTopLevel:[[/\*@/,"@rematch","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorBlockComment:[[/\*@/,"comment.cs","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorRootTopLevel:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/[})]/,"@rematch","@pop"],{include:"razorCommon"}],razorRoot:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/\}/,"delimiter.bracket.cs","@pop"],[/\)/,"delimiter.parenthesis.cs","@pop"],{include:"razorCommon"}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:"keyword.cs"},"@default":"identifier.cs"}}],[/[\[\]]/,"delimiter.array.cs"],[/[ \t\r\n]+/],[/\/\/.*$/,"comment.cs"],[/@\*/,"comment.cs","@razorBlockComment"],[/"([^"]*)"/,"string.cs"],[/'([^']*)'/,"string.cs"],[/(<)(\w+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(\w+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<\/)(\w+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,"delimiter.cs"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.cs"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.cs"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.cs"],[/0[0-7']*[0-7]/,"number.octal.cs"],[/0[bB][0-1']*[0-1]/,"number.binary.cs"],[/\d[\d']*/,"number.cs"],[/\d/,"number.cs"]]},razorKeywords:["abstract","as","async","await","base","bool","break","by","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","descending","explicit","event","extern","else","enum","false","finally","fixed","float","for","foreach","from","goto","group","if","implicit","in","int","interface","internal","into","is","lock","long","nameof","new","null","namespace","object","operator","out","override","orderby","params","private","protected","public","readonly","ref","return","switch","struct","sbyte","sealed","short","sizeof","stackalloc","static","string","select","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","var","virtual","volatile","void","when","while","where","yield","model","inject"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/34.bundle.js b/shepherd/blueprints/editor/34.bundle.js deleted file mode 100644 index a11761a..0000000 --- a/shepherd/blueprints/editor/34.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{592:function(E,S,e){"use strict";e.r(S),e.d(S,"conf",(function(){return T})),e.d(S,"language",(function(){return R}));var T={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},R={defaultToken:"",tokenPostfix:".redis",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["APPEND","AUTH","BGREWRITEAOF","BGSAVE","BITCOUNT","BITFIELD","BITOP","BITPOS","BLPOP","BRPOP","BRPOPLPUSH","CLIENT","KILL","LIST","GETNAME","PAUSE","REPLY","SETNAME","CLUSTER","ADDSLOTS","COUNT-FAILURE-REPORTS","COUNTKEYSINSLOT","DELSLOTS","FAILOVER","FORGET","GETKEYSINSLOT","INFO","KEYSLOT","MEET","NODES","REPLICATE","RESET","SAVECONFIG","SET-CONFIG-EPOCH","SETSLOT","SLAVES","SLOTS","COMMAND","COUNT","GETKEYS","CONFIG","GET","REWRITE","SET","RESETSTAT","DBSIZE","DEBUG","OBJECT","SEGFAULT","DECR","DECRBY","DEL","DISCARD","DUMP","ECHO","EVAL","EVALSHA","EXEC","EXISTS","EXPIRE","EXPIREAT","FLUSHALL","FLUSHDB","GEOADD","GEOHASH","GEOPOS","GEODIST","GEORADIUS","GEORADIUSBYMEMBER","GETBIT","GETRANGE","GETSET","HDEL","HEXISTS","HGET","HGETALL","HINCRBY","HINCRBYFLOAT","HKEYS","HLEN","HMGET","HMSET","HSET","HSETNX","HSTRLEN","HVALS","INCR","INCRBY","INCRBYFLOAT","KEYS","LASTSAVE","LINDEX","LINSERT","LLEN","LPOP","LPUSH","LPUSHX","LRANGE","LREM","LSET","LTRIM","MGET","MIGRATE","MONITOR","MOVE","MSET","MSETNX","MULTI","PERSIST","PEXPIRE","PEXPIREAT","PFADD","PFCOUNT","PFMERGE","PING","PSETEX","PSUBSCRIBE","PUBSUB","PTTL","PUBLISH","PUNSUBSCRIBE","QUIT","RANDOMKEY","READONLY","READWRITE","RENAME","RENAMENX","RESTORE","ROLE","RPOP","RPOPLPUSH","RPUSH","RPUSHX","SADD","SAVE","SCARD","SCRIPT","FLUSH","LOAD","SDIFF","SDIFFSTORE","SELECT","SETBIT","SETEX","SETNX","SETRANGE","SHUTDOWN","SINTER","SINTERSTORE","SISMEMBER","SLAVEOF","SLOWLOG","SMEMBERS","SMOVE","SORT","SPOP","SRANDMEMBER","SREM","STRLEN","SUBSCRIBE","SUNION","SUNIONSTORE","SWAPDB","SYNC","TIME","TOUCH","TTL","TYPE","UNSUBSCRIBE","UNLINK","UNWATCH","WAIT","WATCH","ZADD","ZCARD","ZCOUNT","ZINCRBY","ZINTERSTORE","ZLEXCOUNT","ZRANGE","ZRANGEBYLEX","ZREVRANGEBYLEX","ZRANGEBYSCORE","ZRANK","ZREM","ZREMRANGEBYLEX","ZREMRANGEBYRANK","ZREMRANGEBYSCORE","ZREVRANGE","ZREVRANGEBYSCORE","ZREVRANK","ZSCORE","ZUNIONSTORE","SCAN","SSCAN","HSCAN","ZSCAN"],operators:[],builtinFunctions:[],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],scopes:[]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/35.bundle.js b/shepherd/blueprints/editor/35.bundle.js deleted file mode 100644 index 8735008..0000000 --- a/shepherd/blueprints/editor/35.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{593:function(e,_,t){"use strict";t.r(_),t.d(_,"conf",(function(){return r})),t.d(_,"language",(function(){return i}));var r={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},i={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BLANKSASNULL","BOTH","BYTEDICT","BZIP2","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CREDENTIALS","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURRENT_USER_ID","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DELTA","DELTA32K","DESC","DISABLE","DISTINCT","DO","ELSE","EMPTYASNULL","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","END","EXCEPT","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GRANT","GROUP","GZIP","HAVING","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","LZO","LZOP","MINUS","MOSTLY13","MOSTLY32","MOSTLY8","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","OR","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RAW","READRATIO","RECOVER","REFERENCES","RESPECT","REJECTLOG","RESORT","RESTORE","RIGHT","SELECT","SESSION_USER","SIMILAR","SNAPSHOT","SOME","SYSDATE","SYSTEM","TABLE","TAG","TDES","TEXT255","TEXT32K","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","TRUNCATECOLUMNS","UNION","UNIQUE","USER","USING","VERBOSE","WALLET","WHEN","WHERE","WITH","WITHOUT"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["current_schema","current_schemas","has_database_privilege","has_schema_privilege","has_table_privilege","age","current_time","current_timestamp","localtime","isfinite","now","ascii","get_bit","get_byte","set_bit","set_byte","to_ascii","approximate percentile_disc","avg","count","listagg","max","median","min","percentile_cont","stddev_samp","stddev_pop","sum","var_samp","var_pop","bit_and","bit_or","bool_and","bool_or","cume_dist","first_value","lag","last_value","lead","nth_value","ratio_to_report","dense_rank","ntile","percent_rank","rank","row_number","case","coalesce","decode","greatest","least","nvl","nvl2","nullif","add_months","at time zone","convert_timezone","current_date","date_cmp","date_cmp_timestamp","date_cmp_timestamptz","date_part_year","dateadd","datediff","date_part","date_trunc","extract","getdate","interval_cmp","last_day","months_between","next_day","sysdate","timeofday","timestamp_cmp","timestamp_cmp_date","timestamp_cmp_timestamptz","timestamptz_cmp","timestamptz_cmp_date","timestamptz_cmp_timestamp","timezone","to_timestamp","trunc","abs","acos","asin","atan","atan2","cbrt","ceil","ceiling","checksum","cos","cot","degrees","dexp","dlog1","dlog10","exp","floor","ln","log","mod","pi","power","radians","random","round","sin","sign","sqrt","tan","to_hex","bpcharcmp","btrim","bttext_pattern_cmp","char_length","character_length","charindex","chr","concat","crc32","func_sha1","initcap","left and rights","len","length","lower","lpad and rpads","ltrim","md5","octet_length","position","quote_ident","quote_literal","regexp_count","regexp_instr","regexp_replace","regexp_substr","repeat","replace","replicate","reverse","rtrim","split_part","strpos","strtol","substring","textlen","translate","trim","upper","cast","convert","to_char","to_date","to_number","json_array_length","json_extract_array_element_text","json_extract_path_text","current_setting","pg_cancel_backend","pg_terminate_backend","set_config","current_database","current_user","current_user_id","pg_backend_pid","pg_last_copy_count","pg_last_copy_id","pg_last_query_id","pg_last_unload_count","session_user","slice_num","user","version","abbrev","acosd","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","asind","atan2d","atand","bit","bit_length","bound_box","box","brin_summarize_new_values","broadcast","cardinality","center","circle","clock_timestamp","col_description","concat_ws","convert_from","convert_to","corr","cosd","cotd","covar_pop","covar_samp","current_catalog","current_query","current_role","currval","cursor_to_xml","diameter","div","encode","enum_first","enum_last","enum_range","every","family","format","format_type","generate_series","generate_subscripts","get_current_ts_config","gin_clean_pending_list","grouping","has_any_column_privilege","has_column_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_sequence_privilege","has_server_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","isclosed","isempty","isopen","json_agg","json_object","json_object_agg","json_populate_record","json_populate_recordset","json_to_record","json_to_recordset","jsonb_agg","jsonb_object_agg","justify_days","justify_hours","justify_interval","lastval","left","line","localtimestamp","lower_inc","lower_inf","lpad","lseg","make_date","make_interval","make_time","make_timestamp","make_timestamptz","masklen","mode","netmask","network","nextval","npoints","num_nonnulls","num_nulls","numnode","obj_description","overlay","parse_ident","path","pclose","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backup_start_time","pg_blocking_pids","pg_client_encoding","pg_collation_is_visible","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_xlog_replay_paused","pg_last_committed_xact","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_dir","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_postmaster_start_time","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_rotate_logfile","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_start_backup","pg_stat_file","pg_stop_backup","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_xact_commit_timestamp","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","plainto_tsquery","point","polygon","popen","pqserverversion","query_to_xml","querytree","quote_nullable","radius","range_merge","regexp_matches","regexp_split_to_array","regexp_split_to_table","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","right","row_security_active","row_to_json","rpad","scale","set_masklen","setseed","setval","setweight","shobj_description","sind","sprintf","statement_timestamp","stddev","string_agg","string_to_array","strip","substr","table_to_xml","table_to_xml_and_xmlschema","tand","text","to_json","to_regclass","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_tsquery","to_tsvector","transaction_timestamp","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_visible_in_snapshot","unnest","upper_inc","upper_inf","variance","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/36.bundle.js b/shepherd/blueprints/editor/36.bundle.js deleted file mode 100644 index c5441ae..0000000 --- a/shepherd/blueprints/editor/36.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{594:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return r})),n.d(t,"language",(function(){return o}));var r={comments:{lineComment:"#",blockComment:["=begin","=end"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={tokenPostfix:".ruby",keywords:["__LINE__","__ENCODING__","__FILE__","BEGIN","END","alias","and","begin","break","case","class","def","defined?","do","else","elsif","end","ensure","for","false","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield"],keywordops:["::","..","...","?",":","=>"],builtins:["require","public","private","include","extend","attr_reader","protected","private_class_method","protected_class_method","new"],declarations:["module","class","def","case","do","begin","for","if","while","until","unless"],linedecls:["def","case","do","begin","for","if","while","until","unless"],operators:["^","&","|","<=>","==","===","!~","=~",">",">=","<","<=","<<",">>","+","-","*","/","%","**","~","+@","-@","[]","[]=","`","+=","-=","*=","**=","/=","^=","%=","<<=",">>=","&=","&&=","||=","|="],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],symbols:/[=>"}],[/%([qws])(@delim)/,{token:"string.$1.delim",switchTo:"@qstring.$1.$2.$2"}],[/%r\(/,{token:"regexp.delim",switchTo:"@pregexp.(.)"}],[/%r\[/,{token:"regexp.delim",switchTo:"@pregexp.[.]"}],[/%r\{/,{token:"regexp.delim",switchTo:"@pregexp.{.}"}],[/%r"}],[/%r(@delim)/,{token:"regexp.delim",switchTo:"@pregexp.$1.$1"}],[/%(x|W|Q?)\(/,{token:"string.$1.delim",switchTo:"@qqstring.$1.(.)"}],[/%(x|W|Q?)\[/,{token:"string.$1.delim",switchTo:"@qqstring.$1.[.]"}],[/%(x|W|Q?)\{/,{token:"string.$1.delim",switchTo:"@qqstring.$1.{.}"}],[/%(x|W|Q?)"}],[/%(x|W|Q?)(@delim)/,{token:"string.$1.delim",switchTo:"@qqstring.$1.$2.$2"}],[/%([rqwsxW]|Q?)./,{token:"invalid",next:"@pop"}],[/./,{token:"invalid",next:"@pop"}]],qstring:[[/\\$/,"string.$S2.escape"],[/\\./,"string.$S2.escape"],[/./,{cases:{"$#==$S4":{token:"string.$S2.delim",next:"@pop"},"$#==$S3":{token:"string.$S2.delim",next:"@push"},"@default":"string.$S2"}}]],qqstring:[[/#/,"string.$S2.escape","@interpolated"],{include:"@qstring"}],whitespace:[[/[ \t\r\n]+/,""],[/^\s*=begin\b/,"comment","@comment"],[/#.*$/,"comment"]],comment:[[/[^=]+/,"comment"],[/^\s*=begin\b/,"comment.invalid"],[/^\s*=end\b.*/,"comment","@pop"],[/[=]/,"comment"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/37.bundle.js b/shepherd/blueprints/editor/37.bundle.js deleted file mode 100644 index 35c484d..0000000 --- a/shepherd/blueprints/editor/37.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{595:function(e,t,o){"use strict";o.r(t),o.d(t,"conf",(function(){return n})),o.d(t,"language",(function(){return s}));var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},s={tokenPostfix:".rust",defaultToken:"invalid",keywords:["as","box","break","const","continue","crate","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","static","struct","super","trait","true","type","unsafe","use","where","while","catch","default","union","static","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield"],typeKeywords:["Self","m32","m64","m128","f80","f16","f128","int","uint","float","char","bool","u8","u16","u32","u64","f32","f64","i8","i16","i32","i64","str","Option","Either","c_float","c_double","c_void","FILE","fpos_t","DIR","dirent","c_char","c_schar","c_uchar","c_short","c_ushort","c_int","c_uint","c_long","c_ulong","size_t","ptrdiff_t","clock_t","time_t","c_longlong","c_ulonglong","intptr_t","uintptr_t","off_t","dev_t","ino_t","pid_t","mode_t","ssize_t"],constants:["true","false","Some","None","Left","Right","Ok","Err"],supportConstants:["EXIT_FAILURE","EXIT_SUCCESS","RAND_MAX","EOF","SEEK_SET","SEEK_CUR","SEEK_END","_IOFBF","_IONBF","_IOLBF","BUFSIZ","FOPEN_MAX","FILENAME_MAX","L_tmpnam","TMP_MAX","O_RDONLY","O_WRONLY","O_RDWR","O_APPEND","O_CREAT","O_EXCL","O_TRUNC","S_IFIFO","S_IFCHR","S_IFBLK","S_IFDIR","S_IFREG","S_IFMT","S_IEXEC","S_IWRITE","S_IREAD","S_IRWXU","S_IXUSR","S_IWUSR","S_IRUSR","F_OK","R_OK","W_OK","X_OK","STDIN_FILENO","STDOUT_FILENO","STDERR_FILENO"],supportMacros:["format!","print!","println!","panic!","format_args!","unreachable!","write!","writeln!"],operators:["!","!=","%","%=","&","&=","&&","*","*=","+","+=","-","-=","->",".","..","...","/","/=",":",";","<<","<<=","<","<=","=","==","=>",">",">=",">>",">>=","@","^","^=","|","|=","||","_","?","#"],escapes:/\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,delimiters:/[,]/,symbols:/[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,intSuffixes:/[iu](8|16|32|64|128|size)/,floatSuffixes:/f(32|64)/,tokenizer:{root:[[/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,{cases:{"@typeKeywords":"keyword.type","@keywords":"keyword","@supportConstants":"keyword","@supportMacros":"keyword","@constants":"keyword","@default":"identifier"}}],[/\$/,"identifier"],[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/,"identifier"],[/'\S'/,"string.byteliteral"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],{include:"@numbers"},{include:"@whitespace"},[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}],[/[{}()\[\]<>]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],numbers:[[/(0o[0-7_]+)(@intSuffixes)?/,{token:"number"}],[/(0b[0-1_]+)(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/,{token:"number"}],[/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/,{token:"number"}],[/(0x[\da-fA-F]+)_?(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(@intSuffixes?)?/,{token:"number"}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/38.bundle.js b/shepherd/blueprints/editor/38.bundle.js deleted file mode 100644 index 5e29f46..0000000 --- a/shepherd/blueprints/editor/38.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{596:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return r}));var t={comments:{lineComment:"'"},brackets:[["(",")"],["[","]"],["If","EndIf"],["While","EndWhile"],["For","EndFor"],["Sub","EndSub"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]}]},r={defaultToken:"",tokenPostfix:".sb",ignoreCase:!0,brackets:[{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"keyword.tag-if",open:"If",close:"EndIf"},{token:"keyword.tag-while",open:"While",close:"EndWhile"},{token:"keyword.tag-for",open:"For",close:"EndFor"},{token:"keyword.tag-sub",open:"Sub",close:"EndSub"}],keywords:["Else","ElseIf","EndFor","EndIf","EndSub","EndWhile","For","Goto","If","Step","Sub","Then","To","While"],tagwords:["If","Sub","While","For"],operators:[">","<","<>","<=",">=","And","Or","+","-","*","/","="],identifier:/[a-zA-Z_][\w]*/,symbols:/[=><:+\-*\/%\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/(@identifier)(?=[.])/,"type"],[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@operators":"operator","@default":"variable.name"}}],[/([.])(@identifier)/,{cases:{$2:["delimiter","type.member"],"@default":""}}],[/\d*\.\d+/,"number.float"],[/\d+/,"number"],[/[()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/(\').*$/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"C?/,"string","@pop"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/39.bundle.js b/shepherd/blueprints/editor/39.bundle.js deleted file mode 100644 index 0778fae..0000000 --- a/shepherd/blueprints/editor/39.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{605:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return s}));var t={comments:{lineComment:";",blockComment:["#|","|#"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".scheme",brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],keywords:["case","do","let","loop","if","else","when","cons","car","cdr","cond","lambda","lambda*","syntax-rules","format","set!","quote","eval","append","list","list?","member?","load"],constants:["#t","#f"],operators:["eq?","eqv?","equal?","and","or","not","null?"],tokenizer:{root:[[/#[xXoObB][0-9a-fA-F]+/,"number.hex"],[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/,"number.float"],[/(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/,["keyword","white","variable"]],{include:"@whitespace"},{include:"@strings"},[/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/,{cases:{"@keywords":"keyword","@constants":"constant","@operators":"operators","@default":"identifier"}}]],comment:[[/[^\|#]+/,"comment"],[/#\|/,"comment","@push"],[/\|#/,"comment","@pop"],[/[\|#]/,"comment"]],whitespace:[[/[ \t\r\n]+/,"white"],[/#\|/,"comment","@comment"],[/;.*$/,"comment"]],strings:[[/"$/,"string","@popall"],[/"(?=.)/,"string","@multiLineString"]],multiLineString:[[/\\./,"string.escape"],[/"/,"string","@popall"],[/.(?=.*")/,"string"],[/.*\\$/,"string"],[/.*$/,"string","@popall"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/4.bundle.js b/shepherd/blueprints/editor/4.bundle.js deleted file mode 100644 index faff620..0000000 --- a/shepherd/blueprints/editor/4.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{609:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return s}));var o={comments:{lineComment:"#"}},s={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/40.bundle.js b/shepherd/blueprints/editor/40.bundle.js deleted file mode 100644 index 0fd8d79..0000000 --- a/shepherd/blueprints/editor/40.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{597:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return i}));var o={wordPattern:/(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},i={defaultToken:"",tokenPostfix:".scss",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@variabledeclaration"},{include:"@warndebug"},["[@](include)",{token:"keyword",next:"@includedeclaration"}],["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["[@](function)",{token:"keyword",next:"@functiondeclaration"}],["[@](mixin)",{token:"keyword",next:"@mixindeclaration"}],["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@controlstatement"},{include:"@selectorname"},["[&\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.curly",next:"@selectorbody"}]],selectorbody:[["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],{include:"@selector"},["[@](extend)",{token:"keyword",next:"@extendbody"}],["[@](return)",{token:"keyword",next:"@declarationbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],selectorname:[["#{",{token:"meta",next:"@variableinterpolation"}],["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@functioninvocation"},{include:"@numbers"},{include:"@strings"},{include:"@variablereference"},["(and\\b|or\\b|not\\b)","operator"],{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","operator"],[",","delimiter"],["!default","literal"],["\\(",{token:"delimiter.parenthesis",next:"@parenthizedterm"}]],rulevalue:[{include:"@term"},["!important","literal"],[";","delimiter","@pop"],["{",{token:"delimiter.curly",switchTo:"@nestedproperty"}],["(?=})",{token:"",next:"@pop"}]],nestedproperty:[["[*_]?@identifier@ws:","attribute.name","@rulevalue"],{include:"@comments"},["}",{token:"delimiter.curly",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],variabledeclaration:[["\\$@identifier@ws:","variable.decl","@declarationbody"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"meta",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],extendbody:[{include:"@selectorname"},["!optional","literal"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],variablereference:[["\\$@identifier","variable.ref"],["\\.\\.\\.","operator"],["#{",{token:"meta",next:"@variableinterpolation"}]],variableinterpolation:[{include:"@variablereference"},["}",{token:"meta",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],name:[["@identifier","attribute.value"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","number.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","number","@pop"]],functiondeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["{",{token:"delimiter.curly",switchTo:"@functionbody"}]],mixindeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],parameterdeclaration:[["\\$@identifier@ws:","variable.decl"],["\\.\\.\\.","operator"],[",","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],includedeclaration:[{include:"@functioninvocation"},["@identifier","meta"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],keyframedeclaration:[["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.curly",next:"@selectorbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],controlstatement:[["[@](if|else|for|while|each|media)",{token:"keyword.flow",next:"@controlstatementdeclaration"}]],controlstatementdeclaration:[["(in|from|through|if|to)\\b",{token:"keyword.flow"}],{include:"@term"},["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],functionbody:[["[@](return)",{token:"keyword"}],{include:"@variabledeclaration"},{include:"@term"},{include:"@controlstatement"},[";","delimiter"],["}",{token:"delimiter.curly",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"meta",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],strings:[['~?"',{token:"string.delimiter",next:"@stringenddoublequote"}],["~?'",{token:"string.delimiter",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string.delimiter",next:"@pop"}],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string.delimiter",next:"@pop"}],[".","string"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/41.bundle.js b/shepherd/blueprints/editor/41.bundle.js deleted file mode 100644 index 8d4db3c..0000000 --- a/shepherd/blueprints/editor/41.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{607:function(e,s,o){"use strict";o.r(s),o.d(s,"conf",(function(){return n})),o.d(s,"language",(function(){return t}));var n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},t={defaultToken:"",ignoreCase:!0,tokenPostfix:".shell",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],builtins:["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"],symbols:/[=>"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},f={defaultToken:"",tokenPostfix:".sol",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["pragma","solidity","contract","library","using","struct","function","modifier","address","string","bool","Int","Uint","Byte","Fixed","Ufixed","int","int8","int16","int24","int32","int40","int48","int56","int64","int72","int80","int88","int96","int104","int112","int120","int128","int136","int144","int152","int160","int168","int176","int184","int192","int200","int208","int216","int224","int232","int240","int248","int256","uint","uint8","uint16","uint24","uint32","uint40","uint48","uint56","uint64","uint72","uint80","uint88","uint96","uint104","uint112","uint120","uint128","uint136","uint144","uint152","uint160","uint168","uint176","uint184","uint192","uint200","uint208","uint216","uint224","uint232","uint240","uint248","uint256","byte","bytes","bytes1","bytes2","bytes3","bytes4","bytes5","bytes6","bytes7","bytes8","bytes9","bytes10","bytes11","bytes12","bytes13","bytes14","bytes15","bytes16","bytes17","bytes18","bytes19","bytes20","bytes21","bytes22","bytes23","bytes24","bytes25","bytes26","bytes27","bytes28","bytes29","bytes30","bytes31","bytes32","fixed","fixed0x8","fixed0x16","fixed0x24","fixed0x32","fixed0x40","fixed0x48","fixed0x56","fixed0x64","fixed0x72","fixed0x80","fixed0x88","fixed0x96","fixed0x104","fixed0x112","fixed0x120","fixed0x128","fixed0x136","fixed0x144","fixed0x152","fixed0x160","fixed0x168","fixed0x176","fixed0x184","fixed0x192","fixed0x200","fixed0x208","fixed0x216","fixed0x224","fixed0x232","fixed0x240","fixed0x248","fixed0x256","fixed8x8","fixed8x16","fixed8x24","fixed8x32","fixed8x40","fixed8x48","fixed8x56","fixed8x64","fixed8x72","fixed8x80","fixed8x88","fixed8x96","fixed8x104","fixed8x112","fixed8x120","fixed8x128","fixed8x136","fixed8x144","fixed8x152","fixed8x160","fixed8x168","fixed8x176","fixed8x184","fixed8x192","fixed8x200","fixed8x208","fixed8x216","fixed8x224","fixed8x232","fixed8x240","fixed8x248","fixed16x8","fixed16x16","fixed16x24","fixed16x32","fixed16x40","fixed16x48","fixed16x56","fixed16x64","fixed16x72","fixed16x80","fixed16x88","fixed16x96","fixed16x104","fixed16x112","fixed16x120","fixed16x128","fixed16x136","fixed16x144","fixed16x152","fixed16x160","fixed16x168","fixed16x176","fixed16x184","fixed16x192","fixed16x200","fixed16x208","fixed16x216","fixed16x224","fixed16x232","fixed16x240","fixed24x8","fixed24x16","fixed24x24","fixed24x32","fixed24x40","fixed24x48","fixed24x56","fixed24x64","fixed24x72","fixed24x80","fixed24x88","fixed24x96","fixed24x104","fixed24x112","fixed24x120","fixed24x128","fixed24x136","fixed24x144","fixed24x152","fixed24x160","fixed24x168","fixed24x176","fixed24x184","fixed24x192","fixed24x200","fixed24x208","fixed24x216","fixed24x224","fixed24x232","fixed32x8","fixed32x16","fixed32x24","fixed32x32","fixed32x40","fixed32x48","fixed32x56","fixed32x64","fixed32x72","fixed32x80","fixed32x88","fixed32x96","fixed32x104","fixed32x112","fixed32x120","fixed32x128","fixed32x136","fixed32x144","fixed32x152","fixed32x160","fixed32x168","fixed32x176","fixed32x184","fixed32x192","fixed32x200","fixed32x208","fixed32x216","fixed32x224","fixed40x8","fixed40x16","fixed40x24","fixed40x32","fixed40x40","fixed40x48","fixed40x56","fixed40x64","fixed40x72","fixed40x80","fixed40x88","fixed40x96","fixed40x104","fixed40x112","fixed40x120","fixed40x128","fixed40x136","fixed40x144","fixed40x152","fixed40x160","fixed40x168","fixed40x176","fixed40x184","fixed40x192","fixed40x200","fixed40x208","fixed40x216","fixed48x8","fixed48x16","fixed48x24","fixed48x32","fixed48x40","fixed48x48","fixed48x56","fixed48x64","fixed48x72","fixed48x80","fixed48x88","fixed48x96","fixed48x104","fixed48x112","fixed48x120","fixed48x128","fixed48x136","fixed48x144","fixed48x152","fixed48x160","fixed48x168","fixed48x176","fixed48x184","fixed48x192","fixed48x200","fixed48x208","fixed56x8","fixed56x16","fixed56x24","fixed56x32","fixed56x40","fixed56x48","fixed56x56","fixed56x64","fixed56x72","fixed56x80","fixed56x88","fixed56x96","fixed56x104","fixed56x112","fixed56x120","fixed56x128","fixed56x136","fixed56x144","fixed56x152","fixed56x160","fixed56x168","fixed56x176","fixed56x184","fixed56x192","fixed56x200","fixed64x8","fixed64x16","fixed64x24","fixed64x32","fixed64x40","fixed64x48","fixed64x56","fixed64x64","fixed64x72","fixed64x80","fixed64x88","fixed64x96","fixed64x104","fixed64x112","fixed64x120","fixed64x128","fixed64x136","fixed64x144","fixed64x152","fixed64x160","fixed64x168","fixed64x176","fixed64x184","fixed64x192","fixed72x8","fixed72x16","fixed72x24","fixed72x32","fixed72x40","fixed72x48","fixed72x56","fixed72x64","fixed72x72","fixed72x80","fixed72x88","fixed72x96","fixed72x104","fixed72x112","fixed72x120","fixed72x128","fixed72x136","fixed72x144","fixed72x152","fixed72x160","fixed72x168","fixed72x176","fixed72x184","fixed80x8","fixed80x16","fixed80x24","fixed80x32","fixed80x40","fixed80x48","fixed80x56","fixed80x64","fixed80x72","fixed80x80","fixed80x88","fixed80x96","fixed80x104","fixed80x112","fixed80x120","fixed80x128","fixed80x136","fixed80x144","fixed80x152","fixed80x160","fixed80x168","fixed80x176","fixed88x8","fixed88x16","fixed88x24","fixed88x32","fixed88x40","fixed88x48","fixed88x56","fixed88x64","fixed88x72","fixed88x80","fixed88x88","fixed88x96","fixed88x104","fixed88x112","fixed88x120","fixed88x128","fixed88x136","fixed88x144","fixed88x152","fixed88x160","fixed88x168","fixed96x8","fixed96x16","fixed96x24","fixed96x32","fixed96x40","fixed96x48","fixed96x56","fixed96x64","fixed96x72","fixed96x80","fixed96x88","fixed96x96","fixed96x104","fixed96x112","fixed96x120","fixed96x128","fixed96x136","fixed96x144","fixed96x152","fixed96x160","fixed104x8","fixed104x16","fixed104x24","fixed104x32","fixed104x40","fixed104x48","fixed104x56","fixed104x64","fixed104x72","fixed104x80","fixed104x88","fixed104x96","fixed104x104","fixed104x112","fixed104x120","fixed104x128","fixed104x136","fixed104x144","fixed104x152","fixed112x8","fixed112x16","fixed112x24","fixed112x32","fixed112x40","fixed112x48","fixed112x56","fixed112x64","fixed112x72","fixed112x80","fixed112x88","fixed112x96","fixed112x104","fixed112x112","fixed112x120","fixed112x128","fixed112x136","fixed112x144","fixed120x8","fixed120x16","fixed120x24","fixed120x32","fixed120x40","fixed120x48","fixed120x56","fixed120x64","fixed120x72","fixed120x80","fixed120x88","fixed120x96","fixed120x104","fixed120x112","fixed120x120","fixed120x128","fixed120x136","fixed128x8","fixed128x16","fixed128x24","fixed128x32","fixed128x40","fixed128x48","fixed128x56","fixed128x64","fixed128x72","fixed128x80","fixed128x88","fixed128x96","fixed128x104","fixed128x112","fixed128x120","fixed128x128","fixed136x8","fixed136x16","fixed136x24","fixed136x32","fixed136x40","fixed136x48","fixed136x56","fixed136x64","fixed136x72","fixed136x80","fixed136x88","fixed136x96","fixed136x104","fixed136x112","fixed136x120","fixed144x8","fixed144x16","fixed144x24","fixed144x32","fixed144x40","fixed144x48","fixed144x56","fixed144x64","fixed144x72","fixed144x80","fixed144x88","fixed144x96","fixed144x104","fixed144x112","fixed152x8","fixed152x16","fixed152x24","fixed152x32","fixed152x40","fixed152x48","fixed152x56","fixed152x64","fixed152x72","fixed152x80","fixed152x88","fixed152x96","fixed152x104","fixed160x8","fixed160x16","fixed160x24","fixed160x32","fixed160x40","fixed160x48","fixed160x56","fixed160x64","fixed160x72","fixed160x80","fixed160x88","fixed160x96","fixed168x8","fixed168x16","fixed168x24","fixed168x32","fixed168x40","fixed168x48","fixed168x56","fixed168x64","fixed168x72","fixed168x80","fixed168x88","fixed176x8","fixed176x16","fixed176x24","fixed176x32","fixed176x40","fixed176x48","fixed176x56","fixed176x64","fixed176x72","fixed176x80","fixed184x8","fixed184x16","fixed184x24","fixed184x32","fixed184x40","fixed184x48","fixed184x56","fixed184x64","fixed184x72","fixed192x8","fixed192x16","fixed192x24","fixed192x32","fixed192x40","fixed192x48","fixed192x56","fixed192x64","fixed200x8","fixed200x16","fixed200x24","fixed200x32","fixed200x40","fixed200x48","fixed200x56","fixed208x8","fixed208x16","fixed208x24","fixed208x32","fixed208x40","fixed208x48","fixed216x8","fixed216x16","fixed216x24","fixed216x32","fixed216x40","fixed224x8","fixed224x16","fixed224x24","fixed224x32","fixed232x8","fixed232x16","fixed232x24","fixed240x8","fixed240x16","fixed248x8","ufixed","ufixed0x8","ufixed0x16","ufixed0x24","ufixed0x32","ufixed0x40","ufixed0x48","ufixed0x56","ufixed0x64","ufixed0x72","ufixed0x80","ufixed0x88","ufixed0x96","ufixed0x104","ufixed0x112","ufixed0x120","ufixed0x128","ufixed0x136","ufixed0x144","ufixed0x152","ufixed0x160","ufixed0x168","ufixed0x176","ufixed0x184","ufixed0x192","ufixed0x200","ufixed0x208","ufixed0x216","ufixed0x224","ufixed0x232","ufixed0x240","ufixed0x248","ufixed0x256","ufixed8x8","ufixed8x16","ufixed8x24","ufixed8x32","ufixed8x40","ufixed8x48","ufixed8x56","ufixed8x64","ufixed8x72","ufixed8x80","ufixed8x88","ufixed8x96","ufixed8x104","ufixed8x112","ufixed8x120","ufixed8x128","ufixed8x136","ufixed8x144","ufixed8x152","ufixed8x160","ufixed8x168","ufixed8x176","ufixed8x184","ufixed8x192","ufixed8x200","ufixed8x208","ufixed8x216","ufixed8x224","ufixed8x232","ufixed8x240","ufixed8x248","ufixed16x8","ufixed16x16","ufixed16x24","ufixed16x32","ufixed16x40","ufixed16x48","ufixed16x56","ufixed16x64","ufixed16x72","ufixed16x80","ufixed16x88","ufixed16x96","ufixed16x104","ufixed16x112","ufixed16x120","ufixed16x128","ufixed16x136","ufixed16x144","ufixed16x152","ufixed16x160","ufixed16x168","ufixed16x176","ufixed16x184","ufixed16x192","ufixed16x200","ufixed16x208","ufixed16x216","ufixed16x224","ufixed16x232","ufixed16x240","ufixed24x8","ufixed24x16","ufixed24x24","ufixed24x32","ufixed24x40","ufixed24x48","ufixed24x56","ufixed24x64","ufixed24x72","ufixed24x80","ufixed24x88","ufixed24x96","ufixed24x104","ufixed24x112","ufixed24x120","ufixed24x128","ufixed24x136","ufixed24x144","ufixed24x152","ufixed24x160","ufixed24x168","ufixed24x176","ufixed24x184","ufixed24x192","ufixed24x200","ufixed24x208","ufixed24x216","ufixed24x224","ufixed24x232","ufixed32x8","ufixed32x16","ufixed32x24","ufixed32x32","ufixed32x40","ufixed32x48","ufixed32x56","ufixed32x64","ufixed32x72","ufixed32x80","ufixed32x88","ufixed32x96","ufixed32x104","ufixed32x112","ufixed32x120","ufixed32x128","ufixed32x136","ufixed32x144","ufixed32x152","ufixed32x160","ufixed32x168","ufixed32x176","ufixed32x184","ufixed32x192","ufixed32x200","ufixed32x208","ufixed32x216","ufixed32x224","ufixed40x8","ufixed40x16","ufixed40x24","ufixed40x32","ufixed40x40","ufixed40x48","ufixed40x56","ufixed40x64","ufixed40x72","ufixed40x80","ufixed40x88","ufixed40x96","ufixed40x104","ufixed40x112","ufixed40x120","ufixed40x128","ufixed40x136","ufixed40x144","ufixed40x152","ufixed40x160","ufixed40x168","ufixed40x176","ufixed40x184","ufixed40x192","ufixed40x200","ufixed40x208","ufixed40x216","ufixed48x8","ufixed48x16","ufixed48x24","ufixed48x32","ufixed48x40","ufixed48x48","ufixed48x56","ufixed48x64","ufixed48x72","ufixed48x80","ufixed48x88","ufixed48x96","ufixed48x104","ufixed48x112","ufixed48x120","ufixed48x128","ufixed48x136","ufixed48x144","ufixed48x152","ufixed48x160","ufixed48x168","ufixed48x176","ufixed48x184","ufixed48x192","ufixed48x200","ufixed48x208","ufixed56x8","ufixed56x16","ufixed56x24","ufixed56x32","ufixed56x40","ufixed56x48","ufixed56x56","ufixed56x64","ufixed56x72","ufixed56x80","ufixed56x88","ufixed56x96","ufixed56x104","ufixed56x112","ufixed56x120","ufixed56x128","ufixed56x136","ufixed56x144","ufixed56x152","ufixed56x160","ufixed56x168","ufixed56x176","ufixed56x184","ufixed56x192","ufixed56x200","ufixed64x8","ufixed64x16","ufixed64x24","ufixed64x32","ufixed64x40","ufixed64x48","ufixed64x56","ufixed64x64","ufixed64x72","ufixed64x80","ufixed64x88","ufixed64x96","ufixed64x104","ufixed64x112","ufixed64x120","ufixed64x128","ufixed64x136","ufixed64x144","ufixed64x152","ufixed64x160","ufixed64x168","ufixed64x176","ufixed64x184","ufixed64x192","ufixed72x8","ufixed72x16","ufixed72x24","ufixed72x32","ufixed72x40","ufixed72x48","ufixed72x56","ufixed72x64","ufixed72x72","ufixed72x80","ufixed72x88","ufixed72x96","ufixed72x104","ufixed72x112","ufixed72x120","ufixed72x128","ufixed72x136","ufixed72x144","ufixed72x152","ufixed72x160","ufixed72x168","ufixed72x176","ufixed72x184","ufixed80x8","ufixed80x16","ufixed80x24","ufixed80x32","ufixed80x40","ufixed80x48","ufixed80x56","ufixed80x64","ufixed80x72","ufixed80x80","ufixed80x88","ufixed80x96","ufixed80x104","ufixed80x112","ufixed80x120","ufixed80x128","ufixed80x136","ufixed80x144","ufixed80x152","ufixed80x160","ufixed80x168","ufixed80x176","ufixed88x8","ufixed88x16","ufixed88x24","ufixed88x32","ufixed88x40","ufixed88x48","ufixed88x56","ufixed88x64","ufixed88x72","ufixed88x80","ufixed88x88","ufixed88x96","ufixed88x104","ufixed88x112","ufixed88x120","ufixed88x128","ufixed88x136","ufixed88x144","ufixed88x152","ufixed88x160","ufixed88x168","ufixed96x8","ufixed96x16","ufixed96x24","ufixed96x32","ufixed96x40","ufixed96x48","ufixed96x56","ufixed96x64","ufixed96x72","ufixed96x80","ufixed96x88","ufixed96x96","ufixed96x104","ufixed96x112","ufixed96x120","ufixed96x128","ufixed96x136","ufixed96x144","ufixed96x152","ufixed96x160","ufixed104x8","ufixed104x16","ufixed104x24","ufixed104x32","ufixed104x40","ufixed104x48","ufixed104x56","ufixed104x64","ufixed104x72","ufixed104x80","ufixed104x88","ufixed104x96","ufixed104x104","ufixed104x112","ufixed104x120","ufixed104x128","ufixed104x136","ufixed104x144","ufixed104x152","ufixed112x8","ufixed112x16","ufixed112x24","ufixed112x32","ufixed112x40","ufixed112x48","ufixed112x56","ufixed112x64","ufixed112x72","ufixed112x80","ufixed112x88","ufixed112x96","ufixed112x104","ufixed112x112","ufixed112x120","ufixed112x128","ufixed112x136","ufixed112x144","ufixed120x8","ufixed120x16","ufixed120x24","ufixed120x32","ufixed120x40","ufixed120x48","ufixed120x56","ufixed120x64","ufixed120x72","ufixed120x80","ufixed120x88","ufixed120x96","ufixed120x104","ufixed120x112","ufixed120x120","ufixed120x128","ufixed120x136","ufixed128x8","ufixed128x16","ufixed128x24","ufixed128x32","ufixed128x40","ufixed128x48","ufixed128x56","ufixed128x64","ufixed128x72","ufixed128x80","ufixed128x88","ufixed128x96","ufixed128x104","ufixed128x112","ufixed128x120","ufixed128x128","ufixed136x8","ufixed136x16","ufixed136x24","ufixed136x32","ufixed136x40","ufixed136x48","ufixed136x56","ufixed136x64","ufixed136x72","ufixed136x80","ufixed136x88","ufixed136x96","ufixed136x104","ufixed136x112","ufixed136x120","ufixed144x8","ufixed144x16","ufixed144x24","ufixed144x32","ufixed144x40","ufixed144x48","ufixed144x56","ufixed144x64","ufixed144x72","ufixed144x80","ufixed144x88","ufixed144x96","ufixed144x104","ufixed144x112","ufixed152x8","ufixed152x16","ufixed152x24","ufixed152x32","ufixed152x40","ufixed152x48","ufixed152x56","ufixed152x64","ufixed152x72","ufixed152x80","ufixed152x88","ufixed152x96","ufixed152x104","ufixed160x8","ufixed160x16","ufixed160x24","ufixed160x32","ufixed160x40","ufixed160x48","ufixed160x56","ufixed160x64","ufixed160x72","ufixed160x80","ufixed160x88","ufixed160x96","ufixed168x8","ufixed168x16","ufixed168x24","ufixed168x32","ufixed168x40","ufixed168x48","ufixed168x56","ufixed168x64","ufixed168x72","ufixed168x80","ufixed168x88","ufixed176x8","ufixed176x16","ufixed176x24","ufixed176x32","ufixed176x40","ufixed176x48","ufixed176x56","ufixed176x64","ufixed176x72","ufixed176x80","ufixed184x8","ufixed184x16","ufixed184x24","ufixed184x32","ufixed184x40","ufixed184x48","ufixed184x56","ufixed184x64","ufixed184x72","ufixed192x8","ufixed192x16","ufixed192x24","ufixed192x32","ufixed192x40","ufixed192x48","ufixed192x56","ufixed192x64","ufixed200x8","ufixed200x16","ufixed200x24","ufixed200x32","ufixed200x40","ufixed200x48","ufixed200x56","ufixed208x8","ufixed208x16","ufixed208x24","ufixed208x32","ufixed208x40","ufixed208x48","ufixed216x8","ufixed216x16","ufixed216x24","ufixed216x32","ufixed216x40","ufixed224x8","ufixed224x16","ufixed224x24","ufixed224x32","ufixed232x8","ufixed232x16","ufixed232x24","ufixed240x8","ufixed240x16","ufixed248x8","event","enum","let","mapping","private","public","external","inherited","payable","true","false","var","import","constant","if","else","for","else","for","while","do","break","continue","throw","returns","return","suicide","new","is","this","super"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/43.bundle.js b/shepherd/blueprints/editor/43.bundle.js deleted file mode 100644 index 6cd995e..0000000 --- a/shepherd/blueprints/editor/43.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{599:function(E,T,R){"use strict";R.r(T),R.d(T,"conf",(function(){return A})),R.d(T,"language",(function(){return I}));var A={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},I={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ABORT_AFTER_WAIT","ABSENT","ABSOLUTE","ACCENT_SENSITIVITY","ACTION","ACTIVATION","ACTIVE","ADD","ADDRESS","ADMIN","AES","AES_128","AES_192","AES_256","AFFINITY","AFTER","AGGREGATE","ALGORITHM","ALL_CONSTRAINTS","ALL_ERRORMSGS","ALL_INDEXES","ALL_LEVELS","ALL_SPARSE_COLUMNS","ALLOW_CONNECTIONS","ALLOW_MULTIPLE_EVENT_LOSS","ALLOW_PAGE_LOCKS","ALLOW_ROW_LOCKS","ALLOW_SINGLE_EVENT_LOSS","ALLOW_SNAPSHOT_ISOLATION","ALLOWED","ALTER","ANONYMOUS","ANSI_DEFAULTS","ANSI_NULL_DEFAULT","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_NULLS","ANSI_PADDING","ANSI_WARNINGS","APPEND","APPLICATION","APPLICATION_LOG","ARITHABORT","ARITHIGNORE","AS","ASC","ASSEMBLY","ASYMMETRIC","ASYNCHRONOUS_COMMIT","AT","ATOMIC","ATTACH","ATTACH_REBUILD_LOG","AUDIT","AUDIT_GUID","AUTHENTICATION","AUTHORIZATION","AUTO","AUTO_CLEANUP","AUTO_CLOSE","AUTO_CREATE_STATISTICS","AUTO_SHRINK","AUTO_UPDATE_STATISTICS","AUTO_UPDATE_STATISTICS_ASYNC","AUTOMATED_BACKUP_PREFERENCE","AUTOMATIC","AVAILABILITY","AVAILABILITY_MODE","BACKUP","BACKUP_PRIORITY","BASE64","BATCHSIZE","BEGIN","BEGIN_DIALOG","BIGINT","BINARY","BINDING","BIT","BLOCKERS","BLOCKSIZE","BOUNDING_BOX","BREAK","BROKER","BROKER_INSTANCE","BROWSE","BUCKET_COUNT","BUFFER","BUFFERCOUNT","BULK","BULK_LOGGED","BY","CACHE","CALL","CALLED","CALLER","CAP_CPU_PERCENT","CASCADE","CASE","CATALOG","CATCH","CELLS_PER_OBJECT","CERTIFICATE","CHANGE_RETENTION","CHANGE_TRACKING","CHANGES","CHAR","CHARACTER","CHECK","CHECK_CONSTRAINTS","CHECK_EXPIRATION","CHECK_POLICY","CHECKALLOC","CHECKCATALOG","CHECKCONSTRAINTS","CHECKDB","CHECKFILEGROUP","CHECKIDENT","CHECKPOINT","CHECKTABLE","CLASSIFIER_FUNCTION","CLEANTABLE","CLEANUP","CLEAR","CLOSE","CLUSTER","CLUSTERED","CODEPAGE","COLLATE","COLLECTION","COLUMN","COLUMN_SET","COLUMNS","COLUMNSTORE","COLUMNSTORE_ARCHIVE","COMMIT","COMMITTED","COMPATIBILITY_LEVEL","COMPRESSION","COMPUTE","CONCAT","CONCAT_NULL_YIELDS_NULL","CONFIGURATION","CONNECT","CONSTRAINT","CONTAINMENT","CONTENT","CONTEXT","CONTINUE","CONTINUE_AFTER_ERROR","CONTRACT","CONTRACT_NAME","CONTROL","CONVERSATION","COOKIE","COPY_ONLY","COUNTER","CPU","CREATE","CREATE_NEW","CREATION_DISPOSITION","CREDENTIAL","CRYPTOGRAPHIC","CUBE","CURRENT","CURRENT_DATE","CURSOR","CURSOR_CLOSE_ON_COMMIT","CURSOR_DEFAULT","CYCLE","DATA","DATA_COMPRESSION","DATA_PURITY","DATABASE","DATABASE_DEFAULT","DATABASE_MIRRORING","DATABASE_SNAPSHOT","DATAFILETYPE","DATE","DATE_CORRELATION_OPTIMIZATION","DATEFIRST","DATEFORMAT","DATETIME","DATETIME2","DATETIMEOFFSET","DAY","DAYOFYEAR","DAYS","DB_CHAINING","DBCC","DBREINDEX","DDL_DATABASE_LEVEL_EVENTS","DEADLOCK_PRIORITY","DEALLOCATE","DEC","DECIMAL","DECLARE","DECRYPTION","DEFAULT","DEFAULT_DATABASE","DEFAULT_FULLTEXT_LANGUAGE","DEFAULT_LANGUAGE","DEFAULT_SCHEMA","DEFINITION","DELAY","DELAYED_DURABILITY","DELETE","DELETED","DENSITY_VECTOR","DENY","DEPENDENTS","DES","DESC","DESCRIPTION","DESX","DHCP","DIAGNOSTICS","DIALOG","DIFFERENTIAL","DIRECTORY_NAME","DISABLE","DISABLE_BROKER","DISABLED","DISK","DISTINCT","DISTRIBUTED","DOCUMENT","DOUBLE","DROP","DROP_EXISTING","DROPCLEANBUFFERS","DUMP","DURABILITY","DYNAMIC","EDITION","ELEMENTS","ELSE","EMERGENCY","EMPTY","EMPTYFILE","ENABLE","ENABLE_BROKER","ENABLED","ENCRYPTION","END","ENDPOINT","ENDPOINT_URL","ERRLVL","ERROR","ERROR_BROKER_CONVERSATIONS","ERRORFILE","ESCAPE","ESTIMATEONLY","EVENT","EVENT_RETENTION_MODE","EXEC","EXECUTABLE","EXECUTE","EXIT","EXPAND","EXPIREDATE","EXPIRY_DATE","EXPLICIT","EXTENDED_LOGICAL_CHECKS","EXTENSION","EXTERNAL","EXTERNAL_ACCESS","FAIL_OPERATION","FAILOVER","FAILOVER_MODE","FAILURE_CONDITION_LEVEL","FALSE","FAN_IN","FAST","FAST_FORWARD","FETCH","FIELDTERMINATOR","FILE","FILEGROUP","FILEGROWTH","FILELISTONLY","FILENAME","FILEPATH","FILESTREAM","FILESTREAM_ON","FILETABLE_COLLATE_FILENAME","FILETABLE_DIRECTORY","FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME","FILETABLE_NAMESPACE","FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME","FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME","FILLFACTOR","FILTERING","FIRE_TRIGGERS","FIRST","FIRSTROW","FLOAT","FMTONLY","FOLLOWING","FOR","FORCE","FORCE_FAILOVER_ALLOW_DATA_LOSS","FORCE_SERVICE_ALLOW_DATA_LOSS","FORCED","FORCEPLAN","FORCESCAN","FORCESEEK","FOREIGN","FORMATFILE","FORMSOF","FORWARD_ONLY","FREE","FREEPROCCACHE","FREESESSIONCACHE","FREESYSTEMCACHE","FROM","FULL","FULLSCAN","FULLTEXT","FUNCTION","GB","GEOGRAPHY_AUTO_GRID","GEOGRAPHY_GRID","GEOMETRY_AUTO_GRID","GEOMETRY_GRID","GET","GLOBAL","GO","GOTO","GOVERNOR","GRANT","GRIDS","GROUP","GROUP_MAX_REQUESTS","HADR","HASH","HASHED","HAVING","HEADERONLY","HEALTH_CHECK_TIMEOUT","HELP","HIERARCHYID","HIGH","HINT","HISTOGRAM","HOLDLOCK","HONOR_BROKER_PRIORITY","HOUR","HOURS","IDENTITY","IDENTITY_INSERT","IDENTITY_VALUE","IDENTITYCOL","IF","IGNORE_CONSTRAINTS","IGNORE_DUP_KEY","IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX","IGNORE_TRIGGERS","IMAGE","IMMEDIATE","IMPERSONATE","IMPLICIT_TRANSACTIONS","IMPORTANCE","INCLUDE","INCREMENT","INCREMENTAL","INDEX","INDEXDEFRAG","INFINITE","INFLECTIONAL","INIT","INITIATOR","INPUT","INPUTBUFFER","INSENSITIVE","INSERT","INSERTED","INSTEAD","INT","INTEGER","INTO","IO","IP","ISABOUT","ISOLATION","JOB","KB","KEEP","KEEP_CDC","KEEP_NULLS","KEEP_REPLICATION","KEEPDEFAULTS","KEEPFIXED","KEEPIDENTITY","KEEPNULLS","KERBEROS","KEY","KEY_SOURCE","KEYS","KEYSET","KILL","KILOBYTES_PER_BATCH","LABELONLY","LANGUAGE","LAST","LASTROW","LEVEL","LEVEL_1","LEVEL_2","LEVEL_3","LEVEL_4","LIFETIME","LIMIT","LINENO","LIST","LISTENER","LISTENER_IP","LISTENER_PORT","LOAD","LOADHISTORY","LOB_COMPACTION","LOCAL","LOCAL_SERVICE_NAME","LOCK_ESCALATION","LOCK_TIMEOUT","LOGIN","LOGSPACE","LOOP","LOW","MANUAL","MARK","MARK_IN_USE_FOR_REMOVAL","MASTER","MAX_CPU_PERCENT","MAX_DISPATCH_LATENCY","MAX_DOP","MAX_DURATION","MAX_EVENT_SIZE","MAX_FILES","MAX_IOPS_PER_VOLUME","MAX_MEMORY","MAX_MEMORY_PERCENT","MAX_QUEUE_READERS","MAX_ROLLOVER_FILES","MAX_SIZE","MAXDOP","MAXERRORS","MAXLENGTH","MAXRECURSION","MAXSIZE","MAXTRANSFERSIZE","MAXVALUE","MB","MEDIADESCRIPTION","MEDIANAME","MEDIAPASSWORD","MEDIUM","MEMBER","MEMORY_OPTIMIZED","MEMORY_OPTIMIZED_DATA","MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT","MEMORY_PARTITION_MODE","MERGE","MESSAGE","MESSAGE_FORWARD_SIZE","MESSAGE_FORWARDING","MICROSECOND","MILLISECOND","MIN_CPU_PERCENT","MIN_IOPS_PER_VOLUME","MIN_MEMORY_PERCENT","MINUTE","MINUTES","MINVALUE","MIRROR","MIRROR_ADDRESS","MODIFY","MONEY","MONTH","MOVE","MULTI_USER","MUST_CHANGE","NAME","NANOSECOND","NATIONAL","NATIVE_COMPILATION","NCHAR","NEGOTIATE","NESTED_TRIGGERS","NEW_ACCOUNT","NEW_BROKER","NEW_PASSWORD","NEWNAME","NEXT","NO","NO_BROWSETABLE","NO_CHECKSUM","NO_COMPRESSION","NO_EVENT_LOSS","NO_INFOMSGS","NO_TRUNCATE","NO_WAIT","NOCHECK","NOCOUNT","NOEXEC","NOEXPAND","NOFORMAT","NOINDEX","NOINIT","NOLOCK","NON","NON_TRANSACTED_ACCESS","NONCLUSTERED","NONE","NORECOMPUTE","NORECOVERY","NORESEED","NORESET","NOREWIND","NORMAL","NOSKIP","NOTIFICATION","NOTRUNCATE","NOUNLOAD","NOWAIT","NTEXT","NTLM","NUMANODE","NUMERIC","NUMERIC_ROUNDABORT","NVARCHAR","OBJECT","OF","OFF","OFFLINE","OFFSET","OFFSETS","OLD_ACCOUNT","OLD_PASSWORD","ON","ON_FAILURE","ONLINE","ONLY","OPEN","OPEN_EXISTING","OPENTRAN","OPTIMISTIC","OPTIMIZE","OPTION","ORDER","OUT","OUTPUT","OUTPUTBUFFER","OVER","OVERRIDE","OWNER","OWNERSHIP","PAD_INDEX","PAGE","PAGE_VERIFY","PAGECOUNT","PAGLOCK","PARAMETERIZATION","PARSEONLY","PARTIAL","PARTITION","PARTITIONS","PARTNER","PASSWORD","PATH","PER_CPU","PER_NODE","PERCENT","PERMISSION_SET","PERSISTED","PHYSICAL_ONLY","PLAN","POISON_MESSAGE_HANDLING","POOL","POPULATION","PORT","PRECEDING","PRECISION","PRIMARY","PRIMARY_ROLE","PRINT","PRIOR","PRIORITY","PRIORITY_LEVEL","PRIVATE","PRIVILEGES","PROC","PROCCACHE","PROCEDURE","PROCEDURE_NAME","PROCESS","PROFILE","PROPERTY","PROPERTY_DESCRIPTION","PROPERTY_INT_ID","PROPERTY_SET_GUID","PROVIDER","PROVIDER_KEY_NAME","PUBLIC","PUT","QUARTER","QUERY","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUEUE_DELAY","QUOTED_IDENTIFIER","RAISERROR","RANGE","RAW","RC2","RC4","RC4_128","READ","READ_COMMITTED_SNAPSHOT","READ_ONLY","READ_ONLY_ROUTING_LIST","READ_ONLY_ROUTING_URL","READ_WRITE","READ_WRITE_FILEGROUPS","READCOMMITTED","READCOMMITTEDLOCK","READONLY","READPAST","READTEXT","READUNCOMMITTED","READWRITE","REAL","REBUILD","RECEIVE","RECOMPILE","RECONFIGURE","RECOVERY","RECURSIVE","RECURSIVE_TRIGGERS","REFERENCES","REGENERATE","RELATED_CONVERSATION","RELATED_CONVERSATION_GROUP","RELATIVE","REMOTE","REMOTE_PROC_TRANSACTIONS","REMOTE_SERVICE_NAME","REMOVE","REORGANIZE","REPAIR_ALLOW_DATA_LOSS","REPAIR_FAST","REPAIR_REBUILD","REPEATABLE","REPEATABLEREAD","REPLICA","REPLICATION","REQUEST_MAX_CPU_TIME_SEC","REQUEST_MAX_MEMORY_GRANT_PERCENT","REQUEST_MEMORY_GRANT_TIMEOUT_SEC","REQUIRED","RESAMPLE","RESEED","RESERVE_DISK_SPACE","RESET","RESOURCE","RESTART","RESTORE","RESTRICT","RESTRICTED_USER","RESULT","RESUME","RETAINDAYS","RETENTION","RETURN","RETURNS","REVERT","REVOKE","REWIND","REWINDONLY","ROBUST","ROLE","ROLLBACK","ROLLUP","ROOT","ROUTE","ROW","ROWCOUNT","ROWGUIDCOL","ROWLOCK","ROWS","ROWS_PER_BATCH","ROWTERMINATOR","ROWVERSION","RSA_1024","RSA_2048","RSA_512","RULE","SAFE","SAFETY","SAMPLE","SAVE","SCHEDULER","SCHEMA","SCHEMA_AND_DATA","SCHEMA_ONLY","SCHEMABINDING","SCHEME","SCROLL","SCROLL_LOCKS","SEARCH","SECOND","SECONDARY","SECONDARY_ONLY","SECONDARY_ROLE","SECONDS","SECRET","SECURITY_LOG","SECURITYAUDIT","SELECT","SELECTIVE","SELF","SEND","SENT","SEQUENCE","SERIALIZABLE","SERVER","SERVICE","SERVICE_BROKER","SERVICE_NAME","SESSION","SESSION_TIMEOUT","SET","SETS","SETUSER","SHOW_STATISTICS","SHOWCONTIG","SHOWPLAN","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SHRINKDATABASE","SHRINKFILE","SHUTDOWN","SID","SIGNATURE","SIMPLE","SINGLE_BLOB","SINGLE_CLOB","SINGLE_NCLOB","SINGLE_USER","SINGLETON","SIZE","SKIP","SMALLDATETIME","SMALLINT","SMALLMONEY","SNAPSHOT","SORT_IN_TEMPDB","SOURCE","SPARSE","SPATIAL","SPATIAL_WINDOW_MAX_CELLS","SPECIFICATION","SPLIT","SQL","SQL_VARIANT","SQLPERF","STANDBY","START","START_DATE","STARTED","STARTUP_STATE","STAT_HEADER","STATE","STATEMENT","STATIC","STATISTICAL_SEMANTICS","STATISTICS","STATISTICS_INCREMENTAL","STATISTICS_NORECOMPUTE","STATS","STATS_STREAM","STATUS","STATUSONLY","STOP","STOP_ON_ERROR","STOPAT","STOPATMARK","STOPBEFOREMARK","STOPLIST","STOPPED","SUBJECT","SUBSCRIPTION","SUPPORTED","SUSPEND","SWITCH","SYMMETRIC","SYNCHRONOUS_COMMIT","SYNONYM","SYSNAME","SYSTEM","TABLE","TABLERESULTS","TABLESAMPLE","TABLOCK","TABLOCKX","TAKE","TAPE","TARGET","TARGET_RECOVERY_TIME","TB","TCP","TEXT","TEXTIMAGE_ON","TEXTSIZE","THEN","THESAURUS","THROW","TIES","TIME","TIMEOUT","TIMER","TIMESTAMP","TINYINT","TO","TOP","TORN_PAGE_DETECTION","TRACEOFF","TRACEON","TRACESTATUS","TRACK_CAUSALITY","TRACK_COLUMNS_UPDATED","TRAN","TRANSACTION","TRANSFER","TRANSFORM_NOISE_WORDS","TRIGGER","TRIPLE_DES","TRIPLE_DES_3KEY","TRUE","TRUNCATE","TRUNCATEONLY","TRUSTWORTHY","TRY","TSQL","TWO_DIGIT_YEAR_CUTOFF","TYPE","TYPE_WARNING","UNBOUNDED","UNCHECKED","UNCOMMITTED","UNDEFINED","UNIQUE","UNIQUEIDENTIFIER","UNKNOWN","UNLIMITED","UNLOAD","UNSAFE","UPDATE","UPDATETEXT","UPDATEUSAGE","UPDLOCK","URL","USE","USED","USER","USEROPTIONS","USING","VALID_XML","VALIDATION","VALUE","VALUES","VARBINARY","VARCHAR","VARYING","VERIFYONLY","VERSION","VIEW","VIEW_METADATA","VIEWS","VISIBILITY","WAIT_AT_LOW_PRIORITY","WAITFOR","WEEK","WEIGHT","WELL_FORMED_XML","WHEN","WHERE","WHILE","WINDOWS","WITH","WITHIN","WITHOUT","WITNESS","WORK","WORKLOAD","WRITETEXT","XACT_ABORT","XLOCK","XMAX","XMIN","XML","XMLDATA","XMLNAMESPACES","XMLSCHEMA","XQUERY","XSINIL","YEAR","YMAX","YMIN"],operators:["ALL","AND","ANY","BETWEEN","EXISTS","IN","LIKE","NOT","OR","SOME","EXCEPT","INTERSECT","UNION","APPLY","CROSS","FULL","INNER","JOIN","LEFT","OUTER","RIGHT","CONTAINS","FREETEXT","IS","NULL","PIVOT","UNPIVOT","MATCHED"],builtinFunctions:["AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","SUM","STDEV","STDEVP","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","COLLATE","COLLATIONPROPERTY","TERTIARY_WEIGHTS","FEDERATION_FILTERING_VALUE","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","CURRENT_TIMESTAMP","DATEADD","DATEDIFF","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","CHOOSE","COALESCE","IIF","NULLIF","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASE_PRINCIPAL_ID","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHAR","CHARINDEX","CONCAT","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STUFF","SUBSTRING","UNICODE","UPPER","BINARY_CHECKSUM","CHECKSUM","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","ERROR_LINE","ERROR_NUMBER","ERROR_MESSAGE","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GETANSINULL","GET_FILESTREAM_TRANSACTION_CONTEXT","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","XACT_STATE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","CHANGETABLE","CHANGE_TRACKING_CONTEXT","CHANGE_TRACKING_CURRENT_VERSION","CHANGE_TRACKING_IS_COLUMN_IN_MASK","CHANGE_TRACKING_MIN_VALID_VERSION","CONTAINSTABLE","FREETEXTTABLE","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","FILETABLEROOTPATH","GETFILENAMESPACEPATH","GETPATHLOCATOR","PATHNAME","GET_TRANSMISSION_STATUS"],builtinVariables:["@@DATEFIRST","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","@@CURSOR_ROWS","@@FETCH_STATUS","@@DATEFIRST","@@PROCID","@@ERROR","@@IDENTITY","@@ROWCOUNT","@@TRANCOUNT","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACKET_ERRORS","@@PACK_RECEIVED","@@PACK_SENT","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE"],pseudoColumns:["$ACTION","$IDENTITY","$ROWGUID","$PARTITION"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,"keyword"],[/BEGIN\s+TRY\b/i,{token:"keyword.try"}],[/END\s+TRY\b/i,{token:"keyword.try"}],[/BEGIN\s+CATCH\b/i,{token:"keyword.catch"}],[/END\s+CATCH\b/i,{token:"keyword.catch"}],[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/44.bundle.js b/shepherd/blueprints/editor/44.bundle.js deleted file mode 100644 index 19482c1..0000000 --- a/shepherd/blueprints/editor/44.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{600:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return r}));var t={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["var","end_var"],["var_input","end_var"],["var_output","end_var"],["var_in_out","end_var"],["var_temp","end_var"],["var_global","end_var"],["var_access","end_var"],["var_external","end_var"],["type","end_type"],["struct","end_struct"],["program","end_program"],["function","end_function"],["function_block","end_function_block"],["action","end_action"],["step","end_step"],["initial_step","end_step"],["transaction","end_transaction"],["configuration","end_configuration"],["tcp","end_tcp"],["recource","end_recource"],["channel","end_channel"],["library","end_library"],["folder","end_folder"],["binaries","end_binaries"],["includes","end_includes"],["sources","end_sources"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"/*",close:"*/"},{open:"'",close:"'",notIn:["string_sq"]},{open:'"',close:'"',notIn:["string_dq"]},{open:"var",close:"end_var"},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"var",close:"end_var"},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},r={defaultToken:"",tokenPostfix:".st",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","end_if","elsif","else","case","of","to","do","with","by","while","repeat","end_while","end_repeat","end_case","for","end_for","task","retain","non_retain","constant","with","at","exit","return","interval","priority","address","port","on_channel","then","iec","file","uses","version","packagetype","displayname","copyright","summary","vendor","common_source","from"],constant:["false","true","null"],defineKeywords:["var","var_input","var_output","var_in_out","var_temp","var_global","var_access","var_external","end_var","type","end_type","struct","end_struct","program","end_program","function","end_function","function_block","end_function_block","configuration","end_configuration","tcp","end_tcp","recource","end_recource","channel","end_channel","library","end_library","folder","end_folder","binaries","end_binaries","includes","end_includes","sources","end_sources","action","end_action","step","initial_step","end_step","transaction","end_transaction"],typeKeywords:["int","sint","dint","lint","usint","uint","udint","ulint","real","lreal","time","date","time_of_day","date_and_time","string","bool","byte","world","dworld","array","pointer","lworld"],operators:["=",">","<",":",":=","<=",">=","<>","&","+","-","*","**","MOD","^","or","and","not","xor","abs","acos","asin","atan","cos","exp","expt","ln","log","sin","sqrt","tan","sel","max","min","limit","mux","shl","shr","rol","ror","indexof","sizeof","adr","adrinst","bitadr","is_valid"],builtinVariables:[],builtinFunctions:["sr","rs","tp","ton","tof","eq","ge","le","lt","ne","round","trunc","ctd","сtu","ctud","r_trig","f_trig","move","concat","delete","find","insert","left","len","replace","right","rtc"],symbols:/[=>`?!+*\\\/]/,operatorstart:/[\/=\-+!*%<>&|^~?\u00A1-\u00A7\u00A9\u00AB\u00AC\u00AE\u00B0-\u00B1\u00B6\u00BB\u00BF\u00D7\u00F7\u2016-\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001-\u3003\u3008-\u3030]/,operatorend:/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\uE0100-\uE01EF]/,operators:/(@operatorstart)((@operatorstart)|(@operatorend))*/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@comment"},{include:"@attribute"},{include:"@literal"},{include:"@keyword"},{include:"@invokedmethod"},{include:"@symbol"}],symbol:[[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/[.]/,"delimiter"],[/@operators/,"operator"],[/@symbols/,"operator"]],comment:[[/\/\/\/.*$/,"comment.doc"],[/\/\*\*/,"comment.doc","@commentdocbody"],[/\/\/.*$/,"comment"],[/\/\*/,"comment","@commentbody"]],commentdocbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment.doc","@pop"],[/\:[a-zA-Z]+\:/,"comment.doc.param"],[/./,"comment.doc"]],commentbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment","@pop"],[/./,"comment"]],attribute:[[/\@@identifier/,{cases:{"@attributes":"keyword.control","@default":""}}]],literal:[[/"/,{token:"string.quote",next:"@stringlit"}],[/0[b]([01]_?)+/,"number.binary"],[/0[o]([0-7]_?)+/,"number.octal"],[/0[x]([0-9a-fA-F]_?)+([pP][\-+](\d_?)+)?/,"number.hex"],[/(\d_?)*\.(\d_?)+([eE][\-+]?(\d_?)+)?/,"number.float"],[/(\d_?)+/,"number"]],stringlit:[[/\\\(/,{token:"operator",next:"@interpolatedexpression"}],[/@escapes/,"string"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}],[/./,"string"]],interpolatedexpression:[[/\(/,{token:"operator",next:"@interpolatedexpression"}],[/\)/,{token:"operator",next:"@pop"}],{include:"@literal"},{include:"@keyword"},{include:"@symbol"}],keyword:[[/`/,{token:"operator",next:"@escapedkeyword"}],[/@identifier/,{cases:{"@keywords":"keyword","[A-Z][a-zA-Z0-9$]*":"type.identifier","@default":"identifier"}}]],escapedkeyword:[[/`/,{token:"operator",next:"@pop"}],[/./,"identifier"]],invokedmethod:[[/([.])(@identifier)/,{cases:{$2:["delimeter","type.identifier"],"@default":""}}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/46.bundle.js b/shepherd/blueprints/editor/46.bundle.js deleted file mode 100644 index 067ba3b..0000000 --- a/shepherd/blueprints/editor/46.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{562:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return r})),t.d(n,"language",(function(){return i}));var o="undefined"==typeof monaco?self.monaco:monaco,r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:o.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:o.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:o.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:o.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},i={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","as","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","package","private","protected","public","readonly","require","global","return","set","static","super","switch","symbol","this","throw","true","try","type","typeof","unique","var","void","while","with","yield","async","await","of"],typeKeywords:["any","boolean","number","object","string","undefined"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)/,"number.hex"],[/0(@octaldigits)/,"number.octal"],[/0[bB](@binarydigits)/,"number.binary"],[/(@digits)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],["/",{token:"regexp",bracket:"@close"},"@pop"]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,"@brackets.regexp.escape.control","@pop"]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/editor/47.bundle.js b/shepherd/blueprints/editor/47.bundle.js deleted file mode 100644 index 75aca6e..0000000 --- a/shepherd/blueprints/editor/47.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{602:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return r}));var t={comments:{lineComment:"'",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"],["addhandler","end addhandler"],["class","end class"],["enum","end enum"],["event","end event"],["function","end function"],["get","end get"],["if","end if"],["interface","end interface"],["module","end module"],["namespace","end namespace"],["operator","end operator"],["property","end property"],["raiseevent","end raiseevent"],["removehandler","end removehandler"],["select","end select"],["set","end set"],["structure","end structure"],["sub","end sub"],["synclock","end synclock"],["try","end try"],["while","end while"],["with","end with"],["using","end using"],["do","loop"],["for","next"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"<",close:">",notIn:["string","comment"]}],folding:{markers:{start:new RegExp("^\\s*#Region\\b"),end:new RegExp("^\\s*#End Region\\b")}}},r={defaultToken:"",tokenPostfix:".vb",ignoreCase:!0,brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.angle",open:"<",close:">"},{token:"keyword.tag-addhandler",open:"addhandler",close:"end addhandler"},{token:"keyword.tag-class",open:"class",close:"end class"},{token:"keyword.tag-enum",open:"enum",close:"end enum"},{token:"keyword.tag-event",open:"event",close:"end event"},{token:"keyword.tag-function",open:"function",close:"end function"},{token:"keyword.tag-get",open:"get",close:"end get"},{token:"keyword.tag-if",open:"if",close:"end if"},{token:"keyword.tag-interface",open:"interface",close:"end interface"},{token:"keyword.tag-module",open:"module",close:"end module"},{token:"keyword.tag-namespace",open:"namespace",close:"end namespace"},{token:"keyword.tag-operator",open:"operator",close:"end operator"},{token:"keyword.tag-property",open:"property",close:"end property"},{token:"keyword.tag-raiseevent",open:"raiseevent",close:"end raiseevent"},{token:"keyword.tag-removehandler",open:"removehandler",close:"end removehandler"},{token:"keyword.tag-select",open:"select",close:"end select"},{token:"keyword.tag-set",open:"set",close:"end set"},{token:"keyword.tag-structure",open:"structure",close:"end structure"},{token:"keyword.tag-sub",open:"sub",close:"end sub"},{token:"keyword.tag-synclock",open:"synclock",close:"end synclock"},{token:"keyword.tag-try",open:"try",close:"end try"},{token:"keyword.tag-while",open:"while",close:"end while"},{token:"keyword.tag-with",open:"with",close:"end with"},{token:"keyword.tag-using",open:"using",close:"end using"},{token:"keyword.tag-do",open:"do",close:"loop"},{token:"keyword.tag-for",open:"for",close:"next"}],keywords:["AddHandler","AddressOf","Alias","And","AndAlso","As","Async","Boolean","ByRef","Byte","ByVal","Call","Case","Catch","CBool","CByte","CChar","CDate","CDbl","CDec","Char","CInt","Class","CLng","CObj","Const","Continue","CSByte","CShort","CSng","CStr","CType","CUInt","CULng","CUShort","Date","Decimal","Declare","Default","Delegate","Dim","DirectCast","Do","Double","Each","Else","ElseIf","End","EndIf","Enum","Erase","Error","Event","Exit","False","Finally","For","Friend","Function","Get","GetType","GetXMLNamespace","Global","GoSub","GoTo","Handles","If","Implements","Imports","In","Inherits","Integer","Interface","Is","IsNot","Let","Lib","Like","Long","Loop","Me","Mod","Module","MustInherit","MustOverride","MyBase","MyClass","NameOf","Namespace","Narrowing","New","Next","Not","Nothing","NotInheritable","NotOverridable","Object","Of","On","Operator","Option","Optional","Or","OrElse","Out","Overloads","Overridable","Overrides","ParamArray","Partial","Private","Property","Protected","Public","RaiseEvent","ReadOnly","ReDim","RemoveHandler","Resume","Return","SByte","Select","Set","Shadows","Shared","Short","Single","Static","Step","Stop","String","Structure","Sub","SyncLock","Then","Throw","To","True","Try","TryCast","TypeOf","UInteger","ULong","UShort","Using","Variant","Wend","When","While","Widening","With","WithEvents","WriteOnly","Xor"],tagwords:["If","Sub","Select","Try","Class","Enum","Function","Get","Interface","Module","Namespace","Operator","Set","Structure","Using","While","With","Do","Loop","For","Next","Property","Continue","AddHandler","RemoveHandler","Event","RaiseEvent","SyncLock"],symbols:/[=>"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},o={defaultToken:"",tokenPostfix:".xml",ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,t.html=h(t.html,"i").replace("comment",t._comment).replace("tag",t._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),t.paragraph=h(t.paragraph).replace("hr",t.hr).replace("heading",t.heading).replace("lheading",t.lheading).replace("tag",t._tag).getRegex(),t.blockquote=h(t.blockquote).replace("paragraph",t.paragraph).getRegex(),t.normal=m({},t),t.gfm=m({},t.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),t.gfm.paragraph=h(t.paragraph).replace("(?!","(?!"+t.gfm.fences.source.replace("\\1","\\2")+"|"+t.list.source.replace("\\1","\\3")+"|").getRegex(),t.tables=m({},t.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),t.pedantic=m({},t.normal,{html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",t._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),o.rules=t,o.lex=function(e,t){return new o(t).lex(e)},o.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},o.prototype.token=function(e,o){var n,i,r,s,a,l,u,c,h,d,g,p,f;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e))e=e.substring(r[0].length),r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?r:y(r,"\n")});else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if(o&&(r=this.rules.nptable.exec(e))&&(l={type:"table",header:_(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(r[0].length),c=0;c ?/gm,""),this.token(r,o),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),g=(s=r[2]).length>1,this.tokens.push({type:"list_start",ordered:g,start:g?+s:""}),n=!1,d=(r=r[0].match(this.rules.item)).length,c=0;c1&&a.length>1||(e=r.slice(c+1).join("\n")+e,c=d-1)),i=n||/\n\n(?!\s*$)/.test(l),c!==d-1&&(n="\n"===l.charAt(l.length-1),i||(i=n)),f=void 0,(p=/^\[[ xX]\] /.test(l))&&(f=" "!==l[1],l=l.replace(/^\[[ xX]\] +/,"")),this.tokens.push({type:i?"loose_item_start":"list_item_start",task:p,checked:f}),this.token(l,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(r=this.rules.html.exec(e))e=e.substring(r[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===r[1]||"script"===r[1]||"style"===r[1]),text:r[0]});else if(o&&(r=this.rules.def.exec(e)))e=e.substring(r[0].length),r[3]&&(r[3]=r[3].substring(1,r[3].length-1)),h=r[1].toLowerCase().replace(/\s+/g," "),this.tokens.links[h]||(this.tokens.links[h]={href:r[2],title:r[3]});else if(o&&(r=this.rules.table.exec(e))&&(l={type:"table",header:_(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/(?: *\| *)?\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(r[0].length),c=0;c?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:f,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)|^__([^\s])__(?!_)|^\*\*([^\s])\*\*(?!\*)/,em:/^_([^\s][\s\S]*?[^\s_])_(?!_)|^_([^\s_][\s\S]*?[^\s])_(?!_)|^\*([^\s][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*][\s\S]*?[^\s])\*(?!\*)|^_([^\s_])_(?!_)|^\*([^\s*])\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:f,text:/^[\s\S]+?(?=[\\/g,">").replace(/"/g,""").replace(/'/g,"'")}function c(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}function h(e,t){return e=e.source||e,t=t||"",{replace:function(t,o){return o=(o=o.source||o).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(t,o),this},getRegex:function(){return new RegExp(e,t)}}}function d(e,t){return g[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?g[" "+e]=e+"/":g[" "+e]=y(e,"/",!0)),e=g[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}i._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=h(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,i.tag=h(i.tag).replace("comment",t._comment).replace("attribute",i._attribute).getRegex(),i._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/,i._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f()\\]*\)|[^\s\x00-\x1f()\\])*?)/,i._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,i.link=h(i.link).replace("label",i._label).replace("href",i._href).replace("title",i._title).getRegex(),i.reflink=h(i.reflink).replace("label",i._label).getRegex(),i.normal=m({},i),i.pedantic=m({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:h(/^!?\[(label)\]\((.*?)\)/).replace("label",i._label).getRegex(),reflink:h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",i._label).getRegex()}),i.gfm=m({},i.normal,{escape:h(i.escape).replace("])","~|])").getRegex(),url:h(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",i._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:h(i.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),i.breaks=m({},i.gfm,{br:h(i.br).replace("{2,}","*").getRegex(),text:h(i.gfm.text).replace("{2,}","*").getRegex()}),r.rules=i,r.output=function(e,t,o){return new r(t,o).output(e)},r.prototype.output=function(e){for(var t,o,n,i,s,a="";e;)if(s=this.rules.escape.exec(e))e=e.substring(s[0].length),a+=s[1];else if(s=this.rules.autolink.exec(e))e=e.substring(s[0].length),n="@"===s[2]?"mailto:"+(o=u(this.mangle(s[1]))):o=u(s[1]),a+=this.renderer.link(n,null,o);else if(this.inLink||!(s=this.rules.url.exec(e))){if(s=this.rules.tag.exec(e))!this.inLink&&/^/i.test(s[0])&&(this.inLink=!1),e=e.substring(s[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):u(s[0]):s[0];else if(s=this.rules.link.exec(e))e=e.substring(s[0].length),this.inLink=!0,n=s[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n))?(n=t[1],i=t[3]):i="":i=s[3]?s[3].slice(1,-1):"",n=n.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(s,{href:r.escapes(n),title:r.escapes(i)}),this.inLink=!1;else if((s=this.rules.reflink.exec(e))||(s=this.rules.nolink.exec(e))){if(e=e.substring(s[0].length),t=(s[2]||s[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=s[0].charAt(0),e=s[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(s,t),this.inLink=!1}else if(s=this.rules.strong.exec(e))e=e.substring(s[0].length),a+=this.renderer.strong(this.output(s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.em.exec(e))e=e.substring(s[0].length),a+=this.renderer.em(this.output(s[6]||s[5]||s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.code.exec(e))e=e.substring(s[0].length),a+=this.renderer.codespan(u(s[2].trim(),!0));else if(s=this.rules.br.exec(e))e=e.substring(s[0].length),a+=this.renderer.br();else if(s=this.rules.del.exec(e))e=e.substring(s[0].length),a+=this.renderer.del(this.output(s[1]));else if(s=this.rules.text.exec(e))e=e.substring(s[0].length),a+=this.renderer.text(u(this.smartypants(s[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else s[0]=this.rules._backpedal.exec(s[0])[0],e=e.substring(s[0].length),"@"===s[2]?n="mailto:"+(o=u(s[0])):(o=u(s[0]),n="www."===s[1]?"http://"+o:o),a+=this.renderer.link(n,null,o);return a},r.escapes=function(e){return e?e.replace(r.rules._escapes,"$1"):e},r.prototype.outputLink=function(e,t){var o=t.href,n=t.title?u(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(o,n,this.output(e[1])):this.renderer.image(o,n,u(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,o="",n=e.length,i=0;i.5&&(t="x"+t.toString(16)),o+="&#"+t+";";return o},s.prototype.code=function(e,t,o){if(this.options.highlight){var n=this.options.highlight(e,t);null!=n&&n!==e&&(o=!0,e=n)}return t?'
'+(o?e:u(e,!0))+"
\n":"
"+(o?e:u(e,!0))+"
"},s.prototype.blockquote=function(e){return"
\n"+e+"
\n"},s.prototype.html=function(e){return e},s.prototype.heading=function(e,t,o){return this.options.headerIds?"'+e+"\n":""+e+"\n"},s.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},s.prototype.list=function(e,t,o){var n=t?"ol":"ul";return"<"+n+(t&&1!==o?' start="'+o+'"':"")+">\n"+e+"\n"},s.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},s.prototype.checkbox=function(e){return" "},s.prototype.paragraph=function(e){return"

    "+e+"

    \n"},s.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},s.prototype.tablerow=function(e){return"\n"+e+"\n"},s.prototype.tablecell=function(e,t){var o=t.header?"th":"td";return(t.align?"<"+o+' align="'+t.align+'">':"<"+o+">")+e+"\n"},s.prototype.strong=function(e){return""+e+""},s.prototype.em=function(e){return""+e+""},s.prototype.codespan=function(e){return""+e+""},s.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},s.prototype.del=function(e){return""+e+""},s.prototype.link=function(e,t,o){if(this.options.sanitize){try{var n=decodeURIComponent(c(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return o}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return o}this.options.baseUrl&&!p.test(e)&&(e=d(this.options.baseUrl,e));try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return o}var i='
    "},s.prototype.image=function(e,t,o){this.options.baseUrl&&!p.test(e)&&(e=d(this.options.baseUrl,e));var n=''+o+'":">"},s.prototype.text=function(e){return e},a.prototype.strong=a.prototype.em=a.prototype.codespan=a.prototype.del=a.prototype.text=function(e){return e},a.prototype.link=a.prototype.image=function(e,t,o){return""+o},a.prototype.br=function(){return""},l.parse=function(e,t){return new l(t).parse(e)},l.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,m({},this.options,{renderer:new a})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},l.prototype.next=function(){return this.token=this.tokens.pop()},l.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},l.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},l.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,o,n,i="",r="";for(o="",e=0;e=0&&"\\"===o[i];)n=!n;return n?"|":" |"})).split(/ \|/),n=0;if(o.length>t)o.splice(t);else for(;o.lengthAn error occurred:

    "+u(e.message+"",!0)+"
    ";throw e}}f.exec=f,v.options=v.setOptions=function(e){return m(v.defaults,e),v},v.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new s,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},v.defaults=v.getDefaults(),v.Parser=l,v.parser=l.parse,v.Renderer=s,v.TextRenderer=a,v.Lexer=o,v.lexer=o.lex,v.InlineLexer=r,v.inlineLexer=r.output,v.parse=v,n=v}).call(void 0);var l=n;n.Parser,n.parser,n.Renderer,n.TextRenderer,n.Lexer,n.lexer,n.InlineLexer,n.inlineLexer,n.parse;function u(e){var t=e.inline?"span":"div",o=document.createElement(t);return e.className&&(o.className=e.className),o}function c(e,t){void 0===t&&(t={});var o=u(t);return o.textContent=e,o}function h(e,t){void 0===t&&(t={});var o=u(t);return function e(t,o,n){var r;if(2===o.type)r=document.createTextNode(o.content);else if(3===o.type)r=document.createElement("b");else if(4===o.type)r=document.createElement("i");else if(5===o.type&&n){var s=document.createElement("a");s.href="#",n.disposeables.push(i.j(s,"click",(function(e){n.callback(String(o.index),e)}))),r=s}else 7===o.type?r=document.createElement("br"):1===o.type&&(r=t);t!==r&&t.appendChild(r);Array.isArray(o.children)&&o.children.forEach((function(t){e(r,t,n)}))}(o,function(e){var t={type:1,children:[]},o=0,n=t,i=[],r=new g(e);for(;!r.eos();){var s=r.next(),a="\\"===s&&0!==p(r.peek());if(a&&(s=r.next()),a||0===p(s)||s!==r.peek())if("\n"===s)2===n.type&&(n=i.pop()),n.children.push({type:7});else if(2!==n.type){var l={type:2,content:s};n.children.push(l),i.push(n),n=l}else n.content+=s;else{r.advance(),2===n.type&&(n=i.pop());var u=p(s);if(n.type===u||5===n.type&&6===u)n=i.pop();else{var c={type:u,children:[]};5===u&&(c.index=o,o++),n.children.push(c),i.push(n),n=c}}}2===n.type&&(n=i.pop());i.length;return t}(e),t.actionHandler),o}function d(e,t){void 0===t&&(t={});var o,n=u(t),c=new Promise((function(e){return o=e})),h=new l.Renderer;h.image=function(e,t,o){var n=[];if(e){var i=e.split("|").map((function(e){return e.trim()}));e=i[0];var r=i[1];if(r){var s=/height=(\d+)/.exec(r),a=/width=(\d+)/.exec(r),l=s&&s[1],u=a&&a[1],c=isFinite(parseInt(u)),h=isFinite(parseInt(l));c&&n.push('width="'+u+'"'),h&&n.push('height="'+l+'"')}}var d=[];return e&&d.push('src="'+e+'"'),o&&d.push('alt="'+o+'"'),t&&d.push('title="'+t+'"'),n.length&&(d=d.concat(n)),""},h.link=function(t,o,n){return t===n&&(n=Object(a.d)(n)),o=Object(a.d)(o),!(t=Object(a.d)(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted?n:'
    '+n+""},h.paragraph=function(e){return"

    "+e+"

    "},t.codeBlockRenderer&&(h.code=function(e,o){var i=t.codeBlockRenderer(o,e),a=r.b.nextId(),l=Promise.all([i,c]).then((function(e){var t=e[0],o=n.querySelector('div[data-code="'+a+'"]');o&&(o.innerHTML=t)})).catch((function(e){}));return t.codeBlockRenderCallback&&l.then(t.codeBlockRenderCallback),'
    '+Object(s.escape)(e)+"
    "}),t.actionHandler&&t.actionHandler.disposeables.push(i.j(n,"click",(function(e){var o=e.target;if("A"===o.tagName||(o=o.parentElement)&&"A"===o.tagName){var n=o.dataset.href;n&&t.actionHandler.callback(n,e)}})));var d={sanitize:!0,renderer:h};return n.innerHTML=l(e.value,d),o(),n}o.d(t,"c",(function(){return c})),o.d(t,"a",(function(){return h})),o.d(t,"b",(function(){return d}));var g=function(){function e(e){this.source=e,this.index=0}return e.prototype.eos=function(){return this.index>=this.source.length},e.prototype.next=function(){var e=this.peek();return this.advance(),e},e.prototype.peek=function(){return this.source[this.index]},e.prototype.advance=function(){this.index++},e}();function p(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=function(){function e(e,t,o){this.from=0|e,this.to=0|t,this.colorId=0|o}return e.compare=function(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId},e}(),i=function(){function e(e,t,o){this.startLineNumber=e,this.endLineNumber=t,this.color=o,this._colorZone=null}return e.compare=function(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.coloro&&(g=o-p);var f=u.color,m=this._color2Id[f];m||(m=++this._lastAssignedId,this._color2Id[f]=m,this._id2Color[m]=f);var _=new n(g-p,g+p,m);u.setColorZone(_),s.push(_)}return this._colorZonesInvalid=!1,s.sort(n.compare),s},e}()},function(e,t,o){"use strict";for(var n=o(65),i=o(127),r=o(182),s=o(100),a=new Array(256),l=0;l<256;l++)a[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;a[254]=a[254]=1;function u(){s.call(this,"utf-8 decode"),this.leftOver=null}function c(){s.call(this,"utf-8 encode")}t.utf8encode=function(e){return i.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,o,n,r,s,a=e.length,l=0;for(r=0;r>>6,t[s++]=128|63&o):o<65536?(t[s++]=224|o>>>12,t[s++]=128|o>>>6&63,t[s++]=128|63&o):(t[s++]=240|o>>>18,t[s++]=128|o>>>12&63,t[s++]=128|o>>>6&63,t[s++]=128|63&o);return t}(e)},t.utf8decode=function(e){return i.nodebuffer?n.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,o,i,r,s=e.length,l=new Array(2*s);for(o=0,t=0;t4)l[o++]=65533,t+=r-1;else{for(i&=2===r?31:3===r?15:7;r>1&&t1?l[o++]=65533:i<65536?l[o++]=i:(i-=65536,l[o++]=55296|i>>10&1023,l[o++]=56320|1023&i)}return l.length!==o&&(l.subarray?l=l.subarray(0,o):l.length=o),n.applyFromCharCode(l)}(e=n.transformTo(i.uint8array?"uint8array":"array",e))},n.inherits(u,s),u.prototype.processChunk=function(e){var o=n.transformTo(i.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var r=o;(o=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),o.set(r,this.leftOver.length)}else o=this.leftOver.concat(o);this.leftOver=null}var s=function(e,t){var o;for((t=t||e.length)>e.length&&(t=e.length),o=t-1;o>=0&&128==(192&e[o]);)o--;return o<0?t:0===o?t:o+a[e[o]]>t?o:t}(o),l=o;s!==o.length&&(i.uint8array?(l=o.subarray(0,s),this.leftOver=o.subarray(s,o.length)):(l=o.slice(0,s),this.leftOver=o.slice(s,o.length))),this.push({data:t.utf8decode(l),meta:e.meta})},u.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:t.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},t.Utf8DecodeWorker=u,n.inherits(c,s),c.prototype.processChunk=function(e){this.push({data:t.utf8encode(e.data),meta:e.meta})},t.Utf8EncodeWorker=c},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var o=function(){};o.prototype=t.prototype,e.prototype=new o,e.prototype.constructor=e}}},function(e,t,o){(function(e){var n=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function r(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new r(i.call(setTimeout,n,arguments),clearTimeout)},t.setInterval=function(){return new r(i.call(setInterval,n,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(n,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},o(335),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,o(80))},function(e,t,o){"use strict";function n(e,t,o){var n=o?" !== ":" === ",i=o?" || ":" && ",r=o?"!":"",s=o?"":"!";switch(e){case"null":return t+n+"null";case"array":return r+"Array.isArray("+t+")";case"object":return"("+r+t+i+"typeof "+t+n+'"object"'+i+s+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+n+'"number"'+i+s+"("+t+" % 1)"+i+t+n+t+")";default:return"typeof "+t+n+'"'+e+'"'}}e.exports={copy:function(e,t){for(var o in t=t||{},e)t[o]=e[o];return t},checkDataType:n,checkDataTypes:function(e,t){switch(e.length){case 1:return n(e[0],t,!0);default:var o="",i=r(e);for(var s in i.array&&i.object&&(o=i.null?"(":"(!"+t+" || ",o+="typeof "+t+' !== "object")',delete i.null,delete i.array,delete i.object),i.number&&delete i.integer,i)o+=(o?" && ":"")+n(s,t,!0);return o}},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var o=[],n=0;n=t)throw new Error("Cannot access property/index "+n+" levels up, current level is "+t);return o[t-n]}if(n>t)throw new Error("Cannot access data "+n+" levels up, current level is "+t);if(r="data"+(t-n||""),!i)return r}for(var a=r,u=i.split("/"),c=0;c0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},s=this&&this.__spread||function(){for(var e=[],t=0;t=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var l=o(109),u=o(101),c=o(525),h=o(526),d=o(138),g=o(527),p=o(152);!function(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}(o(101));var f,m,_=function(){function e(){}return e.prototype.error=function(e){console.error(e)},e.prototype.warn=function(e){console.warn(e)},e.prototype.info=function(e){console.info(e)},e.prototype.log=function(e){console.log(e)},e}();!function(e){e[e.Continue=1]="Continue",e[e.Shutdown=2]="Shutdown"}(f=t.ErrorAction||(t.ErrorAction={})),function(e){e[e.DoNotRestart=1]="DoNotRestart",e[e.Restart=2]="Restart"}(m=t.CloseAction||(t.CloseAction={}));var y,v,b,E=function(){function e(e){this.name=e,this.restarts=[]}return e.prototype.error=function(e,t,o){return o&&o<=3?f.Continue:f.Shutdown},e.prototype.closed=function(){return this.restarts.push(Date.now()),this.restarts.length<5?m.Restart:this.restarts[this.restarts.length-1]-this.restarts[0]<=18e4?(l.window.showErrorMessage("The "+this.name+" server crashed 5 times in the last 3 minutes. The server will not be restarted."),m.DoNotRestart):(this.restarts.shift(),m.Restart)},e}();!function(e){e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error",e[e.Never=4]="Never"}(y=t.RevealOutputChannelOn||(t.RevealOutputChannelOn={})),function(e){e[e.Stopped=1]="Stopped",e[e.Running=2]="Running"}(v=t.State||(t.State={})),function(e){e[e.Initial=0]="Initial",e[e.Starting=1]="Starting",e[e.StartFailed=2]="StartFailed",e[e.Running=3]="Running",e[e.Stopping=4]="Stopping",e[e.Stopped=5]="Stopped"}(b||(b={}));var C,S=[u.SymbolKind.File,u.SymbolKind.Module,u.SymbolKind.Namespace,u.SymbolKind.Package,u.SymbolKind.Class,u.SymbolKind.Method,u.SymbolKind.Property,u.SymbolKind.Field,u.SymbolKind.Constructor,u.SymbolKind.Enum,u.SymbolKind.Interface,u.SymbolKind.Function,u.SymbolKind.Variable,u.SymbolKind.Constant,u.SymbolKind.String,u.SymbolKind.Number,u.SymbolKind.Boolean,u.SymbolKind.Array,u.SymbolKind.Object,u.SymbolKind.Key,u.SymbolKind.Null,u.SymbolKind.EnumMember,u.SymbolKind.Struct,u.SymbolKind.Event,u.SymbolKind.Operator,u.SymbolKind.TypeParameter],T=[u.CompletionItemKind.Text,u.CompletionItemKind.Method,u.CompletionItemKind.Function,u.CompletionItemKind.Constructor,u.CompletionItemKind.Field,u.CompletionItemKind.Variable,u.CompletionItemKind.Class,u.CompletionItemKind.Interface,u.CompletionItemKind.Module,u.CompletionItemKind.Property,u.CompletionItemKind.Unit,u.CompletionItemKind.Value,u.CompletionItemKind.Enum,u.CompletionItemKind.Keyword,u.CompletionItemKind.Snippet,u.CompletionItemKind.Color,u.CompletionItemKind.File,u.CompletionItemKind.Reference,u.CompletionItemKind.Folder,u.CompletionItemKind.EnumMember,u.CompletionItemKind.Constant,u.CompletionItemKind.Struct,u.CompletionItemKind.Event,u.CompletionItemKind.Operator,u.CompletionItemKind.TypeParameter];function w(e,t){return void 0===e[t]&&(e[t]={}),e[t]}!function(e){e.is=function(e){var t=e;return t&&d.func(t.register)&&d.func(t.unregister)&&d.func(t.dispose)&&void 0!==t.messages}}(C||(C={}));var k=function(){function e(e,t,o,n,i,r){this._client=e,this._event=t,this._type=o,this._middleware=n,this._createParams=i,this._selectorFilter=r,this._selectors=new Map}return e.textDocumentFilter=function(e,t){var o,n;try{for(var i=a(e),r=i.next();!r.done;r=i.next()){var s=r.value;if(l.languages.match(s,t))return!0}}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return!1},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=this._event(this.callback,this)),this._selectors.set(t.id,t.registerOptions.documentSelector))},e.prototype.callback=function(e){var t=this;this._selectorFilter&&!this._selectorFilter(this._selectors.values(),e)||(this._middleware?this._middleware(e,(function(e){return t._client.sendNotification(t._type,t._createParams(e))})):this._client.sendNotification(this._type,this._createParams(e)),this.notificationSent(e))},e.prototype.notificationSent=function(e){},e.prototype.unregister=function(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._selectors.clear(),this._listener&&this._listener.dispose()},e}(),O=function(e){function t(t,o){var n=e.call(this,t,l.workspace.onDidOpenTextDocument,u.DidOpenTextDocumentNotification.type,t.clientOptions.middleware.didOpen,(function(e){return t.code2ProtocolConverter.asOpenTextDocumentParams(e)}),k.textDocumentFilter)||this;return n._syncedDocuments=o,n}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidOpenTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.openClose&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t.prototype.register=function(t,o){var n=this;if(e.prototype.register.call(this,t,o),o.registerOptions.documentSelector){var i=o.registerOptions.documentSelector;l.workspace.textDocuments.forEach((function(e){var t=e.uri.toString();if(!n._syncedDocuments.has(t)&&l.languages.match(i,e)){var o=n._client.clientOptions.middleware,r=function(e){n._client.sendNotification(n._type,n._createParams(e))};o.didOpen?o.didOpen(e,r):r(e),n._syncedDocuments.set(t,e)}}))}},t.prototype.notificationSent=function(t){e.prototype.notificationSent.call(this,t),this._syncedDocuments.set(t.uri.toString(),t)},t}(k),R=function(e){function t(t,o){var n=e.call(this,t,l.workspace.onDidCloseTextDocument,u.DidCloseTextDocumentNotification.type,t.clientOptions.middleware.didClose,(function(e){return t.code2ProtocolConverter.asCloseTextDocumentParams(e)}),k.textDocumentFilter)||this;return n._syncedDocuments=o,n}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidCloseTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.openClose&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t.prototype.notificationSent=function(t){e.prototype.notificationSent.call(this,t),this._syncedDocuments.delete(t.uri.toString())},t.prototype.unregister=function(t){var o=this,n=this._selectors.get(t);e.prototype.unregister.call(this,t);var i=this._selectors.values();this._syncedDocuments.forEach((function(e){if(l.languages.match(n,e)&&!o._selectorFilter(i,e)){var t=o._client.clientOptions.middleware,r=function(e){o._client.sendNotification(o._type,o._createParams(e))};o._syncedDocuments.delete(e.uri.toString()),t.didClose?t.didClose(e,r):r(e)}}))},t}(k),N=function(){function e(e){this._client=e,this._changeData=new Map,this._forcingDelivery=!1}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeTextDocumentNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},e.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&void 0!==o.change&&o.change!==u.TextDocumentSyncKind.None&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{syncKind:o.change})})},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=l.workspace.onDidChangeTextDocument(this.callback,this)),this._changeData.set(t.id,{documentSelector:t.registerOptions.documentSelector,syncKind:t.registerOptions.syncKind}))},e.prototype.callback=function(e){var t,o,n=this;if(0!==e.contentChanges.length){var i=function(t){if(l.languages.match(t.documentSelector,e.document)){var o=r._client.clientOptions.middleware;if(t.syncKind===u.TextDocumentSyncKind.Incremental){var i=r._client.code2ProtocolConverter.asChangeTextDocumentParams(e);o.didChange?o.didChange(e,(function(){return n._client.sendNotification(u.DidChangeTextDocumentNotification.type,i)})):r._client.sendNotification(u.DidChangeTextDocumentNotification.type,i)}else if(t.syncKind===u.TextDocumentSyncKind.Full){var s=function(e){n._changeDelayer?(n._changeDelayer.uri!==e.document.uri.toString()&&(n.forceDelivery(),n._changeDelayer.uri=e.document.uri.toString()),n._changeDelayer.delayer.trigger((function(){n._client.sendNotification(u.DidChangeTextDocumentNotification.type,n._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document))}))):(n._changeDelayer={uri:e.document.uri.toString(),delayer:new g.Delayer(200)},n._changeDelayer.delayer.trigger((function(){n._client.sendNotification(u.DidChangeTextDocumentNotification.type,n._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document))}),-1))};o.didChange?o.didChange(e,s):s(e)}}},r=this;try{for(var s=a(this._changeData.values()),c=s.next();!c.done;c=s.next()){i(c.value)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(t)throw t.error}}}},e.prototype.unregister=function(e){this._changeData.delete(e),0===this._changeData.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._changeDelayer=void 0,this._forcingDelivery=!1,this._changeData.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.forceDelivery=function(){if(!this._forcingDelivery&&this._changeDelayer)try{this._forcingDelivery=!0,this._changeDelayer.delayer.forceDelivery()}finally{this._forcingDelivery=!1}},e}(),I=function(e){function t(t){return e.call(this,t,l.workspace.onWillSaveTextDocument,u.WillSaveTextDocumentNotification.type,t.clientOptions.middleware.willSave,(function(e){return t.code2ProtocolConverter.asWillSaveTextDocumentParams(e)}),(function(e,t){return k.textDocumentFilter(e,t.document)}))||this}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.WillSaveTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").willSave=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.willSave&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t}(k),L=function(){function e(e){this._client=e,this._selectors=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.WillSaveTextDocumentWaitUntilRequest.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").willSaveWaitUntil=!0},e.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.willSaveWaitUntil&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=l.workspace.onWillSaveTextDocument(this.callback,this)),this._selectors.set(t.id,t.registerOptions.documentSelector))},e.prototype.callback=function(e){var t=this;if(k.textDocumentFilter(this._selectors.values(),e.document)){var o=this._client.clientOptions.middleware,n=function(e){return t._client.sendRequest(u.WillSaveTextDocumentWaitUntilRequest.type,t._client.code2ProtocolConverter.asWillSaveTextDocumentParams(e)).then((function(e){var o=t._client.protocol2CodeConverter.asTextEdits(e);return void 0===o?[]:o}))};e.waitUntil(o.willSaveWaitUntil?o.willSaveWaitUntil(e,n):n(e))}},e.prototype.unregister=function(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)},e}(),D=function(e){function t(t){var o=e.call(this,t,l.workspace.onDidSaveTextDocument,u.DidSaveTextDocumentNotification.type,t.clientOptions.middleware.didSave,(function(e){return t.code2ProtocolConverter.asSaveTextDocumentParams(e,o._includeText)}),k.textDocumentFilter)||this;return o}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidSaveTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").didSave=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.save&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{includeText:!!o.save.includeText})})},t.prototype.register=function(t,o){this._includeText=!!o.registerOptions.includeText,e.prototype.register.call(this,t,o)},t}(k),A=function(){function e(e,t){this._client=e,this._notifyFileEvent=t,this._watchers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeWatchedFilesNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"didChangeWatchedFiles").dynamicRegistration=!0},e.prototype.initialize=function(e,t){},e.prototype.register=function(e,t){var o,n;if(Array.isArray(t.registerOptions.watchers)){var i=[];try{for(var r=a(t.registerOptions.watchers),s=r.next();!s.done;s=r.next()){var c=s.value;if(d.string(c.globPattern)){var h=!0,g=!0,p=!0;void 0!==c.kind&&null!==c.kind&&(h=0!=(c.kind&u.WatchKind.Create),g=0!=(c.kind&u.WatchKind.Change),p=0!=(c.kind&u.WatchKind.Delete));var f=l.workspace.createFileSystemWatcher(c.globPattern,!h,!g,!p);this.hookListeners(f,h,g,p),i.push(f)}}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}this._watchers.set(t.id,i)}},e.prototype.registerRaw=function(e,t){var o,n,i=[];try{for(var r=a(t),s=r.next();!s.done;s=r.next()){var l=s.value;this.hookListeners(l,!0,!0,!0,i)}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}this._watchers.set(e,i)},e.prototype.hookListeners=function(e,t,o,n,i){var r=this;t&&e.onDidCreate((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Created})}),null,i),o&&e.onDidChange((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Changed})}),null,i),n&&e.onDidDelete((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Deleted})}),null,i)},e.prototype.unregister=function(e){var t,o,n=this._watchers.get(e);if(n)try{for(var i=a(n),r=i.next();!r.done;r=i.next()){r.value.dispose()}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}},e.prototype.dispose=function(){this._watchers.forEach((function(e){var t,o;try{for(var n=a(e),i=n.next();!i.done;i=n.next()){i.value.dispose()}}catch(e){t={error:e}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(t)throw t.error}}})),this._watchers.clear()},e}(),P=function(){function e(e,t){this._client=e,this._message=t,this._providers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._message},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){if(e.method!==this.messages.method)throw new Error("Register called on wrong feature. Requested "+e.method+" but reached feature "+this.messages.method);if(t.registerOptions.documentSelector){var o=this.registerLanguageProvider(t.registerOptions);o&&this._providers.set(t.id,o)}},e.prototype.unregister=function(e){var t=this._providers.get(e);t&&t.dispose()},e.prototype.dispose=function(){this._providers.forEach((function(e){e.dispose()})),this._providers.clear()},e}();t.TextDocumentFeature=P;var x=function(){function e(e,t){this._client=e,this._message=t,this._providers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._message},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){if(e.method!==this.messages.method)throw new Error("Register called on wron feature. Requested "+e.method+" but reached feature "+this.messages.method);var o=this.registerLanguageProvider(t.registerOptions);o&&this._providers.set(t.id,o)},e.prototype.unregister=function(e){var t=this._providers.get(e);t&&t.dispose()},e.prototype.dispose=function(){this._providers.forEach((function(e){e.dispose()})),this._providers.clear()},e}(),M=function(e){function t(t){return e.call(this,t,u.CompletionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"completion");t.dynamicRegistration=!0,t.contextSupport=!0,t.completionItem={snippetSupport:!0,commitCharactersSupport:!0,documentationFormat:[u.MarkupKind.Markdown,u.MarkupKind.PlainText],deprecatedSupport:!0,preselectSupport:!0},t.completionItemKind={valueSet:T}},t.prototype.initialize=function(e,t){e.completionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.completionProvider)})},t.prototype.registerLanguageProvider=function(e){var t=e.triggerCharacters||[],o=this._client,n=function(e,t,n,i){return o.sendRequest(u.CompletionRequest.type,o.code2ProtocolConverter.asCompletionParams(e,t,n),i).then(o.protocol2CodeConverter.asCompletionResult,(function(e){return o.logFailedRequest(u.CompletionRequest.type,e),Promise.resolve([])}))},i=function(e,t){return o.sendRequest(u.CompletionResolveRequest.type,o.code2ProtocolConverter.asCompletionItem(e),t).then(o.protocol2CodeConverter.asCompletionItem,(function(t){return o.logFailedRequest(u.CompletionResolveRequest.type,t),Promise.resolve(e)}))},r=this._client.clientOptions.middleware;return l.languages.registerCompletionItemProvider.apply(l.languages,s([e.documentSelector,{provideCompletionItems:function(e,t,o,i){return r.provideCompletionItem?r.provideCompletionItem(e,t,i,o,n):n(e,t,i,o)},resolveCompletionItem:e.resolveProvider?function(e,t){return r.resolveCompletionItem?r.resolveCompletionItem(e,t,i):i(e,t)}:void 0}],t))},t}(P),B=function(e){function t(t){return e.call(this,t,u.HoverRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"hover");t.dynamicRegistration=!0,t.contentFormat=[u.MarkupKind.Markdown,u.MarkupKind.PlainText]},t.prototype.initialize=function(e,t){e.hoverProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.HoverRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asHover,(function(e){return t.logFailedRequest(u.HoverRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return l.languages.registerHoverProvider(e.documentSelector,{provideHover:function(e,t,i){return n.provideHover?n.provideHover(e,t,i,o):o(e,t,i)}})},t}(P),F=function(e){function t(t){return e.call(this,t,u.SignatureHelpRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"signatureHelp");t.dynamicRegistration=!0,t.signatureInformation={documentationFormat:[u.MarkupKind.Markdown,u.MarkupKind.PlainText]}},t.prototype.initialize=function(e,t){e.signatureHelpProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.signatureHelpProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.SignatureHelpRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asSignatureHelp,(function(e){return t.logFailedRequest(u.SignatureHelpRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware,i=e.triggerCharacters||[];return l.languages.registerSignatureHelpProvider.apply(l.languages,s([e.documentSelector,{provideSignatureHelp:function(e,t,i){return n.provideSignatureHelp?n.provideSignatureHelp(e,t,i,o):o(e,t,i)}}],i))},t}(P),H=function(e){function t(t){return e.call(this,t,u.DefinitionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"definition").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.definitionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.DefinitionRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(u.DefinitionRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return l.languages.registerDefinitionProvider(e.documentSelector,{provideDefinition:function(e,t,i){return n.provideDefinition?n.provideDefinition(e,t,i,o):o(e,t,i)}})},t}(P),U=function(e){function t(t){return e.call(this,t,u.ReferencesRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"references").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.referencesProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){return t.sendRequest(u.ReferencesRequest.type,t.code2ProtocolConverter.asReferenceParams(e,o,n),i).then(t.protocol2CodeConverter.asReferences,(function(e){return t.logFailedRequest(u.ReferencesRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerReferenceProvider(e.documentSelector,{provideReferences:function(e,t,i,r){return n.provideReferences?n.provideReferences(e,t,i,r,o):o(e,t,i,r)}})},t}(P),V=function(e){function t(t){return e.call(this,t,u.DocumentHighlightRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"documentHighlight").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentHighlightProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.DocumentHighlightRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDocumentHighlights,(function(e){return t.logFailedRequest(u.DocumentHighlightRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentHighlightProvider(e.documentSelector,{provideDocumentHighlights:function(e,t,i){return n.provideDocumentHighlights?n.provideDocumentHighlights(e,t,i,o):o(e,t,i)}})},t}(P),W=function(e){function t(t){return e.call(this,t,u.DocumentSymbolRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"documentSymbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:S},t.hierarchicalDocumentSymbolSupport=!0},t.prototype.initialize=function(e,t){e.documentSymbolProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.DocumentSymbolRequest.type,t.code2ProtocolConverter.asDocumentSymbolParams(e),o).then((function(e){if(null!==e){if(0===e.length)return[];var o=e[0];return u.DocumentSymbol.is(o)?t.protocol2CodeConverter.asDocumentSymbols(e):t.protocol2CodeConverter.asSymbolInformations(e)}}),(function(e){return t.logFailedRequest(u.DocumentSymbolRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentSymbolProvider(e.documentSelector,{provideDocumentSymbols:function(e,t){return n.provideDocumentSymbols?n.provideDocumentSymbols(e,t,o):o(e,t)}})},t}(P),j=function(e){function t(t){return e.call(this,t,u.WorkspaceSymbolRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"workspace"),"symbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:S}},t.prototype.initialize=function(e){e.workspaceSymbolProvider&&this.register(this.messages,{id:p.generateUuid(),registerOptions:void 0})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.WorkspaceSymbolRequest.type,{query:e},o).then(t.protocol2CodeConverter.asSymbolInformations,(function(e){return t.logFailedRequest(u.WorkspaceSymbolRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerWorkspaceSymbolProvider({provideWorkspaceSymbols:function(e,t){return n.provideWorkspaceSymbols?n.provideWorkspaceSymbols(e,t,o):o(e,t)}})},t}(x),G=function(e){function t(t){return e.call(this,t,u.CodeActionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"codeAction");t.dynamicRegistration=!0,t.codeActionLiteralSupport={codeActionKind:{valueSet:["",u.CodeActionKind.QuickFix,u.CodeActionKind.Refactor,u.CodeActionKind.RefactorExtract,u.CodeActionKind.RefactorInline,u.CodeActionKind.RefactorRewrite,u.CodeActionKind.Source,u.CodeActionKind.SourceOrganizeImports]}}},t.prototype.initialize=function(e,t){e.codeActionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),range:t.code2ProtocolConverter.asRange(o),context:t.code2ProtocolConverter.asCodeActionContext(n)};return t.sendRequest(u.CodeActionRequest.type,r,i).then((function(e){var o,n;if(null!==e){var i=[];try{for(var r=a(e),s=r.next();!s.done;s=r.next()){var l=s.value;u.Command.is(l)?i.push(t.protocol2CodeConverter.asCommand(l)):i.push(t.protocol2CodeConverter.asCodeAction(l))}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}}),(function(e){return t.logFailedRequest(u.CodeActionRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerCodeActionsProvider(e.documentSelector,{provideCodeActions:function(e,t,i,r){return n.provideCodeActions?n.provideCodeActions(e,t,i,r,o):o(e,t,i,r)}})},t}(P),z=function(e){function t(t){return e.call(this,t,u.CodeLensRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"codeLens").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.codeLensProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.codeLensProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.CodeLensRequest.type,t.code2ProtocolConverter.asCodeLensParams(e),o).then(t.protocol2CodeConverter.asCodeLenses,(function(e){return t.logFailedRequest(u.CodeLensRequest.type,e),Promise.resolve([])}))},n=function(e,o){return t.sendRequest(u.CodeLensResolveRequest.type,t.code2ProtocolConverter.asCodeLens(e),o).then(t.protocol2CodeConverter.asCodeLens,(function(o){return t.logFailedRequest(u.CodeLensResolveRequest.type,o),e}))},i=t.clientOptions.middleware;return l.languages.registerCodeLensProvider(e.documentSelector,{provideCodeLenses:function(e,t){return i.provideCodeLenses?i.provideCodeLenses(e,t,o):o(e,t)},resolveCodeLens:e.resolveProvider?function(e,t){return i.resolveCodeLens?i.resolveCodeLens(e,t,n):n(e,t)}:void 0})},t}(P),K=function(e){function t(t){return e.call(this,t,u.DocumentFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"formatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){var i={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),options:t.code2ProtocolConverter.asFormattingOptions(o)};return t.sendRequest(u.DocumentFormattingRequest.type,i,n).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentFormattingRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentFormattingEditProvider(e.documentSelector,{provideDocumentFormattingEdits:function(e,t,i){return n.provideDocumentFormattingEdits?n.provideDocumentFormattingEdits(e,t,i,o):o(e,t,i)}})},t}(P),Y=function(e){function t(t){return e.call(this,t,u.DocumentRangeFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"rangeFormatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentRangeFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),range:t.code2ProtocolConverter.asRange(o),options:t.code2ProtocolConverter.asFormattingOptions(n)};return t.sendRequest(u.DocumentRangeFormattingRequest.type,r,i).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentRangeFormattingRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentRangeFormattingEditProvider(e.documentSelector,{provideDocumentRangeFormattingEdits:function(e,t,i,r){return n.provideDocumentRangeFormattingEdits?n.provideDocumentRangeFormattingEdits(e,t,i,r,o):o(e,t,i,r)}})},t}(P),X=function(e){function t(t){return e.call(this,t,u.DocumentOnTypeFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"onTypeFormatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentOnTypeFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.documentOnTypeFormattingProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=e.moreTriggerCharacter||[],n=function(e,o,n,i,r){var s={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),position:t.code2ProtocolConverter.asPosition(o),ch:n,options:t.code2ProtocolConverter.asFormattingOptions(i)};return t.sendRequest(u.DocumentOnTypeFormattingRequest.type,s,r).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentOnTypeFormattingRequest.type,e),Promise.resolve([])}))},i=t.clientOptions.middleware;return l.languages.registerOnTypeFormattingEditProvider.apply(l.languages,s([e.documentSelector,{provideOnTypeFormattingEdits:function(e,t,o,r,s){return i.provideOnTypeFormattingEdits?i.provideOnTypeFormattingEdits(e,t,o,r,s,n):n(e,t,o,r,s)}},e.firstTriggerCharacter],o))},t}(P),q=function(e){function t(t){return e.call(this,t,u.RenameRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"rename").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.renameProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),position:t.code2ProtocolConverter.asPosition(o),newName:n};return t.sendRequest(u.RenameRequest.type,r,i).then(t.protocol2CodeConverter.asWorkspaceEdit,(function(e){return t.logFailedRequest(u.RenameRequest.type,e),Promise.reject(new Error(e.message))}))},n=t.clientOptions.middleware;return l.languages.registerRenameProvider(e.documentSelector,{provideRenameEdits:function(e,t,i,r){return n.provideRenameEdits?n.provideRenameEdits(e,t,i,r,o):o(e,t,i,r)}})},t}(P),$=function(e){function t(t){return e.call(this,t,u.DocumentLinkRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"documentLink").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentLinkProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.documentLinkProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.DocumentLinkRequest.type,t.code2ProtocolConverter.asDocumentLinkParams(e),o).then(t.protocol2CodeConverter.asDocumentLinks,(function(e){t.logFailedRequest(u.DocumentLinkRequest.type,e),Promise.resolve(new Error(e.message))}))},n=function(e,o){return t.sendRequest(u.DocumentLinkResolveRequest.type,t.code2ProtocolConverter.asDocumentLink(e),o).then(t.protocol2CodeConverter.asDocumentLink,(function(e){t.logFailedRequest(u.DocumentLinkResolveRequest.type,e),Promise.resolve(new Error(e.message))}))},i=t.clientOptions.middleware;return l.languages.registerDocumentLinkProvider(e.documentSelector,{provideDocumentLinks:function(e,t){return i.provideDocumentLinks?i.provideDocumentLinks(e,t,o):o(e,t)},resolveDocumentLink:e.resolveProvider?function(e,t){return i.resolveDocumentLink?i.resolveDocumentLink(e,t,n):n(e,t)}:void 0})},t}(P),J=function(){function e(e){this._client=e,this._listeners=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeConfigurationNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"didChangeConfiguration").dynamicRegistration=!0},e.prototype.initialize=function(){var e=this._client.clientOptions.synchronize.configurationSection;void 0!==e&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{section:e}})},e.prototype.register=function(e,t){var o=this,n=l.workspace.onDidChangeConfiguration((function(e){o.onDidChangeConfiguration(t.registerOptions.section,e)}));this._listeners.set(t.id,n),void 0!==t.registerOptions.section&&this.onDidChangeConfiguration(t.registerOptions.section,void 0)},e.prototype.unregister=function(e){var t=this._listeners.get(e);t&&(this._listeners.delete(e),t.dispose())},e.prototype.dispose=function(){var e,t;try{for(var o=a(this._listeners.values()),n=o.next();!n.done;n=o.next()){n.value.dispose()}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}this._listeners.clear()},e.prototype.onDidChangeConfiguration=function(e,t){var o,n=this;if(void 0!==(o=d.string(e)?[e]:e)&&void 0!==t&&!o.some((function(e){return t.affectsConfiguration(e)})))return;var i=function(e){void 0!==e?n._client.sendNotification(u.DidChangeConfigurationNotification.type,{settings:n.extractSettingsInformation(e)}):n._client.sendNotification(u.DidChangeConfigurationNotification.type,{settings:null})},r=this.getMiddleware();r?r(o,i):i(o)},e.prototype.extractSettingsInformation=function(e){function t(e,t){for(var o=e,n=0;n=0?l.workspace.getConfiguration(r.substr(0,s),o).get(r.substr(s+1)):l.workspace.getConfiguration(r,o)){var u=e[i].split(".");t(n,u)[u[u.length-1]]=a}}return n},e.prototype.getMiddleware=function(){var e=this._client.clientOptions.middleware;return e.workspace&&e.workspace.didChangeConfiguration?e.workspace.didChangeConfiguration:void 0},e}(),Z=function(){function e(e){this._client=e,this._commands=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.ExecuteCommandRequest.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"executeCommand").dynamicRegistration=!0},e.prototype.initialize=function(e){e.executeCommandProvider&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},e.executeCommandProvider)})},e.prototype.register=function(e,t){var o,n,i=this._client;if(t.registerOptions.commands){var r=[],s=function(e){r.push(l.commands.registerCommand(e,(function(){for(var t=[],o=0;o=0){var h=i.get(c.textDocument.uri);if(h&&h.version!==c.textDocument.version){r=!0;break}}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(o=s.return)&&o.call(s)}finally{if(t)throw t.error}}return r?Promise.resolve({applied:!1}):l.workspace.applyEdit(this._p2c.asWorkspaceEdit(e.edit)).then((function(e){return{applied:e}}))},t.prototype.logFailedRequest=function(e,t){t instanceof u.ResponseError&&t.code===u.ErrorCodes.RequestCancelled||this.error("Request "+e.method+" failed.",t)},t}();t.BaseLanguageClient=Q}).call(this,o(108))},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this._value=e}return e.prototype.asHex=function(){return this._value},e.prototype.equals=function(e){return this.asHex()===e.asHex()},e}(),s=function(e){function t(){return e.call(this,[t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-","4",t._randomHex(),t._randomHex(),t._randomHex(),"-",t._oneOf(t._timeHighBits),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex()].join(""))||this}return i(t,e),t._oneOf=function(e){return e[Math.floor(e.length*Math.random())]},t._randomHex=function(){return t._oneOf(t._chars)},t._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],t._timeHighBits=["8","9","a","b"],t}(r);function a(){return new s}t.empty=new r("00000000-0000-0000-0000-000000000000"),t.v4=a;var l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function u(e){return l.test(e)}t.isUUID=u,t.parse=function(e){if(!u(e))throw new Error("invalid uuid");return new r(e)},t.generateUuid=function(){return a().asHex()}},function(e,t,o){"use strict";o.r(t),o.d(t,"ToggleTabFocusModeAction",(function(){return l}));var n,i=o(0),r=o(3),s=o(131),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){return e.call(this,{id:t.ID,label:i.a({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),alias:"Toggle Tab Key Moves Focus",precondition:null,kbOpts:{kbExpr:null,primary:2091,mac:{primary:1323},weight:100}})||this}return a(t,e),t.prototype.run=function(e,t){var o=s.b.getTabFocusMode();s.b.setTabFocusMode(!o)},t.ID="editor.action.toggleTabFocusMode",t}(r.b);Object(r.f)(l)},function(e,t,o){"use strict";o.r(t),o.d(t,"DefinitionActionConfig",(function(){return C})),o.d(t,"DefinitionAction",(function(){return S})),o.d(t,"GoToDefinitionAction",(function(){return w})),o.d(t,"OpenDefinitionToSideAction",(function(){return k})),o.d(t,"PeekDefinitionAction",(function(){return O})),o.d(t,"ImplementationAction",(function(){return R})),o.d(t,"GoToImplementationAction",(function(){return N})),o.d(t,"PeekImplementationAction",(function(){return I})),o.d(t,"TypeDefinitionAction",(function(){return L})),o.d(t,"GoToTypeDefinitionAction",(function(){return D})),o.d(t,"PeekTypeDefinitionAction",(function(){return A}));var n,i=o(0),r=o(59),s=o(39),a=o(15),l=o(36),u=o(2),c=o(3),h=o(164),d=o(99),g=o(56),p=o(113),f=o(12),m=o(142),_=o(5),y=o(129),v=o(45),b=o(17),E=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),C=function(e,t,o,n){void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===o&&(o=!0),void 0===n&&(n=!0),this.openToSide=e,this.openInPeek=t,this.filterCurrent=o,this.showMessage=n},S=function(e){function t(t,o){var n=e.call(this,o)||this;return n._configuration=t,n}return E(t,e),t.prototype.run=function(e,t){var o=this,n=e.get(v.a),i=e.get(l.a),r=e.get(y.a),s=t.getModel(),a=t.getPosition(),c=this._getDeclarationsAtPosition(s,a).then((function(e){if(!s.isDisposed()&&t.getModel()===s){for(var n=-1,r=[],l=0;l1&&i.a("meta.title"," – {0} definitions",e.references.length)},t.prototype._onResult=function(e,t,o){var n=this,i=o.getAriaMessage();if(Object(r.a)(i),this._configuration.openInPeek)this._openInPeek(e,t,o);else{var s=o.nearestReference(t.getModel().uri,t.getPosition());this._openReference(t,e,s,this._configuration.openToSide).then((function(t){t&&o.references.length>1?n._openInPeek(e,t,o):o.dispose()}))}},t.prototype._openReference=function(e,t,o,n){var i=o.uri,r=o.range;return t.openCodeEditor({resource:i,options:{selection:u.a.collapseToStart(r),revealIfOpened:!0,revealInCenterIfOutsideViewport:!0}},e,n)},t.prototype._openInPeek=function(e,t,o){var n=this,i=d.a.get(t);i?i.toggleWidget(t.getSelection(),Object(b.i)((function(e){return Promise.resolve(o)})),{getMetaTitle:function(e){return n._getMetaTitle(e)},onGoto:function(o){return i.closeWidget(),n._openReference(t,e,o,!1)}}):o.dispose()},t}(c.b),T=a.f?2118:70,w=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:f.d.and(_.a.hasDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:T,weight:100},menuOpts:{group:"navigation",order:1.1}})||this}return E(t,e),t.ID="editor.action.goToDeclaration",t}(S),k=function(e){function t(){return e.call(this,new C(!0),{id:t.ID,label:i.a("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:f.d.and(_.a.hasDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:Object(s.a)(2089,T),weight:100}})||this}return E(t,e),t.ID="editor.action.openDeclarationToTheSide",t}(S),O=function(e){function t(){return e.call(this,new C(void 0,!0,!1),{id:"editor.action.previewDeclaration",label:i.a("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:f.d.and(_.a.hasDefinitionProvider,p.a.notInPeekEditor,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menuOpts:{group:"navigation",order:1.2}})||this}return E(t,e),t}(S),R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return Object(h.b)(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?i.a("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):i.a("goToImplementation.generic.noResults","No implementation found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&i.a("meta.implementations.title"," – {0} implementations",e.references.length)},t}(S),N=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToImplementation.label","Go to Implementation"),alias:"Go to Implementation",precondition:f.d.and(_.a.hasImplementationProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:2118,weight:100}})||this}return E(t,e),t.ID="editor.action.goToImplementation",t}(R),I=function(e){function t(){return e.call(this,new C(!1,!0,!1),{id:t.ID,label:i.a("actions.peekImplementation.label","Peek Implementation"),alias:"Peek Implementation",precondition:f.d.and(_.a.hasImplementationProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:3142,weight:100}})||this}return E(t,e),t.ID="editor.action.peekImplementation",t}(R),L=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return Object(h.c)(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?i.a("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):i.a("goToTypeDefinition.generic.noResults","No type definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&i.a("meta.typeDefinitions.title"," – {0} type definitions",e.references.length)},t}(S),D=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:f.d.and(_.a.hasTypeDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:0,weight:100},menuOpts:{group:"navigation",order:1.4}})||this}return E(t,e),t.ID="editor.action.goToTypeDefinition",t}(L),A=function(e){function t(){return e.call(this,new C(!1,!0,!1),{id:t.ID,label:i.a("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:f.d.and(_.a.hasTypeDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:0,weight:100}})||this}return E(t,e),t.ID="editor.action.peekTypeDefinition",t}(L);Object(c.f)(w),Object(c.f)(k),Object(c.f)(O),Object(c.f)(N),Object(c.f)(I),Object(c.f)(D),Object(c.f)(A)},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return i}));var n=function(){function e(e){this._prefix=e,this._lastId=0}return e.prototype.nextId=function(){return this._prefix+ ++this._lastId},e}(),i=new n("id#")},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("IWorkspaceEditService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return f}));var n,i=o(31),r=o(22),s=o(37),a=o(12),l=o(36),u=o(140),c=o(19),h=o(45),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},p=function(e,t){return function(o,n){t(o,n,e)}},f=function(e){function t(t,o,n,i,r,s,a,l,u){var c=e.call(this,t,n.getRawConfiguration(),{},i,r,s,a,l,u)||this;return c._parentEditor=n,c._overwriteOptions=o,e.prototype.updateOptions.call(c,c._overwriteOptions),c._register(n.onDidChangeConfiguration((function(e){return c._onParentConfigurationChanged(e)}))),c}return d(t,e),t.prototype.getParentEditor=function(){return this._parentEditor},t.prototype._onParentConfigurationChanged=function(t){e.prototype.updateOptions.call(this,this._parentEditor.getRawConfiguration()),e.prototype.updateOptions.call(this,this._overwriteOptions)},t.prototype.updateOptions=function(t){i.g(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=g([p(3,r.a),p(4,l.a),p(5,s.b),p(6,a.e),p(7,c.c),p(8,h.a)],t)}(u.a)},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s}));var n=o(92),i=function(e,t){this.index=e,this.remainder=t},r=function(){function e(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValues=function(e,t){e=Object(n.b)(e);var o=this.values,i=this.prefixSum,r=t.length;return 0!==r&&(this.values=new Uint32Array(o.length+r),this.values.set(o.subarray(0,e),0),this.values.set(o.subarray(e),e+r),this.values.set(t,e),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=Object(n.b)(e),t=Object(n.b)(t),this.values[e]!==t&&(this.values[e]=t,e-1=o.length)return!1;var r=o.length-e;return t>=r&&(t=r),0!==t&&(this.values=new Uint32Array(o.length-t),this.values.set(o.subarray(0,e),0),this.values.set(o.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=Object(n.b)(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var o=t;o<=e;o++)this.prefixSum[o]=this.prefixSum[o-1]+this.values[o];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t,o,n,r=0,s=this.values.length-1;r<=s;)if(t=r+(s-r)/2|0,e<(n=(o=this.prefixSum[t])-this.values[t]))s=t-1;else{if(!(e>=o))break;r=t+1}return new i(t,e-n)},e}(),s=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new r(e),this._bustCache()}return e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(var o=0;o=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},g=function(e,t){return function(o,n){t(o,n,e)}},p=function(){function e(e,t,o){void 0===o&&(o=i.b),this._editor=e,this._modeService=t,this._openerService=o,this._onDidRenderCodeBlock=new c.a,this.onDidRenderCodeBlock=this._onDidRenderCodeBlock.event}return e.prototype.getOptions=function(e){var t=this;return{codeBlockRenderer:function(e,o){var n=e?t._modeService.getModeIdForLanguageName(e):t._editor.getModel().getLanguageIdentifier().language;return t._modeService.getOrCreateMode(n).then((function(e){return Object(l.b)(o,n)})).then((function(e){return''+e+""}))},codeBlockRenderCallback:function(){return t._onDidRenderCodeBlock.fire()},actionHandler:{callback:function(e){t._openerService.open(s.a.parse(e)).then(void 0,a.e)},disposeables:e}}},e.prototype.render=function(e){var t=[];return{element:e?Object(n.b)(e,this.getOptions(t)):document.createElement("span"),dispose:function(){return Object(h.d)(t)}}},e=d([g(1,r.a),g(2,Object(u.d)(i.a))],e)}()},function(e,t,o){"use strict";o(477);var n,i,r=o(0),s=o(10),a=o(15),l=o(21),u=o(13),c=o(97),h=function(){function e(e){this.modelProvider=Object(l.e)(e.getModel)?e:{getModel:function(){return e}}}return e.prototype.getId=function(e,t){if(!t)return null;var o=this.modelProvider.getModel();return o===t?"__root__":o.dataSource.getId(t)},e.prototype.hasChildren=function(e,t){var o=this.modelProvider.getModel();return o&&o===t&&o.entries.length>0},e.prototype.getChildren=function(e,t){var o=this.modelProvider.getModel();return s.b.as(o===t?o.entries:[])},e.prototype.getParent=function(e,t){return s.b.as(null)},e}(),d=function(){function e(e){this.modelProvider=e}return e.prototype.getAriaLabel=function(e,t){var o=this.modelProvider.getModel();return o.accessibilityProvider&&o.accessibilityProvider.getAriaLabel(t)},e.prototype.getPosInSet=function(e,t){var o=this.modelProvider.getModel();return String(o.entries.indexOf(t)+1)},e.prototype.getSetSize=function(){var e=this.modelProvider.getModel();return String(e.entries.length)},e}(),g=function(){function e(e){this.modelProvider=e}return e.prototype.isVisible=function(e,t){var o=this.modelProvider.getModel();return!o.filter||o.filter.isVisible(t)},e}(),p=function(){function e(e,t){this.modelProvider=e,this.styles=t}return e.prototype.updateStyles=function(e){this.styles=e},e.prototype.getHeight=function(e,t){return this.modelProvider.getModel().renderer.getHeight(t)},e.prototype.getTemplateId=function(e,t){return this.modelProvider.getModel().renderer.getTemplateId(t)},e.prototype.renderTemplate=function(e,t,o){return this.modelProvider.getModel().renderer.renderTemplate(t,o,this.styles)},e.prototype.renderElement=function(e,t,o,n){this.modelProvider.getModel().renderer.renderElement(t,o,n,this.styles)},e.prototype.disposeTemplate=function(e,t,o){this.modelProvider.getModel().renderer.disposeTemplate(t,o)},e}(),f=o(34),m=o(162),_=o(212),y=(o(478),o(1)),v=o(6),b=o(14),E=o(31),C=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),S={progressBarBackground:b.a.fromHex("#0E70C0")},T=function(e){function t(t,o){var n=e.call(this)||this;return n.options=o||Object.create(null),Object(E.g)(n.options,S,!1),n.workedVal=0,n.progressBarBackground=n.options.progressBarBackground,n.create(t),n}return C(t,e),t.prototype.create=function(e){var t=this;Object(f.a)(e).div({class:"monaco-progress-container"},(function(e){t.element=e.clone(),e.div({class:"progress-bit"}).on([y.d.ANIMATION_START,y.d.ANIMATION_END,y.d.ANIMATION_ITERATION],(function(e){switch(e.type){case y.d.ANIMATION_ITERATION:t.animationStopToken&&t.animationStopToken(null)}}),t.toDispose),t.bit=e.getHTMLElement()})),this.applyStyles()},t.prototype.off=function(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.removeClass("active"),this.element.removeClass("infinite"),this.element.removeClass("discrete"),this.workedVal=0,this.totalWork=void 0},t.prototype.stop=function(){return this.doDone(!1)},t.prototype.doDone=function(e){var t=this;return this.element.addClass("done"),this.element.hasClass("infinite")?(this.bit.style.opacity="0",e?s.b.timeout(200).then((function(){return t.off()})):this.off()):(this.bit.style.width="inherit",e?s.b.timeout(200).then((function(){return t.off()})):this.off()),this},t.prototype.hide=function(){this.element.hide()},t.prototype.style=function(e){this.progressBarBackground=e.progressBarBackground,this.applyStyles()},t.prototype.applyStyles=function(){if(this.bit){var e=this.progressBarBackground?this.progressBarBackground.toString():null;this.bit.style.backgroundColor=e}},t}(v.a),w=o(51),k=o(75),O=o(42),R=o(41),N=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return N(t,e),t.prototype.onContextMenu=function(t,o,n){return a.d?this.onLeftClick(t,o,n):e.prototype.onContextMenu.call(this,t,o,n)},t}(k.c);!function(e){e[e.ELEMENT_SELECTED=0]="ELEMENT_SELECTED",e[e.FOCUS_LOST=1]="FOCUS_LOST",e[e.CANCELED=2]="CANCELED"}(i||(i={}));var L={background:b.a.fromHex("#1E1E1E"),foreground:b.a.fromHex("#CCCCCC"),pickerGroupForeground:b.a.fromHex("#0097FB"),pickerGroupBorder:b.a.fromHex("#3F3F46"),widgetShadow:b.a.fromHex("#000000"),progressBarBackground:b.a.fromHex("#0E70C0")},D=r.a("quickOpenAriaLabel","Quick picker. Type to narrow down results."),A=function(e){function t(t,o,n){var i=e.call(this)||this;return i.isDisposed=!1,i.container=t,i.callbacks=o,i.options=n,i.styles=n||Object.create(null),Object(E.g)(i.styles,L,!1),i.model=null,i}return N(t,e),t.prototype.getModel=function(){return this.model},t.prototype.create=function(){var e=this;return this.builder=Object(f.a)().div((function(t){t.on(y.d.KEY_DOWN,(function(t){var o=new w.a(t);if(9===o.keyCode)y.c.stop(t,!0),e.hide(i.CANCELED);else if(2===o.keyCode&&!o.altKey&&!o.ctrlKey&&!o.metaKey){var n=t.currentTarget.querySelectorAll("input, .monaco-tree, .monaco-tree-row.focused .action-label.icon");o.shiftKey&&o.target===n[0]?(y.c.stop(t,!0),n[n.length-1].focus()):o.shiftKey||o.target!==n[n.length-1]||(y.c.stop(t,!0),n[0].focus())}})).on(y.d.CONTEXT_MENU,(function(e){return y.c.stop(e,!0)})).on(y.d.FOCUS,(function(t){return e.gainingFocus()}),null,!0).on(y.d.BLUR,(function(t){return e.loosingFocus(t)}),null,!0),e.progressBar=e._register(new T(t.clone(),{progressBarBackground:e.styles.progressBarBackground})),e.progressBar.hide(),t.div({class:"quick-open-input"},(function(t){e.inputContainer=t,e.inputBox=e._register(new m.b(t.getHTMLElement(),null,{placeholder:e.options.inputPlaceHolder||"",ariaLabel:D,inputBackground:e.styles.inputBackground,inputForeground:e.styles.inputForeground,inputBorder:e.styles.inputBorder,inputValidationInfoBackground:e.styles.inputValidationInfoBackground,inputValidationInfoBorder:e.styles.inputValidationInfoBorder,inputValidationWarningBackground:e.styles.inputValidationWarningBackground,inputValidationWarningBorder:e.styles.inputValidationWarningBorder,inputValidationErrorBackground:e.styles.inputValidationErrorBackground,inputValidationErrorBorder:e.styles.inputValidationErrorBorder})),e.inputElement=e.inputBox.inputElement,e.inputElement.setAttribute("role","combobox"),e.inputElement.setAttribute("aria-haspopup","false"),e.inputElement.setAttribute("aria-autocomplete","list"),y.g(e.inputBox.inputElement,y.d.KEY_DOWN,(function(t){var o=new w.a(t),n=e.shouldOpenInBackground(o);if(2!==o.keyCode)if(18===o.keyCode||16===o.keyCode||12===o.keyCode||11===o.keyCode)y.c.stop(t,!0),e.navigateInTree(o.keyCode,o.shiftKey),e.inputBox.inputElement.selectionStart===e.inputBox.inputElement.selectionEnd&&(e.inputBox.inputElement.selectionStart=e.inputBox.value.length);else if(3===o.keyCode||n){y.c.stop(t,!0);var i=e.tree.getFocus();i&&e.elementSelected(i,t,n?c.a.OPEN_IN_BACKGROUND:c.a.OPEN)}})),y.g(e.inputBox.inputElement,y.d.INPUT,(function(t){e.onType()}))})),e.resultCount=t.div({class:"quick-open-result-count","aria-live":"polite"}).clone(),e.treeContainer=t.div({class:"quick-open-tree"},(function(t){var o=e.options.treeCreator||function(e,t,o){return new _.a(e,t,o)};e.tree=e._register(o(t.getHTMLElement(),{dataSource:new h(e),controller:new I({clickBehavior:k.a.ON_MOUSE_UP,keyboardSupport:e.options.keyboardSupport}),renderer:e.renderer=new p(e,e.styles),filter:new g(e),accessibilityProvider:new d(e)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:O.b.Visible,horizontalScrollMode:O.b.Hidden,ariaLabel:r.a("treeAriaLabel","Quick Picker"),keyboardSupport:e.options.keyboardSupport,preventRootFocus:!1})),e.treeElement=e.tree.getHTMLElement(),e._register(e.tree.onDidChangeFocus((function(t){e.elementFocused(t.focus,t)}))),e._register(e.tree.onDidChangeSelection((function(t){if(t.selection&&t.selection.length>0){var o=t.payload&&t.payload.originalEvent instanceof R.b?t.payload.originalEvent:void 0,n=!!o&&e.shouldOpenInBackground(o);e.elementSelected(t.selection[0],t,n?c.a.OPEN_IN_BACKGROUND:c.a.OPEN)}})))})).on(y.d.KEY_DOWN,(function(t){var o=new w.a(t);e.quickNavigateConfiguration&&(18!==o.keyCode&&16!==o.keyCode&&12!==o.keyCode&&11!==o.keyCode||(y.c.stop(t,!0),e.navigateInTree(o.keyCode)))})).on(y.d.KEY_UP,(function(t){var o=new w.a(t),n=o.keyCode;if(e.quickNavigateConfiguration){var i=e.quickNavigateConfiguration.keybindings;if(3===n||i.some((function(e){var t=e.getParts(),i=t[0];return!t[1]&&(i.shiftKey&&4===n?!(o.ctrlKey||o.altKey||o.metaKey):!(!i.altKey||6!==n)||(!(!i.ctrlKey||5!==n)||!(!i.metaKey||57!==n)))}))){var r=e.tree.getFocus();r&&e.elementSelected(r,t)}}})).clone()})).addClass("monaco-quick-open-widget").build(this.container),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),y.g(this.treeContainer.getHTMLElement(),y.d.KEY_DOWN,(function(t){var o=new w.a(t);e.quickNavigateConfiguration||18!==o.keyCode&&16!==o.keyCode&&12!==o.keyCode&&11!==o.keyCode||(y.c.stop(t,!0),e.navigateInTree(o.keyCode,o.shiftKey),e.treeElement.focus())})),this.builder.getHTMLElement()},t.prototype.style=function(e){this.styles=e,this.applyStyles()},t.prototype.applyStyles=function(){if(this.builder){var e=this.styles.foreground?this.styles.foreground.toString():null,t=this.styles.background?this.styles.background.toString():null,o=this.styles.borderColor?this.styles.borderColor.toString():null,n=this.styles.widgetShadow?this.styles.widgetShadow.toString():null;this.builder.style("color",e),this.builder.style("background-color",t),this.builder.style("border-color",o),this.builder.style("border-width",o?"1px":null),this.builder.style("border-style",o?"solid":null),this.builder.style("box-shadow",n?"0 5px 8px "+n:null)}this.progressBar&&this.progressBar.style({progressBarBackground:this.styles.progressBarBackground}),this.inputBox&&this.inputBox.style({inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder}),this.tree&&!this.options.treeCreator&&this.tree.style(this.styles),this.renderer&&this.renderer.updateStyles(this.styles)},t.prototype.shouldOpenInBackground=function(e){if(e instanceof w.a){if(17!==e.keyCode)return!1;if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;var t=this.inputBox.inputElement;return t.selectionEnd===this.inputBox.value.length&&t.selectionStart===t.selectionEnd}return e.middleButton},t.prototype.onType=function(){var e=this.inputBox.value;this.helpText&&(e?this.helpText.hide():this.helpText.show()),this.callbacks.onType(e)},t.prototype.navigateInTree=function(e,t){var o=this.tree.getInput(),n=o?o.entries:[],i=this.tree.getFocus();switch(e){case 18:this.tree.focusNext();break;case 16:this.tree.focusPrevious();break;case 12:this.tree.focusNextPage();break;case 11:this.tree.focusPreviousPage();break;case 2:t?this.tree.focusPrevious():this.tree.focusNext()}var r=this.tree.getFocus();n.length>1&&i===r&&(16===e||2===e&&t?this.tree.focusLast():(18===e||2===e&&!t)&&this.tree.focusFirst()),(r=this.tree.getFocus())&&this.tree.reveal(r).done(null,u.e)},t.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){this.inputElement.setAttribute("aria-activedescendant",this.treeElement.getAttribute("aria-activedescendant"));var o={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,c.a.PREVIEW,o)}},t.prototype.elementSelected=function(e,t,o){var n=!0;if(this.isVisible()){var r=o||c.a.OPEN,s={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};n=this.model.runner.run(e,r,s)}n&&this.hide(i.ELEMENT_SELECTED)},t.prototype.extractKeyMods=function(e){return{ctrlCmd:e&&(e.ctrlKey||e.metaKey||e.payload&&e.payload.originalEvent&&(e.payload.originalEvent.ctrlKey||e.payload.originalEvent.metaKey)),alt:e&&(e.altKey||e.payload&&e.payload.originalEvent&&e.payload.originalEvent.altKey)}},t.prototype.show=function(e,t){this.visible=!0,this.isLoosingFocus=!1,this.quickNavigateConfiguration=t?t.quickNavigateConfiguration:void 0,this.quickNavigateConfiguration?(this.inputContainer.hide(),this.builder.show(),this.tree.domFocus()):(this.inputContainer.show(),this.builder.show(),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||l.h(e)?this.helpText.hide():this.helpText.show()),l.h(e)?this.doShowWithPrefix(e):this.doShowWithInput(e,t&&t.autoFocus?t.autoFocus:{}),t&&t.inputSelection&&!this.quickNavigateConfiguration&&this.inputBox.select(t.inputSelection),this.callbacks.onShow&&this.callbacks.onShow()},t.prototype.doShowWithPrefix=function(e){this.inputBox.value=e,this.callbacks.onType(e)},t.prototype.doShowWithInput=function(e,t){this.setInput(e,t)},t.prototype.setInputAndLayout=function(e,t){var o=this;this.treeContainer.style({height:this.getHeight(e)+"px"}),this.tree.setInput(null).then((function(){return o.model=e,o.inputElement.setAttribute("aria-haspopup",String(e&&e.entries&&e.entries.length>0)),o.tree.setInput(e)})).done((function(){o.tree.layout();var n=e?e.entries.filter((function(t){return o.isElementVisible(e,t)})):[];o.updateResultCount(n.length),n.length&&o.autoFocus(e,n,t)}),u.e)},t.prototype.isElementVisible=function(e,t){return!e.filter||e.filter.isVisible(t)},t.prototype.autoFocus=function(e,t,o){if(void 0===o&&(o={}),o.autoFocusPrefixMatch){for(var n=void 0,i=void 0,r=o.autoFocusPrefixMatch,s=r.toLowerCase(),a=0;ao.autoFocusIndex&&(this.tree.focusNth(o.autoFocusIndex),this.tree.reveal(this.tree.getFocus()).done(null,u.e)):o.autoFocusSecondEntry?t.length>1&&this.tree.focusNth(1):o.autoFocusLastEntry&&t.length>1&&this.tree.focusLast()},t.prototype.getHeight=function(e){var o=this,n=e.renderer;if(!e){var i=n.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*i:0}var r,s=0;this.layoutDimensions&&this.layoutDimensions.height&&(r=.4*(this.layoutDimensions.height-50)),(!r||r>t.MAX_ITEMS_HEIGHT)&&(r=t.MAX_ITEMS_HEIGHT);for(var a=e.entries.filter((function(t){return o.isElementVisible(e,t)})),l=this.options.maxItemsToShow||a.length,u=0;u=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},j=function(e,t){return function(o,n){t(o,n,e)}},G=function(){function e(e,t){this.themeService=t,this.editor=e}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.widget&&(this.widget.destroy(),this.widget=null)},e.prototype.run=function(e){var t=this;this.widget&&(this.widget.destroy(),this.widget=null);var o=function(e){t.clearDecorations(),e&&t.lastKnownEditorSelection&&(t.editor.setSelection(t.lastKnownEditorSelection),t.editor.revealRangeInCenterIfOutsideViewport(t.lastKnownEditorSelection,0)),t.lastKnownEditorSelection=null,t.editor.focus()};this.widget=new B(this.editor,(function(){return o(!1)}),(function(){return o(!0)}),(function(o){t.widget.setInput(e.getModel(o),e.getAutoFocus(o))}),{inputAriaLabel:e.inputAriaLabel},this.themeService),this.lastKnownEditorSelection||(this.lastKnownEditorSelection=this.editor.getSelection()),this.widget.show("")},e.prototype.decorateLine=function(t,o){var n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId),this.rangeHighlightDecorationId=null);var i=[{range:t,options:e._RANGE_HIGHLIGHT_DECORATION}],r=o.deltaDecorations(n,i);this.rangeHighlightDecorationId=r[0]},e.prototype.clearDecorations=function(){this.rangeHighlightDecorationId&&(this.editor.deltaDecorations([this.rangeHighlightDecorationId],[]),this.rangeHighlightDecorationId=null)},e.ID="editor.controller.quickOpenController",e._RANGE_HIGHLIGHT_DECORATION=U.a.register({className:"rangeHighlight",isWholeLine:!0}),e=W([j(1,H.c)],e)}(),z=function(e){function t(t,o){var n=e.call(this,o)||this;return n._inputAriaLabel=t,n}return V(t,e),t.prototype.getController=function(e){return G.get(e)},t.prototype._show=function(e,t){e.run({inputAriaLabel:this._inputAriaLabel,getModel:function(e){return t.getModel(e)},getAutoFocus:function(e){return t.getAutoFocus(e)}})},t}(F.b);Object(F.h)(G)},function(e,t,o){"use strict";o(443);var n=o(0),i=o(24),r=o(1),s=o(144),a=o(59),l=o(74),u=o(205),c=o(4),h=o(60),d=o(14),g=o(31),p=o(112),f=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=10),this._initialize(e),this._limit=t,this._onChange()}return e.prototype.add=function(e){this._history.delete(e),this._history.add(e),this._onChange()},e.prototype.next=function(){return this._navigator.next()},e.prototype.previous=function(){return this._navigator.previous()},e.prototype.current=function(){return this._navigator.current()},e.prototype.parent=function(){return null},e.prototype.first=function(){return this._navigator.first()},e.prototype.last=function(){return this._navigator.last()},e.prototype.has=function(e){return this._history.has(e)},e.prototype._onChange=function(){this._reduceToLimit(),this._navigator=new p.b(this._elements,0,this._elements.length,this._elements.length)},e.prototype._reduceToLimit=function(){var e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))},e.prototype._initialize=function(e){this._history=new Set;for(var t=0,o=e;t0||this.m_modifiedCount>0)&&this.m_changes.push(new n(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),u=function(){function e(e,t,o){void 0===o&&(o=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=o,this.m_forwardHistory=[],this.m_reverseHistory=[]}return e.prototype.ElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.OriginalElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.OriginalSequence.getElementAtIndex(t)},e.prototype.ModifiedElementsAreEqual=function(e,t){return this.ModifiedSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.ComputeDiff=function(e){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1,e)},e.prototype._ComputeDiff=function(e,t,o,n,i){var r=this.ComputeDiffRecursive(e,t,o,n,[!1]);return i?this.ShiftChanges(r):r},e.prototype.ComputeDiffRecursive=function(e,t,o,i,r){for(r[0]=!1;e<=t&&o<=i&&this.ElementsAreEqual(e,o);)e++,o++;for(;t>=e&&i>=o&&this.ElementsAreEqual(t,i);)t--,i--;if(e>t||o>i){var a=void 0;return o<=i?(s.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a=[new n(e,0,o,i-o+1)]):e<=t?(s.Assert(o===i+1,"modifiedStart should only be one more than modifiedEnd"),a=[new n(e,t-e+1,o,0)]):(s.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s.Assert(o===i+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}var l=[0],u=[0],c=this.ComputeRecursionPoint(e,t,o,i,l,u,r),h=l[0],d=u[0];if(null!==c)return c;if(!r[0]){var g=this.ComputeDiffRecursive(e,h,o,d,r),p=[];return p=r[0]?[new n(h+1,t-(h+1)+1,d+1,i-(d+1)+1)]:this.ComputeDiffRecursive(h+1,t,d+1,i,r),this.ConcatenateChanges(g,p)}return[new n(e,t-e+1,o,i-o+1)]},e.prototype.WALKTRACE=function(e,t,o,i,r,s,a,u,c,h,d,g,p,f,m,_,y,v){var b,E,C=null,S=new l,T=t,w=o,k=p[0]-_[0]-i,O=Number.MIN_VALUE,R=this.m_forwardHistory.length-1;do{(E=k+e)===T||E=0&&(e=(c=this.m_forwardHistory[R])[0],T=1,w=c.length-1)}while(--R>=-1);if(b=S.getReverseChanges(),v[0]){var N=p[0]+1,I=_[0]+1;if(null!==b&&b.length>0){var L=b[b.length-1];N=Math.max(N,L.getOriginalEnd()),I=Math.max(I,L.getModifiedEnd())}C=[new n(N,g-N+1,I,m-I+1)]}else{S=new l,T=s,w=a,k=p[0]-_[0]-u,O=Number.MAX_VALUE,R=y?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(E=k+r)===T||E=h[E+1]?(f=(d=h[E+1]-1)-k-u,d>O&&S.MarkNextChange(),O=d+1,S.AddOriginalElement(d+1,f+1),k=E+1-r):(f=(d=h[E-1])-k-u,d>O&&S.MarkNextChange(),O=d,S.AddModifiedElement(d+1,f+1),k=E-1-r),R>=0&&(r=(h=this.m_reverseHistory[R])[0],T=1,w=h.length-1)}while(--R>=-1);C=S.getChanges()}return this.ConcatenateChanges(b,C)},e.prototype.ComputeRecursionPoint=function(e,t,o,i,r,s,l){var u,c,h,d=0,g=0,p=0,f=0;e--,o--,r[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var m,_,y=t-e+(i-o),v=y+1,b=new Array(v),E=new Array(v),C=i-o,S=t-e,T=e-o,w=t-i,k=(S-C)%2==0;for(b[C]=e,E[S]=t,l[0]=!1,h=1;h<=y/2+1;h++){var O=0,R=0;for(d=this.ClipDiagonalBound(C-h,h,C,v),g=this.ClipDiagonalBound(C+h,h,C,v),m=d;m<=g;m+=2){for(c=(u=m===d||mO+R&&(O=u,R=c),!k&&Math.abs(m-S)<=h-1&&u>=E[m])return r[0]=u,s[0]=c,_<=E[m]&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):null}var N=(O-e+(R-o)-h)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(O,this.OriginalSequence,N))return l[0]=!0,r[0]=O,s[0]=R,N>0&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):[new n(++e,t-e+1,++o,i-o+1)];for(p=this.ClipDiagonalBound(S-h,h,S,v),f=this.ClipDiagonalBound(S+h,h,S,v),m=p;m<=f;m+=2){for(c=(u=m===p||m=E[m+1]?E[m+1]-1:E[m-1])-(m-S)-w,_=u;u>e&&c>o&&this.ElementsAreEqual(u,c);)u--,c--;if(E[m]=u,k&&Math.abs(m-C)<=h&&u<=b[m])return r[0]=u,s[0]=c,_>=b[m]&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):null}if(h<=1447){var I=new Array(g-d+2);I[0]=C-d+1,a.Copy(b,d,I,1,g-d+1),this.m_forwardHistory.push(I),(I=new Array(f-p+2))[0]=S-p+1,a.Copy(E,p,I,1,f-p+1),this.m_reverseHistory.push(I)}}return this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l)},e.prototype.ShiftChanges=function(e){var t;do{t=!1;for(var o=0;o0,a=n.modifiedLength>0;n.originalStart+n.originalLength=0;o--){n=e[o],i=0,r=0;if(o>0){var c=e[o-1];c.originalLength>0&&(i=c.originalStart+c.originalLength),c.modifiedLength>0&&(r=c.modifiedStart+c.modifiedLength)}s=n.originalLength>0,a=n.modifiedLength>0;for(var h=0,d=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),g=1;;g++){var p=n.originalStart-g,f=n.modifiedStart-g;if(pd&&(d=m,h=g)}n.originalStart-=h,n.modifiedStart-=h}return e},e.prototype._OriginalIsBoundary=function(e){if(e<=0||e>=this.OriginalSequence.getLength()-1)return!0;var t=this.OriginalSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var o=e+t;if(this._OriginalIsBoundary(o-1)||this._OriginalIsBoundary(o))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){if(e<=0||e>=this.ModifiedSequence.getLength()-1)return!0;var t=this.ModifiedSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._ModifiedRegionIsBoundary=function(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var o=e+t;if(this._ModifiedIsBoundary(o-1)||this._ModifiedIsBoundary(o))return!0}return!1},e.prototype._boundaryScore=function(e,t,o,n){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(o,n)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var o=[],n=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],o)?(n=new Array(e.length+t.length-1),a.Copy(e,0,n,0,e.length-1),n[e.length-1]=o[0],a.Copy(t,1,n,e.length,t.length-1),n):(n=new Array(e.length+t.length),a.Copy(e,0,n,0,e.length),a.Copy(t,0,n,e.length,t.length),n)},e.prototype.ChangesOverlap=function(e,t,o){if(s.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),s.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){var i=e.originalStart,r=e.originalLength,a=e.modifiedStart,l=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(r=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(l=t.modifiedStart+t.modifiedLength-e.modifiedStart),o[0]=new n(i,r,a,l),!0}return o[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,o,n){if(e>=0&&e1,p=void 0;if(p=Object(l.c)(u.uri,e,!a.c)?"":Object(i.h)(Object(r.ltrim)(e.path.substr(u.uri.path.length),i.i),!0),c){var f=u&&u.name?u.name:Object(i.a)(u.uri.fsPath);p=p?f+" • "+p:f}return p}if(e.scheme!==s.a.file&&e.scheme!==s.a.untitled)return e.with({query:null,fragment:null}).toString(!0);if(h(e.fsPath))return Object(i.h)(d(e.fsPath),!0);var m=Object(i.h)(e.fsPath,!0);return!a.g&&t&&(m=function(e,t){if(a.g||!e||!t)return e;var o=g.original===t?g.normalized:void 0;o||(o=""+Object(r.rtrim)(t,i.i)+i.i,g={original:t,normalized:o});(a.c?Object(r.startsWith)(e,o):Object(r.startsWithIgnoreCase)(e,o))&&(e="~/"+e.substr(o.length));return e}(m,t.userHome)),m}function c(e){if(!e)return null;"string"==typeof e&&(e=n.a.file(e));var t=Object(i.a)(e.path)||(e.scheme===s.a.file?e.fsPath:e.path);return h(t)?d(t):t}function h(e){return a.g&&e&&":"===e[1]}function d(e){return h(e)?e.charAt(0).toUpperCase()+e.slice(1):e}var g=Object.create(null)},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0}),n(o(185)),n(o(121)),n(o(521)),n(o(522)),n(o(313)),n(o(314)),n(o(315)),n(o(316)),n(o(535)),n(o(317))},function(e,t,o){(function(e){function o(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===o(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]"===o(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===o(e)},t.isError=function(e){return"[object Error]"===o(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,o(120).Buffer)},function(e,t,o){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:o(343),e.exports={Promise:n}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.prototype.toString;function i(e){return"[object String]"===n.call(e)}function r(e){return Array.isArray(e)}t.boolean=function(e){return!0===e||!1===e},t.string=i,t.number=function(e){return"[object Number]"===n.call(e)},t.error=function(e){return"[object Error]"===n.call(e)},t.func=function(e){return"[object Function]"===n.call(e)},t.array=r,t.stringArray=function(e){return r(e)&&e.every((function(e){return i(e)}))}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.create=function(e){return{dispose:e}}}(t.Disposable||(t.Disposable={})),function(e){var t={dispose:function(){}};e.None=function(){return t}}(t.Event||(t.Event={}));var n=function(){function e(){}return e.prototype.add=function(e,t,o){var n=this;void 0===t&&(t=null),this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(o)&&o.push({dispose:function(){return n.remove(e,t)}})},e.prototype.remove=function(e,t){if(void 0===t&&(t=null),this._callbacks){for(var o=!1,n=0,i=this._callbacks.length;nn(e))}},function(e,t,o){"use strict";o.r(t);var n=o(14);function i(e,t){switch(void 0===t&&(t=0),typeof e){case"object":return null===e?r(349,t):Array.isArray(e)?(o=e,n=r(104579,n=t),o.reduce((function(e,t){return i(t,e)}),n)):function(e,t){return t=r(181387,t),Object.keys(e).sort().reduce((function(t,o){return t=s(o,t),i(e[o],t)}),t)}(e,t);case"string":return s(e,t);case"boolean":return function(e,t){return r(e?433:863,t)}(e,t);case"number":return r(e,t);case"undefined":return r(e,937);default:return r(e,617)}var o,n}function r(e,t){return(t<<5)-t+e|0}function s(e,t){t=r(149417,t);for(var o=0,n=e.length;o=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(){function e(e,t,o){var n=this;this._editor=e,this._codeEditorService=t,this._configurationService=o,this._globalToDispose=[],this._localToDispose=[],this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=[],this._decorationsTypes={},this._globalToDispose.push(e.onDidChangeModel((function(e){n._isEnabled=n.isEnabled(),n.onModelChanged()}))),this._globalToDispose.push(e.onDidChangeModelLanguage((function(e){return n.onModelChanged()}))),this._globalToDispose.push(c.d.onDidChange((function(e){return n.onModelChanged()}))),this._globalToDispose.push(e.onDidChangeConfiguration((function(e){var t=n._isEnabled;n._isEnabled=n.isEnabled(),t!==n._isEnabled&&(n._isEnabled?n.onModelChanged():n.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}return e.prototype.isEnabled=function(){var e=this._editor.getModel();if(!e)return!1;var t=e.getLanguageIdentifier(),o=this._configurationService.getValue(t.language);if(o){var n=o.colorDecorators;if(n&&void 0!==n.enable&&!n.enable)return n.enable}return this._editor.getConfiguration().contribInfo.colorDecorators},e.prototype.getId=function(){return e.ID},e.get=function(e){return e.getContribution(this.ID)},e.prototype.dispose=function(){this.stop(),this.removeAllDecorations(),this._globalToDispose=Object(a.d)(this._globalToDispose)},e.prototype.onModelChanged=function(){var t=this;if(this.stop(),this._isEnabled){var o=this._editor.getModel();c.d.has(o)&&(this._localToDispose.push(this._editor.onDidChangeModelContent((function(o){t._timeoutTimer||(t._timeoutTimer=new f.f,t._timeoutTimer.cancelAndSet((function(){t._timeoutTimer=null,t.beginCompute()}),e.RECOMPUTE_TIME))}))),this.beginCompute())}},e.prototype.beginCompute=function(){var e=this;this._computePromise=Object(f.i)((function(t){return Object(d.b)(e._editor.getModel(),t)})),this._computePromise.then((function(t){e.updateDecorations(t),e.updateColorDecorators(t),e._computePromise=null}),m.e)},e.prototype.stop=function(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose=Object(a.d)(this._localToDispose)},e.prototype.updateDecorations=function(e){var t=this,o=e.map((function(e){return{range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:p.a.EMPTY}}));this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,o),this._colorDatas=new Map,this._decorationsIds.forEach((function(o,n){return t._colorDatas.set(o,e[n])}))},e.prototype.updateColorDecorators=function(e){for(var t=[],o={},r=0;r1){var m=o.getLineContent(f.lineNumber),_=a.firstNonWhitespaceIndex(m),y=-1===_?m.length+1:_+1;if(f.column<=y){var v=i.a.visibleColumnFromColumn2(t,o,f),b=i.a.prevTabStop(v,t.tabSize),E=i.a.columnFromVisibleColumn2(t,o,f.lineNumber,b);p=new r.a(f.lineNumber,E,f.lineNumber,f.column)}else p=new r.a(f.lineNumber,f.column-1,f.lineNumber,f.column)}else{var C=s.a.left(t,o,f.lineNumber,f.column);p=new r.a(C.lineNumber,C.column,f.lineNumber,f.column)}}p.isEmpty()?u[h]=null:(p.startLineNumber!==p.endLineNumber&&(c=!0),u[h]=new n.a(p,""))}return[c,u]},e.cut=function(e,t,o){for(var s=[],a=0,l=o.length;a1?(h=c.lineNumber-1,d=t.getLineMaxColumn(c.lineNumber-1),g=c.lineNumber,p=t.getLineMaxColumn(c.lineNumber)):(h=c.lineNumber,d=1,g=c.lineNumber,p=t.getLineMaxColumn(c.lineNumber));var f=new r.a(h,d,g,p);f.isEmpty()?s[a]=null:s[a]=new n.a(f,"")}else s[a]=null;else s[a]=new n.a(u,"")}return new i.e(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("clipboardService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"c",(function(){return s})),o.d(t,"b",(function(){return a}));var n=o(40),i=o(8);function r(e){return n.a(e.path)||e.authority}function s(e,t,o){return!(e!==t)||!(!e||!t)&&(o?Object(i.equalsIgnoreCase)(e.toString(),t.toString()):e.toString()===t.toString())}function a(e){var t=n.b(e.path);return e.authority&&t&&!n.d(t)?null:e.with({path:t})}},function(e,t,o){"use strict";o.d(t,"b",(function(){return r})),o.d(t,"a",(function(){return s}));var n=o(0),i=function(){function e(e,t,o){void 0===o&&(o=t),this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=o}return e.prototype.toLabel=function(e,t,o,n,i){return null===t&&null===n?null:function(e,t,o,n,i){var r=a(e,t,i);null!==n&&(r+=" ",r+=a(o,n,i));return r}(e,t,o,n,this.modifierLabels[i])},e}(),r=new i({ctrlKey:"⌃",shiftKey:"⇧",altKey:"⌥",metaKey:"⌘",separator:""},{ctrlKey:n.a({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:n.a({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"windowsKey",comment:["This is the short form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:n.a({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"superKey",comment:["This is the short form for the Super key on the keyboard"]},"Super"),separator:"+"}),s=new i({ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"cmdKey.long",comment:["This is the long form for the Command key on the keyboard"]},"Command"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"windowsKey.long",comment:["This is the long form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"superKey.long",comment:["This is the long form for the Super key on the keyboard"]},"Super"),separator:"+"});function a(e,t,o){if(null===t)return"";var n=[];return e.ctrlKey&&n.push(o.ctrlKey),e.shiftKey&&n.push(o.shiftKey),e.altKey&&n.push(o.altKey),e.metaKey&&n.push(o.metaKey),n.push(t),n.join(o.separator)}},function(e,t,o){"use strict";(function(t){void 0===t||!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,o,n,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var r,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick((function(){e.call(null,o)}));case 3:return t.nextTick((function(){e.call(null,o,n)}));case 4:return t.nextTick((function(){e.call(null,o,n,i)}));default:for(r=new Array(a-1),s=0;s=o.length)o.copy(this.buffer,this.index,0,o.length);else{var r=(Math.ceil((this.index+o.length)/a)+1)*a;0===this.index?(this.buffer=new e(r),o.copy(this.buffer,0,0,o.length)):this.buffer=e.concat([this.buffer.slice(0,this.index),o],r)}this.index+=o.length},t.prototype.tryReadHeaders=function(){for(var e=void 0,t=0;t+3=this.index)return e;e=Object.create(null),this.buffer.toString("ascii",0,t).split("\r\n").forEach((function(t){var o=t.indexOf(":");if(-1===o)throw new Error("Message header must separate key and value using :");var n=t.substr(0,o),i=t.substr(o+1).trim();e[n]=i}));var o=t+4;return this.buffer=this.buffer.slice(o),this.index=this.index-o,e},t.prototype.tryReadContent=function(e){if(this.index0&&t.doWriteMessage(t.queue.shift())})))}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}},t}(a);t.IPCMessageWriter=u;var c=function(t){function o(e,o){void 0===o&&(o="utf8");var n=t.call(this)||this;return n.socket=e,n.queue=[],n.sending=!1,n.encoding=o,n.errorCount=0,n.socket.on("error",(function(e){return n.fireError(e)})),n.socket.on("close",(function(){return n.fireClose()})),n}return i(o,t),o.prototype.write=function(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)},o.prototype.doWriteMessage=function(t){var o=this,n=JSON.stringify(t),i=["Content-Length: ",e.byteLength(n,this.encoding).toString(),"\r\n","\r\n"];try{this.sending=!0,this.socket.write(i.join(""),"ascii",(function(e){e&&o.handleError(e,t);try{o.socket.write(n,o.encoding,(function(e){o.sending=!1,e?o.handleError(e,t):o.errorCount=0,o.queue.length>0&&o.doWriteMessage(o.queue.shift())}))}catch(e){o.handleError(e,t)}}))}catch(e){this.handleError(e,t)}},o.prototype.handleError=function(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)},o}(a);t.SocketMessageWriter=c}).call(this,o(120).Buffer)},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(121);t.Disposable=n.Disposable;var i=function(){function e(){this.disposables=[]}return e.prototype.dispose=function(){for(;0!==this.disposables.length;)this.disposables.pop().dispose()},e.prototype.push=function(e){var t=this.disposables;return t.push(e),{dispose:function(){var o=t.indexOf(e);-1!==o&&t.splice(o,1)}}},e}();t.DisposableCollection=i},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.create=function(e){return{dispose:e}}}(t.Disposable||(t.Disposable={})),function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class n{add(e,t=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(o)&&o.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(this._callbacks){for(var o=!1,n=0,i=this._callbacks.length;n{let r;return this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t),r={dispose:()=>{this._callbacks.remove(e,t),r.dispose=i._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)}},Array.isArray(o)&&o.push(r),r}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}i._noop=function(){},t.Emitter=i},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","title":"JSON schema for Block definitions files","type":"object","additionalProperties":false,"properties":{"requires":{"description":"Files to be included in the code archive","type":"array","items":{"type":"string"}},"header":{"description":"Code placed at the beginning of generated code","type":"string"},"footer":{"description":"Code placed at the end of generated code","type":"string"},"blocks":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","definition","template"],"properties":{"id":{"type":"string"},"definition":{"type":["string","array"],"items":{"type":["string","object"],"additionalProperties":false,"required":["id","type","default"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["number","boolean","angle","text"]},"default":{}}}},"template":{"type":"string"}}}}}}')},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=function(e){this.element=e},i=function(){function e(){}return e.prototype.isEmpty=function(){return!this._first},e.prototype.unshift=function(e){return this.insert(e,!1)},e.prototype.push=function(e){return this.insert(e,!0)},e.prototype.insert=function(e,t){var o=this,i=new n(e);if(this._first)if(t){var r=this._last;this._last=i,i.prev=r,r.next=i}else{var s=this._first;this._first=i,i.next=s,s.prev=i}else this._first=i,this._last=i;return function(){for(var e=o._first;e instanceof n;e=e.next)if(e===i){if(e.prev&&e.next){var t=e.prev;t.next=e.next,e.next.prev=t}else e.prev||e.next?e.next?e.prev||(o._first=o._first.next,o._first.prev=void 0):(o._last=o._last.prev,o._last.next=void 0):(o._first=void 0,o._last=void 0);break}}},e.prototype.iterator=function(){var e={done:void 0,value:void 0},t=this._first;return{next:function(){return t?(e.done=!1,e.value=t.element,t=t.next):(e.done=!0,e.value=void 0),e}}},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return R}));var n=o(25),i=o(8),r=o(40),s=o(79),a=o(10),l="**",u="/",c="[/\\\\]",h="[^/\\\\]",d=/\//g;function g(e){switch(e){case 0:return"";case 1:return h+"*?";default:return"(?:"+c+"|"+h+"+"+c+"|"+c+h+"+)*?"}}function p(e,t){if(!e)return[];for(var o,n=[],i=!1,r=!1,s="",a=0;a0;o--){var r=e.charCodeAt(o-1);if(47===r||92===r)break}t=e.substr(o)}var s=i.indexOf(t);return-1!==s?n[s]:null};a.basenames=i,a.patterns=n,a.allBasenames=i;var l=e.filter((function(e){return!e.basenames}));return l.push(a),l}},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return c}));o(444);var n,i,r,s=o(34),a=o(1),l=o(6);function u(e,t,o){var n=o.offset+o.size;return o.position===r.Before?t<=e-n?n:t<=o.offset?o.offset-t:Math.max(e-t,0):t<=o.offset?o.offset-t:t<=e-n?n:0}!function(e){e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT"}(n||(n={})),function(e){e[e.BELOW=0]="BELOW",e[e.ABOVE=1]="ABOVE"}(i||(i={})),function(e){e[e.Before=0]="Before",e[e.After=1]="After"}(r||(r={}));var c=function(){function e(e){var t=this;this.$view=Object(s.a)(".context-view").hide(),this.setContainer(e),this.toDispose=[Object(l.f)((function(){t.setContainer(null)}))],this.toDisposeOnClean=null}return e.prototype.setContainer=function(t){var o=this;this.$container&&(this.$container.getHTMLElement().removeChild(this.$view.getHTMLElement()),this.$container.off(e.BUBBLE_UP_EVENTS),this.$container.off(e.BUBBLE_DOWN_EVENTS,!0),this.$container=null),t&&(this.$container=Object(s.a)(t),this.$view.appendTo(this.$container),this.$container.on(e.BUBBLE_UP_EVENTS,(function(e){o.onDOMEvent(e,document.activeElement,!1)})),this.$container.on(e.BUBBLE_DOWN_EVENTS,(function(e){o.onDOMEvent(e,document.activeElement,!0)}),null,!0))},e.prototype.show=function(e){this.isVisible()&&this.hide(),this.$view.setClass("context-view").empty().style({top:"0px",left:"0px"}).show(),this.toDisposeOnClean=e.render(this.$view.getHTMLElement()),this.delegate=e,this.doLayout()},e.prototype.layout=function(){this.isVisible()&&(!1!==this.delegate.canRelayout?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())},e.prototype.doLayout=function(){var e,t=this.delegate.getAnchor();if(a.C(t)){var o=a.u(t);e={top:o.top,left:o.left,width:o.width,height:o.height}}else{var s=t;e={top:s.y,left:s.x,width:s.width||0,height:s.height||0}}var l,c=this.$view.getTotalSize(),h=this.delegate.anchorPosition||i.BELOW,d=this.delegate.anchorAlignment||n.LEFT,g={offset:e.top,size:e.height,position:h===i.BELOW?r.Before:r.After};l=d===n.LEFT?{offset:e.left,size:0,position:r.Before}:{offset:e.left+e.width,size:0,position:r.After};var p=a.u(this.$container.getHTMLElement()),f=u(window.innerHeight,c.height,g)-p.top,m=u(window.innerWidth,c.width,l)-p.left;this.$view.removeClass("top","bottom","left","right"),this.$view.addClass(h===i.BELOW?"bottom":"top"),this.$view.addClass(d===n.LEFT?"left":"right"),this.$view.style({top:f+"px",left:m+"px",width:"initial"})},e.prototype.hide=function(e){this.delegate&&this.delegate.onHide&&this.delegate.onHide(e),this.delegate=null,this.toDisposeOnClean&&(this.toDisposeOnClean.dispose(),this.toDisposeOnClean=null),this.$view.hide()},e.prototype.isVisible=function(){return!!this.delegate},e.prototype.onDOMEvent=function(e,t,o){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):o&&!a.B(e.target,this.$container.getHTMLElement())&&this.hide())},e.prototype.dispose=function(){this.hide(),this.toDispose=Object(l.d)(this.toDispose)},e.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],e.BUBBLE_DOWN_EVENTS=["click"],e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return d}));o(451);var n,i=o(1),r=o(125),s=o(40),a=o(165),l=o(6),u=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),c=function(){function e(e){this._element=e}return Object.defineProperty(e.prototype,"element",{get:function(){return this._element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textContent",{set:function(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"className",{set:function(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{set:function(e){this.disposed||e===this._title||(this._title=e,this._title?this._element.title=e:this._element.removeAttribute("title"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"empty",{set:function(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":null)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposed=!0},e}(),h=function(e){function t(t,o){var n=e.call(this)||this;return n.domNode=n._register(new c(i.k(t,i.a(".monaco-icon-label")))),n.labelDescriptionContainer=n._register(new c(i.k(n.domNode.element,i.a(".monaco-icon-label-description-container")))),o&&o.supportHighlights?n.labelNode=n._register(new r.a(i.k(n.labelDescriptionContainer.element,i.a("a.label-name")))):n.labelNode=n._register(new c(i.k(n.labelDescriptionContainer.element,i.a("a.label-name")))),o&&o.supportDescriptionHighlights?n.descriptionNodeFactory=function(){return n._register(new r.a(i.k(n.labelDescriptionContainer.element,i.a("span.label-description"))))}:n.descriptionNodeFactory=function(){return n._register(new c(i.k(n.labelDescriptionContainer.element,i.a("span.label-description"))))},n}return u(t,e),t.prototype.setValue=function(e,t,o){var n=["monaco-icon-label"];o&&(o.extraClasses&&n.push.apply(n,o.extraClasses),o.italic&&n.push("italic")),this.domNode.className=n.join(" "),this.domNode.title=o&&o.title?o.title:"",this.labelNode instanceof r.a?this.labelNode.set(e||"",o?o.matches:void 0):this.labelNode.textContent=e||"",(t||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof r.a?(this.descriptionNode.set(t||"",o?o.descriptionMatches:void 0),o&&o.descriptionTitle?this.descriptionNode.element.title=o.descriptionTitle:this.descriptionNode.element.removeAttribute("title")):(this.descriptionNode.textContent=t||"",this.descriptionNode.title=o&&o.descriptionTitle?o.descriptionTitle:"",this.descriptionNode.empty=!t))},t}(l.a),d=function(e){function t(t,o,n,i){var r=e.call(this,t)||this;return r.setFile(o,n,i),r}return u(t,e),t.prototype.setFile=function(e,t,o){var n=s.b(e.fsPath);this.setValue(Object(a.a)(e),n&&"."!==n?Object(a.b)(n,o,t):"",{title:e.fsPath})},t}(h)},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l}));var n=o(8),i=o(11),r=o(69),s=o(87);function a(e,t){return function(e,t){for(var o='
    ',i=e.split(/\r\n|\r|\n/),r=t.getInitialState(),a=0,l=i.length;a0&&(o+="
    ");var c=t.tokenize2(u,r,0);s.a.convertToEndOffset(c.tokens,u.length);for(var h=new s.a(c.tokens,u).inflate(),d=0,g=0,p=h.getCount();g'+n.escape(u.substring(d,m))+"",d=m}r=c.endState}return o+="
    "}(e,function(e){var t=i.y.get(e);if(t)return t;return{getInitialState:function(){return r.c},tokenize:void 0,tokenize2:function(e,t,o){return Object(r.e)(0,e,t,o)}}}(t))}function l(e,t,o,n,i,r){for(var s="
    ",a=n,l=0,u=0,c=t.getCount();u0;)d+=" ",p--;break;case 60:d+="<";break;case 62:d+=">";break;case 38:d+="&";break;case 0:d+="�";break;case 65279:case 8232:d+="�";break;case 13:d+="​";break;default:d+=String.fromCharCode(g)}}if(s+=''+d+"",h>i||a>=i)break}}return s+="
    "}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(10),i=function(){function e(e,t,o,n,i,r){this.id=e,this.label=t,this.alias=o,this._precondition=n,this._run=i,this._contextKeyService=r}return e.prototype.isSupported=function(){return this._contextKeyService.contextMatchesRules(this._precondition)},e.prototype.run=function(){if(!this.isSupported())return n.b.as(void 0);var e=this._run();return e||n.b.as(void 0)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return _}));o(472);var n=o(6),i=o(31),r=o(1),s=o(93),a=o(2),l=o(14),u=o(26),c=o(155),h=o(18),d=new l.a(new l.c(0,122,204)),g={showArrow:!0,showFrame:!0,className:"",frameColor:d,arrowColor:d,keepEditorSelection:!1},p=function(){function e(e,t,o,n,i,r){this.domNode=e,this.afterLineNumber=t,this.afterColumn=o,this.heightInLines=n,this._onDomNodeTop=i,this._onComputedHeight=r}return e.prototype.onDomNodeTop=function(e){this._onDomNodeTop(e)},e.prototype.onComputedHeight=function(e){this._onComputedHeight(e)},e}(),f=function(){function e(e,t){this._id=e,this._domNode=t}return e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return null},e}(),m=function(){function e(t){this._editor=t,this._ruleName=e._IdGenerator.nextId(),this._decorations=[]}return e.prototype.dispose=function(){this.hide(),r.F(this._ruleName)},Object.defineProperty(e.prototype,"color",{set:function(e){this._color!==e&&(this._color=e,this._updateStyle())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{set:function(e){this._height!==e&&(this._height=e,this._updateStyle())},enumerable:!0,configurable:!0}),e.prototype._updateStyle=function(){r.F(this._ruleName),r.n(".monaco-editor "+this._ruleName,"border-style: solid; border-color: transparent; border-bottom-color: "+this._color+"; border-width: "+this._height+"px; bottom: -"+this._height+"px; margin-left: -"+this._height+"px; ")},e.prototype.show=function(e){this._decorations=this._editor.deltaDecorations(this._decorations,[{range:a.a.fromPositions(e),options:{className:this._ruleName,stickiness:h.h.NeverGrowsWhenTypingAtEdges}}])},e.prototype.hide=function(){this._editor.deltaDecorations(this._decorations,[])},e._IdGenerator=new c.a(".arrow-decoration-"),e}(),_=function(){function e(e,t){void 0===t&&(t={});var o=this;this._positionMarkerId=[],this._disposables=[],this._isShowing=!1,this.editor=e,this.options=i.c(t),i.g(this.options,g,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.push(this.editor.onDidLayoutChange((function(e){var t=o._getWidth(e);o.domNode.style.width=t+"px",o.domNode.style.left=o._getLeft(e)+"px",o._onWidth(t)})))}return e.prototype.dispose=function(){var e=this;Object(n.d)(this._disposables),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((function(t){t.removeZone(e._viewZone.id),e._viewZone=null})),this.editor.deltaDecorations(this._positionMarkerId,[]),this._positionMarkerId=[]},e.prototype.create=function(){r.f(this.domNode,"zone-widget"),r.f(this.domNode,this.options.className),this.container=document.createElement("div"),r.f(this.container,"zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new m(this.editor),this._disposables.push(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()},e.prototype.style=function(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()},e.prototype._applyStyles=function(){if(this.container){var e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow){var t=this.options.arrowColor.toString();this._arrow.color=t}},e.prototype._getWidth=function(e){return e.width-e.minimapWidth-e.verticalScrollbarWidth},e.prototype._getLeft=function(e){return e.minimapWidth>0&&0===e.minimapLeft?e.minimapWidth:0},e.prototype._onViewZoneTop=function(e){this.domNode.style.top=e+"px"},e.prototype._onViewZoneHeight=function(e){this.domNode.style.height=e+"px";var t=e-this._decoratingElementsHeight();this.container.style.height=t+"px";var o=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(o)),this._resizeSash.layout()},Object.defineProperty(e.prototype,"position",{get:function(){var e=this._positionMarkerId[0];if(e){var t=this.editor.getModel().getDecorationRange(e);if(t)return t.getStartPosition()}},enumerable:!0,configurable:!0}),e.prototype.show=function(e,t){var o=a.a.isIRange(e)?e:new a.a(e.lineNumber,e.column,e.lineNumber,e.column);this._isShowing=!0,this._showImpl(o,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:o,options:u.a.EMPTY}])},e.prototype.hide=function(){var e=this;this._viewZone&&(this.editor.changeViewZones((function(t){t.removeZone(e._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()},e.prototype._decoratingElementsHeight=function(){var e=this.editor.getConfiguration().lineHeight,t=0;this.options.showArrow&&(t+=2*Math.round(e/3));this.options.showFrame&&(t+=2*Math.round(e/9));return t},e.prototype._showImpl=function(e,t){var o=this,n={lineNumber:e.startLineNumber,column:e.startColumn},i=this.editor.getLayoutInfo(),r=this._getWidth(i);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(i)+"px";var s=document.createElement("div");s.style.overflow="hidden";var a=this.editor.getConfiguration().lineHeight,l=this.editor.getLayoutInfo().height/a*.8;t>=l&&(t=l);var u=0,c=0;if(this.options.showArrow&&(u=Math.round(a/3),this._arrow.height=u,this._arrow.show(n)),this.options.showFrame&&(c=Math.round(a/9)),this.editor.changeViewZones((function(e){o._viewZone&&e.removeZone(o._viewZone.id),o._overlayWidget&&(o.editor.removeOverlayWidget(o._overlayWidget),o._overlayWidget=null),o.domNode.style.top="-1000px",o._viewZone=new p(s,n.lineNumber,n.column,t,(function(e){return o._onViewZoneTop(e)}),(function(e){return o._onViewZoneHeight(e)})),o._viewZone.id=e.addZone(o._viewZone),o._overlayWidget=new f("vs.editor.contrib.zoneWidget"+o._viewZone.id,o.domNode),o.editor.addOverlayWidget(o._overlayWidget)})),this.options.showFrame){var h=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=h+"px",this.container.style.borderBottomWidth=h+"px"}var d=t*a-this._decoratingElementsHeight();this.container.style.top=u+"px",this.container.style.height=d+"px",this.container.style.overflow="hidden",this._doLayout(d,r),this.options.keepEditorSelection||this.editor.setSelection(e);var g=Math.min(this.editor.getModel().getLineCount(),Math.max(1,e.endLineNumber+1));this.revealLine(g)},e.prototype.revealLine=function(e){this.editor.revealLine(e,0)},e.prototype.setCssClass=function(e,t){t&&this.container.classList.remove(t),r.f(this.container,e)},e.prototype._onWidth=function(e){},e.prototype._doLayout=function(e,t){},e.prototype._relayout=function(e){var t=this;this._viewZone.heightInLines!==e&&this.editor.changeViewZones((function(o){t._viewZone.heightInLines=e,o.layoutZone(t._viewZone.id)}))},e.prototype._initSash=function(){var e,t=this;this._resizeSash=new s.b(this.domNode,this,{orientation:s.a.HORIZONTAL}),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.state=s.c.Disabled),this._disposables.push(this._resizeSash.onDidStart((function(o){t._viewZone&&(e={startY:o.startY,heightInLines:t._viewZone.heightInLines})}))),this._disposables.push(this._resizeSash.onDidEnd((function(){e=void 0}))),this._disposables.push(this._resizeSash.onDidChange((function(o){if(e){var n=(o.currentY-e.startY)/t.editor.getConfiguration().lineHeight,i=n<0?Math.ceil(n):Math.floor(n),r=e.heightInLines+i;r>5&&r<35&&t._relayout(r)}})))},e.prototype.getHorizontalSashLeft=function(){return 0},e.prototype.getHorizontalSashTop=function(){return parseInt(this.domNode.style.height)-this._decoratingElementsHeight()/2},e.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("uriDisplay")},function(e,t,o){"use strict";o.d(t,"a",(function(){return p}));o(301);var n,i=o(24),r=o(6),s=o(4),a=o(15),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function u(e,t){return!!e[t]}var c=function(e,t){this.target=e.target,this.hasTriggerModifier=u(e.event,t.triggerModifier),this.hasSideBySideModifier=u(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=i.k||e.event.detail<=1},h=function(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=u(e,t.triggerModifier)},d=function(){function e(e,t,o,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=o,this.triggerSideBySideModifier=n}return e.prototype.equals=function(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier},e}();function g(e){return"altKey"===e?a.d?new d(57,"metaKey",6,"altKey"):new d(5,"ctrlKey",6,"altKey"):a.d?new d(6,"altKey",57,"metaKey"):new d(6,"altKey",5,"ctrlKey")}var p=function(e){function t(t){var o=e.call(this)||this;return o._onMouseMoveOrRelevantKeyDown=o._register(new s.a),o.onMouseMoveOrRelevantKeyDown=o._onMouseMoveOrRelevantKeyDown.event,o._onExecute=o._register(new s.a),o.onExecute=o._onExecute.event,o._onCancel=o._register(new s.a),o.onCancel=o._onCancel.event,o._editor=t,o._opts=g(o._editor.getConfiguration().multiCursorModifier),o.lastMouseMoveEvent=null,o.hasTriggerKeyOnMouseDown=!1,o._register(o._editor.onDidChangeConfiguration((function(e){if(e.multiCursorModifier){var t=g(o._editor.getConfiguration().multiCursorModifier);if(o._opts.equals(t))return;o._opts=t,o.lastMouseMoveEvent=null,o.hasTriggerKeyOnMouseDown=!1,o._onCancel.fire()}}))),o._register(o._editor.onMouseMove((function(e){return o.onEditorMouseMove(new c(e,o._opts))}))),o._register(o._editor.onMouseDown((function(e){return o.onEditorMouseDown(new c(e,o._opts))}))),o._register(o._editor.onMouseUp((function(e){return o.onEditorMouseUp(new c(e,o._opts))}))),o._register(o._editor.onKeyDown((function(e){return o.onEditorKeyDown(new h(e,o._opts))}))),o._register(o._editor.onKeyUp((function(e){return o.onEditorKeyUp(new h(e,o._opts))}))),o._register(o._editor.onMouseDrag((function(){return o.resetHandler()}))),o._register(o._editor.onDidChangeCursorSelection((function(e){return o.onDidChangeCursorSelection(e)}))),o._register(o._editor.onDidChangeModel((function(e){return o.resetHandler()}))),o._register(o._editor.onDidChangeModelContent((function(){return o.resetHandler()}))),o._register(o._editor.onDidScrollChange((function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&o.resetHandler()}))),o}return l(t,e),t.prototype.onDidChangeCursorSelection=function(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this.resetHandler()},t.prototype.onEditorMouseMove=function(e){this.lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])},t.prototype.onEditorMouseDown=function(e){this.hasTriggerKeyOnMouseDown=e.hasTriggerModifier},t.prototype.onEditorMouseUp=function(e){this.hasTriggerKeyOnMouseDown&&this._onExecute.fire(e)},t.prototype.onEditorKeyDown=function(e){this.lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this.lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()},t.prototype.onEditorKeyUp=function(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()},t.prototype.resetHandler=function(){this.lastMouseMoveEvent=null,this.hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()},t}(r.a)},function(e,t,o){"use strict";o(473);var n,i,r,s=o(75),a=o(76),l=o(13),u=o(6),c=o(10),h=o(4),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g=function(){function e(e){this._onDispose=new h.a,this.onDispose=this._onDispose.event,this._item=e}return Object.defineProperty(e.prototype,"item",{get:function(){return this._item},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose&&(this._onDispose.fire(),this._onDispose.dispose(),this._onDispose=null)},e}(),p=function(){function e(){this.locks=Object.create({})}return e.prototype.isLocked=function(e){return!!this.locks[e.id]},e.prototype.run=function(e,t){var o,n,i=this,r=this.getLock(e);return r?new c.b((function(n,s){o=Object(h.k)(r.onDispose)((function(){return i.run(e,t).then(n,s)}))}),(function(){o.dispose()})):new c.b((function(o,r){if(e.isDisposed())return r(new Error("Item is disposed."));var s=i.locks[e.id]=new g(e);return n=t().then((function(t){return delete i.locks[e.id],s.dispose(),t})).then(o,r)}),(function(){return n.cancel()}))},e.prototype.getLock=function(e){var t;for(t in this.locks){var o=this.locks[t];if(e.intersects(o.item))return o}return null},e}(),f=function(){function e(){this._isDisposed=!1,this._onDidRevealItem=new h.d,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new h.d,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new h.d,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new h.d,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new h.d,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new h.d,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new h.d,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new h.d,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new h.d,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new h.d,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new h.d,this.onDidDisposeItem=this._onDidDisposeItem.event,this.items={}}return e.prototype.register=function(e){a.a(!this.isRegistered(e.id),"item already registered: "+e.id);var t=Object(u.c)([this._onDidRevealItem.add(e.onDidReveal),this._onExpandItem.add(e.onExpand),this._onDidExpandItem.add(e.onDidExpand),this._onCollapseItem.add(e.onCollapse),this._onDidCollapseItem.add(e.onDidCollapse),this._onDidAddTraitItem.add(e.onDidAddTrait),this._onDidRemoveTraitItem.add(e.onDidRemoveTrait),this._onDidRefreshItem.add(e.onDidRefresh),this._onRefreshItemChildren.add(e.onRefreshChildren),this._onDidRefreshItemChildren.add(e.onDidRefreshChildren),this._onDidDisposeItem.add(e.onDidDispose)]);this.items[e.id]={item:e,disposable:t}},e.prototype.deregister=function(e){a.a(this.isRegistered(e.id),"item not registered: "+e.id),this.items[e.id].disposable.dispose(),delete this.items[e.id]},e.prototype.isRegistered=function(e){return this.items.hasOwnProperty(e)},e.prototype.getItem=function(e){var t=this.items[e];return t?t.item:null},e.prototype.dispose=function(){this.items=null,this._onDidRevealItem.dispose(),this._onExpandItem.dispose(),this._onDidExpandItem.dispose(),this._onCollapseItem.dispose(),this._onDidCollapseItem.dispose(),this._onDidAddTraitItem.dispose(),this._onDidRemoveTraitItem.dispose(),this._onDidRefreshItem.dispose(),this._onRefreshItemChildren.dispose(),this._onDidRefreshItemChildren.dispose(),this._isDisposed=!0},e.prototype.isDisposed=function(){return this._isDisposed},e}(),m=function(){function e(e,t,o,n,i){this._onDidCreate=new h.a,this._onDidReveal=new h.a,this.onDidReveal=this._onDidReveal.event,this._onExpand=new h.a,this.onExpand=this._onExpand.event,this._onDidExpand=new h.a,this.onDidExpand=this._onDidExpand.event,this._onCollapse=new h.a,this.onCollapse=this._onCollapse.event,this._onDidCollapse=new h.a,this.onDidCollapse=this._onDidCollapse.event,this._onDidAddTrait=new h.a,this.onDidAddTrait=this._onDidAddTrait.event,this._onDidRemoveTrait=new h.a,this.onDidRemoveTrait=this._onDidRemoveTrait.event,this._onDidRefresh=new h.a,this.onDidRefresh=this._onDidRefresh.event,this._onRefreshChildren=new h.a,this.onRefreshChildren=this._onRefreshChildren.event,this._onDidRefreshChildren=new h.a,this.onDidRefreshChildren=this._onDidRefreshChildren.event,this._onDidDispose=new h.a,this.onDidDispose=this._onDidDispose.event,this.registry=t,this.context=o,this.lock=n,this.element=i,this.id=e,this.registry.register(this),this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.needsChildrenRefresh=!0,this.parent=null,this.previous=null,this.next=null,this.firstChild=null,this.lastChild=null,this.traits={},this.depth=0,this.expanded=this.context.dataSource.shouldAutoexpand&&this.context.dataSource.shouldAutoexpand(this.context.tree,i),this._onDidCreate.fire(this),this.visible=this._isVisible(),this.height=this._getHeight(),this._isDisposed=!1}return e.prototype.getElement=function(){return this.element},e.prototype.hasChildren=function(){return this.doesHaveChildren},e.prototype.getDepth=function(){return this.depth},e.prototype.isVisible=function(){return this.visible},e.prototype.setVisible=function(e){this.visible=e},e.prototype.isExpanded=function(){return this.expanded},e.prototype._setExpanded=function(e){this.expanded=e},e.prototype.reveal=function(e){void 0===e&&(e=null);var t={item:this,relativeTop:e};this._onDidReveal.fire(t)},e.prototype.expand=function(){var e=this;return this.isExpanded()||!this.doesHaveChildren||this.lock.isLocked(this)?c.b.as(!1):this.lock.run(this,(function(){var t={item:e};return e._onExpand.fire(t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):c.b.as(null)).then((function(){return e._setExpanded(!0),e._onDidExpand.fire(t),!0}))})).then((function(t){return!e.isDisposed()&&(e.context.options.autoExpandSingleChildren&&t&&null!==e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.isVisible()?e.firstChild.expand().then((function(){return!0})):t)}))},e.prototype.collapse=function(e){var t=this;if(void 0===e&&(e=!1),e){var o=c.b.as(null);return this.forEachChild((function(e){o=o.then((function(){return e.collapse(!0)}))})),o.then((function(){return t.collapse(!1)}))}return!this.isExpanded()||this.lock.isLocked(this)?c.b.as(!1):this.lock.run(this,(function(){var e={item:t};return t._onCollapse.fire(e),t._setExpanded(!1),t._onDidCollapse.fire(e),c.b.as(!0)}))},e.prototype.addTrait=function(e){var t={item:this,trait:e};this.traits[e]=!0,this._onDidAddTrait.fire(t)},e.prototype.removeTrait=function(e){var t={item:this,trait:e};delete this.traits[e],this._onDidRemoveTrait.fire(t)},e.prototype.hasTrait=function(e){return this.traits[e]||!1},e.prototype.getAllTraits=function(){var e,t=[];for(e in this.traits)this.traits.hasOwnProperty(e)&&this.traits[e]&&t.push(e);return t},e.prototype.getHeight=function(){return this.height},e.prototype.refreshChildren=function(t,o,n){var i=this;if(void 0===o&&(o=!1),void 0===n&&(n=!1),!n&&!this.isExpanded())return this.needsChildrenRefresh=!0,c.b.as(this);this.needsChildrenRefresh=!1;var r=function(){var n={item:i,isNested:o};return i._onRefreshChildren.fire(n),(i.doesHaveChildren?i.context.dataSource.getChildren(i.context.tree,i.element):c.b.as([])).then((function(o){if(i.isDisposed()||i.registry.isDisposed())return c.b.as(null);if(!Array.isArray(o))return c.b.wrapError(new Error("Please return an array of children."));o=o?o.slice(0):[],o=i.sort(o);for(var n={};null!==i.firstChild;)n[i.firstChild.id]=i.firstChild,i.removeChild(i.firstChild);for(var r=0,s=o.length;r=0;r--)this.onInsertItem(u[r]);for(r=this.heightMap.length-1;r>=i;r--)this.onRefreshItem(this.heightMap[r]);return a},e.prototype.onInsertItem=function(e){},e.prototype.onRemoveItems=function(e){for(var t,o,n,i=null,r=0;t=e.next();){if(n=this.indexes[t],!(o=this.heightMap[n]))return void console.error("view item doesnt exist");r-=o.height,delete this.indexes[t],this.onRemoveItem(o),null===i&&(i=n)}if(0!==r)for(this.heightMap.splice(i,n-i+1),n=i;n=o.top+o.height))return t;if(n===t)break;n=t}return this.heightMap.length},e.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.heightMap.length)},e.prototype.itemAtIndex=function(e){return this.heightMap[e]},e.prototype.itemAfter=function(e){return this.heightMap[this.indexes[e.model.id]+1]||null},e.prototype.createViewItem=function(e){throw new Error("not implemented")},e.prototype.dispose=function(){this.heightMap=null,this.indexes=null},e}(),x=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),M=function(){function e(e,t,o){this._posx=e,this._posy=t,this._target=o}return e.prototype.preventDefault=function(){},e.prototype.stopPropagation=function(){},Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}(),B=function(e){function t(t){var o=e.call(this,t.posx,t.posy,t.target)||this;return o.originalEvent=t,o}return x(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(M),F=function(e){function t(t,o,n){var i=e.call(this,t,o,n.target)||this;return i.originalEvent=n,i}return x(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(M);!function(e){e[e.COPY=0]="COPY",e[e.MOVE=1]="MOVE"}(i||(i={})),function(e){e[e.BUBBLE_DOWN=0]="BUBBLE_DOWN",e[e.BUBBLE_UP=1]="BUBBLE_UP"}(r||(r={}));var H="ResourceURLs",U=o(17),V=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();var W=function(){function e(e){this.context=e,this._cache={"":[]}}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var o=document.createElement("div");o.className="content";var n=document.createElement("div");n.appendChild(o),t={element:n,templateId:e,templateData:this.context.renderer.renderTemplate(this.context.tree,e,o)}}return t},e.prototype.release=function(e,t){!function(e){try{e.parentElement.removeChild(e)}catch(e){}}(t.element),this.cache(e).push(t)},e.prototype.cache=function(e){return this._cache[e]||(this._cache[e]=[])},e.prototype.garbageCollect=function(){var e=this;this._cache&&Object.keys(this._cache).forEach((function(t){e._cache[t].forEach((function(o){e.context.renderer.disposeTemplate(e.context.tree,t,o.templateData),o.element=null,o.templateData=null})),delete e._cache[t]}))},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null,this.context=null},e}(),j=function(){function e(e,t){var o=this;this.width=0,this.context=e,this.model=t,this.id=this.model.id,this.row=null,this.top=0,this.height=t.getHeight(),this._styles={},t.getAllTraits().forEach((function(e){return o._styles[e]=!0})),t.isExpanded()&&this.addClass("expanded")}return Object.defineProperty(e.prototype,"expanded",{set:function(e){e?this.addClass("expanded"):this.removeClass("expanded")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"loading",{set:function(e){e?this.addClass("loading"):this.removeClass("loading")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"draggable",{get:function(){return this._draggable},set:function(e){this._draggable=e,this.render(!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropTarget",{set:function(e){e?this.addClass("drop-target"):this.removeClass("drop-target")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this.row&&this.row.element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"templateId",{get:function(){return this._templateId||(this._templateId=this.context.renderer.getTemplateId&&this.context.renderer.getTemplateId(this.context.tree,this.model.getElement()))},enumerable:!0,configurable:!0}),e.prototype.addClass=function(e){this._styles[e]=!0,this.render(!0)},e.prototype.removeClass=function(e){delete this._styles[e],this.render(!0)},e.prototype.render=function(e){var t=this;if(void 0===e&&(e=!1),this.model&&this.element){var o=["monaco-tree-row"];o.push.apply(o,Object.keys(this._styles)),this.model.hasChildren()&&o.push("has-children"),this.element.className=o.join(" "),this.element.draggable=this.draggable,this.element.style.height=this.height+"px",this.element.setAttribute("role","treeitem");var n=this.context.accessibilityProvider,i=n.getAriaLabel(this.context.tree,this.model.getElement());if(i&&this.element.setAttribute("aria-label",i),n.getPosInSet&&n.getSetSize&&(this.element.setAttribute("aria-setsize",n.getSetSize()),this.element.setAttribute("aria-posinset",n.getPosInSet(this.context.tree,this.model.getElement()))),this.model.hasTrait("focused")){var r=w.safeBtoa(this.model.id);this.element.setAttribute("aria-selected","true"),this.element.setAttribute("id",r)}else this.element.setAttribute("aria-selected","false"),this.element.removeAttribute("id");this.model.hasChildren()?this.element.setAttribute("aria-expanded",String(!!this._styles.expanded)):this.element.removeAttribute("aria-expanded"),this.element.setAttribute("aria-level",String(this.model.getDepth())),this.context.options.paddingOnRow?this.element.style.paddingLeft=this.context.options.twistiePixels+(this.model.getDepth()-1)*this.context.options.indentPixels+"px":(this.element.style.paddingLeft=(this.model.getDepth()-1)*this.context.options.indentPixels+"px",this.row.element.firstElementChild.style.paddingLeft=this.context.options.twistiePixels+"px");var s=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());if(s!==this.uri&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),s?(this.uri=s,this.draggable=!0,this.unbindDragStart=C.g(this.element,"dragstart",(function(e){t.onDragStart(e)}))):this.uri=null),!e&&this.element){var a=window.getComputedStyle(this.element),l=parseFloat(a.paddingLeft);this.context.horizontalScrolling&&(this.element.style.width="fit-content"),this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData),this.context.horizontalScrolling&&(this.width=C.t(this.element)+l,this.element.style.width="")}}},e.prototype.insertInDOM=function(e,t){if(this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[z.BINDING]=this),!this.element.parentElement){if(null===t)e.appendChild(this.element);else try{e.insertBefore(this.element,t)}catch(t){console.warn("Failed to locate previous tree element"),e.appendChild(this.element)}this.render()}},e.prototype.removeFromDOM=function(){this.row&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),this.uri=null,this.element[z.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null,this.model=null},e}(),G=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i.row={element:n,templateData:null,templateId:null},i}return V(t,e),t.prototype.render=function(){if(this.model&&this.element){var e=["monaco-tree-wrapper"];e.push.apply(e,Object.keys(this._styles)),this.model.hasChildren()&&e.push("has-children"),this.element.className=e.join(" ")}},t.prototype.insertInDOM=function(e,t){},t.prototype.removeFromDOM=function(){},t}(j);var z=function(e){function t(o,n){var i=e.call(this)||this;i.lastClickTimeStamp=0,i.contentWidthUpdateDelayer=new U.a(50),i.isRefreshing=!1,i.refreshingPreviousChildrenIds={},i._onDOMFocus=new h.a,i._onDOMBlur=new h.a,i._onDidScroll=new h.a,t.counter++,i.instance=t.counter;var r=void 0===o.options.horizontalScrollMode?A.b.Hidden:o.options.horizontalScrollMode;i.horizontalScrolling=r!==A.b.Hidden,i.context={dataSource:o.dataSource,renderer:o.renderer,controller:o.controller,dnd:o.dnd,filter:o.filter,sorter:o.sorter,tree:o.tree,accessibilityProvider:o.accessibilityProvider,options:o.options,cache:new W(o),horizontalScrolling:i.horizontalScrolling},i.modelListeners=[],i.viewListeners=[],i.model=null,i.items={},i.domNode=document.createElement("div"),i.domNode.className="monaco-tree no-focused-item monaco-tree-instance-"+i.instance,i.domNode.tabIndex=o.options.preventRootFocus?-1:0,i.styleElement=C.o(i.domNode),i.treeStyler=o.styler,i.treeStyler||(i.treeStyler=new s.f(i.styleElement,"monaco-tree-instance-"+i.instance)),i.domNode.setAttribute("role","tree"),i.context.options.ariaLabel&&i.domNode.setAttribute("aria-label",i.context.options.ariaLabel),i.context.options.alwaysFocused&&C.f(i.domNode,"focused"),i.context.options.paddingOnRow||C.f(i.domNode,"no-row-padding"),i.wrapper=document.createElement("div"),i.wrapper.className="monaco-tree-wrapper",i.scrollableElement=new D.b(i.wrapper,{alwaysConsumeMouseWheel:!0,horizontal:r,vertical:void 0!==o.options.verticalScrollMode?o.options.verticalScrollMode:A.b.Auto,useShadows:o.options.useShadows}),i.scrollableElement.onScroll((function(e){i.render(e.scrollTop,e.height,e.scrollLeft,e.width,e.scrollWidth),i._onDidScroll.fire()})),E.k?(i.wrapper.style.msTouchAction="none",i.wrapper.style.msContentZooming="none"):T.b.addTarget(i.wrapper),i.rowsContainer=document.createElement("div"),i.rowsContainer.className="monaco-tree-rows",o.options.showTwistie&&(i.rowsContainer.className+=" show-twisties");var a=C.O(i.domNode);return i.viewListeners.push(a.onDidFocus((function(){return i.onFocus()}))),i.viewListeners.push(a.onDidBlur((function(){return i.onBlur()}))),i.viewListeners.push(a),i.viewListeners.push(C.g(i.domNode,"keydown",(function(e){return i.onKeyDown(e)}))),i.viewListeners.push(C.g(i.domNode,"keyup",(function(e){return i.onKeyUp(e)}))),i.viewListeners.push(C.g(i.domNode,"mousedown",(function(e){return i.onMouseDown(e)}))),i.viewListeners.push(C.g(i.domNode,"mouseup",(function(e){return i.onMouseUp(e)}))),i.viewListeners.push(C.g(i.wrapper,"click",(function(e){return i.onClick(e)}))),i.viewListeners.push(C.g(i.wrapper,"auxclick",(function(e){return i.onClick(e)}))),i.viewListeners.push(C.g(i.domNode,"contextmenu",(function(e){return i.onContextMenu(e)}))),i.viewListeners.push(C.g(i.wrapper,T.a.Tap,(function(e){return i.onTap(e)}))),i.viewListeners.push(C.g(i.wrapper,T.a.Change,(function(e){return i.onTouchChange(e)}))),E.k&&(i.viewListeners.push(C.g(i.wrapper,"MSPointerDown",(function(e){return i.onMsPointerDown(e)}))),i.viewListeners.push(C.g(i.wrapper,"MSGestureTap",(function(e){return i.onMsGestureTap(e)}))),i.viewListeners.push(C.i(i.wrapper,"MSGestureChange",(function(e){return i.onThrottledMsGestureChange(e)}),(function(e,t){t.stopPropagation(),t.preventDefault();var o={translationY:t.translationY,translationX:t.translationX};return e&&(o.translationY+=e.translationY,o.translationX+=e.translationX),o})))),i.viewListeners.push(C.g(window,"dragover",(function(e){return i.onDragOver(e)}))),i.viewListeners.push(C.g(i.wrapper,"drop",(function(e){return i.onDrop(e)}))),i.viewListeners.push(C.g(window,"dragend",(function(e){return i.onDragEnd(e)}))),i.viewListeners.push(C.g(window,"dragleave",(function(e){return i.onDragOver(e)}))),i.wrapper.appendChild(i.rowsContainer),i.domNode.appendChild(i.scrollableElement.getDomNode()),n.appendChild(i.domNode),i.lastRenderTop=0,i.lastRenderHeight=0,i.didJustPressContextMenuKey=!1,i.currentDropTarget=null,i.currentDropTargets=[],i.shouldInvalidateDropReaction=!1,i.dragAndDropScrollInterval=null,i.dragAndDropScrollTimeout=null,i.onHiddenScrollTop=null,i.onRowsChanged(),i.layout(),i.setupMSGesture(),i.applyStyles(o.options),i}return V(t,e),Object.defineProperty(t.prototype,"onDOMFocus",{get:function(){return this._onDOMFocus.event},enumerable:!0,configurable:!0}),t.prototype.applyStyles=function(e){this.treeStyler.style(e)},t.prototype.createViewItem=function(e){return new j(this.context,e)},t.prototype.getHTMLElement=function(){return this.domNode},t.prototype.focus=function(){this.domNode.focus()},t.prototype.isFocused=function(){return document.activeElement===this.domNode},t.prototype.blur=function(){this.domNode.blur()},t.prototype.setupMSGesture=function(){var e=this;window.MSGesture&&(this.msGesture=new MSGesture,setTimeout((function(){return e.msGesture.target=e.wrapper}),100))},t.prototype.isTreeVisible=function(){return null===this.onHiddenScrollTop},t.prototype.layout=function(e,t){this.isTreeVisible()&&(this.viewHeight=e||C.s(this.wrapper),this.scrollHeight=this.getContentHeight(),this.horizontalScrolling&&(this.viewWidth=t||C.t(this.wrapper)))},t.prototype.render=function(e,t,o,n,i){var r,s,a=e,l=e+t,u=this.lastRenderTop+this.lastRenderHeight;for(r=this.indexAfter(l)-1,s=this.indexAt(Math.max(u,a));r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(l))-1,s=this.indexAt(a);r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=this.indexAt(this.lastRenderTop),s=Math.min(this.indexAt(a),this.indexAfter(u));r1e3,u=void 0,c=void 0;if(!l)c=(u=new S.a({getLength:function(){return r.length},getElementAtIndex:function(e){return r[e]}},{getLength:function(){return s.length},getElementAtIndex:function(e){return s[e].id}},null).ComputeDiff(!1)).some((function(e){if(e.modifiedLength>0)for(var o=e.modifiedStart,n=e.modifiedStart+e.modifiedLength;o0&&this.onRemoveItems(new L.a(r,g.originalStart,g.originalStart+g.originalLength)),g.modifiedLength>0){var p=s[g.modifiedStart-1]||o;p=p.getDepth()>0?p:null,this.onInsertItems(new L.a(s,g.modifiedStart,g.modifiedStart+g.modifiedLength),p?p.id:null)}}else(l||u.length)&&(this.onRemoveItems(new L.a(r)),this.onInsertItems(new L.a(s),o.getDepth()>0?o.id:null));(l||u.length)&&this.onRowsChanged()}},t.prototype.onItemRefresh=function(e){this.onItemsRefresh([e])},t.prototype.onItemsRefresh=function(e){var t=this;this.onRefreshItemSet(e.filter((function(e){return t.items.hasOwnProperty(e.id)}))),this.onRowsChanged()},t.prototype.onItemExpanding=function(e){var t=this.items[e.item.id];t&&(t.expanded=!0)},t.prototype.onItemExpanded=function(e){var t=e.item,o=this.items[t.id];if(o){o.expanded=!0;var n=this.onInsertItems(t.getNavigator(),t.id),i=this.scrollTop;o.top+o.height<=this.scrollTop&&(i+=n),this.onRowsChanged(i)}},t.prototype.onItemCollapsing=function(e){var t=e.item,o=this.items[t.id];o&&(o.expanded=!1,this.onRemoveItems(new L.c(t.getNavigator(),(function(e){return e&&e.id}))),this.onRowsChanged())},t.prototype.onItemReveal=function(e){var t=e.item,o=e.relativeTop,n=this.items[t.id];if(n)if(null!==o){o=(o=o<0?0:o)>1?1:o;var i=n.height-this.viewHeight;this.scrollTop=i*o+n.top}else{var r=n.top+n.height,s=this.scrollTop+this.viewHeight;n.top=s&&(this.scrollTop=r-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,o=e.trait,n=this.items[t.id];n&&n.addClass(o),"highlighted"===o&&(C.f(this.domNode,o),n&&(this.highlightedItemWasDraggable=!!n.draggable,n.draggable&&(n.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,o=e.trait,n=this.items[t.id];n&&n.removeClass(o),"highlighted"===o&&(C.G(this.domNode,o),this.highlightedItemWasDraggable&&(n.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();C.N(this.domNode,"no-focused-item",!e),e?this.domNode.setAttribute("aria-activedescendant",w.safeBtoa(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute("aria-activedescendant")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(o){t.onDragStart(e,o)},e.needsRender=!0,this.refreshViewItem(e),this.items[e.id]=e},t.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1),e.needsRender=e.needsRender||t,this.refreshViewItem(e)},t.prototype.onRemoveItem=function(e){this.removeItemFromDOM(e),e.dispose(),delete this.items[e.id]},t.prototype.refreshViewItem=function(e){e.render(),this.shouldBeRendered(e)?this.insertItemInDOM(e):this.removeItemFromDOM(e)},t.prototype.onClick=function(e){if(!this.lastPointerType||"mouse"===this.lastPointerType){var t=new k.b(e),o=this.getItemAround(t.target);o&&(E.k&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,o.model.getElement(),t))}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new k.b(e);if(!(t.ctrlKey&&b.e&&b.d)){var o=this.getItemAround(t.target);o&&this.context.controller.onMouseDown(this.context.tree,o.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new k.b(e);if(!(t.ctrlKey&&b.e&&b.d)){var o=this.getItemAround(t.target);o&&this.context.controller.onMouseUp(this.context.tree,o.model.getElement(),t)}}},t.prototype.onTap=function(e){var t=this.getItemAround(e.initialTarget);t&&this.context.controller.onTap(this.context.tree,t.model.getElement(),e)},t.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},t.prototype.onContextMenu=function(e){var t,o;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var n,i=new O.a(e);if(o=this.model.getFocus()){var r=this.context.dataSource.getId(this.context.tree,o),s=this.items[r];n=C.u(s.element)}else o=this.model.getInput(),n=C.u(this.inputItem.element);t=new F(n.left+n.width,n.top,i)}else{var a=new k.b(e),l=this.getItemAround(a.target);if(!l)return;o=l.model.getElement(),t=new B(a)}this.context.controller.onContextMenu(this.context.tree,o,t)},t.prototype.onKeyDown=function(e){var t=new O.a(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode,this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||this.context.controller.onKeyDown(this.context.tree,t)},t.prototype.onKeyUp=function(e){this.didJustPressContextMenuKey&&this.onContextMenu(e),this.didJustPressContextMenuKey=!1,this.context.controller.onKeyUp(this.context.tree,new O.a(e))},t.prototype.onDragStart=function(e,o){if(!this.model.getHighlight()){var n,i=e.model.getElement(),r=this.model.getSelection();if(n=r.indexOf(i)>-1?r:[i],o.dataTransfer.effectAllowed="copyMove",o.dataTransfer.setData(H,JSON.stringify([e.uri])),o.dataTransfer.setDragImage){var s=void 0;s=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,n):String(n.length);var a=document.createElement("div");a.className="monaco-tree-drag-image",a.textContent=s,document.body.appendChild(a),o.dataTransfer.setDragImage(a,-10,-10),setTimeout((function(){return document.body.removeChild(a)}),0)}this.currentDragAndDropData=new R(n),t.currentExternalDragAndDropData=new N(n),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new k.a(o))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=C.w(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval((function(){if(void 0!==e.dragAndDropMouseY){var o=e.dragAndDropMouseY-t,n=0,i=e.viewHeight-35;o<35?n=Math.max(-14,.2*(o-35)):o>i&&(n=Math.min(14,.2*(o-i))),e.scrollTop+=n}}),10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout((function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null}),1e3))},t.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},t.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},t.prototype.onDragOver=function(e){var o,n=this,s=new k.a(e),a=this.getItemAround(s.target);if(!a||0===s.posx&&0===s.posy&&s.browserEvent.type===C.d.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=s.posy,!this.currentDragAndDropData)if(t.currentExternalDragAndDropData)this.currentDragAndDropData=t.currentExternalDragAndDropData;else{if(!s.dataTransfer.types)return!1;this.currentDragAndDropData=new I}this.currentDragAndDropData.update(s);var l,u=a.model;do{if(o=u?u.getElement():this.model.getInput(),!(l=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,o,s))||l.bubble!==r.BUBBLE_UP)break;u=u&&u.parent}while(u);if(!u)return this.currentDropElement=null,!1;var h=l&&l.accept;h?(this.currentDropElement=u.getElement(),s.preventDefault(),s.dataTransfer.dropEffect=l.effect===i.COPY?"copy":"move"):this.currentDropElement=null;var d,g,p=u.id===this.inputItem.id?this.inputItem:this.items[u.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==p||(d=this.currentDropElementReaction,g=l,!(!d&&!g||d&&g&&d.accept===g.accept&&d.bubble===g.bubble&&d.effect===g.effect)))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.currentDropTarget=p,this.currentDropElementReaction=l,h)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),l.bubble===r.BUBBLE_DOWN)for(var f,m=u.getNavigator();f=m.next();)(a=this.items[f.id])&&(a.dropTarget=!0,this.currentDropTargets.push(a));l.autoExpand&&(this.currentDropPromise=c.b.timeout(500).then((function(){return n.context.tree.expand(n.currentDropElement)})).then((function(){return n.shouldInvalidateDropReaction=!0})))}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new k.a(e);t.preventDefault(),this.currentDragAndDropData.update(t),this.context.dnd.drop(this.context.tree,this.currentDragAndDropData,this.currentDropElement,t),this.onDragEnd(e)}this.cancelDragAndDropScrollInterval()},t.prototype.onDragEnd=function(e){this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[]),this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,t.currentExternalDragAndDropData=null,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||C.f(this.domNode,"focused"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||C.G(this.domNode,"focused"),this.domNode.removeAttribute("aria-activedescendant"),this._onDOMBlur.fire()},t.prototype.onMsPointerDown=function(e){if(this.msGesture){var t=e.pointerType;t!==(e.MSPOINTER_TYPE_MOUSE||"mouse")?t===(e.MSPOINTER_TYPE_TOUCH||"touch")&&(this.lastPointerType="touch",e.stopPropagation(),e.preventDefault(),this.msGesture.addPointer(e.pointerId)):this.lastPointerType="mouse"}},t.prototype.onThrottledMsGestureChange=function(e){this.scrollTop-=e.translationY},t.prototype.onMsGestureTap=function(e){e.initialTarget=document.elementFromPoint(e.clientX,e.clientY),this.onTap(e)},t.prototype.insertItemInDOM=function(e){var t=null,o=this.itemAfter(e);o&&o.element&&(t=o.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.topthis.lastRenderTop},t.prototype.getItemAround=function(e){var o=this.inputItem;do{if(e[t.BINDING]&&(o=e[t.BINDING]),e===this.wrapper||e===this.domNode)return o;if(e===document.body)return null}while(e=e.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=u.d(this.modelListeners),this.model=null)},t.prototype.dispose=function(){var t=this;this.scrollableElement.dispose(),this.releaseModel(),this.modelListeners=null,this.viewListeners=u.d(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(),this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.domNode=null,this.items&&(Object.keys(this.items).forEach((function(e){return t.items[e].removeFromDOM()})),this.items=null),this.context.cache&&(this.context.cache.dispose(),this.context.cache=null),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.counter=0,t.currentExternalDragAndDropData=null,t}(P),K=o(14),Y=o(31);o.d(t,"a",(function(){return $}));var X=function(e,t,o){if(void 0===o&&(o={}),this.tree=e,this.configuration=t,this.options=o,!t.dataSource)throw new Error("You must provide a Data Source to the tree.");this.dataSource=t.dataSource,this.renderer=t.renderer,this.controller=t.controller||new s.c({clickBehavior:s.a.ON_MOUSE_UP,keyboardSupport:"boolean"!=typeof o.keyboardSupport||o.keyboardSupport}),this.dnd=t.dnd||new s.d,this.filter=t.filter||new s.e,this.sorter=t.sorter||null,this.accessibilityProvider=t.accessibilityProvider||new s.b,this.styler=t.styler||null},q={listFocusBackground:K.a.fromHex("#073655"),listActiveSelectionBackground:K.a.fromHex("#0E639C"),listActiveSelectionForeground:K.a.fromHex("#FFFFFF"),listFocusAndSelectionBackground:K.a.fromHex("#094771"),listFocusAndSelectionForeground:K.a.fromHex("#FFFFFF"),listInactiveSelectionBackground:K.a.fromHex("#3F3F46"),listHoverBackground:K.a.fromHex("#2A2D2E"),listDropBackground:K.a.fromHex("#383B3D")},$=function(){function e(e,t,o){void 0===o&&(o={}),this._onDidChangeFocus=new h.e,this.onDidChangeFocus=this._onDidChangeFocus.event,this._onDidChangeSelection=new h.e,this.onDidChangeSelection=this._onDidChangeSelection.event,this._onHighlightChange=new h.e,this._onDidExpandItem=new h.e,this._onDidCollapseItem=new h.e,this._onDispose=new h.a,this.onDidDispose=this._onDispose.event,this.container=e,Object(Y.g)(o,q,!1),o.twistiePixels="number"==typeof o.twistiePixels?o.twistiePixels:32,o.showTwistie=!1!==o.showTwistie,o.indentPixels="number"==typeof o.indentPixels?o.indentPixels:12,o.alwaysFocused=!0===o.alwaysFocused,o.useShadows=!1!==o.useShadows,o.paddingOnRow=!1!==o.paddingOnRow,o.showLoading=!1!==o.showLoading,this.context=new X(this,t,o),this.model=new v(this.context),this.view=new z(this.context,this.container),this.view.setModel(this.model),this._onDidChangeFocus.input=this.model.onDidFocus,this._onDidChangeSelection.input=this.model.onDidSelect,this._onHighlightChange.input=this.model.onDidHighlight,this._onDidExpandItem.input=this.model.onDidExpandItem,this._onDidCollapseItem.input=this.model.onDidCollapseItem}return e.prototype.style=function(e){this.view.applyStyles(e)},Object.defineProperty(e.prototype,"onDidFocus",{get:function(){return this.view&&this.view.onDOMFocus},enumerable:!0,configurable:!0}),e.prototype.getHTMLElement=function(){return this.view.getHTMLElement()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.domFocus=function(){this.view.focus()},e.prototype.isDOMFocused=function(){return this.view.isFocused()},e.prototype.domBlur=function(){this.view.blur()},e.prototype.setInput=function(e){return this.model.setInput(e)},e.prototype.getInput=function(){return this.model.getInput()},e.prototype.refresh=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),this.model.refresh(e,t)},e.prototype.expand=function(e){return this.model.expand(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.collapse(e,t)},e.prototype.toggleExpansion=function(e,t){return void 0===t&&(t=!1),this.model.toggleExpansion(e,t)},e.prototype.isExpanded=function(e){return this.model.isExpanded(e)},e.prototype.reveal=function(e,t){return void 0===t&&(t=null),this.model.reveal(e,t)},e.prototype.getHighlight=function(){return this.model.getHighlight()},e.prototype.clearHighlight=function(e){this.model.setHighlight(null,e)},e.prototype.setSelection=function(e,t){this.model.setSelection(e,t)},e.prototype.getSelection=function(){return this.model.getSelection()},e.prototype.clearSelection=function(e){this.model.setSelection([],e)},e.prototype.setFocus=function(e,t){this.model.setFocus(e,t)},e.prototype.getFocus=function(){return this.model.getFocus()},e.prototype.focusNext=function(e,t){this.model.focusNext(e,t)},e.prototype.focusPrevious=function(e,t){this.model.focusPrevious(e,t)},e.prototype.focusParent=function(e){this.model.focusParent(e)},e.prototype.focusFirstChild=function(e){this.model.focusFirstChild(e)},e.prototype.focusFirst=function(e,t){this.model.focusFirst(e,t)},e.prototype.focusNth=function(e,t){this.model.focusNth(e,t)},e.prototype.focusLast=function(e,t){this.model.focusLast(e,t)},e.prototype.focusNextPage=function(e){this.view.focusNextPage(e)},e.prototype.focusPreviousPage=function(e){this.view.focusPreviousPage(e)},e.prototype.clearFocus=function(e){this.model.setFocus(null,e)},e.prototype.dispose=function(){this._onDispose.fire(),null!==this.model&&(this.model.dispose(),this.model=null),null!==this.view&&(this.view.dispose(),this.view=null),this._onDidChangeFocus.dispose(),this._onDidChangeSelection.dispose(),this._onHighlightChange.dispose(),this._onDidExpandItem.dispose(),this._onDidCollapseItem.dispose(),this._onDispose.dispose()},e}()},function(e,t,o){"use strict";o(449);var n=o(0),i=o(13),r=o(4),s=o(6),a=o(63),l=o(8),u=o(10),c=o(14),h=o(34),d=o(1),g=o(93),p=(o(450),o(31)),f={badgeBackground:c.a.fromHex("#4D4D4D"),badgeForeground:c.a.fromHex("#FFFFFF")},m=function(){function e(e,t){this.options=t||Object.create(null),Object(p.g)(this.options,f,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=Object(d.k)(e,Object(d.a)(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}return e.prototype.setCount=function(e){this.count=e,this.render()},e.prototype.setTitleFormat=function(e){this.titleFormat=e,this.render()},e.prototype.render=function(){this.element.textContent=Object(l.format)(this.countFormat,this.count),this.element.title=Object(l.format)(this.titleFormat,this.count),this.applyStyles()},e.prototype.style=function(e){this.badgeBackground=e.badgeBackground,this.badgeForeground=e.badgeForeground,this.badgeBorder=e.badgeBorder,this.applyStyles()},e.prototype.applyStyles=function(){if(this.element){var e=this.badgeBackground?this.badgeBackground.toString():null,t=this.badgeForeground?this.badgeForeground.toString():null,o=this.badgeBorder?this.badgeBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=o?"1px":null,this.element.style.borderStyle=o?"solid":null,this.element.style.borderColor=o}},e}(),_=o(206),y=o(22),v=o(143),b=o(2),E=o(26),C=o(157),S=o(113),T=o(56),w=o(133),k=o(7),O=o(19),R=o(118),N=Object(y.c)("environmentService"),I=o(33),L=o(18),D=o(134),A=o(12),P=o(75),x=o(210),M=o(178);o.d(t,"b",(function(){return J})),o.d(t,"a",(function(){return Z}));var B,F=(B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}B(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),H=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},U=function(e,t){return function(o,n){t(o,n,e)}},V=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},W=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]1?this.badge.setTitleFormat(n.a("referencesCount","{0} references",t)):this.badge.setTitleFormat(n.a("referenceCount","{0} reference",t))},e=H([U(1,v.a),U(2,Object(y.d)(N)),U(3,O.c)],e)}(),Y=function(){function e(e){var t=document.createElement("div");this.before=document.createElement("span"),this.inside=document.createElement("span"),this.after=document.createElement("span"),d.f(this.inside,"referenceMatch"),d.f(t,"reference"),t.appendChild(this.before),t.appendChild(this.inside),t.appendChild(this.after),e.appendChild(t)}return e.prototype.set=function(e){var t=e.parent.preview.preview(e.range),o=t.before,n=t.inside,i=t.after;this.before.innerHTML=l.escape(o),this.inside.innerHTML=l.escape(n),this.after.innerHTML=l.escape(i)},e}(),X=function(){function e(e,t,o){this._contextService=e,this._themeService=t,this._environmentService=o}return e.prototype.getHeight=function(e,t){return 23},e.prototype.getTemplateId=function(t,o){if(o instanceof T.a)return e._ids.FileReferences;if(o instanceof T.b)return e._ids.OneReference;throw o},e.prototype.renderTemplate=function(t,o,n){if(o===e._ids.FileReferences)return new K(n,this._contextService,this._environmentService,this._themeService);if(o===e._ids.OneReference)return new Y(n);throw o},e.prototype.renderElement=function(e,t,o,n){if(t instanceof T.a)n.set(t);else{if(!(t instanceof T.b))throw o;n.set(t)}},e.prototype.disposeTemplate=function(e,t,o){o instanceof K&&o.dispose()},e._ids={FileReferences:"FileReferences",OneReference:"OneReference"},e=H([U(0,v.a),U(1,O.c),U(2,Object(y.d)(N))],e)}(),q=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return t instanceof T.a?t.getAriaMessage():t instanceof T.b?t.getAriaMessage():void 0},e}(),$=function(){function e(e,t){var o,n=this;this._disposables=[],this._onDidChangePercentages=new r.a,this._ratio=t,this._sash=new g.b(e,{getVerticalSashLeft:function(){return n._width*n._ratio},getVerticalSashHeight:function(){return n._height}}),this._disposables.push(this._sash.onDidStart((function(e){o=e.startX-n._width*n.ratio}))),this._disposables.push(this._sash.onDidChange((function(e){var t=e.currentX-o;t>20&&t+200?e.children[0]:void 0},t.prototype._revealReference=function(e,t){return V(this,void 0,void 0,(function(){var o,r=this;return W(this,(function(l){switch(l.label){case 0:return e.uri.scheme!==a.a.inMemory?this.setTitle(Object(M.a)(e.uri),this._uriDisplay.getLabel(Object(M.b)(e.uri),!1)):this.setTitle(n.a("peekView.alternateTitle","References")),o=this._textModelResolverService.createModelReference(e.uri),t?[4,this._tree.reveal(e.parent)]:[3,2];case 1:l.sent(),l.label=2;case 2:return[2,u.b.join([o,this._tree.reveal(e)]).then((function(t){var o=t[0];if(r._model){Object(s.d)(r._previewModelReference);var n=o.object;if(n){r._previewModelReference=o;var i=r._preview.getModel()===n.textEditorModel;r._preview.setModel(n.textEditorModel);var a=b.a.lift(e.range).collapseToStart();r._preview.setSelection(a),r._preview.revealRangeInCenter(a,i?0:1)}else r._preview.setModel(r._previewNotAvailableMessage),o.dispose()}else o.dispose()}),i.e)]}}))}))},t=H([U(3,O.c),U(4,w.a),U(5,y.a),U(6,x.a)],t)}(S.b),Q=Object(k.kb)("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},n.a("peekViewTitleBackground","Background color of the peek view title area.")),ee=Object(k.kb)("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},n.a("peekViewTitleForeground","Color of the peek view title.")),te=Object(k.kb)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#6c6c6cb3",hc:"#FFFFFF99"},n.a("peekViewTitleInfoForeground","Color of the peek view title info.")),oe=Object(k.kb)("peekView.border",{dark:"#007acc",light:"#007acc",hc:k.e},n.a("peekViewBorder","Color of the peek view borders and arrow.")),ne=Object(k.kb)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:c.a.black},n.a("peekViewResultsBackground","Background color of the peek view result list.")),ie=Object(k.kb)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:c.a.white},n.a("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),re=Object(k.kb)("peekViewResult.fileForeground",{dark:c.a.white,light:"#1E1E1E",hc:c.a.white},n.a("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),se=Object(k.kb)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},n.a("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),ae=Object(k.kb)("peekViewResult.selectionForeground",{dark:c.a.white,light:"#6C6C6C",hc:c.a.white},n.a("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),le=Object(k.kb)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:c.a.black},n.a("peekViewEditorBackground","Background color of the peek view editor.")),ue=Object(k.kb)("peekViewEditorGutter.background",{dark:le,light:le,hc:le},n.a("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),ce=Object(k.kb)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},n.a("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),he=Object(k.kb)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},n.a("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),de=Object(k.kb)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:k.b},n.a("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));Object(O.e)((function(e,t){var o=e.getColor(ce);o&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { background-color: "+o+"; }");var n=e.getColor(he);n&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: "+n+"; }");var i=e.getColor(de);i&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid "+i+"; box-sizing: border-box; }");var r=e.getColor(k.b);r&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { border: 1px dotted "+r+"; box-sizing: border-box; }");var s=e.getColor(ne);s&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { background-color: "+s+"; }");var a=e.getColor(ie);a&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { color: "+a+"; }");var l=e.getColor(re);l&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: "+l+"; }");var u=e.getColor(se);u&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+u+"; }");var c=e.getColor(ae);c&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+c+" !important; }");var h=e.getColor(le);h&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\tbackground-color: "+h+";}");var d=e.getColor(ue);d&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: "+d+";}")}))},function(e,t,o){"use strict";var n,i="object"==typeof Reflect?Reflect:null,r=i&&"function"==typeof i.apply?i.apply:function(e,t,o){return Function.prototype.apply.call(e,t,o)};n=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function u(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function c(e,t,o,n){var i,r,s,a;if("function"!=typeof o)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o);if(void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,o.listener?o.listener:o),r=e._events),s=r[t]),void 0===s)s=r[t]=o,++e._eventsCount;else if("function"==typeof s?s=r[t]=n?[o,s]:[s,o]:n?s.unshift(o):s.push(o),(i=u(e))>0&&s.length>i&&!s.warned){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=s.length,a=l,console&&console.warn&&console.warn(a)}return e}function h(){for(var e=[],t=0;t0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=i[e];if(void 0===l)return!1;if("function"==typeof l)r(l,this,t);else{var u=l.length,c=f(l,u);for(o=0;o=0;r--)if(o[r]===t||o[r].listener===t){s=o[r].listener,i=r;break}if(i<0)return this;0===i?o.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},a.prototype.listeners=function(e){return g(this,e,!0)},a.prototype.rawListeners=function(e){return g(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,o){(t=e.exports=o(269)).Stream=t,t.Readable=t,t.Writable=o(216),t.Duplex=o(136),t.Transform=o(273),t.PassThrough=o(337)},function(e,t,o){"use strict";(function(t,n,i){var r=o(180);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,o){var n=e.entry;e.entry=null;for(;n;){var i=n.callback;t.pendingcb--,i(o),n=n.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=y;var a,l=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?n:r.nextTick;y.WritableState=_;var u=o(167);u.inherits=o(147);var c={deprecate:o(336)},h=o(270),d=o(181).Buffer,g=i.Uint8Array||function(){};var p,f=o(271);function m(){}function _(e,t){a=a||o(136),e=e||{};var n=t instanceof a;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,u=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(u||0===u)?u:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var o=e._writableState,n=o.sync,i=o.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(o),t)!function(e,t,o,n,i){--t.pendingcb,o?(r.nextTick(i,n),r.nextTick(T,e,t),e._writableState.errorEmitted=!0,e.emit("error",n)):(i(n),e._writableState.errorEmitted=!0,e.emit("error",n),T(e,t))}(e,o,n,t,i);else{var s=C(o);s||o.corked||o.bufferProcessing||!o.bufferedRequest||E(e,o),n?l(b,e,o,s,i):b(e,o,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(e){if(a=a||o(136),!(p.call(y,this)||this instanceof a))return new y(e);this._writableState=new _(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function v(e,t,o,n,i,r,s){t.writelen=n,t.writecb=s,t.writing=!0,t.sync=!0,o?e._writev(i,t.onwrite):e._write(i,r,t.onwrite),t.sync=!1}function b(e,t,o,n){o||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),T(e,t)}function E(e,t){t.bufferProcessing=!0;var o=t.bufferedRequest;if(e._writev&&o&&o.next){var n=t.bufferedRequestCount,i=new Array(n),r=t.corkedRequestsFree;r.entry=o;for(var a=0,l=!0;o;)i[a]=o,o.isBuf||(l=!1),o=o.next,a+=1;i.allBuffers=l,v(e,t,!0,t.length,i,"",r.finish),t.pendingcb++,t.lastBufferedRequest=null,r.next?(t.corkedRequestsFree=r.next,r.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;o;){var u=o.chunk,c=o.encoding,h=o.callback;if(v(e,t,!1,t.objectMode?1:u.length,u,c,h),o=o.next,t.bufferedRequestCount--,t.writing)break}null===o&&(t.lastBufferedRequest=null)}t.bufferedRequest=o,t.bufferProcessing=!1}function C(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function S(e,t){e._final((function(o){t.pendingcb--,o&&e.emit("error",o),t.prefinished=!0,e.emit("prefinish"),T(e,t)}))}function T(e,t){var o=C(t);return o&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,r.nextTick(S,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),o}u.inherits(y,h),_.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(_.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===y&&(e&&e._writableState instanceof _)}})):p=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,o){var n,i=this._writableState,s=!1,a=!i.objectMode&&(n=e,d.isBuffer(n)||n instanceof g);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(o=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof o&&(o=m),i.ended?function(e,t){var o=new Error("write after end");e.emit("error",o),r.nextTick(t,o)}(this,o):(a||function(e,t,o,n){var i=!0,s=!1;return null===o?s=new TypeError("May not write null values to stream"):"string"==typeof o||void 0===o||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),r.nextTick(n,s),i=!1),i}(this,i,e,o))&&(i.pendingcb++,s=function(e,t,o,n,i,r){if(!o){var s=function(e,t,o){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,o));return t}(t,n,i);n!==s&&(o=!0,i="buffer",n=s)}var a=t.objectMode?1:n.length;t.length+=a;var l=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(e,t,o){o(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,o){var n=this._writableState;"function"==typeof e?(o=e,e=null,t=null):"function"==typeof t&&(o=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,o){t.ending=!0,T(e,t),o&&(t.finished?r.nextTick(o):e.once("finish",o));t.ended=!0,e.writable=!1}(this,n,o)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=f.destroy,y.prototype._undestroy=f.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,o(108),o(148).setImmediate,o(80))},function(e,t,o){"use strict";var n=o(168),i=o(277),r=o(278),s=o(279);r=o(278);function a(e,t,o,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=o,this.compression=n,this.compressedContent=i}a.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new r("data_length")),t=this;return e.on("end",(function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")})),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,o){return e.pipe(new s).pipe(new r("uncompressedSize")).pipe(t.compressWorker(o)).pipe(new r("compressedSize")).withStreamInfo("compression",t)},e.exports=a},function(e,t,o){"use strict";var n=o(65);var i=function(){for(var e,t=[],o=0;o<256;o++){e=o;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[o]=e}return t}();e.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,o,n){var r=i,s=n+o;e^=-1;for(var a=n;a>>8^r[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,o,n){var r=i,s=n+o;e^=-1;for(var a=n;a>>8^r[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},function(e,t,o){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(e,t,o){"use strict";var n=o(367),i=o(221),r=o(149),s=o(291),a=o(369);function l(e,t,o){var n=this._refs[o];if("string"==typeof n){if(!this._refs[n])return l.call(this,e,t,n);n=this._refs[n]}if((n=n||this._schemas[o])instanceof s)return p(n.schema,this._opts.inlineRefs)?n.schema:n.validate||this._compile(n);var i,r,a,c=u.call(this,t,o);return c&&(i=c.schema,t=c.root,a=c.baseId),i instanceof s?r=i.validate||e.call(this,i.schema,t,void 0,a):void 0!==i&&(r=p(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,a)),r}function u(e,t){var o=n.parse(t),i=m(o),r=f(this._getId(e.schema));if(0===Object.keys(e.schema).length||i!==r){var a=y(i),l=this._refs[a];if("string"==typeof l)return c.call(this,e,l,o);if(l instanceof s)l.validate||this._compile(l),e=l;else{if(!((l=this._schemas[a])instanceof s))return;if(l.validate||this._compile(l),a==y(t))return{schema:l,root:e,baseId:r};e=l}if(!e.schema)return;r=f(this._getId(e.schema))}return d.call(this,o,r,e.schema,e)}function c(e,t,o){var n=u.call(this,e,t);if(n){var i=n.schema,r=n.baseId;e=n.root;var s=this._getId(i);return s&&(r=v(r,s)),d.call(this,o,r,i,e)}}e.exports=l,l.normalizeId=y,l.fullPath=f,l.url=v,l.ids=function(e){var t=y(this._getId(e)),o={"":t},s={"":f(t,!1)},l={},u=this;return a(e,{allKeys:!0},(function(e,t,a,c,h,d,g){if(""!==t){var p=u._getId(e),f=o[c],m=s[c]+"/"+h;if(void 0!==g&&(m+="/"+("number"==typeof g?g:r.escapeFragment(g))),"string"==typeof p){p=f=y(f?n.resolve(f,p):p);var _=u._refs[p];if("string"==typeof _&&(_=u._refs[_]),_&&_.schema){if(!i(e,_.schema))throw new Error('id "'+p+'" resolves to more than one schema')}else if(p!=y(m))if("#"==p[0]){if(l[p]&&!i(e,l[p]))throw new Error('id "'+p+'" resolves to more than one schema');l[p]=e}else u._refs[p]=m}o[t]=f,s[t]=m}})),l},l.inlineRef=p,l.schema=u;var h=r.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function d(e,t,o,n){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},k=function(e,t){return function(o,n){t(o,n,e)}},O=new g.f("accessibilityHelpWidgetVisible",!1),R=function(e){function t(t,o){var n=e.call(this)||this;return n._editor=t,n._widget=n._register(o.createInstance(P,n._editor)),n}return T(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.show=function(){this._widget.show()},t.prototype.hide=function(){this._widget.hide()},t.ID="editor.contrib.accessibilityHelpController",t=w([k(1,h.a)],t)}(r.a),N=i.a("noSelection","No selection"),I=i.a("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),L=i.a("singleSelection","Line {0}, Column {1}"),D=i.a("multiSelectionRange","{0} selections ({1} characters selected)"),A=i.a("multiSelection","{0} selections");var P=function(e){function t(t,o,n,r){var s=e.call(this)||this;return s._contextKeyService=o,s._keybindingService=n,s._openerService=r,s._editor=t,s._isVisibleKey=O.bindTo(s._contextKeyService),s._domNode=Object(u.b)(document.createElement("div")),s._domNode.setClassName("accessibilityHelpWidget"),s._domNode.setDisplay("none"),s._domNode.setAttribute("role","dialog"),s._domNode.setAttribute("aria-hidden","true"),s._contentDomNode=Object(u.b)(document.createElement("div")),s._contentDomNode.setAttribute("role","document"),s._domNode.appendChild(s._contentDomNode),s._isVisible=!1,s._register(s._editor.onDidLayoutChange((function(){s._isVisible&&s._layout()}))),s._register(a.j(s._contentDomNode.domNode,"keydown",(function(e){if(s._isVisible&&(e.equals(2083)&&(Object(b.a)(i.a("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'.")),s._editor.updateOptions({accessibilitySupport:"on"}),a.l(s._contentDomNode.domNode),s._buildContent(),s._contentDomNode.domNode.focus(),e.preventDefault(),e.stopPropagation()),e.equals(2086))){Object(b.a)(i.a("openingDocs","Now opening the Editor Accessibility documentation page."));var t=s._editor.getRawConfiguration().accessibilityHelpUrl;void 0===t&&(t="https://go.microsoft.com/fwlink/?linkid=852450"),s._openerService.open(C.a.parse(t)),e.preventDefault(),e.stopPropagation()}}))),s.onblur(s._contentDomNode.domNode,(function(){s.hide()})),s._editor.addOverlayWidget(s),s}return T(t,e),t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.getPosition=function(){return{preference:null}},t.prototype.show=function(){this._isVisible||(this._isVisible=!0,this._isVisibleKey.set(!0),this._layout(),this._domNode.setDisplay("block"),this._domNode.setAttribute("aria-hidden","false"),this._contentDomNode.domNode.tabIndex=0,this._buildContent(),this._contentDomNode.domNode.focus())},t.prototype._descriptionForCommand=function(e,t,o){var n=this._keybindingService.lookupKeybinding(e);return n?s.format(t,n.getAriaLabel()):s.format(o,e)},t.prototype._buildContent=function(){var e=this._editor.getConfiguration(),t=this._editor.getSelections(),o=0;if(t){var n=this._editor.getModel();n&&t.forEach((function(e){o+=n.getValueLengthInRange(e)}))}var r=function(e,t){return e&&0!==e.length?1===e.length?t?s.format(I,e[0].positionLineNumber,e[0].positionColumn,t):s.format(L,e[0].positionLineNumber,e[0].positionColumn):t?s.format(D,e.length,t):e.length>0?s.format(A,e.length):null:N}(t,o);switch(e.wrappingInfo.inDiffEditor?e.readOnly?r+=i.a("readonlyDiffEditor"," in a read-only pane of a diff editor."):r+=i.a("editableDiffEditor"," in a pane of a diff editor."):e.readOnly?r+=i.a("readonlyEditor"," in a read-only code editor"):r+=i.a("editableEditor"," in a code editor"),e.accessibilitySupport){case 0:var a=v.d?i.a("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."):i.a("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now.");r+="\n\n - "+a;break;case 2:r+="\n\n - "+i.a("auto_on","The editor is configured to be optimized for usage with a Screen Reader.");break;case 1:r+="\n\n - "+i.a("auto_off","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time."),r+=" "+a}var u=i.a("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),c=i.a("tabFocusModeOnMsgNoKb","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding."),h=i.a("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),d=i.a("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.");e.tabFocusMode?r+="\n\n - "+this._descriptionForCommand(m.ToggleTabFocusModeAction.ID,u,c):r+="\n\n - "+this._descriptionForCommand(m.ToggleTabFocusModeAction.ID,h,d),r+="\n\n - "+(v.d?i.a("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."):i.a("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility.")),r+="\n\n"+i.a("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),this._contentDomNode.domNode.appendChild(Object(l.a)(r)),this._contentDomNode.domNode.setAttribute("aria-label",r)},t.prototype.hide=function(){this._isVisible&&(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,a.l(this._contentDomNode.domNode),this._editor.focus())},t.prototype._layout=function(){var e=this._editor.getLayoutInfo(),o=Math.max(5,Math.min(t.WIDTH,e.width-40)),n=Math.max(5,Math.min(t.HEIGHT,e.height-40));this._domNode.setWidth(o),this._domNode.setHeight(n);var i=Math.round((e.height-n)/2);this._domNode.setTop(i);var r=Math.round((e.width-o)/2);this._domNode.setLeft(r)},t.ID="editor.contrib.accessibilityHelpWidget",t.WIDTH=500,t.HEIGHT=300,t=w([k(1,g.e),k(2,d.a),k(3,E.a)],t)}(c.a),x=function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:i.a("ShowAccessibilityHelpAction","Show Accessibility Help"),alias:"Show Accessibility Help",precondition:null,kbOpts:{kbExpr:p.a.focus,primary:S.k?2107:571,weight:100}})||this}return T(t,e),t.prototype.run=function(e,t){var o=R.get(t);o&&o.show()},t}(f.b);Object(f.h)(R),Object(f.f)(x);var M=f.c.bindToContribution(R.get);Object(f.g)(new M({id:"closeAccessibilityHelp",precondition:O,handler:function(e){return e.hide()},kbOpts:{weight:200,kbExpr:p.a.focus,primary:9,secondary:[1033]}})),Object(_.e)((function(e,t){var o=e.getColor(y.D);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+o+"; }");var n=e.getColor(y.rb);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+n+"; }");var i=e.getColor(y.e);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+i+"; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"BracketMatchingController",(function(){return E}));o(433);var n,i=o(0),r=o(6),s=o(9),a=o(23),l=o(17),u=o(3),c=o(5),h=o(19),d=o(30),g=o(26),p=o(7),f=o(18),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=Object(p.kb)("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},i.a("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets.")),y=function(e){function t(){return e.call(this,{id:"editor.action.jumpToBracket",label:i.a("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:null,kbOpts:{kbExpr:c.a.editorTextFocus,primary:3160,weight:100}})||this}return m(t,e),t.prototype.run=function(e,t){var o=E.get(t);o&&o.jumpToBracket()},t}(u.b),v=function(e){function t(){return e.call(this,{id:"editor.action.selectToBracket",label:i.a("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:null})||this}return m(t,e),t.prototype.run=function(e,t){var o=E.get(t);o&&o.selectToBracket()},t}(u.b),b=function(e,t){this.position=e,this.brackets=t},E=function(e){function t(t){var o=e.call(this)||this;return o._editor=t,o._lastBracketsData=[],o._lastVersionId=0,o._decorations=[],o._updateBracketsSoon=o._register(new l.c((function(){return o._updateBrackets()}),50)),o._matchBrackets=o._editor.getConfiguration().contribInfo.matchBrackets,o._updateBracketsSoon.schedule(),o._register(t.onDidChangeCursorPosition((function(e){o._matchBrackets&&o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModelContent((function(e){o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModel((function(e){o._decorations=[],o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModelLanguageConfiguration((function(e){o._lastBracketsData=[],o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeConfiguration((function(e){o._matchBrackets=o._editor.getConfiguration().contribInfo.matchBrackets,!o._matchBrackets&&o._decorations.length>0&&(o._decorations=o._editor.deltaDecorations(o._decorations,[])),o._updateBracketsSoon.schedule()}))),o}return m(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.jumpToBracket=function(){var e=this._editor.getModel();if(e){var t=this._editor.getSelections().map((function(t){var o=t.getStartPosition(),n=e.matchBracket(o),i=null;if(n)n[0].containsPosition(o)?i=n[1].getStartPosition():n[1].containsPosition(o)&&(i=n[0].getStartPosition());else{var r=e.findNextBracket(o);r&&r.range&&(i=r.range.getStartPosition())}return i?new a.a(i.lineNumber,i.column,i.lineNumber,i.column):new a.a(o.lineNumber,o.column,o.lineNumber,o.column)}));this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(){var e=this._editor.getModel();if(e){var t=[];this._editor.getSelections().forEach((function(o){var n=o.getStartPosition(),i=e.matchBracket(n),r=null,s=null;if(!i){var l=e.findNextBracket(n);l&&l.range&&(i=e.matchBracket(l.range.getStartPosition()))}i&&(i[0].startLineNumber===i[1].startLineNumber?(r=i[1].startColumn0&&(this._editor.setSelections(t),this._editor.revealRange(t[0]))}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],o=0,n=0,i=this._lastBracketsData.length;n1&&i.sort(s.a.compare);var c=[],h=0,d=0,g=o.length;for(a=0,l=i.length;a=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(){function e(e,t,o,n,i,r){var s=this;this._contextMenuService=t,this._contextViewService=o,this._contextKeyService=n,this._keybindingService=i,this._menuService=r,this._toDispose=[],this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.push(this._editor.onContextMenu((function(e){return s._onContextMenu(e)}))),this._toDispose.push(this._editor.onDidScrollChange((function(e){s._contextMenuIsBeingShownCount>0&&s._contextViewService.hideContextView()}))),this._toDispose.push(this._editor.onKeyDown((function(e){58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),s.showContextMenu())})))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._onContextMenu=function(e){if(!this._editor.getConfiguration().contribInfo.contextmenu)return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));var t;e.target.type!==f.b.OVERLAY_WIDGET&&(e.event.preventDefault(),(e.target.type===f.b.CONTENT_TEXT||e.target.type===f.b.CONTENT_EMPTY||e.target.type===f.b.TEXTAREA)&&(this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position),e.target.type!==f.b.TEXTAREA&&(t={x:e.event.posx,y:e.event.posy+1}),this.showContextMenu(t)))},e.prototype.showContextMenu=function(e){if(this._editor.getConfiguration().contribInfo.contextmenu)if(this._contextMenuService){var t=this._getMenuActions();t.length>0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(){var e=[],t=this._menuService.createMenu(d.b.EditorContext,this._contextKeyService),o=t.getActions({arg:this._editor.getModel().uri});t.dispose();for(var n=0,i=o;n0&&this._contextViewService.hideContextView(),this._toDispose=Object(r.d)(this._toDispose)},e.ID="editor.contrib.contextmenu",e=_([y(1,u.a),y(2,u.b),y(3,h.e),y(4,c.a),y(5,d.a)],e)}(),b=function(e){function t(){return e.call(this,{id:"editor.action.showContextMenu",label:i.a("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:null,kbOpts:{kbExpr:g.a.textInputFocus,primary:1092,weight:100}})||this}return m(t,e),t.prototype.run=function(e,t){v.get(t).showContextMenu()},t}(p.b);Object(p.h)(v),Object(p.f)(b)},function(e,t,o){"use strict";o.r(t),o.d(t,"CursorUndoController",(function(){return c})),o.d(t,"CursorUndo",(function(){return h}));var n,i=o(0),r=o(3),s=o(6),a=o(5),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),u=function(){function e(e){this.selections=e}return e.prototype.equals=function(e){var t=this.selections.length;if(t!==e.selections.length)return!1;for(var o=0;o50&&o._undoStack.shift()),o._prevState=o._readState()}))),o}return l(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype._readState=function(){return this._editor.getModel()?new u(this._editor.getSelections()):null},t.prototype.getId=function(){return t.ID},t.prototype.cursorUndo=function(){for(var e=new u(this._editor.getSelections());this._undoStack.length>0;){var t=this._undoStack.pop();if(!t.equals(e))return this._isCursorUndo=!0,this._editor.setSelections(t.selections),this._editor.revealRangeInCenterIfOutsideViewport(t.selections[0],0),void(this._isCursorUndo=!1)}},t.ID="editor.contrib.cursorUndoController",t}(s.a),h=function(e){function t(){return e.call(this,{id:"cursorUndo",label:i.a("cursor.undo","Soft Undo"),alias:"Soft Undo",precondition:null,kbOpts:{kbExpr:a.a.textInputFocus,primary:2099,weight:100}})||this}return l(t,e),t.prototype.run=function(e,t,o){c.get(t).cursorUndo()},t}(r.b);Object(r.h)(c),Object(r.f)(h)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(3),s=o(96),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomIn",label:i.a("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()+1)},t}(r.b),u=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomOut",label:i.a("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()-1)},t}(r.b),c=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomReset",label:i.a("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(0)},t}(r.b);Object(r.f)(l),Object(r.f)(u),Object(r.f)(c)},function(e,t,o){"use strict";o.r(t);o(301);var n=o(0),i=o(17),r=o(13),s=o(71),a=o(10),l=o(89),u=o(2),c=o(11),h=o(16),d=o(3),g=o(164),p=o(6),f=o(133),m=o(19),_=o(7),y=o(90),v=o(154),b=o(211),E=o(9),C=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},S=function(e,t){return function(o,n){t(o,n,e)}},T=function(){function e(e,t,o){var n=this;this.textModelResolverService=t,this.modeService=o,this.toUnhook=[],this.decorations=[],this.editor=e,this.throttler=new i.e;var s=new b.a(e);this.toUnhook.push(s),this.toUnhook.push(s.onMouseMoveOrRelevantKeyDown((function(e){var t=e[0],o=e[1];n.startFindDefinition(t,o)}))),this.toUnhook.push(s.onExecute((function(e){n.isEnabled(e)&&n.gotoDefinition(e.target,e.hasSideBySideModifier).done((function(){n.removeDecorations()}),(function(e){n.removeDecorations(),Object(r.e)(e)}))}))),this.toUnhook.push(s.onCancel((function(){n.removeDecorations(),n.currentWordUnderMouse=null})))}return e.prototype.startFindDefinition=function(e,t){var o=this;if(!this.isEnabled(e,t))return this.currentWordUnderMouse=null,void this.removeDecorations();var i=e.target.position,l=i?this.editor.getModel().getWordAtPosition(i):null;if(!l)return this.currentWordUnderMouse=null,void this.removeDecorations();if(!this.currentWordUnderMouse||this.currentWordUnderMouse.startColumn!==l.startColumn||this.currentWordUnderMouse.endColumn!==l.endColumn||this.currentWordUnderMouse.word!==l.word){this.currentWordUnderMouse=l;var c=new y.a(this.editor,15);this.throttler.queue((function(){return c.validate(o.editor)?o.findDefinition(e.target):a.b.wrap(null)})).then((function(e){if(e&&e.length&&c.validate(o.editor))if(e.length>1)o.addDecoration(new u.a(i.lineNumber,l.startColumn,i.lineNumber,l.endColumn),(new s.a).appendText(n.a("multipleResults","Click to show {0} definitions.",e.length)));else{var t=e[0];if(!t.uri)return;o.textModelResolverService.createModelReference(t.uri).then((function(e){if(e.object&&e.object.textEditorModel){var n=e.object.textEditorModel,r=t.range.startLineNumber;if(0!==n.getLineMaxColumn(r)){var a,c=o.getPreviewValue(n,r);a=t.origin?u.a.lift(t.origin):new u.a(i.lineNumber,l.startColumn,i.lineNumber,l.endColumn),o.addDecoration(a,(new s.a).appendCodeblock(o.modeService.getModeIdByFilenameOrFirstLine(n.uri.fsPath),c)),e.dispose()}else e.dispose()}else e.dispose()}))}else o.removeDecorations()})).done(void 0,r.e)}},e.prototype.getPreviewValue=function(t,o){var n=this.getPreviewRangeBasedOnBrackets(t,o);return n.endLineNumber-n.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(t,o)),this.stripIndentationFromPreviewRange(t,o,n)},e.prototype.stripIndentationFromPreviewRange=function(e,t,o){for(var n=e.getLineFirstNonWhitespaceColumn(t),i=t+1;in)return new u.a(o,1,n+1,1);s=t.findNextBracket(new E.a(c,h))}return new u.a(o,1,n+1,1)},e.prototype.addDecoration=function(e,t){var o={range:e,options:{inlineClassName:"goto-definition-link",hoverMessage:t}};this.decorations=this.editor.deltaDecorations(this.decorations,[o])},e.prototype.removeDecorations=function(){this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.getModel()&&e.isNoneOrSingleMouseDown&&e.target.type===h.b.CONTENT_TEXT&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey)&&c.e.has(this.editor.getModel())},e.prototype.findDefinition=function(e){var t=this.editor.getModel();return t?Object(g.a)(t,e.position):a.b.as(null)},e.prototype.gotoDefinition=function(e,t){var o=this;this.editor.setPosition(e.position);var n=new v.DefinitionAction(new v.DefinitionActionConfig(t,!1,!0,!1),{alias:void 0,label:void 0,id:void 0,precondition:void 0});return this.editor.invokeWithinContext((function(e){return n.run(e,o.editor)}))},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toUnhook=Object(p.d)(this.toUnhook)},e.ID="editor.contrib.gotodefinitionwithmouse",e.MAX_SOURCE_PREVIEW_LINES=8,e=C([S(1,f.a),S(2,l.a)],e)}();Object(d.h)(T),Object(m.e)((function(e,t){var o=e.getColor(_.m);o&&t.addRule(".monaco-editor .goto-definition-link { color: "+o+" !important; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"GotoLineEntry",(function(){return p})),o.d(t,"GotoLineAction",(function(){return f}));o(475);var n,i=o(0),r=o(124),s=o(97),a=o(5),l=o(16),u=o(161),c=o(3),h=o(9),d=o(2),g=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),p=function(e){function t(t,o,n){var i=e.call(this)||this;return i.editor=o,i.decorator=n,i._parseResult=i._parseInput(t),i}return g(t,e),t.prototype._parseInput=function(e){var t,o,n=e.split(",").map((function(e){return parseInt(e,10)})).filter((function(e){return!isNaN(e)}));t=0===n.length?new h.a(-1,-1):1===n.length?new h.a(n[0],1):new h.a(n[0],n[1]);var r=(o=Object(l.d)(this.editor)?this.editor.getModel():this.editor.getModel().modified).validatePosition(t).equals(t);return{position:t,isValid:r,label:r?t.column&&t.column>1?i.a("gotoLineLabelValidLineAndColumn","Go to line {0} and character {1}",t.lineNumber,t.column):i.a("gotoLineLabelValidLine","Go to line {0}",t.lineNumber,t.column):t.lineNumber<1||t.lineNumber>o.getLineCount()?i.a("gotoLineLabelEmptyWithLineLimit","Type a line number between 1 and {0} to navigate to",o.getLineCount()):i.a("gotoLineLabelEmptyWithLineAndColumnLimit","Type a character between 1 and {0} to navigate to",o.getLineMaxColumn(t.lineNumber))}},t.prototype.getLabel=function(){return this._parseResult.label},t.prototype.getAriaLabel=function(){return i.a("gotoLineAriaLabel","Go to line {0}",this._parseResult.label)},t.prototype.run=function(e,t){return e===s.a.OPEN?this.runOpen():this.runPreview()},t.prototype.runOpen=function(){if(!this._parseResult.isValid)return!1;var e=this.toSelection();return this.editor.setSelection(e),this.editor.revealRangeInCenter(e,0),this.editor.focus(),!0},t.prototype.runPreview=function(){if(!this._parseResult.isValid)return this.decorator.clearDecorations(),!1;var e=this.toSelection();return this.editor.revealRangeInCenter(e,0),this.decorator.decorateLine(e,this.editor),!1},t.prototype.toSelection=function(){return new d.a(this._parseResult.position.lineNumber,this._parseResult.position.column,this._parseResult.position.lineNumber,this._parseResult.position.column)},t}(r.a),f=function(e){function t(){return e.call(this,i.a("gotoLineActionInput","Type a line number, followed by an optional colon and a character number to navigate to"),{id:"editor.action.gotoLine",label:i.a("GotoLineAction.label","Go to Line..."),alias:"Go to Line...",precondition:null,kbOpts:{kbExpr:a.a.focus,primary:2085,mac:{primary:293},weight:100}})||this}return g(t,e),t.prototype.run=function(e,t){var o=this;this._show(this.getController(t),{getModel:function(e){return new r.c([new p(e,t,o.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(u.a);Object(c.f)(f)},function(e,t,o){"use strict";o.r(t);o(481);var n,i=o(0),r=o(6),s=o(8),a=o(3),l=o(16),u=o(89),c=o(11),h=o(103),d=o(69),g=o(14),p=o(19),f=o(7),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(e){function t(t,o,n){var i=e.call(this)||this;return i._editor=t,i._standaloneThemeService=o,i._modeService=n,i._widget=null,i._register(i._editor.onDidChangeModel((function(e){return i.stop()}))),i._register(i._editor.onDidChangeModelLanguage((function(e){return i.stop()}))),i._register(c.y.onDidChange((function(e){return i.stop()}))),i}return m(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.dispose=function(){this.stop(),e.prototype.dispose.call(this)},t.prototype.launch=function(){this._widget||this._editor.getModel()&&(this._widget=new E(this._editor,this._standaloneThemeService,this._modeService))},t.prototype.stop=function(){this._widget&&(this._widget.dispose(),this._widget=null)},t.ID="editor.contrib.inspectTokens",t=_([y(1,h.a),y(2,u.a)],t)}(r.a),b=function(e){function t(){return e.call(this,{id:"editor.action.inspectTokens",label:i.a("inspectTokens","Developer: Inspect Tokens"),alias:"Developer: Inspect Tokens",precondition:null})||this}return m(t,e),t.prototype.run=function(e,t){var o=v.get(t);o&&o.launch()},t}(a.b);var E=function(e){function t(t,o,n){var i,r=e.call(this)||this;return r.allowEditorOverflow=!0,r._editor=t,r._modeService=n,r._model=r._editor.getModel(),r._domNode=document.createElement("div"),r._domNode.className="tokens-inspect-widget",r._tokenizationSupport=(i=r._model.getLanguageIdentifier(),c.y.get(i.language)||{getInitialState:function(){return d.c},tokenize:function(e,t,o){return Object(d.d)(i.language,e,t,o)},tokenize2:function(e,t,o){return Object(d.e)(i.id,e,t,o)}}),r._compute(r._editor.getPosition()),r._register(r._editor.onDidChangeCursorPosition((function(e){return r._compute(r._editor.getPosition())}))),r._editor.addContentWidget(r),r}return m(t,e),t.prototype.dispose=function(){this._editor.removeContentWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t._ID},t.prototype._compute=function(e){for(var t=this._getTokensAtLine(e.lineNumber),o=0,n=t.tokens1.length-1;n>=0;n--){var i=t.tokens1[n];if(e.column-1>=i.offset){o=n;break}}var r=0;for(n=t.tokens2.length>>>1;n>=0;n--)if(e.column-1>=t.tokens2[n<<1]){r=n;break}var a="",l=this._model.getLineContent(e.lineNumber),u="";if(o'+function(e){for(var t="",o=0,n=e.length;o('+u.length+" "+(1===u.length?"char":"chars")+")",a+='
    ';var d=this._decodeMetadata(t.tokens2[1+(r<<1)]);a+='',a+='",a+='",a+='",a+='",a+='",a+="",a+='
    ',o'+Object(s.escape)(t.tokens1[o].type)+""),this._domNode.innerHTML=a,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=c.y.getColorMap(),o=c.x.getLanguageId(e),n=c.x.getTokenType(e),i=c.x.getFontStyle(e),r=c.x.getForeground(e),s=c.x.getBackground(e);return{languageIdentifier:this._modeService.getLanguageIdentifier(o),tokenType:n,fontStyle:i,foreground:t[r],background:t[s]}},t.prototype._tokenTypeToString=function(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 4:return"RegEx"}return"??"},t.prototype._fontStyleToString=function(e){var t="";return 1&e&&(t+="italic "),2&e&&(t+="bold "),4&e&&(t+="underline "),0===t.length&&(t="---"),t},t.prototype._getTokensAtLine=function(e){var t=this._getStateBeforeLine(e),o=this._tokenizationSupport.tokenize(this._model.getLineContent(e),t,0),n=this._tokenizationSupport.tokenize2(this._model.getLineContent(e),t,0);return{startState:t,tokens1:o.tokens,tokens2:n.tokens,endState:o.endState}},t.prototype._getStateBeforeLine=function(e){for(var t=this._tokenizationSupport.getInitialState(),o=1;o1&&o.push(new d.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var o=this,n=t.getModel(),i=t.getSelections(),r=[];i.forEach((function(e){return o.getCursorsForSelection(e,n,r)})),r.length>0&&t.setSelections(r)},t}(c.b),w=function(e,t,o){this.selections=e,this.revealRange=t,this.revealScrollType=o},k=function(){function e(e,t,o,n,i,r,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=o,this.searchText=n,this.wholeWord=i,this.matchCase=r,this.currentMatch=s}return e.create=function(t,o){var n=o.getState();if(!t.hasTextFocus()&&n.isRevealed&&n.searchString.length>0)return new e(t,o,!1,n.searchString,n.wholeWord,n.matchCase,null);var i,r,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,i=!0,r=!0):(i=n.wholeWord,r=n.matchCase);var l,u=t.getSelection(),c=null;if(u.isEmpty()){var h=t.getModel().getWordAtPosition(u.getStartPosition());if(!h)return null;l=h.word,c=new d.a(u.startLineNumber,h.startColumn,u.startLineNumber,h.endColumn)}else l=t.getModel().getValueInRange(u).replace(/\r\n/g,"\n");return new e(t,o,s,l,i,r,c)},e.prototype.addSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),o=t[t.length-1],n=this._editor.getModel().findNextMatch(this.searchText,o.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return n?new d.a(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),o=t[t.length-1],n=this._editor.getModel().findPreviousMatch(this.searchText,o.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return n?new d.a(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null},e.prototype.selectAll=function(){return this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)},e}(),O=function(e){function t(t){var o=e.call(this)||this;return o._editor=t,o._ignoreSelectionChange=!1,o._session=null,o._sessionDispose=[],o}return E(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this._endSession(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype._beginSessionIfNeeded=function(e){var t=this;if(!this._session){var o=k.create(this._editor,e);if(!o)return;this._session=o;var n={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(n.wholeWordOverride=1,n.matchCaseOverride=1,n.isRegexOverride=2),e.getState().change(n,!1),this._sessionDispose=[this._editor.onDidChangeCursorSelection((function(e){t._ignoreSelectionChange||t._endSession()})),this._editor.onDidBlurEditorText((function(){t._endSession()})),e.getState().onFindReplaceStateChange((function(e){(e.matchCase||e.wholeWord)&&t._endSession()}))]}},t.prototype._endSession=function(){if(this._sessionDispose=Object(r.d)(this._sessionDispose),this._session&&this._session.isDisconnectedFromFindController){this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1)}this._session=null},t.prototype._setSelections=function(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1},t.prototype._expandEmptyToWord=function(e,t){if(!t.isEmpty())return t;var o=e.getWordAtPosition(t.getStartPosition());return o?new d.a(t.startLineNumber,o.startColumn,t.startLineNumber,o.endColumn):t},t.prototype._applySessionResult=function(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))},t.prototype.getSession=function(e){return this._session},t.prototype.addSelectionToNextFindMatch=function(e){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var o=e.getState().matchCase;if(!B(this._editor.getModel(),t,o)){for(var n=this._editor.getModel(),i=[],r=0,s=t.length;r0&&o.isRegex)t=this._editor.getModel().findMatches(o.searchString,!0,o.isRegex,o.matchCase,o.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824);else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll()}if(t.length>0){for(var n=this._editor.getSelection(),i=0,r=t.length;i1){var l=r.getState().matchCase;if(!B(t.getModel(),a,l))return null}s=k.create(t,r)}if(!s)return null;var u=null,c=f.h.has(o);if(s.currentMatch){if(c)return null;if(!t.getConfiguration().contribInfo.occurrencesHighlight)return null;u=s.currentMatch}if(/^[ \t]+$/.test(s.searchText))return null;if(s.searchText.length>200)return null;var h=r.getState(),d=h.matchCase;if(h.isRevealed){var g=h.searchString;d||(g=g.toLowerCase());var p=s.searchText;if(d||(p=p.toLowerCase()),g===p&&s.matchCase===h.matchCase&&s.wholeWord===h.wholeWord&&!h.isRegex)return null}return new x(u,s.searchText,s.matchCase,s.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(x.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){var o=this.editor.getModel();if(!o.isTooLargeForTokenization()){var n=f.h.has(o),i=o.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map((function(e){return e.range}));i.sort(h.a.compareRangesUsingStarts);var r=this.editor.getSelections();r.sort(h.a.compareRangesUsingStarts);for(var s=[],a=0,l=0,u=i.length,c=r.length;a=c)s.push(d),a++;else{var g=h.a.compareRangesUsingStarts(d,r[l]);g<0?(!r[l].isEmpty()&&h.a.areIntersecting(d,r[l])||s.push(d),a++):g>0?l++:(a++,l++)}}var p=s.map((function(e){return{range:e,options:n?t._SELECTION_HIGHLIGHT:t._SELECTION_HIGHLIGHT_OVERVIEW}}));this.decorations=this.editor.deltaDecorations(this.decorations,p)}}else this.decorations=this.editor.deltaDecorations(this.decorations,[])},t.prototype.dispose=function(){this._setState(null),e.prototype.dispose.call(this)},t.ID="editor.contrib.selectionHighlighter",t._SELECTION_HIGHLIGHT_OVERVIEW=_.a.register({stickiness:l.h.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight",overviewRuler:{color:Object(v.f)(y.gb),darkColor:Object(v.f)(y.gb),position:l.f.Center}}),t._SELECTION_HIGHLIGHT=_.a.register({stickiness:l.h.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight"}),t}(r.a);function B(e,t,o){for(var n=F(e,t[0],!o),i=1,r=t.length;i=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},R=function(e,t){return function(o,n){t(o,n,e)}},N={getMetaTitle:function(e){return e.references.length>1&&i.a("meta.titleReference"," – {0} references",e.references.length)}},I=function(){function e(e,t){e instanceof y.a&&d.a.inPeekEditor.bindTo(t)}return e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.ID="editor.contrib.referenceController",e=O([R(1,s.e)],e)}(),L=function(e){function t(){return e.call(this,{id:"editor.action.referenceSearch.trigger",label:i.a("references.action.label","Find All References"),alias:"Find All References",precondition:s.d.and(_.a.hasReferenceProvider,d.a.notInPeekEditor,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:1094,weight:100},menuOpts:{group:"navigation",order:1.5}})||this}return k(t,e),t.prototype.run=function(e,t){var o=g.a.get(t);if(o){var n=t.getSelection(),i=t.getModel(),r=Object(f.i)((function(e){return P(i,n.getStartPosition(),e).then((function(e){return new p.c(e)}))}));o.toggleWidget(n,r,N)}},t}(u.b);Object(u.h)(I),Object(u.f)(L);function D(e,t){A(e,(function(e){return e.closeWidget()}))}function A(e,t){var o=Object(d.c)(e);if(o){var n=g.a.get(o);n&&t(n)}}function P(e,t,o){var n=c.r.ordered(e).map((function(o){return Object(f.h)((function(n){return o.provideReferences(e,t,{includeDeclaration:!0},n)})).then((function(e){if(Array.isArray(e))return e}),(function(e){Object(m.f)(e)}))}));return Promise.all(n).then((function(e){for(var t=[],o=0,n=e;o=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},p=function(e,t){return function(o,n){t(o,n,e)}},f=function(e){function t(t,o,n,i,r,s,a){return e.call(this,!0,t,o,n,i,r,s,a)||this}return d(t,e),t=g([p(1,s.e),p(2,i.a),p(3,c.a),p(4,r.a),p(5,l.a),p(6,a.b)],t)}(h.a);Object(u.h)(f)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(3),s=o(103),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){var t=e.call(this,{id:"editor.action.toggleHighContrast",label:i.a("toggleHighContrast","Toggle High Contrast Theme"),alias:"Toggle High Contrast Theme",precondition:null})||this;return t._originalThemeName=null,t}return a(t,e),t.prototype.run=function(e,t){var o=e.get(s.a);this._originalThemeName?(o.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=o.getTheme().themeName,o.setTheme("hc-black"))},t}(r.b);Object(r.f)(l)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(8),s=o(2),a=o(9),l=o(5),u=o(3),c=o(43),h=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),d=function(e){function t(){return e.call(this,{id:"editor.action.transposeLetters",label:i.a("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:l.a.writable,kbOpts:{kbExpr:l.a.textInputFocus,primary:0,mac:{primary:306},weight:100}})||this}return h(t,e),t.prototype.positionLeftOf=function(e,t){var o=e.column,n=e.lineNumber;return o>t.getLineMinColumn(n)?Object(r.isLowSurrogate)(t.getLineContent(n).charCodeAt(o-2))?o-=2:o-=1:n>1&&(n-=1,o=t.getLineMaxColumn(n)),new a.a(n,o)},t.prototype.positionRightOf=function(e,t){var o=e.column,n=e.lineNumber;return o0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())},t}(u.b);Object(u.f)(d)},function(e,t,o){"use strict";o.r(t),o.d(t,"editorWordHighlight",(function(){return S})),o.d(t,"editorWordHighlightStrong",(function(){return T})),o.d(t,"editorWordHighlightBorder",(function(){return w})),o.d(t,"editorWordHighlightStrongBorder",(function(){return k})),o.d(t,"overviewRulerWordHighlightForeground",(function(){return O})),o.d(t,"overviewRulerWordHighlightStrongForeground",(function(){return R})),o.d(t,"ctxHasWordHighlights",(function(){return N})),o.d(t,"getOccurrencesAtPosition",(function(){return I}));var n,i=o(0),r=o(17),s=o(13),a=o(2),l=o(3),u=o(11),c=o(6),h=o(7),d=o(19),g=o(35),p=o(26),f=o(12),m=o(5),_=o(25),y=o(18),v=o(48),b=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),E=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},C=function(e,t){return function(o,n){t(o,n,e)}},S=Object(h.kb)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},i.a("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque to not hide underlying decorations."),!0),T=Object(h.kb)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},i.a("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque to not hide underlying decorations."),!0),w=Object(h.kb)("editor.wordHighlightBorder",{light:null,dark:null,hc:h.b},i.a("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),k=Object(h.kb)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:h.b},i.a("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),O=Object(h.kb)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},i.a("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque to not hide underlying decorations."),!0),R=Object(h.kb)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},i.a("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque to not hide underlying decorations."),!0),N=new f.f("hasWordHighlights",!1);function I(e,t,o){var n=u.h.ordered(e);return Object(r.k)(n.map((function(n){return function(){return Promise.resolve(n.provideDocumentHighlights(e,t,o)).then(void 0,s.f)}})),(function(e){return!Object(_.k)(e)}))}Object(l.e)("_executeDocumentHighlights",(function(e,t){return I(e,t,v.a.None)}));var L=function(){function e(e,t){var o=this;this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this._hasWordHighlights=N.bindTo(t),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getConfiguration().contribInfo.occurrencesHighlight,this.model=this.editor.getModel(),this.toUnhook=[],this.toUnhook.push(e.onDidChangeCursorPosition((function(e){o._ignorePositionChangeEvent||o.occurrencesHighlight&&o._onPositionChanged(e)}))),this.toUnhook.push(e.onDidChangeModel((function(e){o._stopAll(),o.model=o.editor.getModel()}))),this.toUnhook.push(e.onDidChangeModelContent((function(e){o._stopAll()}))),this.toUnhook.push(e.onDidChangeConfiguration((function(e){var t=o.editor.getConfiguration().contribInfo.occurrencesHighlight;o.occurrencesHighlight!==t&&(o.occurrencesHighlight=t,o._stopAll())}))),this._lastWordRange=null,this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}return e.prototype.hasDecorations=function(){return this._decorationIds.length>0},e.prototype.restore=function(){this.occurrencesHighlight&&this._run()},e.prototype._getSortedHighlights=function(){var e=this;return this._decorationIds.map((function(t){return e.model.getDecorationRange(t)})).sort(a.a.compareRangesUsingStarts)},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),o=t[(Object(_.h)(t,(function(t){return t.containsPosition(e.editor.getPosition())}))+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),o=t[(Object(_.h)(t,(function(t){return t.containsPosition(e.editor.getPosition())}))-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o)}finally{this._ignorePositionChangeEvent=!1}},e.prototype._removeDecorations=function(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]),this._hasWordHighlights.set(!1))},e.prototype._stopAll=function(){this._lastWordRange=null,this._removeDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)},e.prototype._onPositionChanged=function(e){this.occurrencesHighlight&&e.reason===g.a.Explicit?this._run():this._stopAll()},e.prototype._run=function(){var e=this;if(u.h.has(this.model)){var t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var o=t.startLineNumber,n=t.startColumn,i=t.endColumn,l=this.model.getWordAtPosition({lineNumber:o,column:n});if(!l||l.startColumn>n||l.endColumn=i&&(h=!0)}if(this.lastCursorPositionChangeTime=(new Date).getTime(),h)this.workerRequestCompleted&&-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();var f=++this.workerRequestTokenId;this.workerRequestCompleted=!1,this.workerRequest=Object(r.i)((function(t){return I(e.model,e.editor.getPosition(),t)})),this.workerRequest.then((function(t){f===e.workerRequestTokenId&&(e.workerRequestCompleted=!0,e.workerRequestValue=t||[],e._beginRenderDecorations())}),s.e)}this._lastWordRange=c}}else this._stopAll()}else this._stopAll()},e.prototype._beginRenderDecorations=function(){var e=this,t=(new Date).getTime(),o=this.lastCursorPositionChangeTime+250;t>=o?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((function(){e.renderDecorations()}),o-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],o=0,n=this.workerRequestValue.length;o1)?r?r.apply(void 0,e.params.concat([d.token])):S.apply(void 0,[e.method].concat(e.params,[d.token])):r?r(e.params,d.token):S(e.method,e.params,d.token);f?m.then?m.then((function(o){delete N[p],t(o,e.method,c)}),(function(t){delete N[p],t instanceof a.ResponseError?n(t,e.method,c):t&&s.string(t.message)?n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed with message: "+t.message),e.method,c):n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed unexpectedly without providing any details."),e.method,c)})):(delete N[p],t(f,e.method,c)):(delete N[p],function(t,n,i){void 0===t&&(t=null);var r={jsonrpc:C,id:e.id,result:t};Y(r,n,i),o.write(r)}(f,e.method,c))}catch(o){delete N[p],o instanceof a.ResponseError?t(o,e.method,c):o&&s.string(o.message)?n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed with message: "+o.message),e.method,c):n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed unexpectedly without providing any details."),e.method,c)}}else n(new a.ResponseError(a.ErrorCodes.MethodNotFound,"Unhandled method "+e.method),e.method,c)}(e):a.isNotificationMessage(e)?function(e){if(V())return;var t,o=void 0;if(e.method===d.type.method)t=function(e){var t=e.id,o=N[String(t)];o&&o.cancel()};else{var i=k[e.method];i&&(t=i.handler,o=i.type)}if(t||w)try{!function(e){if(I===g.Off||!l||e.method===f.type.method)return;var t=void 0;I===g.Verbose&&(t=e.params?"Params: "+JSON.stringify(e.params,null,4)+"\n\n":"No parameters provided.\n\n");l.log("Received notification '"+e.method+"'.",t)}(e),void 0===e.params||void 0!==o&&0===o.numberOfParams?t?t():w(e.method):s.array(e.params)&&(void 0===o||o.numberOfParams>1)?t?t.apply(void 0,e.params):w.apply(void 0,[e.method].concat(e.params)):t?t(e.params):w(e.method,e.params)}catch(t){t.message?n.error("Notification handler '"+e.method+"' failed with message: "+t.message):n.error("Notification handler '"+e.method+"' failed unexpectedly.")}else P.fire(e)}(e):a.isResponseMessage(e)?function(e){if(V())return;if(null===e.id)e.error?n.error("Received response message without id: Error is: \n"+JSON.stringify(e.error,void 0,4)):n.error("Received response message without id. No further error information provided.");else{var t=String(e.id),o=R[t];if(function(e,t){if(I===g.Off||!l)return;var o=void 0;I===g.Verbose&&(e.error&&e.error.data?o="Error data: "+JSON.stringify(e.error.data,null,4)+"\n\n":e.result?o="Result: "+JSON.stringify(e.result,null,4)+"\n\n":void 0===e.error&&(o="No result returned.\n\n"));if(t){var n=e.error?" Request failed: "+e.error.message+" ("+e.error.code+").":"";l.log("Received response '"+t.method+" - ("+e.id+")' in "+(Date.now()-t.timerStart)+"ms."+n,o)}else l.log("Received response "+e.id+" without active response promise.",o)}(e,o),o){delete R[t];try{if(e.error){var i=e.error;o.reject(new a.ResponseError(i.code,i.message,i.data))}else{if(void 0===e.result)throw new Error("Should never happen.");o.resolve(e.result)}}catch(i){i.message?n.error("Response handler '"+o.method+"' failed with message: "+i.message):n.error("Response handler '"+o.method+"' failed unexpectedly.")}}}}(e):function(e){if(!e)return void n.error("Received empty message.");n.error("Received message which is neither a response nor a notification message:\n"+JSON.stringify(e,null,4));var t=e;if(s.string(t.id)||s.number(t.id)){var o=String(t.id),i=R[o];i&&i.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{j()}}()})))}t.onClose(W),t.onError((function(e){D.fire([e,void 0,void 0])})),o.onClose(W),o.onError((function(e){D.fire(e)}));var G=function(e){try{if(a.isNotificationMessage(e)&&e.method===d.type.method){var t=M(e.params.id),n=O.get(t);if(a.isRequestMessage(n)){var r=i&&i.cancelUndispatched?i.cancelUndispatched(n,F):void 0;if(r&&(void 0!==r.error||void 0!==r.result))return O.delete(t),r.id=n.id,Y(r,e.method,Date.now()),void o.write(r)}}B(O,e)}finally{j()}};function z(e){if(I!==g.Off&&l){var t=void 0;I===g.Verbose&&e.params&&(t="Params: "+JSON.stringify(e.params,null,4)+"\n\n"),l.log("Sending request '"+e.method+" - ("+e.id+")'.",t)}}function K(e){if(I!==g.Off&&l){var t=void 0;I===g.Verbose&&(t=e.params?"Params: "+JSON.stringify(e.params,null,4)+"\n\n":"No parameters provided.\n\n"),l.log("Sending notification '"+e.method+"'.",t)}}function Y(e,t,o){if(I!==g.Off&&l){var n=void 0;I===g.Verbose&&(e.error&&e.error.data?n="Error data: "+JSON.stringify(e.error.data,null,4)+"\n\n":e.result?n="Result: "+JSON.stringify(e.result,null,4)+"\n\n":void 0===e.error&&(n="No result returned.\n\n")),l.log("Sending response '"+t+" - ("+e.id+")'. Processing request took "+(Date.now()-o)+"ms",n)}}function X(){if(U())throw new v(m.Closed,"Connection is closed.");if(V())throw new v(m.Disposed,"Connection is disposed.")}function q(){if(!H())throw new Error("Call listen() first.")}function $(e){return void 0===e?null:e}function J(e,t){var o,n=e.numberOfParams;switch(n){case 0:o=null;break;case 1:o=$(t[0]);break;default:o=[];for(var i=0;i=o.length)o.copy(this.buffer,this.index,0,o.length);else{var s=(Math.ceil((this.index+o.length)/r)+1)*r;0===this.index?(this.buffer=e.allocUnsafe(s),o.copy(this.buffer,0,0,o.length)):this.buffer=e.concat([this.buffer.slice(0,this.index),o],s)}this.index+=o.length}tryReadHeaders(){let e=void 0,t=0;for(;t+3=this.index)return e;e=Object.create(null),this.buffer.toString("ascii",0,t).split(l).forEach(t=>{let o=t.indexOf(":");if(-1===o)throw new Error("Message header must separate key and value using :");let n=t.substr(0,o),i=t.substr(o+1).trim();e[n]=i});let o=t+4;return this.buffer=this.buffer.slice(o),this.index=this.index-o,e}tryReadContent(e){if(this.index{this.onData(e)}),this.readable.on("error",e=>this.fireError(e)),this.readable.on("close",()=>this.fireClose())}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){let e=this.buffer.tryReadHeaders();if(!e)return;let t=e["Content-Length"];if(!t)throw new Error("Header must provide a Content-Length property.");let o=parseInt(t);if(isNaN(o))throw new Error("Content-Length value must be a number.");this.nextMessageLength=o}var t=this.buffer.tryReadContent(this.nextMessageLength);if(null===t)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.messageToken++;var o=JSON.parse(t);this.callback(o)}}clearPartialMessageTimer(){this.partialMessageTimer&&(clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}t.StreamMessageReader=h;t.IPCMessageReader=class extends c{constructor(e){super(),this.process=e;let t=this.process;t.on("error",e=>this.fireError(e)),t.on("close",()=>this.fireClose())}listen(e){this.process.on("message",e)}};t.SocketMessageReader=class extends h{constructor(e,t="utf-8"){super(e,t)}}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const n=o(186),i=o(171);let r="Content-Length: ",s="\r\n";!function(e){e.is=function(e){let t=e;return t&&i.func(t.dispose)&&i.func(t.onClose)&&i.func(t.onError)&&i.func(t.write)}}(t.MessageWriter||(t.MessageWriter={}));class a{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,o){this.errorEmitter.fire([this.asError(e),t,o])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer recevied error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=a;t.StreamMessageWriter=class extends a{constructor(e,t="utf8"){super(),this.writable=e,this.encoding=t,this.errorCount=0,this.writable.on("error",e=>this.fireError(e)),this.writable.on("close",()=>this.fireClose())}write(t){let o=JSON.stringify(t),n=e.byteLength(o,this.encoding),i=[r,n.toString(),s,s];try{this.writable.write(i.join(""),"ascii"),this.writable.write(o,this.encoding),this.errorCount=0}catch(e){this.errorCount++,this.fireError(e,t,this.errorCount)}}};t.IPCMessageWriter=class extends a{constructor(e){super(),this.process=e,this.errorCount=0,this.queue=[],this.sending=!1;let t=this.process;t.on("error",e=>this.fireError(e)),t.on("close",()=>this.fireClose)}write(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)}doWriteMessage(e){try{this.process.send&&(this.sending=!0,this.process.send(e,void 0,void 0,t=>{this.sending=!1,t?(this.errorCount++,this.fireError(t,e,this.errorCount)):this.errorCount=0,this.queue.length>0&&this.doWriteMessage(this.queue.shift())}))}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}}};t.SocketMessageWriter=class extends a{constructor(e,t="utf8"){super(),this.socket=e,this.queue=[],this.sending=!1,this.encoding=t,this.errorCount=0,this.socket.on("error",e=>this.fireError(e)),this.socket.on("close",()=>this.fireClose())}write(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)}doWriteMessage(t){let o=JSON.stringify(t),n=e.byteLength(o,this.encoding),i=[r,n.toString(),s,s];try{this.sending=!0,this.socket.write(i.join(""),"ascii",e=>{e&&this.handleError(e,t);try{this.socket.write(o,this.encoding,e=>{this.sending=!1,e?this.handleError(e,t):this.errorCount=0,this.queue.length>0&&this.doWriteMessage(this.queue.shift())})}catch(e){this.handleError(e,t)}})}catch(e){this.handleError(e,t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every(e=>n(e))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(13),r=o(25),s=o(6),a=o(22),l=o(12),u=o(37),c=o(5),h=o(3),d=o(59),g=o(53),p=o(2),f=o(114),m=o(139),_=o(47),y=o(17),v=o(4),b=o(79),E=o(35),C=o(23),S=o(11),T=o(111),w=o(27),k=function(){function e(t,o,n,i){void 0===i&&(i=w.a.contribInfo.suggest),this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=o,this._options=i,this._refilterKind=1,this._lineContext=n,"top"===i.snippets?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===i.snippets&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return e.prototype.dispose=function(){for(var e=new Set,t=0,o=this._items;t2e3?T.c:T.d,a=0;at.score?-1:e.scoret.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,o){if(t.suggestion.type!==o.suggestion.type){if("snippet"===t.suggestion.type)return 1;if("snippet"===o.suggestion.type)return-1}return e._compareCompletionItems(t,o)},e._compareCompletionItemsSnippetsUp=function(t,o){if(t.suggestion.type!==o.suggestion.type){if("snippet"===t.suggestion.type)return-1;if("snippet"===o.suggestion.type)return 1}return e._compareCompletionItems(t,o)},e}(),O=function(){function e(e,t,o){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.auto=o}return e.shouldAutoTrigger=function(e){var t=e.getModel();if(!t)return!1;var o=e.getPosition();t.tokenizeIfCheap(o.lineNumber);var n=t.getWordAtPosition(o);return!!n&&(n.endColumn===o.column&&!!isNaN(Number(n.word)))},e}(),R=function(){function e(e){var t=this;this._toDispose=[],this._triggerQuickSuggest=new y.f,this._triggerRefilter=new y.f,this._onDidCancel=new v.a,this._onDidTrigger=new v.a,this._onDidSuggest=new v.a,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._editor=e,this._state=0,this._requestPromise=null,this._completionModel=null,this._context=null,this._currentSelection=this._editor.getSelection()||new C.a(1,1,1,1),this._toDispose.push(this._editor.onDidChangeModel((function(){t._updateTriggerCharacters(),t.cancel()}))),this._toDispose.push(this._editor.onDidChangeModelLanguage((function(){t._updateTriggerCharacters(),t.cancel()}))),this._toDispose.push(this._editor.onDidChangeConfiguration((function(){t._updateTriggerCharacters(),t._updateQuickSuggest()}))),this._toDispose.push(S.u.onDidChange((function(){t._updateTriggerCharacters(),t._updateActiveSuggestSession()}))),this._toDispose.push(this._editor.onDidChangeCursorSelection((function(e){t._onCursorChange(e)}))),this._toDispose.push(this._editor.onDidChangeModelContent((function(e){t._refilterCompletionItems()}))),this._updateTriggerCharacters(),this._updateQuickSuggest()}return e.prototype.dispose=function(){Object(s.d)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerCharacterListener,this._triggerQuickSuggest,this._triggerRefilter]),this._toDispose=Object(s.d)(this._toDispose),Object(s.d)(this._completionModel),this.cancel()},e.prototype._updateQuickSuggest=function(){this._quickSuggestDelay=this._editor.getConfiguration().contribInfo.quickSuggestionsDelay,(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&0!==this._quickSuggestDelay||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)},e.prototype._updateTriggerCharacters=function(){var e=this;if(Object(s.d)(this._triggerCharacterListener),!this._editor.getConfiguration().readOnly&&this._editor.getModel()&&this._editor.getConfiguration().contribInfo.suggestOnTriggerCharacters){for(var t=Object.create(null),o=0,n=S.u.all(this._editor.getModel());othis._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){var t=this._completionModel.incomplete,o=this._completionModel.adopt(t);this.trigger({auto:2===this._state},!0,Object(b.d)(t),o)}else{var n=this._completionModel.lineContext,i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(O.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,isFrozen:i})}}else this.cancel()},e}(),N=(o(488),o(8)),I=o(1),L=o(125),D=(o(489),o(21)),A=o(94),P=o(15),x=o(66),M=o(51),B=o(50),F=o(31),H=o(81),U=o(42);function V(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};var o=Math.max(e.start,t.start),n=Math.min(e.end,t.end);return n-o<=0?{start:0,end:0}:{start:o,end:n}}function W(e){return e.end-e.start<=0}function j(e,t){var o=[],n={start:e.start,end:Math.min(t.start,e.end)},i={start:Math.max(t.end,e.start),end:e.end};return W(n)||o.push(n),W(i)||o.push(i),o}function G(e,t){for(var o=[],n=0,i=t;n=r.range.end)){if(e.end=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s};var Z={useShadows:!0,verticalScrollMode:U.b.Auto},Q=function(){function e(e,t,o,n){void 0===n&&(n=Z),this.virtualDelegate=t,this.renderers=new Map,this.splicing=!1,this.items=[],this.itemId=0,this.rangeMap=new Y;for(var i=0,r=o;i=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDblClick",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"dblclick"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDown",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"mousedown"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"contextmenu"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTouchStart",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"touchstart"),(function(t){return e.toTouchEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTap",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.rowsContainer,x.a.Tap),(function(t){return e.toGestureEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),e.prototype.toMouseEvent=function(e){var t=this.getItemIndexFromEventTarget(e.target),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.toTouchEvent=function(e){var t=this.getItemIndexFromEventTarget(e.target),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.toGestureEvent=function(e){var t=this.getItemIndexFromEventTarget(e.initialTarget),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.onScroll=function(e){try{this.render(e.scrollTop,e.height)}catch(t){throw console.log("Got bad scroll event:",e),t}},e.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},e.prototype.onDragOver=function(e){this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=e.posy},e.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=I.w(this._domNode).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval((function(){if(void 0!==e.dragAndDropMouseY){var o=e.dragAndDropMouseY-t,n=0,i=e.renderHeight-35;o<35?n=Math.max(-14,.2*(o-35)):o>i&&(n=Math.min(14,.2*(o-i))),e.scrollTop+=n}}),10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout((function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null}),1e3))},e.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},e.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},e.prototype.getItemIndexFromEventTarget=function(e){for(;e instanceof HTMLElement&&e!==this.rowsContainer;){var t=e,o=t.getAttribute("data-index");if(o){var n=Number(o);if(!isNaN(n))return n}e=t.parentElement}return-1},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype.getNextToLastElement=function(e){var t=e[e.length-1];if(!t)return null;var o=this.items[t.end];return o&&o.row?o.row.domNode:null},e.prototype.dispose=function(){if(this.items){for(var e=0,t=this.items;e=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},re=function(){function e(e){this.trait=e,this.renderedElements=[]}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"template:"+this.trait.trait},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return e},e.prototype.renderElement=function(e,t,o){var n=Object(r.h)(this.renderedElements,(function(e){return e.templateData===o}));if(n>=0){var i=this.renderedElements[n];this.trait.unrender(o),i.index=t}else{i={index:t,templateData:o};this.renderedElements.push(i)}this.trait.renderIndex(t,o)},e.prototype.disposeElement=function(){},e.prototype.splice=function(e,t,o){for(var n=[],i=0;i=e+t&&n.push({index:r.index+o-t,templateData:r.templateData})}this.renderedElements=n},e.prototype.renderIndexes=function(e){for(var t=0,o=this.renderedElements;t-1&&this.trait.renderIndex(i,r)}},e.prototype.disposeTemplate=function(e){var t=Object(r.h)(this.renderedElements,(function(t){return t.templateData===e}));t<0||this.renderedElements.splice(t,1)},e}(),se=function(){function e(e){this._trait=e,this._onChange=new v.a,this.indexes=[]}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"trait",{get:function(){return this._trait},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return new re(this)},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,o){var n=o.length-t,i=e+t,r=this.indexes.filter((function(t){return t=i})).map((function(e){return e+n})));this.renderer.splice(e,t,o.length),this.set(r)},e.prototype.renderIndex=function(e,t){I.N(t,this._trait,this.contains(e))},e.prototype.unrender=function(e){I.G(e,this._trait)},e.prototype.set=function(e){var t=this.indexes;this.indexes=e;var o=ve(t,e);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:e}),t},e.prototype.get=function(){return this.indexes},e.prototype.contains=function(e){return this.indexes.some((function(t){return t===e}))},e.prototype.dispose=function(){this.indexes=null,this._onChange=Object(s.d)(this._onChange)},ie([A.a],e.prototype,"renderer",null),e}(),ae=function(e){function t(t){var o=e.call(this,"focused")||this;return o.getDomId=t,o}return ne(t,e),t.prototype.renderIndex=function(t,o){e.prototype.renderIndex.call(this,t,o),o.setAttribute("role","treeitem"),o.setAttribute("id",this.getDomId(t))},t}(se),le=function(){function e(e,t,o){this.trait=e,this.view=t,this.getId=o}return e.prototype.splice=function(e,t,o){var n=this;if(!this.getId)return this.trait.splice(e,t,o.map((function(e){return!1})));var i=this.trait.get().map((function(e){return n.getId(n.view.element(e))})),r=o.map((function(e){return i.indexOf(n.getId(e))>-1}));this.trait.splice(e,t,r)},e}();function ue(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}var ce=function(){function e(e,t,o){this.list=e,this.view=t;var n=!(!1===o.multipleSelectionSupport);this.disposables=[],this.openController=o.openController||pe;var i=Object(v.g)(Object(B.a)(t.domNode,"keydown")).filter((function(e){return!ue(e.target)})).map((function(e){return new M.a(e)}));i.filter((function(e){return 3===e.keyCode})).on(this.onEnter,this,this.disposables),i.filter((function(e){return 16===e.keyCode})).on(this.onUpArrow,this,this.disposables),i.filter((function(e){return 18===e.keyCode})).on(this.onDownArrow,this,this.disposables),i.filter((function(e){return 11===e.keyCode})).on(this.onPageUpArrow,this,this.disposables),i.filter((function(e){return 12===e.keyCode})).on(this.onPageDownArrow,this,this.disposables),i.filter((function(e){return 9===e.keyCode})).on(this.onEscape,this,this.disposables),n&&i.filter((function(e){return(P.d?e.metaKey:e.ctrlKey)&&31===e.keyCode})).on(this.onCtrlA,this,this.disposables)}return e.prototype.onEnter=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus()),this.openController.shouldOpen(e.browserEvent)&&this.list.open(this.list.getFocus(),e.browserEvent)},e.prototype.onUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onCtrlA=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(Object(r.m)(this.list.length)),this.view.domNode.focus()},e.prototype.onEscape=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection([]),this.view.domNode.focus()},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},e}(),he=function(){function e(e,t){this.list=e,this.view=t,this.disposables=[],this.disposables=[],Object(v.g)(Object(B.a)(t.domNode,"keydown")).filter((function(e){return!ue(e.target)})).map((function(e){return new M.a(e)})).filter((function(e){return!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)})).on(this.onTab,this,this.disposables)}return e.prototype.onTab=function(e){if(e.target===this.view.domNode){var t=this.list.getFocus();if(0!==t.length){var o=this.view.domElement(t[0]).querySelector("[tabIndex]");if(o&&o instanceof HTMLElement){var n=window.getComputedStyle(o);"hidden"!==n.visibility&&"none"!==n.display&&(e.preventDefault(),e.stopPropagation(),o.focus())}}}},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},e}();function de(e){return e instanceof MouseEvent&&2===e.button}var ge={isSelectionSingleChangeEvent:function(e){return P.d?e.browserEvent.metaKey:e.browserEvent.ctrlKey},isSelectionRangeChangeEvent:function(e){return e.browserEvent.shiftKey}},pe={shouldOpen:function(e){return!(e instanceof MouseEvent)||!de(e)}},fe=function(){function e(e,t,o){void 0===o&&(o={}),this.list=e,this.view=t,this.options=o,this.didJustPressContextMenuKey=!1,this.disposables=[],this.multipleSelectionSupport=!(!1===o.multipleSelectionSupport),this.multipleSelectionSupport&&(this.multipleSelectionController=o.multipleSelectionController||ge),this.openController=o.openController||pe,t.onMouseDown(this.onMouseDown,this,this.disposables),t.onMouseClick(this.onPointer,this,this.disposables),t.onMouseDblClick(this.onDoubleClick,this,this.disposables),t.onTouchStart(this.onMouseDown,this,this.disposables),t.onTap(this.onPointer,this,this.disposables),x.b.addTarget(t.domNode)}return Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this,t=Object(v.g)(Object(B.a)(this.view.domNode,"keydown")).map((function(e){return new M.a(e)})).filter((function(t){return e.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode})).filter((function(e){return e.preventDefault(),e.stopPropagation(),!1})).event,o=Object(v.g)(Object(B.a)(this.view.domNode,"keyup")).filter((function(){var t=e.didJustPressContextMenuKey;return e.didJustPressContextMenuKey=!1,t})).filter((function(){return e.list.getFocus().length>0})).map((function(){var t=e.list.getFocus()[0];return{index:t,element:e.view.element(t),anchor:e.view.domElement(t)}})).filter((function(e){return!!e.anchor})).event,n=Object(v.g)(this.view.onContextMenu).filter((function(){return!e.didJustPressContextMenuKey})).map((function(e){var t=e.element,o=e.index,n=e.browserEvent;return{element:t,index:o,anchor:{x:n.clientX+1,y:n.clientY}}})).event;return Object(v.f)(t,o,n)},enumerable:!0,configurable:!0}),e.prototype.isSelectionSingleChangeEvent=function(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):P.d?e.browserEvent.metaKey:e.browserEvent.ctrlKey},e.prototype.isSelectionRangeChangeEvent=function(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):e.browserEvent.shiftKey},e.prototype.isSelectionChangeEvent=function(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)},e.prototype.onMouseDown=function(e){!1===this.options.focusOnMouseDown?(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation()):document.activeElement!==e.browserEvent.target&&this.view.domNode.focus();var t=this.list.getFocus()[0],o=this.list.getSelection();if(t=void 0===t?o[0]:t,this.multipleSelectionSupport&&this.isSelectionRangeChangeEvent(e))return this.changeSelection(e,t);var n=e.index;if(o.every((function(e){return e!==n}))&&this.list.setFocus([n]),this.multipleSelectionSupport&&this.isSelectionChangeEvent(e))return this.changeSelection(e,t);this.options.selectOnMouseDown&&!de(e.browserEvent)&&(this.list.setSelection([n]),this.openController.shouldOpen(e.browserEvent)&&this.list.open([n],e.browserEvent))},e.prototype.onPointer=function(e){if(!(this.multipleSelectionSupport&&this.isSelectionChangeEvent(e)||this.options.selectOnMouseDown)){var t=this.list.getFocus();this.list.setSelection(t),this.openController.shouldOpen(e.browserEvent)&&this.list.open(t,e.browserEvent)}},e.prototype.onDoubleClick=function(e){if(!this.multipleSelectionSupport||!this.isSelectionChangeEvent(e)){var t=this.list.getFocus();this.list.setSelection(t),this.list.pin(t)}},e.prototype.changeSelection=function(e,t){var o=e.index;if(this.isSelectionRangeChangeEvent(e)&&void 0!==t){var n=Math.min(t,o),i=Math.max(t,o),s=Object(r.m)(n,i+1),a=function(e,t){var o=e.indexOf(t);if(-1===o)return[];var n=[],i=o-1;for(;i>=0&&e[i]===t-(o-i);)n.push(e[i--]);n.reverse(),i=o;for(;i=e.length)o.push(t[i++]);else if(i>=t.length)o.push(e[n++]);else{if(e[n]===t[i]){n++,i++;continue}e[n]=e.length)o.push(t[i++]);else if(i>=t.length)o.push(e[n++]);else{if(e[n]===t[i]){o.push(e[n]),n++,i++;continue}e[n]this.view.length)throw new Error("Invalid start index: "+e);if(t<0)throw new Error("Invalid delete count: "+t);0===t&&0===o.length||this.eventBufferer.bufferEvents((function(){return n.spliceable.splice(e,t,o)}))},Object.defineProperty(e.prototype,"length",{get:function(){return this.view.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contentHeight",{get:function(){return this.view.getContentHeight()},enumerable:!0,configurable:!0}),e.prototype.layout=function(e){this.view.layout(e)},e.prototype.setSelection=function(e){for(var t=0,o=e;t=this.length)throw new Error("Invalid index "+n)}e=e.sort(be),this.selection.set(e)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.setFocus=function(e){for(var t=0,o=e;t=this.length)throw new Error("Invalid index "+n)}e=e.sort(be),this.focus.set(e)},e.prototype.focusNext=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),n=o.length>0?o[0]+e:0;this.setFocus(t?[n%this.length]:[Math.min(n,this.length-1)])}},e.prototype.focusPrevious=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),n=o.length>0?o[0]-e:0;t&&n<0&&(n=(this.length+n%this.length)%this.length),this.setFocus([Math.max(n,0)])}},e.prototype.focusNextPage=function(){var e=this,t=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);t=0===t?0:t-1;var o=this.view.element(t);if(this.getFocusedElements()[0]!==o)this.setFocus([t]);else{var n=this.view.getScrollTop();this.view.setScrollTop(n+this.view.renderHeight-this.view.elementHeight(t)),this.view.getScrollTop()!==n&&setTimeout((function(){return e.focusNextPage()}),0)}},e.prototype.focusPreviousPage=function(){var e,t=this,o=this.view.getScrollTop();e=0===o?this.view.indexAt(o):this.view.indexAfter(o-1);var n=this.view.element(e);if(this.getFocusedElements()[0]!==n)this.setFocus([e]);else{var i=o;this.view.setScrollTop(o-this.view.renderHeight),this.view.getScrollTop()!==i&&setTimeout((function(){return t.focusPreviousPage()}),0)}},e.prototype.focusLast=function(){0!==this.length&&this.setFocus([this.length-1])},e.prototype.focusFirst=function(){0!==this.length&&this.setFocus([0])},e.prototype.getFocus=function(){return this.focus.get()},e.prototype.getFocusedElements=function(){var e=this;return this.getFocus().map((function(t){return e.view.element(t)}))},e.prototype.reveal=function(e,t){if(e<0||e>=this.length)throw new Error("Invalid index "+e);var o,n,i,r=this.view.getScrollTop(),s=this.view.elementTop(e),a=this.view.elementHeight(e);if(Object(D.f)(t)){var l=a-this.view.renderHeight;this.view.setScrollTop(l*(o=t,n=0,i=1,Math.min(Math.max(o,n),i))+s)}else{var u=s+a,c=r+this.view.renderHeight;s=c&&this.view.setScrollTop(u-this.view.renderHeight)}},e.prototype.getElementDomId=function(e){return this.idPrefix+"_"+e},e.prototype.isDOMFocused=function(){return this.view.domNode===document.activeElement},e.prototype.getHTMLElement=function(){return this.view.domNode},e.prototype.open=function(e,t){for(var o=this,n=0,i=e;n=this.length)throw new Error("Invalid index "+r)}this._onOpen.fire({indexes:e,elements:e.map((function(e){return o.view.element(e)})),browserEvent:t})},e.prototype.pin=function(e){for(var t=0,o=e;t=this.length)throw new Error("Invalid index "+n)}this._onPin.fire(e)},e.prototype.style=function(e){this.styleController.style(e)},e.prototype.toListEvent=function(e){var t=this,o=e.indexes;return{indexes:o,elements:o.map((function(e){return t.view.element(e)}))}},e.prototype._onFocusChange=function(){var e=this.focus.get();e.length>0?this.view.domNode.setAttribute("aria-activedescendant",this.getElementDomId(e[0])):this.view.domNode.removeAttribute("aria-activedescendant"),this.view.domNode.setAttribute("role","tree"),I.N(this.view.domNode,"element-focused",e.length>0)},e.prototype._onSelectionChange=function(){var e=this.selection.get();I.N(this.view.domNode,"selection-none",0===e.length),I.N(this.view.domNode,"selection-single",1===e.length),I.N(this.view.domNode,"selection-multiple",e.length>1)},e.prototype.dispose=function(){this._onDidDispose.fire(),this.disposables=Object(s.d)(this.disposables)},e.InstanceCount=0,ie([A.a],e.prototype,"onFocusChange",null),ie([A.a],e.prototype,"onSelectionChange",null),e}(),Se=o(62),Te=o(16),we=o(110),ke=o(118),Oe=o(19),Re=o(7),Ne=o(55),Ie=o(160),Le=o(89),De=o(82),Ae=o(48),Pe=Object.assign||function(e){for(var t,o=1,n=arguments.length;o=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Me=function(e,t){return function(o,n){t(o,n,e)}},Be=!1,Fe=Object(Re.kb)("editorSuggestWidget.background",{dark:Re.D,light:Re.D,hc:Re.D},n.a("editorSuggestWidgetBackground","Background color of the suggest widget.")),He=Object(Re.kb)("editorSuggestWidget.border",{dark:Re.E,light:Re.E,hc:Re.E},n.a("editorSuggestWidgetBorder","Border color of the suggest widget.")),Ue=Object(Re.kb)("editorSuggestWidget.foreground",{dark:Re.u,light:Re.u,hc:Re.u},n.a("editorSuggestWidgetForeground","Foreground color of the suggest widget.")),Ve=Object(Re.kb)("editorSuggestWidget.selectedBackground",{dark:Re.W,light:Re.W,hc:Re.W},n.a("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget.")),We=Object(Re.kb)("editorSuggestWidget.highlightForeground",{dark:Re.Y,light:Re.Y,hc:Re.Y},n.a("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),je=/^(#([\da-f]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))$/i;function Ge(e){return e&&e.match(je)?e:null}function ze(e){if(!e)return!1;var t=e.suggestion;return!!t.documentation||t.detail&&t.detail!==t.label}var Ke=function(){function e(e,t,o){this.widget=e,this.editor=t,this.triggerKeybindingLabel=o}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"suggestion"},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){var t=this,o=Object.create(null);o.disposables=[],o.root=e,o.icon=Object(I.k)(e,Object(I.a)(".icon")),o.colorspan=Object(I.k)(o.icon,Object(I.a)("span.colorspan"));var i=Object(I.k)(e,Object(I.a)(".contents")),r=Object(I.k)(i,Object(I.a)(".main"));o.highlightedLabel=new L.a(r),o.disposables.push(o.highlightedLabel),o.typeLabel=Object(I.k)(r,Object(I.a)("span.type-label")),o.readMore=Object(I.k)(r,Object(I.a)("span.readMore")),o.readMore.title=n.a("readMore","Read More...{0}",this.triggerKeybindingLabel);var s=function(){var e=t.editor.getConfiguration(),n=e.fontInfo.fontFamily,i=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+"px",s=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+"px";o.root.style.fontSize=i,r.style.fontFamily=n,r.style.lineHeight=s,o.icon.style.height=s,o.icon.style.width=s,o.readMore.style.height=s,o.readMore.style.width=s};return s(),Object(v.g)(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.fontInfo||e.contribInfo})).on(s,null,o.disposables),o},e.prototype.renderElement=function(e,t,o){var i=this,r=o,s=e.suggestion;if(ze(e)?r.root.setAttribute("aria-label",n.a("suggestionWithDetailsAriaLabel","{0}, suggestion, has details",s.label)):r.root.setAttribute("aria-label",n.a("suggestionAriaLabel","{0}, suggestion",s.label)),r.icon.className="icon "+s.type,r.colorspan.style.backgroundColor="","color"===s.type){var a=Ge(s.label)||"string"==typeof s.documentation&&Ge(s.documentation);a&&(r.icon.className="icon customcolor",r.colorspan.style.backgroundColor=a)}r.highlightedLabel.set(s.label,Object(T.b)(e.matches),"",!0),r.typeLabel.textContent=(s.detail||"").replace(/\n.*$/m,""),ze(e)?(Object(I.M)(r.readMore),r.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},r.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),i.widget.toggleDetails()}):(Object(I.A)(r.readMore),r.readMore.onmousedown=null,r.readMore.onclick=null)},e.prototype.disposeElement=function(){},e.prototype.disposeTemplate=function(e){e.disposables=Object(s.d)(e.disposables)},e}(),Ye=function(){function e(e,t,o,i,r){var a=this;this.widget=t,this.editor=o,this.markdownRenderer=i,this.triggerKeybindingLabel=r,this.borderWidth=1,this.disposables=[],this.el=Object(I.k)(e,Object(I.a)(".details")),this.disposables.push(Object(s.f)((function(){return e.removeChild(a.el)}))),this.body=Object(I.a)(".body"),this.scrollbar=new H.a(this.body,{}),Object(I.k)(this.el,this.scrollbar.getDomNode()),this.disposables.push(this.scrollbar),this.header=Object(I.k)(this.body,Object(I.a)(".header")),this.close=Object(I.k)(this.header,Object(I.a)("span.close")),this.close.title=n.a("readLess","Read less...{0}",this.triggerKeybindingLabel),this.type=Object(I.k)(this.header,Object(I.a)("p.type")),this.docs=Object(I.k)(this.body,Object(I.a)("p.docs")),this.ariaLabel=null,this.configureFont(),Object(v.g)(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.fontInfo})).on(this.configureFont,this,this.disposables),i.onDidRenderCodeBlock((function(){return a.scrollbar.scanDomNode()}),this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.render=function(e){var t=this;if(this.renderDisposeable=Object(s.d)(this.renderDisposeable),!e||!ze(e))return this.type.textContent="",this.docs.textContent="",Object(I.f)(this.el,"no-docs"),void(this.ariaLabel=null);if(Object(I.G)(this.el,"no-docs"),"string"==typeof e.suggestion.documentation)Object(I.G)(this.docs,"markdown-docs"),this.docs.textContent=e.suggestion.documentation;else{Object(I.f)(this.docs,"markdown-docs"),this.docs.innerHTML="";var o=this.markdownRenderer.render(e.suggestion.documentation);this.renderDisposeable=o,this.docs.appendChild(o.element)}e.suggestion.detail?(this.type.innerText=e.suggestion.detail,Object(I.M)(this.type)):(this.type.innerText="",Object(I.A)(this.type)),this.el.style.height=this.header.offsetHeight+this.docs.offsetHeight+2*this.borderWidth+"px",this.close.onmousedown=function(e){e.preventDefault(),e.stopPropagation()},this.close.onclick=function(e){e.preventDefault(),e.stopPropagation(),t.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=N.format("{0}\n{1}\n{2}",e.suggestion.label||"",e.suggestion.detail||"",e.suggestion.documentation||"")},e.prototype.getAriaLabel=function(){return this.ariaLabel},e.prototype.scrollDown=function(e){void 0===e&&(e=8),this.body.scrollTop+=e},e.prototype.scrollUp=function(e){void 0===e&&(e=8),this.body.scrollTop-=e},e.prototype.scrollTop=function(){this.body.scrollTop=0},e.prototype.scrollBottom=function(){this.body.scrollTop=this.body.scrollHeight},e.prototype.pageDown=function(){this.scrollDown(80)},e.prototype.pageUp=function(){this.scrollUp(80)},e.prototype.setBorderWidth=function(e){this.borderWidth=e},e.prototype.configureFont=function(){var e=this.editor.getConfiguration(),t=e.fontInfo.fontFamily,o=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+"px",n=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+"px";this.el.style.fontSize=o,this.type.style.fontFamily=t,this.close.style.height=n,this.close.style.width=n},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables),this.renderDisposeable=Object(s.d)(this.renderDisposeable)},e}(),Xe=function(){function e(e,t,o,n,i,r,s,a){var l=this;this.editor=e,this.telemetryService=t,this.allowEditorOverflow=!0,this.ignoreFocusEvents=!1,this.editorBlurTimeout=new y.f,this.showTimeout=new y.f,this.onDidSelectEmitter=new v.a,this.onDidFocusEmitter=new v.a,this.onDidHideEmitter=new v.a,this.onDidShowEmitter=new v.a,this.onDidSelect=this.onDidSelectEmitter.event,this.onDidFocus=this.onDidFocusEmitter.event,this.onDidHide=this.onDidHideEmitter.event,this.onDidShow=this.onDidShowEmitter.event,this.maxWidgetWidth=660,this.listWidth=330,this.storageServiceAvailable=!0,this.expandSuggestionDocs=!1,this.firstFocusInCurrentList=!1;var u=r.lookupKeybinding("editor.action.triggerSuggest"),c=u?" ("+u.getLabel()+")":"",h=new Ie.a(e,s,a);this.isAuto=!1,this.focusedItem=null,this.storageService=i,void 0===this.expandDocsSettingFromStorage()&&(this.storageService.store("expandSuggestionDocs",Be,Ne.c.GLOBAL),void 0===this.expandDocsSettingFromStorage()&&(this.storageServiceAvailable=!1)),this.element=Object(I.a)(".editor-widget.suggest-widget"),this.editor.getConfiguration().contribInfo.iconsInSuggestions||Object(I.f)(this.element,"no-icons"),this.messageElement=Object(I.k)(this.element,Object(I.a)(".message")),this.listElement=Object(I.k)(this.element,Object(I.a)(".tree")),this.details=new Ye(this.element,this,this.editor,h,c);var d=new Ke(this,this.editor,c);this.list=new Ce(this.listElement,this,[d],{useShadows:!1,selectOnMouseDown:!0,focusOnMouseDown:!1,openController:{shouldOpen:function(){return!1}}}),this.toDispose=[Object(ke.b)(this.list,n,{listInactiveFocusBackground:Ve,listInactiveFocusOutline:Re.b}),n.onThemeChange((function(e){return l.onThemeChange(e)})),e.onDidBlurEditorText((function(){return l.onEditorBlur()})),e.onDidLayoutChange((function(){return l.onEditorLayoutChange()})),this.list.onSelectionChange((function(e){return l.onListSelection(e)})),this.list.onFocusChange((function(e){return l.onListFocus(e)})),this.editor.onDidChangeCursorSelection((function(){return l.onCursorSelectionChanged()}))],this.suggestWidgetVisible=_.a.Visible.bindTo(o),this.suggestWidgetMultipleSuggestions=_.a.MultipleSuggestions.bindTo(o),this.suggestionSupportsAutoAccept=_.a.AcceptOnKey.bindTo(o),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(n.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorBlur=function(){var e=this;this.editorBlurTimeout.cancelAndSet((function(){e.editor.hasTextFocus()||e.setState(0)}),150)},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListSelection=function(e){var t=this;if(e.elements.length){var o=e.elements[0],i=e.indexes[0];o.resolve(Ae.a.None).then((function(){t.onDidSelectEmitter.fire({item:o,index:i,model:t.completionModel}),Object(d.a)(n.a("suggestionAriaAccepted","{0}, accepted",o.suggestion.label)),t.editor.focus()}))}},e.prototype._getSuggestionAriaAlertLabel=function(e){return ze(e)?n.a("ariaCurrentSuggestionWithDetails","{0}, suggestion, has details",e.suggestion.label):n.a("ariaCurrentSuggestion","{0}, suggestion",e.suggestion.label)},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&Object(d.a)(this._lastAriaAlertLabel))},e.prototype.onThemeChange=function(e){var t=e.getColor(Fe);t&&(this.listElement.style.backgroundColor=t.toString(),this.details.element.style.backgroundColor=t.toString(),this.messageElement.style.backgroundColor=t.toString());var o=e.getColor(He);o&&(this.listElement.style.borderColor=o.toString(),this.details.element.style.borderColor=o.toString(),this.messageElement.style.borderColor=o.toString(),this.detailsBorderColor=o.toString());var n=e.getColor(Re.H);n&&(this.detailsFocusBorderColor=n.toString()),this.details.setBorderWidth("hc"===e.type?2:1)},e.prototype.onListFocus=function(e){var t=this;if(!this.ignoreFocusEvents){if(!e.elements.length)return this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null,this.focusedItem=null),void this._ariaAlert(null);var o=e.elements[0];if(this._ariaAlert(this._getSuggestionAriaAlertLabel(o)),this.firstFocusInCurrentList=!this.focusedItem,o!==this.focusedItem){this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null);var n=e.indexes[0];this.suggestionSupportsAutoAccept.set(!o.suggestion.noAutoAccept),this.focusedItem=o,this.list.reveal(n),this.currentSuggestionDetails=Object(y.i)((function(e){return o.resolve(e)})),this.currentSuggestionDetails.then((function(){t.ignoreFocusEvents=!0,t.list.splice(n,1,[o]),t.list.setFocus([n]),t.ignoreFocusEvents=!1,t.expandDocsSettingFromStorage()?t.showDetails():Object(I.G)(t.element,"docs-side")})).catch(i.e).then((function(){t.focusedItem===o&&(t.currentSuggestionDetails=null)})),this.onDidFocusEmitter.fire({item:o,index:n,model:this.completionModel})}}},e.prototype.setState=function(t){if(this.element){var o=this.state!==t;switch(this.state=t,Object(I.N)(this.element,"frozen",4===t),t){case 0:Object(I.A)(this.messageElement,this.details.element,this.listElement),this.hide(),this.listHeight=0,o&&this.list.splice(0,this.list.length),this.focusedItem=null;break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,Object(I.A)(this.listElement,this.details.element),Object(I.M)(this.messageElement),Object(I.G)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,Object(I.A)(this.listElement,this.details.element),Object(I.M)(this.messageElement),Object(I.G)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 3:case 4:Object(I.A)(this.messageElement),Object(I.M)(this.listElement),this.show();break;case 5:Object(I.A)(this.messageElement),Object(I.M)(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}}},e.prototype.showTriggered=function(e){var t=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=setTimeout((function(){t.loadingTimeout=null,t.setState(1)}),50)))},e.prototype.showSuggestions=function(e,t,o,n){if(this.loadingTimeout&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=null),this.completionModel!==e&&(this.completionModel=e),o&&2!==this.state&&0!==this.state)this.setState(4);else{var i=this.completionModel.items.length,r=0===i;if(this.suggestWidgetMultipleSuggestions.set(i>1),r)n?this.setState(0):this.setState(2),this.completionModel=null;else{var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!n,this.telemetryService.publicLog("suggestWidget",Pe({},s,this.editor.getTelemetryData())),this.list.splice(0,this.list.length,this.completionModel.items),o?this.setState(4):this.setState(3),this.list.reveal(t,t),this.list.setFocus([t]),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)}}},e.prototype.selectNextPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageDown(),!0;case 1:return!this.isAuto;default:return this.list.focusNextPage(),!0}},e.prototype.selectNext=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusNext(1,!0),!0}},e.prototype.selectLast=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollBottom(),!0;case 1:return!this.isAuto;default:return this.list.focusLast(),!0}},e.prototype.selectPreviousPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageUp(),!0;case 1:return!this.isAuto;default:return this.list.focusPreviousPage(),!0}},e.prototype.selectPrevious=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusPrevious(1,!0),!1}},e.prototype.selectFirst=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollTop(),!0;case 1:return!this.isAuto;default:return this.list.focusFirst(),!0}},e.prototype.getFocusedItem=function(){if(0!==this.state&&2!==this.state&&1!==this.state)return{item:this.list.getFocusedElements()[0],index:this.list.getFocus()[0],model:this.completionModel}},e.prototype.toggleDetailsFocus=function(){5===this.state?(this.setState(3),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)):3===this.state&&this.expandDocsSettingFromStorage()&&(this.setState(5),this.detailsFocusBorderColor&&(this.details.element.style.borderColor=this.detailsFocusBorderColor)),this.telemetryService.publicLog("suggestWidget:toggleDetailsFocus",this.editor.getTelemetryData())},e.prototype.toggleDetails=function(){if(ze(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Object(I.A)(this.details.element),Object(I.G)(this.element,"docs-side"),Object(I.G)(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog("suggestWidget:collapseDetails",this.editor.getTelemetryData());else{if(3!==this.state&&5!==this.state&&4!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(),this.telemetryService.publicLog("suggestWidget:expandDetails",this.editor.getTelemetryData())}},e.prototype.showDetails=function(){this.expandSideOrBelow(),Object(I.M)(this.details.element),this.details.render(this.list.getFocusedElements()[0]),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus(),this._ariaAlert(this.details.getAriaLabel())},e.prototype.show=function(){var e=this,t=this.updateListHeight();t!==this.listHeight&&(this.editor.layoutContentWidget(this),this.listHeight=t),this.suggestWidgetVisible.set(!0),this.showTimeout.cancelAndSet((function(){Object(I.f)(e.element,"visible"),e.onDidShowEmitter.fire(e)}),100)},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),Object(I.G)(this.element,"visible")},e.prototype.hideWidget=function(){clearTimeout(this.loadingTimeout),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){return 0===this.state?null:{position:this.editor.getPosition(),preference:[Te.a.BELOW,Te.a.ABOVE]}},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.updateListHeight=function(){var e=0;if(2===this.state||1===this.state)e=this.unfocusedHeight;else{var t=this.list.contentHeight/this.unfocusedHeight;e=Math.min(t,12)*this.unfocusedHeight}return this.element.style.lineHeight=this.unfocusedHeight+"px",this.listElement.style.height=e+"px",this.list.layout(e),e},e.prototype.adjustDocsPosition=function(){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),o=Object(I.u)(this.editor.getDomNode()),n=o.left+t.left,i=o.top+t.top+t.height,r=Object(I.u)(this.element),s=r.left,a=r.top;sa&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")},e.prototype.expandSideOrBelow=function(){if(!ze(this.focusedItem)&&this.firstFocusInCurrentList)return Object(I.G)(this.element,"docs-side"),void Object(I.G)(this.element,"docs-below");var e=this.element.style.maxWidth.match(/(\d+)px/);!e||Number(e[1])=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Je=function(e,t){return function(o,n){t(o,n,e)}},Ze=function(){function e(){}return e.prototype.select=function(e,t,o){if(0===o.length)return 0;for(var n=o[0].score,i=1;is&&c.type===l.type&&c.insertText===l.insertText&&(s=c.touch,r=a)}return-1===r?e.prototype.select.call(this,t,o,n):r},t.prototype.toJSON=function(){var e=[];return this._cache.forEach((function(t,o){e.push([o,t])})),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,o=e;t0){this._seq=e[0][1].touch+1;for(var t=0,o=e;t=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},rt=function(e,t){return function(o,n){t(o,n,e)}},st=function(){function e(e,t,o){var n=this;this._disposables=[],this._activeAcceptCharacters=new Set,this._disposables.push(t.onDidShow((function(){return n._onItem(t.getFocusedItem())}))),this._disposables.push(t.onDidFocus(this._onItem,this)),this._disposables.push(t.onDidHide(this.reset,this)),this._disposables.push(e.onWillType((function(t){if(n._activeItem){var i=t[t.length-1];n._activeAcceptCharacters.has(i)&&e.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter&&o(n._activeItem)}})))}return e.prototype._onItem=function(e){if(e&&!Object(r.k)(e.item.suggestion.commitCharacters)){this._activeItem=e,this._activeAcceptCharacters.clear();for(var t=0,o=e.item.suggestion.commitCharacters;t0&&this._activeAcceptCharacters.add(n[0])}}else this.reset()},e.prototype.reset=function(){this._activeItem=void 0},e.prototype.dispose=function(){Object(s.d)(this._disposables)},e}(),at=function(){function e(e,t,o,n){var i=this;this._editor=e,this._commandService=t,this._contextKeyService=o,this._instantiationService=n,this._toDispose=[],this._model=new R(this._editor),this._memory=n.createInstance(ot,this._editor.getConfiguration().contribInfo.suggestSelection),this._toDispose.push(this._model.onDidTrigger((function(e){i._widget||i._createSuggestWidget(),i._widget.showTriggered(e.auto)}))),this._toDispose.push(this._model.onDidSuggest((function(e){var t=i._memory.select(i._editor.getModel(),i._editor.getPosition(),e.completionModel.items);i._widget.showSuggestions(e.completionModel,t,e.isFrozen,e.auto)}))),this._toDispose.push(this._model.onDidCancel((function(e){i._widget&&!e.retrigger&&i._widget.hideWidget()})));var r=_.a.AcceptSuggestionsOnEnter.bindTo(o),s=function(){var e=i._editor.getConfiguration().contribInfo,t=e.acceptSuggestionOnEnter,o=e.suggestSelection;r.set("on"===t||"smart"===t),i._memory.setMode(o)};this._toDispose.push(this._editor.onDidChangeConfiguration((function(e){return s()}))),s()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._createSuggestWidget=function(){var e=this;this._widget=this._instantiationService.createInstance(Xe,this._editor),this._toDispose.push(this._widget.onDidSelect(this._onDidSelectItem,this));var t=new st(this._editor,this._widget,(function(t){return e._onDidSelectItem(t)}));this._toDispose.push(t,this._model.onDidSuggest((function(e){0===e.completionModel.items.length&&t.reset()})));var o=_.a.MakesTextEdit.bindTo(this._contextKeyService);this._toDispose.push(this._widget.onDidFocus((function(t){var n=t.item,i=e._editor.getPosition(),r=n.position.column-n.suggestion.overwriteBefore,s=i.column,a=!0;"smart"!==e._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==e._model.state||n.suggestion.command||n.suggestion.additionalTextEdits||"textmate"===n.suggestion.snippetType||s-r!==n.suggestion.insertText.length||(a=e._editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:r,endLineNumber:i.lineNumber,endColumn:s})!==n.suggestion.insertText);o.set(a)}))),this._toDispose.push({dispose:function(){o.reset()}})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._toDispose=Object(s.d)(this._toDispose),this._widget&&(this._widget.dispose(),this._widget=null),this._model&&(this._model.dispose(),this._model=null)},e.prototype._onDidSelectItem=function(e){var t;if(e&&e.item){var o=e.item,n=o.suggestion,r=o.position,s=this._editor.getPosition().column-r.column;this._editor.pushUndoStop(),Array.isArray(n.additionalTextEdits)&&this._editor.executeEdits("suggestController.additionalTextEdits",n.additionalTextEdits.map((function(e){return g.a.replace(p.a.lift(e.range),e.text)}))),this._memory.memorize(this._editor.getModel(),this._editor.getPosition(),e.item);var a=n.insertText;"textmate"!==n.snippetType&&(a=f.c.escape(a)),m.SnippetController2.get(this._editor).insert(a,n.overwriteBefore+s,n.overwriteAfter,!1,!1),this._editor.pushUndoStop(),n.command?n.command.id===lt.id?this._model.trigger({auto:!0},!0):((t=this._commandService).executeCommand.apply(t,[n.command.id].concat(n.command.arguments)).done(void 0,i.e),this._model.cancel()):this._model.cancel(),this._alertCompletionItem(e.item)}else this._model.cancel()},e.prototype._alertCompletionItem=function(e){var t=e.suggestion,o=n.a("arai.alert.snippet","Accepting '{0}' did insert the following text: {1}",t.label,t.insertText);Object(d.a)(o)},e.prototype.triggerSuggest=function(e){this._model.trigger({auto:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),this._editor.focus()},e.prototype.acceptSelectedSuggestion=function(){if(this._widget){var e=this._widget.getFocusedItem();this._onDidSelectItem(e)}},e.prototype.cancelSuggestWidget=function(){this._widget&&(this._model.cancel(),this._widget.hideWidget())},e.prototype.selectNextSuggestion=function(){this._widget&&this._widget.selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget&&this._widget.selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget&&this._widget.selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget&&this._widget.selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget&&this._widget.selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget&&this._widget.selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget&&this._widget.toggleDetails()},e.prototype.toggleSuggestionFocus=function(){this._widget&&this._widget.toggleDetailsFocus()},e.ID="editor.contrib.suggestController",e=it([rt(1,u.b),rt(2,l.e),rt(3,a.a)],e)}(),lt=function(e){function t(){return e.call(this,{id:t.id,label:n.a("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:l.d.and(c.a.writable,c.a.hasCompletionItemProvider),kbOpts:{kbExpr:c.a.textInputFocus,primary:2058,mac:{primary:266},weight:100}})||this}return nt(t,e),t.prototype.run=function(e,t){var o=at.get(t);o&&o.triggerSuggest()},t.id="editor.action.triggerSuggest",t}(h.b);Object(h.h)(at),Object(h.f)(lt);var ut=h.c.bindToContribution(at.get);Object(h.g)(new ut({id:"acceptSelectedSuggestion",precondition:_.a.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2}})),Object(h.g)(new ut({id:"acceptSelectedSuggestionOnEnter",precondition:_.a.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:190,kbExpr:l.d.and(c.a.textInputFocus,_.a.AcceptSuggestionsOnEnter,_.a.MakesTextEdit),primary:3}})),Object(h.g)(new ut({id:"hideSuggestWidget",precondition:_.a.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:9,secondary:[1033]}})),Object(h.g)(new ut({id:"selectNextSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Object(h.g)(new ut({id:"selectNextPageSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:12,secondary:[2060]}})),Object(h.g)(new ut({id:"selectLastSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),Object(h.g)(new ut({id:"selectPrevSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Object(h.g)(new ut({id:"selectPrevPageSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:11,secondary:[2059]}})),Object(h.g)(new ut({id:"selectFirstSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),Object(h.g)(new ut({id:"toggleSuggestionDetails",precondition:_.a.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2058,mac:{primary:266}}})),Object(h.g)(new ut({id:"toggleSuggestionFocus",precondition:_.a.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2570,mac:{primary:778}}}))},function(e,t,o){"use strict";o.r(t);o(448);var n=o(0),i=o(21),r=o(8),s=o(17),a=o(39),l=o(6),u=o(10),c=o(3),h=o(16),d=o(4),g=65535,p=function(){function e(e,t,o){if(e.length!==t.length||e.length>g)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Uint32Array(Math.ceil(e.length/32)),this._types=o}return e.prototype.ensureParentIndices=function(){var e=this;if(!this._parentsComputed){this._parentsComputed=!0;for(var t=[],o=function(o,n){var i=t[t.length-1];return e.getStartLineNumber(i)<=o&&e.getEndLineNumber(i)>=n},n=0,i=this._startIndexes.length;n16777215||s>16777215)throw new Error("startLineNumber or endLineNumber must not exceed 16777215");for(;t.length>0&&!o(r,s);)t.pop();var a=t.length>0?t[t.length-1]:-1;t.push(n),this._startIndexes[n]=r+((255&a)<<24),this._endIndexes[n]=s+((65280&a)<<16)}}},Object.defineProperty(e.prototype,"length",{get:function(){return this._startIndexes.length},enumerable:!0,configurable:!0}),e.prototype.getStartLineNumber=function(e){return 16777215&this._startIndexes[e]},e.prototype.getEndLineNumber=function(e){return 16777215&this._endIndexes[e]},e.prototype.getType=function(e){return this._types?this._types[e]:void 0},e.prototype.hasTypes=function(){return!!this._types},e.prototype.isCollapsed=function(e){var t=e/32|0,o=e%32;return 0!=(this._collapseStates[t]&1<>>24)+((4278190080&this._endIndexes[e])>>>16);return t===g?-1:t},e.prototype.contains=function(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t},e.prototype.findIndex=function(e){var t=0,o=this._startIndexes.length;if(0===o)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1},e.prototype.toString=function(){for(var e=[],t=0;t=this.endLineNumber},e.prototype.containsLine=function(e){return this.startLineNumber<=e&&e<=this.endLineNumber},e}(),m=function(){function e(e,t){this._updateEventEmitter=new d.a,this._textModel=e,this._decorationProvider=t,this._regions=new p(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[],this._isInitialized=!1}return Object.defineProperty(e.prototype,"regions",{get:function(){return this._regions},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textModel",{get:function(){return this._textModel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isInitialized",{get:function(){return this._isInitialized},enumerable:!0,configurable:!0}),e.prototype.toggleCollapseState=function(e){var t=this;if(e.length){var o={};this._decorationProvider.changeDecorations((function(n){for(var i=0,r=e;i=h))break;i(a,c===h),a++}}l=s()}for(;a0?e:null},e.prototype.applyMemento=function(e){if(Array.isArray(e)){for(var t=[],o=0,n=e;o=0;){var r=this._regions.toRegion(n);t&&!t(r,i)||o.push(r),i++,n=r.parentIndex}return o},e.prototype.getRegionAtLine=function(e){if(this._regions){var t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null},e.prototype.getRegionsInside=function(e,t){for(var o=[],n=t&&2===t.length,i=n?[]:null,r=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE,a=r,l=this._regions.length;a0&&!u.containedBy(i[i.length-1]);)i.pop();i.push(u),t(u,i.length)&&o.push(u)}else t&&!t(u)||o.push(u)}return o},e}();function _(e,t,o,n){void 0===o&&(o=Number.MAX_VALUE);var i=[];if(n&&n.length>0)for(var r=0,s=n;r1)){var u=e.getRegionsInside(l,(function(e,n){return e.isCollapsed!==t&&n=0;s--)if(o!==i.isCollapsed(s)){var a=i.getStartLineNumber(s);t.test(n.getLineContent(a))&&r.push(i.toRegion(s))}e.toggleCollapseState(r)}function b(e,t,o){for(var n=e.regions,i=[],r=n.length-1;r>=0;r--)o!==n.isCollapsed(r)&&t===n.getType(r)&&i.push(n.toRegion(r));e.toggleCollapseState(i)}var E=o(18),C=o(26),S=function(){function e(e){this.editor=e,this.autoHideFoldingControls=!0}return e.prototype.getDecorationOption=function(t){return t?e.COLLAPSED_VISUAL_DECORATION:this.autoHideFoldingControls?e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e.EXPANDED_VISUAL_DECORATION},e.prototype.deltaDecorations=function(e,t){return this.editor.deltaDecorations(e,t)},e.prototype.changeDecorations=function(e){return this.editor.changeDecorations(e)},e.COLLAPSED_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,afterContentClassName:"inline-folded",linesDecorationsClassName:"folding collapsed"}),e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding"}),e.EXPANDED_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding alwaysShowFoldIcons"}),e}(),T=o(5),w=o(2),k=o(25),O=function(){function e(e){var t=this;this._updateEventEmitter=new d.a,this._foldingModel=e,this._foldingModelListener=e.onDidChange((function(e){return t.updateHiddenRanges()})),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hiddenRanges",{get:function(){return this._hiddenRanges},enumerable:!0,configurable:!0}),e.prototype.updateHiddenRanges=function(){for(var e=!1,t=[],o=0,n=0,i=Number.MAX_VALUE,r=-1,s=this._foldingModel.regions;o0},e.prototype.isHidden=function(e){return null!==R(this._hiddenRanges,e)},e.prototype.adjustSelections=function(e){for(var t=this,o=!1,n=this._foldingModel.textModel,i=null,r=function(e){return i&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,i)||(i=R(t._hiddenRanges,e)),i?i.startLineNumber-1:null},s=0,a=e.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)},e}();function R(e,t){var o=Object(k.f)(e,(function(e){return t=0&&e[o].endLineNumber>=t?e[o]:null}var N=o(32),I=5e3,L="indent",D=function(){function e(e){this.editorModel=e,this.id=L}return e.prototype.dispose=function(){},e.prototype.compute=function(e){var t=N.a.getFoldingRules(this.editorModel.getLanguageIdentifier().id),o=t&&t.offSide,n=t&&t.markers;return u.b.as(function(e,t,o,n){void 0===n&&(n=I);var i=e.getOptions().tabSize,r=new A(n),s=void 0;o&&(s=new RegExp("("+o.start.source+")|(?:"+o.end.source+")"));var a=[];a.push({indent:-1,line:e.getLineCount()+1,marker:!1});for(var l=e.getLineCount();l>0;l--){var u=e.getLineContent(l),c=C.b.computeIndentLevel(u,i),h=a[a.length-1];if(-1!==c){var d=void 0;if(s&&(d=u.match(s))){if(!d[1]){a.push({indent:-2,line:l,marker:!0});continue}for(var g=a.length-1;g>0&&!a[g].marker;)g--;if(g>0){a.length=g+1,h=a[g],r.insertFirst(l,h.line,c),h.marker=!1,h.indent=c,h.line=l;continue}}if(h.indent>c){do{a.pop(),h=a[a.length-1]}while(h.indent>c);var p=h.line-1;p-l>=1&&r.insertFirst(l,p,c)}h.indent===c?h.line=l:a.push({indent:c,line:l,marker:!1})}else t&&!h.marker&&(h.line=l)}return r.toIndentRanges(e)}(this.editorModel,o,n))},e}(),A=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.insertFirst=function(e,t,o){if(!(e>16777215||t>16777215)){var n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,o<1e3&&(this._indentOccurrences[o]=(this._indentOccurrences[o]||0)+1)}},e.prototype.toIndentRanges=function(e){if(this._length<=this._foldingRangesLimit){for(var t=new Uint32Array(this._length),o=new Uint32Array(this._length),n=this._length-1,i=0;n>=0;n--,i++)t[i]=this._startIndexes[n],o[i]=this._endIndexes[n];return new p(t,o)}var r=0,s=this._indentOccurrences.length;for(n=0;nthis._foldingRangesLimit){s=n;break}r+=a}}var l=e.getOptions().tabSize;for(t=new Uint32Array(this._foldingRangesLimit),o=new Uint32Array(this._foldingRangesLimit),n=this._length-1,i=0;n>=0;n--){var u=this._startIndexes[n],c=e.getLineContent(u),h=C.b.computeIndentLevel(c,l);(h0&&l.end>l.start&&l.end<=r&&n.push({start:l.start,end:l.end,rank:i,kind:l.kind})}}}),x.f)}));return u.b.join(i).then((function(e){return n}))}(this.providers,this.editorModel,e).then((function(e){return e?V(e,t.limit):null}))},e.prototype.dispose=function(){},e}();var U=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.add=function(e,t,o,n){if(!(e>16777215||t>16777215)){var i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._nestingLevels[i]=n,this._types[i]=o,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}},e.prototype.toIndentRanges=function(){if(this._length<=this._foldingRangesLimit){for(var e=new Uint32Array(this._length),t=new Uint32Array(this._length),o=0;othis._foldingRangesLimit){i=o;break}n+=r}}e=new Uint32Array(this._foldingRangesLimit),t=new Uint32Array(this._foldingRangesLimit);for(var s=[],a=(o=0,0);oi.start)if(l.end<=i.end)r.push(i),i=l,n.add(l.start,l.end,l.kind&&l.kind.value,r.length);else{if(l.start>i.end){do{i=r.pop()}while(i&&l.start>i.end);i&&r.push(i),i=l}n.add(l.start,l.end,l.kind&&l.kind.value,r.length)}}else i=l,n.add(l.start,l.end,l.kind&&l.kind.value,r.length)}return n.toIndentRanges()}var W="init",j=function(){function e(e,t,o,n){if(this.editorModel=e,this.id=W,t.length){this.decorationIds=e.deltaDecorations([],t.map((function(t){return{range:{startLineNumber:t.startLineNumber,startColumn:0,endLineNumber:t.endLineNumber,endColumn:e.getLineLength(t.endLineNumber)},options:{stickiness:E.h.NeverGrowsWhenTypingAtEdges}}}))),this.timeout=setTimeout(o,n)}}return e.prototype.dispose=function(){this.decorationIds&&(this.editorModel.deltaDecorations(this.decorationIds,[]),this.decorationIds=void 0),"number"==typeof this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)},e.prototype.compute=function(e){var t=[];if(this.decorationIds)for(var o=0,n=this.decorationIds;o0&&(this.rangeProvider=new H(e,o))}return this.foldingStateMemento=null,this.rangeProvider},e.prototype.getFoldingModel=function(){return this.foldingModelPromise},e.prototype.onModelContentChanged=function(){var e=this;this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((function(){if(!e.foldingModel)return null;var t=e.foldingRegionPromise=Object(s.i)((function(t){return e.getRangeProvider(e.foldingModel.textModel).compute(t)}));return u.b.wrap(t.then((function(o){if(o&&t===e.foldingRegionPromise){var n=e.editor.getSelections(),i=n?n.map((function(e){return e.startLineNumber})):[];e.foldingModel.update(o,i)}return e.foldingModel})))})))},e.prototype.onHiddenRangesChanges=function(e){if(e.length){var t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e)},e.prototype.onCursorPositionChanged=function(){this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()},e.prototype.revealCursor=function(){var e=this;this.getFoldingModel().then((function(t){if(t){var o=e.editor.getSelections();if(o&&o.length>0){for(var n=[],i=function(o){var i=o.selectionStartLineNumber;e.hiddenRangeModel.isHidden(i)&&n.push.apply(n,t.getAllRegionsAtLine(i,(function(e){return e.isCollapsed&&i>e.startLineNumber})))},r=0,s=o;r0,o&&n)?e:void 0;var t,o,n}),(function(e){Object(f.f)(e)}))}));return Promise.all(n).then((function(e){return Object(p.c)(e)}))}Object(u.e)("_executeHoverProvider",(function(e,t){return _(e,t,m.a.None)}));var y,v=o(17),b=function(){function e(t,o,n,i){var r=this;this._computer=t,this._state=0,this._hoverTime=e.HOVER_TIME,this._firstWaitScheduler=new v.c((function(){return r._triggerAsyncComputation()}),0),this._secondWaitScheduler=new v.c((function(){return r._triggerSyncComputation()}),0),this._loadingMessageScheduler=new v.c((function(){return r._showLoadingMessage()}),0),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=o,this._errorCallback=n,this._progressCallback=i}return e.prototype.setHoverTime=function(e){this._hoverTime=e},e.prototype._firstWaitTime=function(){return this._hoverTime/2},e.prototype._secondWaitTime=function(){return this._hoverTime/2},e.prototype._loadingMessageTime=function(){return 3*this._hoverTime},e.prototype._triggerAsyncComputation=function(){var e=this;this._state=2,this._secondWaitScheduler.schedule(this._secondWaitTime()),this._computer.computeAsync?(this._asyncComputationPromiseDone=!1,this._asyncComputationPromise=Object(v.i)((function(t){return e._computer.computeAsync(t)})),this._asyncComputationPromise.then((function(t){e._asyncComputationPromiseDone=!0,e._withAsyncResult(t)}),(function(t){return e._onError(t)}))):this._asyncComputationPromiseDone=!0},e.prototype._triggerSyncComputation=function(){this._computer.computeSync&&this._computer.onResult(this._computer.computeSync(),!0),this._asyncComputationPromiseDone?(this._state=0,this._onComplete(this._computer.getResult())):(this._state=3,this._onProgress(this._computer.getResult()))},e.prototype._showLoadingMessage=function(){3===this._state&&this._onProgress(this._computer.getResultWithLoadingMessage())},e.prototype._withAsyncResult=function(e){e&&this._computer.onResult(e,!1),3===this._state&&(this._state=0,this._onComplete(this._computer.getResult()))},e.prototype._onComplete=function(e){this._completeCallback&&this._completeCallback(e)},e.prototype._onError=function(e){this._errorCallback?this._errorCallback(e):Object(f.e)(e)},e.prototype._onProgress=function(e){this._progressCallback&&this._progressCallback(e)},e.prototype.start=function(e){if(0===e)0===this._state&&(this._state=1,this._firstWaitScheduler.schedule(this._firstWaitTime()),this._loadingMessageScheduler.schedule(this._loadingMessageTime()));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}},e.prototype.cancel=function(){this._loadingMessageScheduler.cancel(),1===this._state&&this._firstWaitScheduler.cancel(),2===this._state&&(this._secondWaitScheduler.cancel(),this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null)),3===this._state&&this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null),this._state=0},e.HOVER_TIME=300,e}(),E=o(60),C=o(81),S=o(6),T=(y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}y(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),w=function(e){function t(t,o){var n=e.call(this)||this;return n.disposables=[],n.allowEditorOverflow=!0,n._id=t,n._editor=o,n._isVisible=!1,n._containerDomNode=document.createElement("div"),n._containerDomNode.className="monaco-editor-hover hidden",n._containerDomNode.tabIndex=0,n._domNode=document.createElement("div"),n._domNode.className="monaco-editor-hover-content",n.scrollbar=new C.a(n._domNode,{}),n.disposables.push(n.scrollbar),n._containerDomNode.appendChild(n.scrollbar.getDomNode()),n.onkeydown(n._containerDomNode,(function(e){e.equals(9)&&n.hide()})),n._register(n._editor.onDidChangeConfiguration((function(e){e.fontInfo&&n.updateFont()}))),n._editor.onDidLayoutChange((function(e){return n.updateMaxHeight()})),n.updateMaxHeight(),n._editor.addContentWidget(n),n._showAtPosition=null,n}return T(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(h.N)(this._containerDomNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._containerDomNode},t.prototype.showAt=function(e,t){this._showAtPosition=new d.a(e.lineNumber,e.column),this.isVisible=!0,this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=t,t&&this._containerDomNode.focus()},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1,this._editor.layoutContentWidget(this),this._stoleFocus&&this._editor.focus())},t.prototype.getPosition=function(){return this.isVisible?{position:this._showAtPosition,preference:[c.a.ABOVE,c.a.BELOW]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),this.disposables=Object(S.d)(this.disposables),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this;Array.prototype.slice.call(this._domNode.getElementsByClassName("code")).forEach((function(t){return e._editor.applyFontInfo(t)}))},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont(),this._editor.layoutContentWidget(this),this.onContentsChange()},t.prototype.onContentsChange=function(){this.scrollbar.scanDomNode()},t.prototype.updateMaxHeight=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,o=t.fontSize,n=t.lineHeight;this._domNode.style.fontSize=o+"px",this._domNode.style.lineHeight=n+"px",this._domNode.style.maxHeight=e+"px"},t}(E.a),k=function(e){function t(t,o){var n=e.call(this)||this;return n._id=t,n._editor=o,n._isVisible=!1,n._domNode=document.createElement("div"),n._domNode.className="monaco-editor-hover hidden",n._domNode.setAttribute("aria-hidden","true"),n._domNode.setAttribute("role","presentation"),n._showAtLineNumber=-1,n._register(n._editor.onDidChangeConfiguration((function(e){e.fontInfo&&n.updateFont()}))),n._editor.addOverlayWidget(n),n}return T(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(h.N)(this._domNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._domNode},t.prototype.showAt=function(e){this._showAtLineNumber=e,this.isVisible||(this.isVisible=!0);var t=this._editor.getLayoutInfo(),o=this._editor.getTopForLineNumber(this._showAtLineNumber),n=this._editor.getScrollTop(),i=this._editor.getConfiguration().lineHeight,r=o-n-(this._domNode.clientHeight-i)/2;this._domNode.style.left=t.glyphMarginLeft+t.glyphMarginWidth+"px",this._domNode.style.top=Math.max(Math.round(r),0)+"px"},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1)},t.prototype.getPosition=function(){return null},t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this,t=Array.prototype.slice.call(this._domNode.getElementsByTagName("code")),o=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));t.concat(o).forEach((function(t){return e._editor.applyFontInfo(t)}))},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont()},t}(E.a),O=o(71),R=o(26),N=o(4),I=function(){function e(e,t,o){this.presentationIndex=o,this._onColorFlushed=new N.a,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new N.a,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new N.a,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}return Object.defineProperty(e.prototype,"color",{get:function(){return this._color},set:function(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"presentation",{get:function(){return this.colorPresentations[this.presentationIndex]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"colorPresentations",{get:function(){return this._colorPresentations},set:function(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)},enumerable:!0,configurable:!0}),e.prototype.selectNextColorPresentation=function(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)},e.prototype.guessColorPresentation=function(e,t){for(var o=0;othis._editor.getModel().getLineCount())return[];var o=z.ColorDetector.get(this._editor),n=this._editor.getModel().getLineMaxColumn(t),i=this._editor.getLineDecorations(t),r=!1;return i.map((function(i){var s=i.range.startLineNumber===t?i.range.startColumn:1,a=i.range.endLineNumber===t?i.range.endColumn:n;if(s>e._range.startColumn||e._range.endColumn>a)return null;var u=new l.a(e._range.startLineNumber,s,e._range.startLineNumber,a),c=o.getColorData(i.range.getStartPosition());if(!r&&c){r=!0;var h=c.colorInfo,d=h.color,g=h.range;return new q(g,d,c.provider)}if(Object(O.b)(i.options.hoverMessage))return null;var p=void 0;return i.options.hoverMessage&&(p=Array.isArray(i.options.hoverMessage)?i.options.hoverMessage.slice():[i.options.hoverMessage]),{contents:p,range:u}})).filter((function(e){return!!e}))},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort((function(e,t){return e instanceof q?-1:t instanceof q?1:0}))):this._result.concat(e)},e.prototype.getResult=function(){return this._result.slice(0)},e.prototype.getResultWithLoadingMessage=function(){return this._result.slice(0).concat([this._getLoadingMessage()])},e.prototype._getLoadingMessage=function(){return{range:this._range,contents:[(new O.a).appendText(n.a("modesContentHover.loading","Loading..."))]}},e}(),J=function(e){function t(o,n,i){var r=e.call(this,t.ID,o)||this;return r._themeService=i,r.renderDisposable=S.a.None,r._computer=new $(r._editor),r._highlightDecorations=[],r._isChangingDecorations=!1,r._markdownRenderer=n,r._register(n.onDidRenderCodeBlock(r.onContentsChange,r)),r._hoverOperation=new b(r._computer,(function(e){return r._withResult(e,!0)}),null,(function(e){return r._withResult(e,!1)})),r._register(h.j(r.getDomNode(),h.d.FOCUS,(function(){r._colorPicker&&h.f(r.getDomNode(),"colorpicker-hover")}))),r._register(h.j(r.getDomNode(),h.d.BLUR,(function(){h.G(r.getDomNode(),"colorpicker-hover")}))),r._register(o.onDidChangeConfiguration((function(e){r._hoverOperation.setHoverTime(r._editor.getConfiguration().contribInfo.hover.delay)}))),r}return Y(t,e),t.prototype.dispose=function(){this.renderDisposable.dispose(),this.renderDisposable=S.a.None,this._hoverOperation.cancel(),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this._isChangingDecorations||this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._colorPicker||this._hoverOperation.start(0))},t.prototype.startShowingAt=function(e,t,o){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition.lineNumber!==e.startLineNumber)this.hide();else{for(var n=[],i=0,r=this._messages.length;i=e.endColumn&&n.push(s)}if(n.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var o=0;o0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,o){var n=this;this.renderDisposable.dispose(),this._colorPicker=null;var i,r=Number.MAX_VALUE,s=o[0].range,a=document.createDocumentFragment(),u=!0,c=!1;o.forEach((function(t){if(t.range)if(r=Math.min(r,t.range.startColumn),s=l.a.plusRange(s,t.range),t instanceof q){c=!0;var o=t.color,h=o.red,g=o.green,p=o.blue,f=o.alpha,_=new A.c(255*h,255*g,255*p,f),y=new A.a(_),v=n._editor.getModel(),b=new l.a(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn),E={range:t.range,color:t.color},C=new I(y,[],0),T=new G(a,C,n._editor.getConfiguration().pixelRatio,n._themeService);Object(K.a)(v,E,t.provider,m.a.None).then((function(o){C.colorPresentations=o;var s=n._editor.getModel().getValueInRange(t.range);C.guessColorPresentation(y,s);var u=function(){var e,t;C.presentation.textEdit?(e=[C.presentation.textEdit],t=(t=new l.a(C.presentation.textEdit.range.startLineNumber,C.presentation.textEdit.range.startColumn,C.presentation.textEdit.range.endLineNumber,C.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+C.presentation.textEdit.text.length)):(e=[{identifier:null,range:b,text:C.presentation.label,forceMoveMarkers:!1}],t=b.setEndPosition(b.endLineNumber,b.startColumn+C.presentation.label.length)),n._editor.executeEdits("colorpicker",e),C.presentation.additionalTextEdits&&(e=C.presentation.additionalTextEdits.slice(),n._editor.executeEdits("colorpicker",e),n.hide()),n._editor.pushUndoStop(),b=t},c=function(e){return Object(K.a)(v,{range:b,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},t.provider,m.a.None).then((function(e){C.colorPresentations=e}))},h=C.onColorFlushed((function(e){c(e).then(u)})),g=C.onDidChangeColor(c);n._colorPicker=T,n.showAt(new d.a(e.startLineNumber,r),n._shouldFocus),n.updateContents(a),n._colorPicker.layout(),n.renderDisposable=Object(S.c)([h,g,T,i])}))}else t.contents.filter((function(e){return!Object(O.b)(e)})).forEach((function(e){var t=n._markdownRenderer.render(e);i=t,a.appendChild(X("div.hover-row",null,t.element)),u=!1}))})),c||u||(this.showAt(new d.a(e.startLineNumber,r),this._shouldFocus),this.updateContents(a)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[{range:s,options:t._DECORATION_OPTIONS}]),this._isChangingDecorations=!1},t.ID="editor.contrib.modesContentHoverWidget",t._DECORATION_OPTIONS=R.a.register({className:"hoverHighlight"}),t}(w);var Z=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Q=function(){function e(e){this._editor=e,this._lineNumber=-1}return e.prototype.setLineNumber=function(e){this._lineNumber=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeSync=function(){for(var e=function(e){return{value:e}},t=this._editor.getLineDecorations(this._lineNumber),o=[],n=0,i=t.length;n0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){var o=this;Object(S.d)(this._renderDisposeables),this._renderDisposeables=[];var n=document.createDocumentFragment();t.forEach((function(e){var t=o._markdownRenderer.render(e.value);o._renderDisposeables.push(t),n.appendChild(Object(h.a)("div.hover-row",null,t.element))})),this.updateContents(n),this.showAt(e)},t.ID="editor.contrib.modesGlyphHoverWidget",t}(k),te=o(5),oe=o(160);o.d(t,"ModesHoverController",(function(){return se}));var ne=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),ie=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},re=function(e,t){return function(o,n){t(o,n,e)}},se=function(){function e(e,t,o,n){var i=this;this._editor=e,this._openerService=t,this._modeService=o,this._themeService=n,this._toUnhook=[],this._isMouseDown=!1,this._hoverClicked=!1,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration((function(e){e.contribInfo&&(i._hideWidgets(),i._unhookEvents(),i._hookEvents())}))}return Object.defineProperty(e.prototype,"contentWidget",{get:function(){return this._contentWidget||this._createHoverWidget(),this._contentWidget},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"glyphWidget",{get:function(){return this._glyphWidget||this._createHoverWidget(),this._glyphWidget},enumerable:!0,configurable:!0}),e.get=function(t){return t.getContribution(e.ID)},e.prototype._hookEvents=function(){var e=this,t=function(){return e._hideWidgets()},o=this._editor.getConfiguration().contribInfo.hover;this._isHoverEnabled=o.enabled,this._isHoverSticky=o.sticky,this._isHoverEnabled?(this._toUnhook.push(this._editor.onMouseDown((function(t){return e._onEditorMouseDown(t)}))),this._toUnhook.push(this._editor.onMouseUp((function(t){return e._onEditorMouseUp(t)}))),this._toUnhook.push(this._editor.onMouseMove((function(t){return e._onEditorMouseMove(t)}))),this._toUnhook.push(this._editor.onKeyDown((function(t){return e._onKeyDown(t)}))),this._toUnhook.push(this._editor.onDidChangeModelDecorations((function(){return e._onModelDecorationsChanged()})))):this._toUnhook.push(this._editor.onMouseMove(t)),this._toUnhook.push(this._editor.onMouseLeave(t)),this._toUnhook.push(this._editor.onDidChangeModel(t)),this._toUnhook.push(this._editor.onDidScrollChange((function(t){return e._onEditorScrollChanged(t)})))},e.prototype._unhookEvents=function(){this._toUnhook=Object(S.d)(this._toUnhook)},e.prototype._onModelDecorationsChanged=function(){this.contentWidget.onModelDecorationsChanged(),this.glyphWidget.onModelDecorationsChanged()},e.prototype._onEditorScrollChanged=function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()},e.prototype._onEditorMouseDown=function(e){this._isMouseDown=!0;var t=e.target.type;t!==c.b.CONTENT_WIDGET||e.target.detail!==J.ID?t===c.b.OVERLAY_WIDGET&&e.target.detail===ee.ID||(t!==c.b.OVERLAY_WIDGET&&e.target.detail!==ee.ID&&(this._hoverClicked=!1),this._hideWidgets()):this._hoverClicked=!0},e.prototype._onEditorMouseUp=function(e){this._isMouseDown=!1},e.prototype._onEditorMouseMove=function(e){var t=e.target.type,o=r.d?e.event.metaKey:e.event.ctrlKey;if(!(this._isMouseDown&&this._hoverClicked&&this.contentWidget.isColorPickerVisible())&&(!this._isHoverSticky||t!==c.b.CONTENT_WIDGET||e.target.detail!==J.ID||o)&&(!this._isHoverSticky||t!==c.b.OVERLAY_WIDGET||e.target.detail!==ee.ID||o)){if(t===c.b.CONTENT_EMPTY){var n=this._editor.getConfiguration().fontInfo.typicalHalfwidthCharacterWidth/2,i=e.target.detail;i&&!i.isAfterLines&&"number"==typeof i.horizontalDistanceToText&&i.horizontalDistanceToText=t._editor.getModel().getLineCount()&&t._futureFixes.cancel()}))),this._disposables.push(P.j(this._domNode,"click",(function(e){t._editor.focus();var o=P.u(t._domNode),n=o.top,i=o.height,r=t._editor.getConfiguration().lineHeight,s=Math.floor(r/3);t._position&&t._position.position.lineNumber0?n.isEmpty()&&e.every((function(e){return e.kind&&O.Refactor.contains(e.kind)}))?t.hide():t._show():t.hide()})).catch((function(e){t.hide()}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{get:function(){return this._domNode.title},set:function(e){this._domNode.title=e},enumerable:!0,configurable:!0}),e.prototype._show=function(){var t=this._editor.getConfiguration();if(t.contribInfo.lightbulbEnabled){var o=this._model.position.lineNumber,n=this._editor.getModel();if(n){var i=n.getOptions().tabSize,r=n.getLineContent(o),s=U.b.computeIndentLevel(r,i),a=o;t.fontInfo.spaceWidth*s>22||(o>1?a-=1:a+=1),this._position={position:{lineNumber:a,column:1},preference:e._posPref},this._editor.layoutContentWidget(this)}}},e.prototype.hide=function(){this._position=null,this._model=null,this._futureFixes.cancel(),this._editor.layoutContentWidget(this)},e._posPref=[H.a.EXACT],e}(),W=(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}I(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),j=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},G=function(e,t){return function(o,n){t(o,n,e)}},z=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},K=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]=i)return null;for(var r=[],s=n;s<=i;s++)r.push(e.getLineContent(s));var a=r.slice(0);return a.sort((function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())})),!0===o&&(a=a.reverse()),{startLineNumber:n,endLineNumber:i,before:r,after:a}}var u=o(8),c=function(){function e(e,t){this.selection=e,this.cursors=t}return e.prototype.getEditOperations=function(e,t){for(var o=function(e,t){t.sort((function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber}));for(var o=t.length-2;o>=0;o--)t[o].lineNumber===t[o+1].lineNumber&&t.splice(o,1);for(var n=[],i=0,a=0,l=t.length,c=1,h=e.getLineCount();c<=h;c++){var d=e.getLineContent(c),g=d.length+1,p=0;if(!(a1&&(o-=1,i=e.getLineMaxColumn(o)),t.addTrackedEditOperation(new s.a(o,i,n,r),null)}},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return new g.a(o.endLineNumber,this.restoreCursorToColumn,o.endLineNumber,this.restoreCursorToColumn)},e}(),y=o(32),v=o(126);function b(e,t){for(var o=0,n=0;n=n.startLineNumber+1&&t<=n.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var S=y.a.getGoodIndentForLine(l,e.getLanguageIdAtPosition(d,1),n.startLineNumber+1,a);if(null!==S){C=u.getLeadingWhitespace(e.getLineContent(n.startLineNumber));if((O=b(S,i))!==(R=b(C,i))){var T=O-R;this.getIndentEditsOfMovingBlock(e,t,n,i,r,T)}}}}else t.addEditOperation(new s.a(n.startLineNumber,1,n.startLineNumber,1),f+"\n")}else{var w;if(d=n.startLineNumber-1,p=e.getLineContent(d),t.addEditOperation(new s.a(d,1,d+1,1),null),t.addEditOperation(new s.a(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),"\n"+p),this.shouldAutoIndent(e,n))if(l.getLineContent=function(t){return t===d?e.getLineContent(n.startLineNumber):e.getLineContent(t)},null!==(w=this.matchEnterRule(e,a,i,n.startLineNumber,n.startLineNumber-2)))0!==w&&this.getIndentEditsOfMovingBlock(e,t,n,i,r,w);else{var k=y.a.getGoodIndentForLine(l,e.getLanguageIdAtPosition(n.startLineNumber,1),d,a);if(null!==k){var O,R,N=u.getLeadingWhitespace(e.getLineContent(n.startLineNumber));if((O=b(k,i))!==(R=b(N,i))){T=O-R;this.getIndentEditsOfMovingBlock(e,t,n,i,r,T)}}}}}this._selectionId=t.trackSelection(n)}},e.prototype.buildIndentConverter=function(e){return{shiftIndent:function(t){for(var o=v.a.shiftIndentCount(t,t.length+1,e),n="",i=0;i=1;){var l=void 0;if(l=a===i&&void 0!==r?r:e.getLineContent(a),u.lastNonWhitespaceIndex(l)>=0)break;a--}if(a<1||n>e.getLineCount())return null;var c=e.getLineMaxColumn(a),h=y.a.getEnterAction(e,new s.a(a,c,a,c));if(h){var d=h.indentation,g=h.enterAction;g.indentAction===C.a.None?d=h.indentation+g.appendText:g.indentAction===C.a.Indent?d=h.indentation+g.appendText:g.indentAction===C.a.IndentOutdent?d=h.indentation:g.indentAction===C.a.Outdent&&(d=t.unshiftIndent(h.indentation)+g.appendText);var p=e.getLineContent(n);if(this.trimLeft(p).indexOf(this.trimLeft(d))>=0){var f=u.getLeadingWhitespace(e.getLineContent(n)),m=u.getLeadingWhitespace(d);return 2&y.a.getIndentMetadata(e,n)&&(m=t.unshiftIndent(m)),b(m,o)-b(f,o)}}return null},e.prototype.trimLeft=function(e){return e.replace(/^\s+/,"")},e.prototype.shouldAutoIndent=function(e,t){if(!this._autoIndent)return!1;if(!e.isCheapToTokenize(t.startLineNumber))return!1;var o=e.getLanguageIdAtPosition(t.startLineNumber,1);return o===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==y.a.getIndentRulesSupport(o)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,o,n,i,r){for(var a=o.startLineNumber;a<=o.endLineNumber;a++){var l=e.getLineContent(a),c=u.getLeadingWhitespace(l),h=E(b(c,n)+r,n,i);h!==c&&(t.addEditOperation(new s.a(a,1,a,c.length+1),h),a===o.endLineNumber&&o.endColumn<=c.length+1&&""===h&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){var o=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(o=o.setEndPosition(o.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&o.startLineNumber0){var s=t.startLineNumber-i;r=new g.a(s,t.startColumn,s,t.startColumn)}else r=new g.a(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);i+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?o=r:n.push(r)})),o&&n.unshift(o),n},t.prototype._getRangesToDelete=function(e){var t=e.getSelections(),o=e.getModel();return t.sort(s.a.compareRangesUsingStarts),t=t.map((function(e){if(e.isEmpty()){if(1===e.startColumn){var t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:o.getLineContent(t).length+1;return new s.a(t,n,e.startLineNumber,1)}return new s.a(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return e}))},t}(G),K=function(e){function t(){return e.call(this,{id:"deleteAllRight",label:n.a("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:h.a.writable,kbOpts:{kbExpr:h.a.textInputFocus,primary:null,mac:{primary:297,secondary:[2068]},weight:100}})||this}return R(t,e),t.prototype._getEndCursorState=function(e,t){for(var o,n=[],i=0,r=t.length;ie.endLineNumber+1?(i.push(e),t):new g.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(i.push(e),t):new g.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)}));i.push(a);for(var l=t.getModel(),u=[],c=[],h=n,d=0,p=0,f=i.length;p=1){var O=!0;""===S&&(O=!1),!O||" "!==S.charAt(S.length-1)&&"\t"!==S.charAt(S.length-1)||(O=!1,S=S.replace(/[\s\uFEFF\xA0]+$/g," "));var R=w.substr(k-1);S+=(O?" ":"")+R,y=O?R.length+1:R.length}else y=0}var N=new s.a(_,1,v,b);if(!N.isEmpty()){var I=void 0;m.isEmpty()?(u.push(r.a.replace(N,S)),I=new g.a(N.startLineNumber-d,S.length-y+1,_-d,S.length-y+1)):m.startLineNumber===m.endLineNumber?(u.push(r.a.replace(N,S)),I=new g.a(m.startLineNumber-d,m.startColumn,m.endLineNumber-d,m.endColumn)):(u.push(r.a.replace(N,S)),I=new g.a(m.startLineNumber-d,m.startColumn,m.startLineNumber-d,S.length-E)),null!==s.a.intersectRanges(N,n)?h=I:c.push(I)}d+=N.endLineNumber-N.startLineNumber}c.unshift(h),t.pushUndoStop(),t.executeEdits(this.id,u,c),t.pushUndoStop()},t}(f.b),X=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:n.a("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:h.a.writable})||this}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelections(),n=t.getModel(),i=[],r=0,a=o.length;r=c){if(u.lineNumber===n.getLineCount())continue;var h=new s.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(h).split("").reverse().join("");i.push(new d.a(new g.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{h=new s.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(h).split("").reverse().join("");i.push(new d.b(h,p,new g.a(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()},t}(f.b),q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelections(),n=t.getModel(),i=[],r=0,a=o.length;r=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},L=function(e,t){return function(o,n){t(o,n,e)}},D=c.a,A=function(e){function t(o){var n=e.call(this)||this;return n._onHint=n._register(new m.a),n.onHint=n._onHint.event,n._onCancel=n._register(new m.a),n.onCancel=n._onCancel.event,n.editor=o,n.enabled=!1,n.triggerCharactersListeners=[],n.throttledDelayer=new p.c((function(){return n.doTrigger()}),t.DELAY),n.active=!1,n._register(n.editor.onDidChangeConfiguration((function(){return n.onEditorConfigurationChange()}))),n._register(n.editor.onDidChangeModel((function(e){return n.onModelChanged()}))),n._register(n.editor.onDidChangeModelLanguage((function(e){return n.onModelChanged()}))),n._register(n.editor.onDidChangeCursorSelection((function(e){return n.onCursorChange(e)}))),n._register(n.editor.onDidChangeModelContent((function(e){return n.onModelContentChange()}))),n._register(d.t.onDidChange(n.onModelChanged,n)),n.onEditorConfigurationChange(),n.onModelChanged(),n}return N(t,e),t.prototype.cancel=function(e){void 0===e&&(e=!1),this.active=!1,this.throttledDelayer.cancel(),e||this._onCancel.fire(void 0),this.provideSignatureHelpRequest&&(this.provideSignatureHelpRequest.cancel(),this.provideSignatureHelpRequest=void 0)},t.prototype.trigger=function(e){if(void 0===e&&(e=t.DELAY),d.t.has(this.editor.getModel()))return this.cancel(!0),this.throttledDelayer.schedule(e)},t.prototype.doTrigger=function(){var e=this;this.provideSignatureHelpRequest&&this.provideSignatureHelpRequest.cancel(),this.provideSignatureHelpRequest=Object(p.i)((function(t){return b(e.editor.getModel(),e.editor.getPosition(),t)})),this.provideSignatureHelpRequest.then((function(t){if(!t||!t.signatures||0===t.signatures.length)return e.cancel(),e._onCancel.fire(void 0),!1;e.active=!0;var o={hints:t};return e._onHint.fire(o),!0})).catch(f.e)},t.prototype.isTriggered=function(){return this.active||this.throttledDelayer.isScheduled()},t.prototype.onModelChanged=function(){var e=this;this.cancel(),this.triggerCharactersListeners=Object(i.d)(this.triggerCharactersListeners);var t=this.editor.getModel();if(t){for(var o=new S.b,n=0,r=d.t.ordered(t);n1;c.N(this.element,"multiple",e),this.keyMultipleSignatures.set(e),this.signature.innerHTML="",this.docs.innerHTML="";var t=this.hints.signatures[this.currentSignature];if(t){var o=c.k(this.signature,D(".code")),r=t.parameters.length>0,s=this.editor.getConfiguration().fontInfo;if(o.style.fontSize=s.fontSize+"px",o.style.fontFamily=s.fontFamily,r)this.renderParameters(o,t,this.hints.activeParameter);else c.k(o,D("span")).textContent=t.label;Object(i.d)(this.renderDisposeables),this.renderDisposeables=[];var a=t.parameters[this.hints.activeParameter];if(a&&a.documentation){var l=D("span.documentation");if("string"==typeof a.documentation)l.textContent=a.documentation;else{var u=this.markdownRenderer.render(a.documentation);c.f(u.element,"markdown-docs"),this.renderDisposeables.push(u),l.appendChild(u.element)}c.k(this.docs,D("p",null,l))}if(c.N(this.signature,"has-docs",!!t.documentation),"string"==typeof t.documentation)c.k(this.docs,D("p",null,t.documentation));else{u=this.markdownRenderer.render(t.documentation);c.f(u.element,"markdown-docs"),this.renderDisposeables.push(u),c.k(this.docs,u.element)}var d=String(this.currentSignature+1);if(this.hints.signatures.length<10&&(d+="/"+this.hints.signatures.length),this.overloads.textContent=d,a){var g=a.label;this.announcedLabel!==g&&(h.a(n.a("hint","{0}, hint",g)),this.announcedLabel=g)}this.editor.layoutContentWidget(this),this.scrollbar.scanDomNode()}},e.prototype.renderParameters=function(e,t,o){for(var n,i=t.label.length,r=0,s=t.parameters.length-1;s>=0;s--){var a=t.parameters[s],l=0,u=0;(r=t.label.lastIndexOf(a.label,i-1))>=0&&(l=r,u=r+a.label.length),(n=document.createElement("span")).textContent=t.label.substring(u,i),c.E(e,n),(n=document.createElement("span")).className="parameter "+(s===o?"active":""),n.textContent=t.label.substring(l,u),c.E(e,n),i=l}(n=document.createElement("span")).textContent=t.label.substring(0,i),c.E(e,n)},e.prototype.next=function(){var e=this.hints.signatures.length,t=this.currentSignature%e==e-1;return e<2||t?(this.cancel(),!1):(this.currentSignature++,this.render(),!0)},e.prototype.previous=function(){var e=this.hints.signatures.length,t=0===this.currentSignature;return e<2||t?(this.cancel(),!1):(this.currentSignature--,this.render(),!0)},e.prototype.cancel=function(){this.model.cancel()},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.trigger=function(){this.model.trigger(0)},e.prototype.updateMaxHeight=function(){var e=Math.max(this.editor.getLayoutInfo().height/4,250);this.element.style.maxHeight=e+"px"},e.prototype.dispose=function(){this.disposables=Object(i.d)(this.disposables),this.renderDisposeables=Object(i.d)(this.renderDisposeables),this.model&&(this.model.dispose(),this.model=null)},e.ID="editor.widget.parameterHintsWidget",e=I([L(1,a.e),L(2,k.a),L(3,O.a)],e)}();Object(T.e)((function(e,t){var o=e.getColor(w.w);if(o){var n=e.type===T.b?2:1;t.addRule(".monaco-editor .parameter-hints-widget { border: "+n+"px solid "+o+"; }"),t.addRule(".monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid "+o.transparent(.5)+"; }"),t.addRule(".monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid "+o.transparent(.5)+"; }")}var i=e.getColor(w.v);i&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+i+"; }");var r=e.getColor(w.qb);r&&t.addRule(".monaco-editor .parameter-hints-widget a { color: "+r+"; }");var s=e.getColor(w.pb);s&&t.addRule(".monaco-editor .parameter-hints-widget code { background-color: "+s+"; }")})),o.d(t,"TriggerParameterHintsAction",(function(){return H}));var x=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),M=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},B=function(e,t){return function(o,n){t(o,n,e)}},F=function(){function e(e,t){this.editor=e,this.widget=t.createInstance(P,this.editor)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.cancel=function(){this.widget.cancel()},e.prototype.previous=function(){this.widget.previous()},e.prototype.next=function(){this.widget.next()},e.prototype.trigger=function(){this.widget.trigger()},e.prototype.dispose=function(){this.widget=Object(i.d)(this.widget)},e.ID="editor.controller.parameterHints",e=M([B(1,r.a)],e)}(),H=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:n.a("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:s.a.hasSignatureHelpProvider,kbOpts:{kbExpr:s.a.editorTextFocus,primary:3082,weight:100}})||this}return x(t,e),t.prototype.run=function(e,t){var o=F.get(t);o&&o.trigger()},t}(l.b);Object(l.h)(F),Object(l.f)(H);var U=l.c.bindToContribution(F.get);Object(l.g)(new U({id:"closeParameterHints",precondition:v.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:9,secondary:[1033]}})),Object(l.g)(new U({id:"showPrevParameterHint",precondition:a.d.and(v.Visible,v.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Object(l.g)(new U({id:"showNextParameterHint",precondition:a.d.and(v.Visible,v.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(25),s=o(10),a=o(22),l=o(2),u=o(5),c=o(3),h=o(61),d=o(86),g=o(106),p=o(32),f=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),m=function(){function e(){}return Object.defineProperty(e.prototype,"range",{get:function(){return new l.a(this.start.lineNumber,this.start.column,this.end.lineNumber,this.end.column)},enumerable:!0,configurable:!0}),e}(),_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),Object.defineProperty(t.prototype,"hasChildren",{get:function(){return this.children&&this.children.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmpty",{get:function(){return!this.hasChildren&&!this.parent},enumerable:!0,configurable:!0}),t.prototype.append=function(e){return!!e&&(e.parent=this,this.children||(this.children=[]),e instanceof t?e.children&&this.children.push.apply(this.children,e.children):this.children.push(e),!0)},t}(m),y=function(e){function t(){var t=e.call(this)||this;return t.elements=new _,t.elements.parent=t,t}return f(t,e),t}(m),v=function(e,t,o){this.range=e,this.bracket=t,this.bracketType=o};function b(e){var t=new m;return t.start=e.range.getStartPosition(),t.end=e.range.getEndPosition(),t}var E=function(e,t,o){this.lineNumber=o,this.lineText=e.getLineContent(),this.startOffset=e.getStartOffset(t),this.endOffset=e.getEndOffset(t),this.type=e.getStandardTokenType(t),this.languageId=e.getLanguageId(t)},C=function(){function e(e){this._model=e,this._lineCount=this._model.getLineCount(),this._versionId=this._model.getVersionId(),this._lineNumber=0,this._tokenIndex=0,this._lineTokens=null,this._advance()}return e.prototype._advance=function(){for(this._lineTokens&&(this._tokenIndex++,this._tokenIndex>=this._lineTokens.getCount()&&(this._lineTokens=null));this._lineNumber0)return this._nextBuff.shift();var e=this._rawTokenScanner.next();if(!e)return null;var t=e.lineNumber,o=e.lineText,n=e.type,i=e.startOffset,r=e.endOffset;this._cachedLanguageId!==e.languageId&&(this._cachedLanguageId=e.languageId,this._cachedLanguageBrackets=p.a.getBracketsSupport(this._cachedLanguageId));var s,a=this._cachedLanguageBrackets;if(!a||Object(d.b)(n))return new v(new l.a(t,i+1,t,r+1),0,null);do{if(s=g.a.findNextBracketInToken(a.forwardRegex,t,o,i,r)){var u=s.startColumn-1,c=s.endColumn-1;i=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},k=function(e,t){return function(o,n){t(o,n,e)}},O=function(){function e(e){this._modelService=e}return e.prototype.getRangesToPosition=function(e,t){return s.b.as(this.getRangesToPositionSync(e,t))},e.prototype.getRangesToPositionSync=function(e,t){var o=this._modelService.getModel(e),n=[];return o&&this._doGetRangesToPosition(o,t).forEach((function(e){n.push({type:void 0,range:e})})),n},e.prototype._doGetRangesToPosition=function(e,t){var o,n;o=function e(t,o){if(t instanceof _&&t.isEmpty)return null;if(!l.a.containsPosition(t.range,o))return null;var n;if(t instanceof _){if(t.hasChildren)for(var i=0,r=t.children.length;i=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},L=function(e,t){return function(o,n){t(o,n,e)}},D=function(e){this.editor=e,this.next=null,this.previous=null,this.selection=e.getSelection()},A=function(){function e(e,t){this.editor=e,this._tokenSelectionSupport=t.createInstance(O),this._state=null,this._ignoreSelection=!1}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(e){var t=this,o=this.editor.getSelection(),n=this.editor.getModel();this._state&&this._state.editor!==this.editor&&(this._state=null);var i=s.b.as(null);return this._state||(i=this._tokenSelectionSupport.getRangesToPosition(n.uri,o.getStartPosition()).then((function(e){if(!r.k(e)){var o;e.filter((function(e){var o=t.editor.getSelection(),n=new l.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);return n.containsPosition(o.getStartPosition())&&n.containsPosition(o.getEndPosition())})).forEach((function(e){var n=e.range,i=new D(t.editor);i.selection=new l.a(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn),o&&(i.next=o,o.previous=i),o=i}));var n=new D(t.editor);n.next=o,o&&(o.previous=n),t._state=n;var i=t.editor.onDidChangeCursorPosition((function(e){t._ignoreSelection||(t._state=null,i.dispose())}))}}))),i.then((function(){if(t._state&&(t._state=e?t._state.next:t._state.previous,t._state)){t._ignoreSelection=!0;try{t.editor.setSelection(t._state.selection)}finally{t._ignoreSelection=!1}}}))},e.ID="editor.contrib.smartSelectController",e=I([L(1,a.a)],e)}(),P=function(e){function t(t,o){var n=e.call(this,o)||this;return n._forward=t,n}return N(t,e),t.prototype.run=function(e,t){var o=A.get(t);if(o)return o.run(this._forward)},t}(c.b),x=function(e){function t(){return e.call(this,!0,{id:"editor.action.smartSelect.grow",label:i.a("smartSelect.grow","Expand Select"),alias:"Expand Select",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:1553,mac:{primary:3345},weight:100},menubarOpts:{menuId:R.b.MenubarSelectionMenu,group:"1_basic",title:i.a({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})||this}return N(t,e),t}(P),M=function(e){function t(){return e.call(this,!1,{id:"editor.action.smartSelect.shrink",label:i.a("smartSelect.shrink","Shrink Select"),alias:"Shrink Select",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:1551,mac:{primary:3343},weight:100},menubarOpts:{menuId:R.b.MenubarSelectionMenu,group:"1_basic",title:i.a({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})||this}return N(t,e),t}(P);Object(c.h)(A),Object(c.f)(x),Object(c.f)(M)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(25),s=o(39),a=o(6),l=o(10),u=o(12),c=o(3),h=o(11),d=o(13),g=o(33),p=o(2),f=o(61),m=o(17),_=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),y=function(e){function t(o){var n=e.call(this)||this;return n.name=t.Name,n.message=o,n}return _(t,e),t.Name="NOPRO",t}(Error);function v(e,t,o){var n=h.i.ordered(e);return 0===n.length?l.b.wrapError(new y):Object(m.j)(n.map((function(n){return function(){return Object(m.h)((function(i){return n.provideDocumentRangeFormattingEdits(e,t,o,i)})).then(void 0,d.f)}})),(function(e){return!Object(r.k)(e)}))}function b(e,t){var o=h.f.ordered(e);return 0===o.length?v(e,e.getFullModelRange(),t):Object(m.j)(o.map((function(o){return function(){return Object(m.h)((function(n){return o.provideDocumentFormattingEdits(e,t,n)})).then(void 0,d.f)}})),(function(e){return!Object(r.k)(e)}))}function E(e,t,o,n){var i=h.q.ordered(e)[0];return i?i.autoFormatTriggerCharacters.indexOf(o)<0?l.b.as(void 0):Object(m.h)((function(r){return i.provideOnTypeFormattingEdits(e,t,o,n,r)})).then((function(e){return e}),d.f):l.b.as(void 0)}Object(c.j)("_executeFormatRangeProvider",(function(e,t){var o=t.resource,n=t.range,i=t.options;if(!(o instanceof g.a&&p.a.isIRange(n)))throw Object(d.b)();var r=e.get(f.a).getModel(o);if(!r)throw Object(d.b)("resource");return v(r,p.a.lift(n),i)})),Object(c.j)("_executeFormatDocumentProvider",(function(e,t){var o=t.resource,n=t.options;if(!(o instanceof g.a))throw Object(d.b)("resource");var i=e.get(f.a).getModel(o);if(!i)throw Object(d.b)("resource");return b(i,n)})),Object(c.e)("_executeFormatOnTypeProvider",(function(e,t,o){var n=o.ch,i=o.options;if("string"!=typeof n)throw Object(d.b)("ch");return E(e,t,n,i)}));var C=o(53),S=function(){function e(){}return e._handleEolEdits=function(e,t){for(var o=void 0,n=[],i=0,r=t;i=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},P=function(e,t){return function(o,n){t(o,n,e)}};function x(e){if((e=e.filter((function(e){return e.range}))).length){for(var t=e[0].range,o=1;o1)){var o=this.editor.getModel(),n=this.editor.getPosition(),i=!1,s=this.editor.onDidChangeModelContent((function(e){if(e.isFlush)return i=!0,void s.dispose();for(var t=0,o=e.changes.length;t1)){var o=this.editor.getModel(),n=o.getOptions(),i=n.tabSize,s=n.insertSpaces,a=new N.a(this.editor,5);v(o,e,{tabSize:i,insertSpaces:s}).then((function(e){return t.workerService.computeMoreMinimalEdits(o.uri,e)})).then((function(e){a.validate(t.editor)&&!Object(r.k)(e)&&(S.execute(t.editor,e),x(e))}))}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.callOnDispose=Object(a.d)(this.callOnDispose),this.callOnModel=Object(a.d)(this.callOnModel)},e.ID="editor.contrib.formatOnPaste",e=A([P(1,k.a)],e)}(),F=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return D(t,e),t.prototype.run=function(e,t){var o=this,n=e.get(k.a),i=e.get(L.a),s=this._getFormattingEdits(t);if(!s)return l.b.as(void 0);var a=new N.a(t,5);return s.then((function(e){return n.computeMoreMinimalEdits(t.getModel().uri,e)})).then((function(e){a.validate(t)&&!Object(r.k)(e)&&(S.execute(t,e),x(e),t.focus())}),(function(e){if(!(e instanceof Error&&e.name===y.Name))throw e;o._notifyNoProviderError(i,t.getModel().getLanguageIdentifier().language)}))},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.provider","There is no formatter for '{0}'-files installed.",t))},t}(c.b),H=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:i.a("formatDocument.label","Format Document"),alias:"Format Document",precondition:I.a.writable,kbOpts:{kbExpr:I.a.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},menuOpts:{when:I.a.hasDocumentFormattingProvider,group:"1_modification",order:1.3}})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=t.getOptions();return b(t,{tabSize:o.tabSize,insertSpaces:o.insertSpaces})},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.documentprovider","There is no document formatter for '{0}'-files installed.",t))},t}(F),U=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:i.a("formatSelection.label","Format Selection"),alias:"Format Code",precondition:u.d.and(I.a.writable,I.a.hasNonEmptySelection),kbOpts:{kbExpr:I.a.editorTextFocus,primary:Object(s.a)(2089,2084),weight:100},menuOpts:{when:u.d.and(I.a.hasDocumentSelectionFormattingProvider,I.a.hasNonEmptySelection),group:"1_modification",order:1.31}})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=t.getOptions(),n=o.tabSize,i=o.insertSpaces;return v(t,e.getSelection(),{tabSize:n,insertSpaces:i})},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.selectionprovider","There is no selection formatter for '{0}'-files installed.",t))},t}(F);Object(c.h)(M),Object(c.h)(B),Object(c.f)(H),Object(c.f)(U),T.a.registerCommand("editor.action.format",(function(e){var t=e.get(w.a).getFocusedCodeEditor();if(t)return(new(function(e){function t(){return e.call(this,{})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=e.getSelection(),n=t.getOptions(),i=n.tabSize,r=n.insertSpaces;return o.isEmpty()?b(t,{tabSize:i,insertSpaces:r}):v(t,o,{tabSize:i,insertSpaces:r})},t}(F))).run(e,t)}))},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(39),s=o(5),a=o(3),l=o(53),u=o(9),c=o(2),h=o(23),d=o(32),g=function(){function e(e){this._selection=e,this._usedEndToken=null}return e._haystackHasNeedleAtOffset=function(e,t,o){if(o<0)return!1;var n=t.length;if(o+n>e.length)return!1;for(var i=0;i=65&&r<=90&&r+32===s||s>=65&&s<=90&&s+32===r))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,o,n,i){var r,s=t.startLineNumber,a=t.startColumn,l=t.endLineNumber,u=t.endColumn,h=n.getLineContent(s),d=n.getLineContent(l),g=o.blockCommentStartToken,p=o.blockCommentEndToken,f=h.lastIndexOf(g,a-1+g.length),m=d.indexOf(p,u-1-p.length);if(-1!==f&&-1!==m)if(s===l){h.substring(f+g.length,m).indexOf(p)>=0&&(f=-1,m=-1)}else{var _=h.substring(f+g.length),y=d.substring(0,m);(_.indexOf(p)>=0||y.indexOf(p)>=0)&&(f=-1,m=-1)}-1!==f&&-1!==m?(f+g.length0&&32===d.charCodeAt(m-1)&&(p=" "+p,m-=1),r=e._createRemoveBlockCommentOperations(new c.a(s,f+g.length+1,l,m+1),g,p)):(r=e._createAddBlockCommentOperations(t,g,p),this._usedEndToken=1===r.length?p:null);for(var v=0;va?r-1:r}},e}(),m=o(38),_=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),y=function(e){function t(t,o){var n=e.call(this,o)||this;return n._type=t,n}return _(t,e),t.prototype.run=function(e,t){var o=t.getModel();if(o){for(var n=[],i=t.getSelections(),r=o.getOptions(),s=0;s{1}",o,i),this._commands[o]=n):r=Object(u.format)("{0}",i),t.push(r)}this._domNode.innerHTML=t.join(" | "),this._editor.layoutContentWidget(this)}else this._domNode.innerHTML="no commands"},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){var t=e.startLineNumber,o=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:o},preference:[d.a.ABOVE]}},e.prototype.getPosition=function(){return this._widgetPosition},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e._idPool=0,e}(),v=function(){function e(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}return e.prototype.addDecoration=function(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)},e.prototype.removeDecoration=function(e){this._removeDecorations.push(e)},e.prototype.commit=function(e){for(var t=e.deltaDecorations(this._removeDecorations,this._addDecorations),o=0,n=t.length;o a:hover { color: "+n+" !important; }")}));var E=o(37),C=o(45),S=o(25),T=o(33),w=o(61),k=o(48);function O(e,t){var o=[],n=l.c.ordered(e),r=n.map((function(n){return Promise.resolve(n.provideCodeLenses(e,t)).then((function(e){if(Array.isArray(e))for(var t=0,i=e;tt.symbol.range.startLineNumber?1:n.indexOf(e.provider)n.indexOf(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0}))}))}Object(a.j)("_executeCodeLensProvider",(function(e,t){var o=t.resource,n=t.itemResolveCount;if(!(o instanceof T.a))throw Object(i.b)();var r=e.get(w.a).getModel(o);if(!r)throw Object(i.b)();var s=[];return O(r,k.a.None).then((function(e){for(var t=[],o=0,i=e;o0&&t.push(Promise.resolve(a.provider.resolveCodeLens(r,a.symbol,k.a.None)).then((function(e){return s.push(e)})))}return Promise.all(t)})).then((function(){return s}))})),o.d(t,"CodeLensContribution",(function(){return I}));var R=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},N=function(e,t){return function(o,n){t(o,n,e)}},I=function(){function e(e,t,o){var n=this;this._editor=e,this._commandService=t,this._notificationService=o,this._isEnabled=this._editor.getConfiguration().contribInfo.codeLens,this._globalToDispose=[],this._localToDispose=[],this._lenses=[],this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter=0,this._globalToDispose.push(this._editor.onDidChangeModel((function(){return n._onModelChange()}))),this._globalToDispose.push(this._editor.onDidChangeModelLanguage((function(){return n._onModelChange()}))),this._globalToDispose.push(this._editor.onDidChangeConfiguration((function(e){var t=n._isEnabled;n._isEnabled=n._editor.getConfiguration().contribInfo.codeLens,t!==n._isEnabled&&n._onModelChange()}))),this._globalToDispose.push(l.c.onDidChange(this._onModelChange,this)),this._onModelChange()}return e.prototype.dispose=function(){this._localDispose(),this._globalToDispose=Object(r.d)(this._globalToDispose)},e.prototype._localDispose=function(){this._currentFindCodeLensSymbolsPromise&&(this._currentFindCodeLensSymbolsPromise.cancel(),this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter++),this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=null),this._localToDispose=Object(r.d)(this._localToDispose)},e.prototype.getId=function(){return e.ID},e.prototype._onModelChange=function(){var e=this;this._localDispose();var t=this._editor.getModel();if(t&&this._isEnabled&&l.c.has(t)){for(var o=0,a=l.c.all(t);o0&&e._detectVisibleLenses.schedule()}))),this._localToDispose.push(this._editor.onDidLayoutChange((function(t){e._detectVisibleLenses.schedule()}))),this._localToDispose.push(Object(r.f)((function(){if(e._editor.getModel()){var t=s.b.capture(e._editor);e._editor.changeDecorations((function(t){e._editor.changeViewZones((function(o){e._disposeAllLenses(t,o)}))})),t.restore(e._editor)}else e._disposeAllLenses(null,null)}))),h.schedule()}},e.prototype._disposeAllLenses=function(e,t){var o=new v;this._lenses.forEach((function(e){return e.dispose(o,t)})),e&&o.commit(e),this._lenses=[]},e.prototype._renderCodeLensSymbols=function(e){var t=this;if(this._editor.getModel()){for(var o,n=this._editor.getModel().getLineCount(),i=[],r=0,a=e;rn||(o&&o[o.length-1].symbol.range.startLineNumber===u?o.push(l):(o=[l],i.push(o)))}var c=s.b.capture(this._editor);this._editor.changeDecorations((function(e){t._editor.changeViewZones((function(o){for(var n=0,r=0,s=new v;r0&&0===o.indexOf(":")){var f=null,m=null,_=0;for(c=0;c0)):_++}m&&m.setGroupLabel(this.typeToLabel(f,_))}else a.length>0&&a[0].setGroupLabel(n.a("symbols","symbols ({0})",a.length));return a},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return n.a("modules","modules ({0})",t);case"class":return n.a("class","classes ({0})",t);case"interface":return n.a("interface","interfaces ({0})",t);case"method":return n.a("method","methods ({0})",t);case"function":return n.a("function","functions ({0})",t);case"property":return n.a("property","properties ({0})",t);case"variable":return n.a("variable","variables ({0})",t);case"var":return n.a("variable2","variables ({0})",t);case"constructor":return n.a("_constructor","constructors ({0})",t);case"call":return n.a("call","calls ({0})",t)}return e},t.prototype.sortNormal=function(e,t,o){var n=t.getLabel().toLowerCase(),i=o.getLabel().toLowerCase(),r=n.localeCompare(i);if(0!==r)return r;var s=t.getRange(),a=o.getRange();return s.startLineNumber-a.startLineNumber},t.prototype.sortScoped=function(e,t,o){e=e.substr(":".length);var n=t.getType(),i=o.getType(),r=n.localeCompare(i);if(0!==r)return r;if(e){var s=t.getLabel().toLowerCase(),a=o.getLabel().toLowerCase(),l=s.localeCompare(a);if(0!==l)return l}var u=t.getRange(),c=o.getRange();return u.startLineNumber-c.startLineNumber},t}(c.a);Object(f.f)(S)},function(e,t,o){"use strict";o.r(t);o(483);var n=o(0),i=o(13),r=o(15),s=o(82),a=o(3),l=o(11),u=o(16),c=o(33),h=o(10),d=o(2),g=o(17),p=o(37),f=o(61),m=o(48),_=function(){function e(e,t){this._link=e,this._provider=t}return e.prototype.toJSON=function(){return{range:this.range,url:this.url}},Object.defineProperty(e.prototype,"range",{get:function(){return this._link.range},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._link.url},enumerable:!0,configurable:!0}),e.prototype.resolve=function(){var e=this;if(this._link.url)try{return h.b.as(c.a.parse(this._link.url))}catch(e){return h.b.wrapError(new Error("invalid"))}return"function"==typeof this._provider.resolveLink?Object(g.h)((function(t){return e._provider.resolveLink(e._link,t)})).then((function(t){return e._link=t||e._link,e._link.url?e.resolve():h.b.wrapError(new Error("missing"))})):h.b.wrapError(new Error("missing"))},e}();function y(e,t){var o=[],n=l.p.ordered(e).reverse().map((function(n){return Promise.resolve(n.provideLinks(e,t)).then((function(e){if(Array.isArray(e)){var t=e.map((function(e){return new _(e,n)}));o=function(e,t){var o,n,i,r,s=[];for(o=0,i=0,n=e.length,r=t.length;o=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},I=function(e,t){return function(o,n){t(o,n,e)}},L=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},D=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},_=function(e,t){return function(o,n){t(o,n,e)}},y=function(){function e(e,t){var o=this;this.themeService=t,this._disposables=[],this.allowEditorOverflow=!0,this._currentAcceptInput=null,this._currentCancelInput=null,this._editor=e,this._editor.addContentWidget(this),this._disposables.push(e.onDidChangeConfiguration((function(e){e.fontInfo&&o.updateFont()}))),this._disposables.push(t.onThemeChange((function(e){return o.onThemeChange(e)})))}return e.prototype.onThemeChange=function(e){this.updateStyles(e)},e.prototype.dispose=function(){this._disposables=Object(c.d)(this._disposables),this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"__renameInputWidget"},e.prototype.getDomNode=function(){return this._domNode||(this._inputField=document.createElement("input"),this._inputField.className="rename-input",this._inputField.type="text",this._inputField.setAttribute("aria-label",Object(n.a)("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode=document.createElement("div"),this._domNode.style.height=this._editor.getConfiguration().lineHeight+"px",this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputField),this.updateFont(),this.updateStyles(this.themeService.getTheme())),this._domNode},e.prototype.updateStyles=function(e){if(this._inputField){var t=e.getColor(p.K),o=e.getColor(p.M),n=e.getColor(p.rb),i=e.getColor(p.L);this._inputField.style.backgroundColor=t?t.toString():null,this._inputField.style.color=o?o.toString():null,this._inputField.style.borderWidth=i?"1px":"0px",this._inputField.style.borderStyle=i?"solid":"none",this._inputField.style.borderColor=i?i.toString():"none",this._domNode.style.boxShadow=n?" 0 2px 8px "+n:null}},e.prototype.updateFont=function(){if(this._inputField){var e=this._editor.getConfiguration().fontInfo;this._inputField.style.fontFamily=e.fontFamily,this._inputField.style.fontWeight=e.fontWeight,this._inputField.style.fontSize=e.fontSize+"px"}},e.prototype.getPosition=function(){return this._visible?{position:this._position,preference:[d.a.BELOW,d.a.ABOVE]}:null},e.prototype.acceptInput=function(){this._currentAcceptInput&&this._currentAcceptInput()},e.prototype.cancelInput=function(e){this._currentCancelInput&&this._currentCancelInput(e)},e.prototype.getInput=function(e,t,o,n){var i=this;this._position=new f.a(e.startLineNumber,e.startColumn),this._inputField.value=t,this._inputField.setAttribute("selectionStart",o.toString()),this._inputField.setAttribute("selectionEnd",n.toString()),this._inputField.size=Math.max(1.1*(e.endColumn-e.startColumn),20);var s,a=[];return s=function(){Object(c.d)(a),i._hide()},new r.b((function(o){i._currentCancelInput=function(e){return i._currentAcceptInput=null,i._currentCancelInput=null,o(e),!0},i._currentAcceptInput=function(){0!==i._inputField.value.trim().length&&i._inputField.value!==t?(i._currentAcceptInput=null,i._currentCancelInput=null,o(i._inputField.value)):i.cancelInput(!0)};a.push(i._editor.onDidChangeCursorSelection((function(){h.a.containsPosition(e,i._editor.getPosition())||i.cancelInput(!0)}))),a.push(i._editor.onDidBlurEditorWidget((function(){return i.cancelInput(!1)}))),i._show()}),(function(){i._currentCancelInput(!0)})).then((function(e){return s(),e}),(function(e){return s(),r.b.wrapError(e)}))},e.prototype._show=function(){var e=this;this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._editor.layoutContentWidget(this),setTimeout((function(){e._inputField.focus(),e._inputField.setSelectionRange(parseInt(e._inputField.getAttribute("selectionStart")),parseInt(e._inputField.getAttribute("selectionEnd")))}),100)},e.prototype._hide=function(){this._visible=!1,this._editor.layoutContentWidget(this)},e=m([_(1,g.c)],e)}(),v=o(17),b=o(11),E=o(59),C=o(142),S=o(90),T=o(45),w=o(156),k=o(33),O=o(36);o.d(t,"rename",(function(){return x})),o.d(t,"RenameAction",(function(){return F}));var R,N=(R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}R(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),I=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},L=function(e,t){return function(o,n){t(o,n,e)}},D=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},A=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]0},e.prototype.resolveRenameLocation=function(){return D(this,void 0,void 0,(function(){var e,t,o,n=this;return A(this,(function(i){switch(i.label){case 0:return(e=this._provider[0]).resolveRenameLocation?[4,Object(v.h)((function(t){return e.resolveRenameLocation(n.model,n.position,t)}))]:[3,2];case 1:t=i.sent(),i.label=2;case 2:return t||(o=this.model.getWordAtPosition(this.position))&&(t={range:new h.a(this.position.lineNumber,o.startColumn,this.position.lineNumber,o.endColumn),text:o.word}),[2,t]}}))}))},e.prototype.provideRenameEdits=function(e,t,o,i){return void 0===t&&(t=0),void 0===o&&(o=[]),void 0===i&&(i=this.position),D(this,void 0,void 0,(function(){var i,r,s=this;return A(this,(function(a){switch(a.label){case 0:return t>=this._provider.length?[2,{edits:void 0,rejectReason:o.join("\n")}]:(i=this._provider[t],[4,Object(v.h)((function(t){return i.provideRenameEdits(s.model,s.position,e,t)}))]);case 1:return(r=a.sent())?r.rejectReason?[2,this.provideRenameEdits(e,t+1,o.concat(r.rejectReason))]:[2,r]:[2,this.provideRenameEdits(e,t+1,o.concat(n.a("no result","No result.")))]}}))}))},e}();function x(e,t,o){return D(this,void 0,void 0,(function(){return A(this,(function(n){return[2,new P(e,t).provideRenameEdits(o)]}))}))}var M=new s.f("renameInputVisible",!1),B=function(){function e(e,t,o,n,i,r){this.editor=e,this._notificationService=t,this._bulkEditService=o,this._progressService=n,this._renameInputField=new y(e,r),this._renameInputVisible=M.bindTo(i)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._renameInputField.dispose()},e.prototype.getId=function(){return e.ID},e.prototype.run=function(){return D(this,void 0,void 0,(function(){var e,t,o,i,s,a,l,u=this;return A(this,(function(c){switch(c.label){case 0:if(e=this.editor.getPosition(),!(t=new P(this.editor.getModel(),e)).hasProvider())return[2,void 0];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,t.resolveRenameLocation()];case 2:return o=c.sent(),[3,4];case 3:return i=c.sent(),C.a.get(this.editor).showMessage(i,e),[2,void 0];case 4:return o?(s=this.editor.getSelection(),a=0,l=o.text.length,h.a.isEmpty(s)||h.a.spansMultipleLines(s)||!h.a.containsRange(o.range,s)||(a=Math.max(0,s.startColumn-o.range.startColumn),l=Math.min(o.range.endColumn,s.endColumn)-o.range.startColumn),this._renameInputVisible.set(!0),[2,this._renameInputField.getInput(o.range,o.text,a,l).then((function(e){if(u._renameInputVisible.reset(),"boolean"!=typeof e){u.editor.focus();var i=new S.a(u.editor,15),s=r.b.wrap(t.provideRenameEdits(e,0,[],h.a.lift(o.range).getStartPosition()).then((function(t){if(!t.rejectReason)return u._bulkEditService.apply(t,{editor:u.editor}).then((function(t){t.ariaSummary&&Object(E.a)(n.a("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,e,t.ariaSummary))}));i.validate(u.editor)?C.a.get(u.editor).showMessage(t.rejectReason,u.editor.getPosition()):u._notificationService.info(t.rejectReason)}),(function(e){return u._notificationService.error(n.a("rename.failed","Rename failed to execute.")),r.b.wrapError(e)})));return u._progressService.showWhile(s,250),s}e&&u.editor.focus()}),(function(e){return u._renameInputVisible.reset(),r.b.wrapError(e)}))]):[2,void 0]}}))}))},e.prototype.acceptRenameInput=function(){this._renameInputField.acceptInput()},e.prototype.cancelRenameInput=function(){this._renameInputField.cancelInput(!0)},e.ID="editor.contrib.renameController",e=I([L(1,T.a),L(2,w.a),L(3,a.a),L(4,s.e),L(5,g.c)],e)}(),F=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:n.a("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:s.d.and(u.a.writable,u.a.hasRenameProvider),kbOpts:{kbExpr:u.a.editorTextFocus,primary:60,weight:100},menuOpts:{group:"1_modification",order:1.1}})||this}return N(t,e),t.prototype.runCommand=function(t,o){var n=this,r=t.get(O.a),s=o||[void 0,void 0],a=s[0],l=s[1];return k.a.isUri(a)&&f.a.isIPosition(l)?r.openCodeEditor({resource:a},r.getActiveCodeEditor()).then((function(e){e.setPosition(l),e.invokeWithinContext((function(t){return n.reportTelemetry(t,e),n.run(t,e)}))}),i.e):e.prototype.runCommand.call(this,t,o)},t.prototype.run=function(e,t){var o=B.get(t);if(o)return r.b.wrap(o.run())},t}(l.b);Object(l.h)(B),Object(l.f)(F);var H=l.c.bindToContribution(B.get);Object(l.g)(new H({id:"acceptRenameInput",precondition:M,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:3}})),Object(l.g)(new H({id:"cancelRenameInput",precondition:M,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(l.e)("_executeDocumentRenameProvider",(function(e,t,o){var n=o.newName;if("string"!=typeof n)throw Object(i.b)("newName");return x(e,t,n)}))},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(4),s=o(6),a=o(12),l=o(46),u=o(2),c=o(3),h=o(19),d=o(5),g=(o(474),o(1)),p=o(209),f=o(7),m=o(14),_=o(30),y=o(81),v=o(42),b=o(165),E=o(25),C=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),S=function(){function e(e,t,o){var n=this;this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var i=document.createElement("div");i.className="descriptioncontainer",i.setAttribute("aria-live","assertive"),i.setAttribute("role","alert"),this._messageBlock=document.createElement("div"),i.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),i.appendChild(this._relatedBlock),this._disposables.push(g.j(this._relatedBlock,"click",(function(e){e.preventDefault();var t=n._relatedDiagnostics.get(e.target);t&&o(t)}))),this._scrollable=new y.b(i,{horizontal:v.b.Auto,vertical:v.b.Auto,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),g.f(this._scrollable.getDomNode(),"block"),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll((function(e){i.style.left="-"+e.scrollLeft+"px",i.style.top="-"+e.scrollTop+"px"}))),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){Object(s.d)(this._disposables)},e.prototype.update=function(e){var t=e.source,o=e.message,n=e.relatedInformation;if(t){this._lines=0,this._longestLineLength=0;for(var i=new Array(t.length+3+1).join(" "),r=o.split(/\r\n|\r|\n/g),s=0;s=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},B=function(e,t){return function(o,n){t(o,n,e)}},F=function(){function e(e,t){var o=this;this._editor=e,this._markers=null,this._nextIdx=-1,this._toUnbind=[],this._ignoreSelectionChange=!1,this._onCurrentMarkerChanged=new r.a,this._onMarkerSetChanged=new r.a,this.setMarkers(t),this._toUnbind.push(this._editor.onDidDispose((function(){return o.dispose()}))),this._toUnbind.push(this._editor.onDidChangeCursorPosition((function(){o._ignoreSelectionChange||o.currentMarker&&u.a.containsPosition(o.currentMarker,o._editor.getPosition())||(o._nextIdx=-1)})))}return Object.defineProperty(e.prototype,"onCurrentMarkerChanged",{get:function(){return this._onCurrentMarkerChanged.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMarkerSetChanged",{get:function(){return this._onMarkerSetChanged.event},enumerable:!0,configurable:!0}),e.prototype.setMarkers=function(e){var t=this._nextIdx>=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(U.compareMarker),this._nextIdx=t?Math.max(-1,Object(E.b)(this._markers,t,U.compareMarker)):-1,this._onMarkerSetChanged.fire(this)},e.prototype.withoutWatchingEditorPosition=function(e){this._ignoreSelectionChange=!0;try{e()}finally{this._ignoreSelectionChange=!1}},e.prototype._initIdx=function(e){for(var t=!1,o=this._editor.getPosition(),n=0;n0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:n=!0),o!==this._nextIdx){var i=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(i)}return n},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,o=this._markers;tthis.selection.endLineNumber?this.targetSelection=new u.a(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},b=function(e,t){return function(o,n){t(o,n,e)}},E=function(){function e(e,t){this.decorationIds=[],this.editor=e,this.editorWorkerService=t}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(t,o){var n=this;this.currentRequest&&this.currentRequest.cancel();var i=this.editor.getSelection(),r=this.editor.getModel().uri;if(i.startLineNumber!==i.endLineNumber)return null;var l=new d.a(this.editor,5);return this.editorWorkerService.canNavigateValueSet(r)?(this.currentRequest=Object(m.i)((function(e){return n.editorWorkerService.navigateValueSet(r,i,o)})),this.currentRequest.then((function(o){if(o&&o.range&&o.value&&l.validate(n.editor)){var r=s.a.lift(o.range),u=o.range,c=o.value.length-(i.endColumn-i.startColumn);u={startLineNumber:u.startLineNumber,startColumn:u.startColumn,endLineNumber:u.endLineNumber,endColumn:u.startColumn+o.value.length},c>1&&(i=new a.a(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn+c-1));var d=new h(r,i,o.value);n.editor.pushUndoStop(),n.editor.executeCommand(t,d),n.editor.pushUndoStop(),n.decorationIds=n.editor.deltaDecorations(n.decorationIds,[{range:u,options:e.DECORATION}]),n.decorationRemover&&n.decorationRemover.cancel(),n.decorationRemover=Object(m.m)(350),n.decorationRemover.then((function(){return n.decorationIds=n.editor.deltaDecorations(n.decorationIds,[])})).catch(_.e)}})).catch(_.e)):void 0},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=f.a.register({className:"valueSetReplacement"}),e=v([b(1,c.a)],e)}(),C=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:i.a("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:l.a.writable,kbOpts:{kbExpr:l.a.editorTextFocus,primary:3154,weight:100}})||this}return y(t,e),t.prototype.run=function(e,t){var o=E.get(t);if(o)return r.b.wrap(o.run(this.id,!0))},t}(u.b),S=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.down",label:i.a("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:l.a.writable,kbOpts:{kbExpr:l.a.editorTextFocus,primary:3156,weight:100}})||this}return y(t,e),t.prototype.run=function(e,t){var o=E.get(t);if(o)return r.b.wrap(o.run(this.id,!1))},t}(u.b);Object(u.h)(E),Object(u.f)(C),Object(u.f)(S),Object(g.e)((function(e,t){var o=e.getColor(p.d);o&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+o+"; }")}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var n=o(76),i=o(31),r=o(2),s=o(6),a=o(4),l={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},u=function(){function e(e,t){void 0===t&&(t={});var o=this;this._onDidUpdate=new a.a,this._editor=e,this._options=i.g(t,l,!1),this.disposed=!1,this._disposables=[],this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=this._options.alwaysRevealFirst,this._disposables.push(this._editor.onDidDispose((function(){return o.dispose()}))),this._disposables.push(this._editor.onDidUpdateDiff((function(){return o._onDiffUpdated()}))),this._options.followsCaret&&this._disposables.push(this._editor.getModifiedEditor().onDidChangeCursorPosition((function(e){o.ignoreSelectionChange||(o.nextIdx=-1)}))),this._options.alwaysRevealFirst&&this._disposables.push(this._editor.getModifiedEditor().onDidChangeModel((function(e){o.revealFirst=!0}))),this._init()}return e.prototype._init=function(){this._editor.getLineChanges()},e.prototype._onDiffUpdated=function(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&null!==this._editor.getLineChanges()&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))},e.prototype._compute=function(e){var t=this;this.ranges=[],e&&e.forEach((function(e){!t._options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach((function(e){t.ranges.push({rhs:!0,range:new r.a(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})})):t.ranges.push({rhs:!0,range:new r.a(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber,1)})})),this.ranges.sort((function(e,t){return e.range.getStartPosition().isBeforeOrEqual(t.range.getStartPosition())?-1:t.range.getStartPosition().isBeforeOrEqual(e.range.getStartPosition())?1:0})),this._onDidUpdate.fire(this)},e.prototype._initIdx=function(e){for(var t=!1,o=this._editor.getPosition(),n=0,i=this.ranges.length;n=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var o=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var i=o.range.getStartPosition();this._editor.setPosition(i),this._editor.revealPositionInCenter(i,t)}finally{this.ignoreSelectionChange=!1}}},e.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},e.prototype.next=function(e){void 0===e&&(e=0),this._move(!0,e)},e.prototype.previous=function(e){void 0===e&&(e=0),this._move(!1,e)},e.prototype.dispose=function(){Object(s.d)(this._disposables),this._disposables.length=0,this._onDidUpdate.dispose(),this.ranges=null,this.disposed=!0},e}()},function(e,t,o){"use strict";o(493);var n,i=o(0),r=o(17),s=o(6),a=o(31),l=o(1),u=o(28),c=o(93),h=o(22),d=o(12),g=o(36),p=o(2),f=o(52),m=o(91),_=o(123),y=o(68),v=o(140),b=o(70),E=o(54),C=o(117),S=o(4),T=o(27),w=o(19),k=o(7),O=o(145),R=o(26),N=(o(494),o(87)),I=o(9),L=o(81),D=o(30),A=o(74),P=o(78),x=o(3),M=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),B=function(){function e(e,t,o,n){this.originalLineStart=e,this.originalLineEnd=t,this.modifiedLineStart=o,this.modifiedLineEnd=n}return e.prototype.getType=function(){return 0===this.originalLineStart?1:0===this.modifiedLineStart?2:0},e}(),F=function(e){this.entries=e},H=function(e){function t(t){var o=e.call(this)||this;return o._width=0,o._diffEditor=t,o._isVisible=!1,o.shadow=Object(u.b)(document.createElement("div")),o.shadow.setClassName("diff-review-shadow"),o.actionBarContainer=Object(u.b)(document.createElement("div")),o.actionBarContainer.setClassName("diff-review-actions"),o._actionBar=o._register(new A.a(o.actionBarContainer.domNode)),o._actionBar.push(new P.a("diffreview.close",i.a("label.close","Close"),"close-diff-review",!0,(function(){return o.hide(),null})),{label:!1,icon:!0}),o.domNode=Object(u.b)(document.createElement("div")),o.domNode.setClassName("diff-review monaco-editor-background"),o._content=Object(u.b)(document.createElement("div")),o._content.setClassName("diff-review-content"),o.scrollbar=o._register(new L.a(o._content.domNode,{})),o.domNode.domNode.appendChild(o.scrollbar.getDomNode()),o._register(t.onDidUpdateDiff((function(){o._isVisible&&(o._diffs=o._compute(),o._render())}))),o._register(t.getModifiedEditor().onDidChangeCursorPosition((function(){o._isVisible&&o._render()}))),o._register(t.getOriginalEditor().onDidFocusEditorWidget((function(){o._isVisible&&o.hide()}))),o._register(t.getModifiedEditor().onDidFocusEditorWidget((function(){o._isVisible&&o.hide()}))),o._register(l.j(o.domNode.domNode,"click",(function(e){e.preventDefault();var t=l.p(e.target,"diff-review-row");t&&o._goToRow(t)}))),o._register(l.j(o.domNode.domNode,"keydown",(function(e){(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),o._goToRow(o._getNextRow())),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),o._goToRow(o._getPrevRow())),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),o.hide()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),o.accept())}))),o._diffs=[],o._currentDiff=null,o}return M(t,e),t.prototype.prev=function(){var e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){for(var t=-1,o=0,n=this._diffs.length;o0){var y=e[r-1];m=0===y.originalEndLineNumber?y.originalStartLineNumber+1:y.originalEndLineNumber+1,_=0===y.modifiedEndLineNumber?y.modifiedStartLineNumber+1:y.modifiedEndLineNumber+1}var v=p-3+1,b=f-3+1;if(vS)O+=k=S-O,R+=k;if(R>T)O+=k=T-R,R+=k;d[g++]=new B(E,O,C,R),n[i++]=new F(d)}var N=n[0].entries,I=[],L=0;for(r=1,s=n.length;rp)&&(p=E),0!==C&&(0===f||Cm)&&(m=S)}var T=document.createElement("div");T.className="diff-review-row";var w=document.createElement("div");w.className="diff-review-cell diff-review-summary";var k=p-g+1,O=m-f+1;w.appendChild(document.createTextNode(c+1+"/"+this._diffs.length+": @@ -"+g+","+k+" +"+f+","+O+" @@")),T.setAttribute("data-line",String(f));var R=function(e){return 0===e?i.a("no_lines","no lines"):1===e?i.a("one_line","1 line"):i.a("more_lines","{0} lines",e)},N=R(k),I=R(O);T.setAttribute("aria-label",i.a({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines", "1 line" or "X lines", localized separately.']},"Difference {0} of {1}: original {2}, {3}, modified {4}, {5}",c+1,this._diffs.length,g,N,f,I)),T.appendChild(w),T.setAttribute("role","listitem"),d.appendChild(T);var L=f;for(_=0,y=h.length;_=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},X=function(e,t){return function(o,n){t(o,n,e)}},q=function(){function e(){this._zones=[],this._zonesMap={},this._decorations=[]}return e.prototype.getForeignViewZones=function(e){var t=this;return e.filter((function(e){return!t._zonesMap[String(e.id)]}))},e.prototype.clean=function(e){var t=this;this._zones.length>0&&e.changeViewZones((function(e){for(var o=0,n=t._zones.length;o0?i/o:0;return{height:Math.max(0,Math.floor(e.contentHeight*r)),top:Math.floor(t*r)}},t.prototype._createDataSource=function(){var e=this;return{getWidth:function(){return e._width},getHeight:function(){return e._height-e._reviewHeight},getContainerDomNode:function(){return e._containerDomElement},relayoutEditors:function(){e._doLayout()},getOriginalEditor:function(){return e.originalEditor},getModifiedEditor:function(){return e.modifiedEditor}}},t.prototype._setStrategy=function(e){this._strategy&&this._strategy.dispose(),this._strategy=e,e.applyColors(this._themeService.getTheme()),this._lineChanges&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){if(0===this._lineChanges.length||e=s?o=i+1:(o=i,n=i)}return this._lineChanges[o]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,(function(e){return e.originalStartLineNumber}));if(!t)return e;var o=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),n=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-o;return s<=i?n+Math.min(s,r):n+r-i+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,(function(e){return e.modifiedStartLineNumber}));if(!t)return e;var o=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),n=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=r?o+Math.min(s,i):o+i-r+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=Y([X(2,m.a),X(3,d.e),X(4,h.a),X(5,g.a),X(6,w.c),X(7,G.a)],t)}(s.a),Z=function(e){function t(t){var o=e.call(this)||this;return o._dataSource=t,o}return K(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(k.i)||k.f).transparent(2),o=(e.getColor(k.k)||k.g).transparent(2),n=!t.equals(this._insertColor)||!o.equals(this._removeColor);return this._insertColor=t,this._removeColor=o,n},t.prototype.getEditorsDiffDecorations=function(e,t,o,n,i,r,s){i=i.sort((function(e,t){return e.afterLineNumber-t.afterLineNumber})),n=n.sort((function(e,t){return e.afterLineNumber-t.afterLineNumber}));var a=this._getViewZones(e,n,i,r,s,o),l=this._getOriginalEditorDecorations(e,t,o,r,s),u=this._getModifiedEditorDecorations(e,t,o,r,s);return{original:{decorations:l.decorations,overviewZones:l.overviewZones,zones:a.original},modified:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.modified}}},t}(s.a),Q=function(){function e(e){this._source=e,this._index=-1,this.advance()}return e.prototype.advance=function(){this._index++,this._index0){var o=e[e.length-1];if(o.afterLineNumber===t.afterLineNumber&&null===o.domNode)return void(o.heightInLines+=t.heightInLines)}e.push(t)},u=new Q(this.modifiedForeignVZ),c=new Q(this.originalForeignVZ),h=0,d=this.lineChanges.length;h<=d;h++){var g=h0?-1:0),i=g.modifiedStartLineNumber+(g.modifiedEndLineNumber>0?-1:0),o=g.originalEndLineNumber>0?g.originalEndLineNumber-g.originalStartLineNumber+1:0,t=g.modifiedEndLineNumber>0?g.modifiedEndLineNumber-g.modifiedStartLineNumber+1:0,r=Math.max(g.originalStartLineNumber,g.originalEndLineNumber),s=Math.max(g.modifiedStartLineNumber,g.modifiedEndLineNumber)):(r=n+=1e7+o,s=i+=1e7+t);for(var p,f=[],m=[];u.current&&u.current.afterLineNumber<=s;){var _=void 0;_=u.current.afterLineNumber<=i?n-i+u.current.afterLineNumber:r,f.push({afterLineNumber:_,heightInLines:u.current.heightInLines,domNode:null}),u.advance()}for(;c.current&&c.current.afterLineNumber<=r;){_=void 0;_=c.current.afterLineNumber<=n?i-n+c.current.afterLineNumber:s,m.push({afterLineNumber:_,heightInLines:c.current.heightInLines,domNode:null}),c.advance()}if(null!==g&&ae(g))(p=this._produceOriginalFromDiff(g,o,t))&&f.push(p);if(null!==g&&le(g))(p=this._produceModifiedFromDiff(g,o,t))&&m.push(p);var y=0,v=0;for(f=f.sort(a),m=m.sort(a);y=E.heightInLines?(b.heightInLines-=E.heightInLines,v++):(E.heightInLines-=b.heightInLines,y++)}for(;y2*t.MINIMUM_EDITOR_WIDTH?(no-t.MINIMUM_EDITOR_WIDTH&&(n=o-t.MINIMUM_EDITOR_WIDTH)):n=i,this._sashPosition!==n&&(this._sashPosition=n,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-J.ENTIRE_DIFF_OVERVIEW_WIDTH,o=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=o/t,this._dataSource.relayoutEditors()},t.prototype.onSashDragEnd=function(){this._sash.layout()},t.prototype.onSashReset=function(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()},t.prototype.getVerticalSashTop=function(e){return 0},t.prototype.getVerticalSashLeft=function(e){return this._sashPosition},t.prototype.getVerticalSashHeight=function(e){return this._dataSource.getHeight()},t.prototype._getViewZones=function(e,t,o,n,i){return new ie(e,t,o).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,o,n,i){for(var r=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=n.getModel(),l=0,u=e.length;lt?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:o-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,o){return t>o?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-o,domNode:null}:null},t}(ee),re=function(e){function t(t,o){var n=e.call(this,t)||this;return n.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,n._register(t.getOriginalEditor().onDidLayoutChange((function(e){n.decorationsLeft!==e.decorationsLeft&&(n.decorationsLeft=e.decorationsLeft,t.relayoutEditors())}))),n}return K(t,e),t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,o,n,i,r){return new se(e,t,o,n,i,r).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,o,n,i){for(var r=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=0,l=e.length;a'])}d+=this.modifiedEditorConfiguration.viewInfo.scrollBeyondLastColumn;var m=document.createElement("div");m.className="view-lines line-delete",m.innerHTML=a.build(),b.a.applyFontInfoSlow(m,this.modifiedEditorConfiguration.fontInfo);var _=document.createElement("div");return _.className="inline-deleted-margin-view-zone",_.innerHTML=l.join(""),b.a.applyFontInfoSlow(_,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:d*h,domNode:m,marginDomNode:_}},t.prototype._renderOriginalLine=function(e,t,o,n,i,r,s){var a=t.getLineTokens(i),l=a.getLineContent(),u=_.a.filter(r,i,1,l.length+1);s.appendASCIIString('
    ');var c=E.d.isBasicASCII(l,t.mightContainNonBasicASCII()),h=E.d.containsRTL(l,c,t.mightContainRTL()),d=Object(y.c)(new y.b(o.fontInfo.isMonospace&&!o.viewInfo.disableMonospaceOptimizations,l,!1,c,h,0,a,u,n,o.fontInfo.spaceWidth,o.viewInfo.stopRenderingLineAfter,o.viewInfo.renderWhitespace,o.viewInfo.renderControlCharacters,o.viewInfo.fontLigatures),s);s.appendASCIIString("
    ");var g=d.characterMapping.getAbsoluteOffsets();return g.length>0?g[g.length-1]:0},t}(ee);function ae(e){return e.modifiedEndLineNumber>0}function le(e){return e.originalEndLineNumber>0}Object(w.e)((function(e,t){var o=e.getColor(k.i);o&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+o+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+o+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+o+"; }"));var n=e.getColor(k.k);n&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(k.j);i&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+i+"; }");var r=e.getColor(k.l);r&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+r+"; }");var s=e.getColor(k.lb);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }");var a=e.getColor(k.h);a&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid "+a+"; }")}))},function(e,t){var o={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==o.call(e)}},function(e,t,o){e.exports=o(331)},function(e,t,o){"use strict";(function(t,n){var i=o(180);e.exports=v;var r,s=o(267);v.ReadableState=y;o(214).EventEmitter;var a=function(e,t){return e.listeners(t).length},l=o(270),u=o(181).Buffer,c=t.Uint8Array||function(){};var h=o(167);h.inherits=o(147);var d=o(332),g=void 0;g=d&&d.debuglog?d.debuglog("stream"):function(){};var p,f=o(333),m=o(271);h.inherits(v,l);var _=["error","close","destroy","pause","resume"];function y(e,t){e=e||{};var n=t instanceof(r=r||o(136));this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=o(272).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function v(e){if(r=r||o(136),!(this instanceof v))return new v(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),l.call(this)}function b(e,t,o,n,i){var r,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var o=t.decoder.end();o&&o.length&&(t.buffer.push(o),t.length+=t.objectMode?1:o.length)}t.ended=!0,T(e)}(e,s)):(i||(r=function(e,t){var o;n=t,u.isBuffer(n)||n instanceof c||"string"==typeof t||void 0===t||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk"));var n;return o}(s,t)),r?e.emit("error",r):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===u.prototype||(t=function(e){return u.from(e)}(t)),n?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):E(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!o?(t=s.decoder.write(t),s.objectMode||0!==t.length?E(e,s,t,!1):k(e,s)):E(e,s,t,!1))):n||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=C?e=C:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function T(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(g("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(w,e):w(e))}function w(e){g("emit readable"),e.emit("readable"),I(e)}function k(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(O,e,t))}function O(e,t){for(var o=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(o=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):o=function(e,t,o){var n;er.length?r.length:e;if(s===r.length?i+=r:i+=r.slice(0,e),0===(e-=s)){s===r.length?(++n,o.next?t.head=o.next:t.head=t.tail=null):(t.head=o,o.data=r.slice(s));break}++n}return t.length-=n,i}(e,t):function(e,t){var o=u.allocUnsafe(e),n=t.head,i=1;n.data.copy(o),e-=n.data.length;for(;n=n.next;){var r=n.data,s=e>r.length?r.length:e;if(r.copy(o,o.length-e,0,s),0===(e-=s)){s===r.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=r.slice(s));break}++i}return t.length-=i,o}(e,t);return n}(e,t.buffer,t.decoder),o);var o}function D(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(A,t,e))}function A(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function P(e,t){for(var o=0,n=e.length;o=t.highWaterMark||t.ended))return g("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?D(this):T(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&D(this),null;var n,i=t.needReadable;return g("need readable",i),(0===t.length||t.length-e0?L(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),o!==e&&t.ended&&D(this)),null!==n&&this.emit("data",n),n},v.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},v.prototype.pipe=function(e,t){var o=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,g("pipe count=%d opts=%j",r.pipesCount,t);var l=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?c:v;function u(t,n){g("onunpipe"),t===o&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,g("cleanup"),e.removeListener("close",_),e.removeListener("finish",y),e.removeListener("drain",h),e.removeListener("error",m),e.removeListener("unpipe",u),o.removeListener("end",c),o.removeListener("end",v),o.removeListener("data",f),d=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||h())}function c(){g("onend"),e.end()}r.endEmitted?i.nextTick(l):o.once("end",l),e.on("unpipe",u);var h=function(e){return function(){var t=e._readableState;g("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,I(e))}}(o);e.on("drain",h);var d=!1;var p=!1;function f(t){g("ondata"),p=!1,!1!==e.write(t)||p||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==P(r.pipes,e))&&!d&&(g("false write response, pause",o._readableState.awaitDrain),o._readableState.awaitDrain++,p=!0),o.pause())}function m(t){g("onerror",t),v(),e.removeListener("error",m),0===a(e,"error")&&e.emit("error",t)}function _(){e.removeListener("finish",y),v()}function y(){g("onfinish"),e.removeListener("close",_),v()}function v(){g("unpipe"),o.unpipe(e)}return o.on("data",f),function(e,t,o){if("function"==typeof e.prependListener)return e.prependListener(t,o);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(o):e._events[t]=[o,e._events[t]]:e.on(t,o)}(e,"error",m),e.once("close",_),e.once("finish",y),e.emit("pipe",o),r.flowing||(g("pipe resume"),o.resume()),e},v.prototype.unpipe=function(e){var t=this._readableState,o={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,o),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,o=function(e,t,o){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==o?o:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var o=e.toString("utf16le",t);if(o){var n=o.charCodeAt(o.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],o.slice(0,-1)}return o}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var o=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,o)}return t}function c(e,t){var o=(e.length-t)%3;return 0===o?e.toString("base64",t):(this.lastNeed=3-o,this.lastTotal=3,1===o?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-o))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function g(e){return e&&e.length?this.write(e):""}t.StringDecoder=r,r.prototype.write=function(e){if(0===e.length)return"";var t,o;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";o=this.lastNeed,this.lastNeed=0}else o=0;return o=0)return i>0&&(e.lastNeed=i-1),i;if(--n=0)return i>0&&(e.lastNeed=i-2),i;if(--n=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=o;var n=e.length-(o-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},r.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,o){"use strict";e.exports=s;var n=o(136),i=o(167);function r(e,t){var o=this._transformState;o.transforming=!1;var n=o.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));o.writechunk=null,o.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>2,a=(3&t)<<4|o>>4,l=g>1?(15&o)<<2|i>>6:64,u=g>2?63&i:64,c.push(r.charAt(s)+r.charAt(a)+r.charAt(l)+r.charAt(u));return c.join("")},t.decode=function(e){var t,o,n,s,a,l,u=0,c=0;if("data:"===e.substr(0,"data:".length))throw new Error("Invalid base64 input, it looks like a data url.");var h,d=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===r.charAt(64)&&d--,e.charAt(e.length-2)===r.charAt(64)&&d--,d%1!=0)throw new Error("Invalid base64 input, bad content length.");for(h=i.uint8array?new Uint8Array(0|d):new Array(0|d);u>4,o=(15&s)<<4|(a=r.indexOf(e.charAt(u++)))>>2,n=(3&a)<<6|(l=r.indexOf(e.charAt(u++))),h[c++]=t,64!==a&&(h[c++]=o),64!==l&&(h[c++]=n);return h}},function(e,t,o){"use strict";(function(t){var n=o(65),i=o(345),r=o(100),s=o(274),a=o(127),l=o(168),u=null;if(a.nodestream)try{u=o(346)}catch(e){}function c(e,o){return new l.Promise((function(i,r){var a=[],l=e._internalType,u=e._outputType,c=e._mimeType;e.on("data",(function(e,t){a.push(e),o&&o(t)})).on("error",(function(e){a=[],r(e)})).on("end",(function(){try{var e=function(e,t,o){switch(e){case"blob":return n.newBlob(n.transformTo("arraybuffer",t),o);case"base64":return s.encode(t);default:return n.transformTo(e,t)}}(u,function(e,o){var n,i=0,r=null,s=0;for(n=0;n=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=r},function(e,t,o){"use strict";var n=o(65),i=o(100);function r(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(r,i),r.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},e.exports=r},function(e,t,o){"use strict";var n=o(100),i=o(218);function r(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}o(65).inherits(r,n),r.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},e.exports=r},function(e,t,o){"use strict";var n=o(100);t.STORE={magic:"\0\0",compressWorker:function(e){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},t.DEFLATE=o(349)},function(e,t,o){"use strict";e.exports=function(e,t,o,n){for(var i=65535&e|0,r=e>>>16&65535|0,s=0;0!==o;){o-=s=o>2e3?2e3:o;do{r=r+(i=i+t[n++]|0)|0}while(--s);i%=65521,r%=65521}return i|r<<16|0}},function(e,t,o){"use strict";var n=function(){for(var e,t=[],o=0;o<256;o++){e=o;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[o]=e}return t}();e.exports=function(e,t,o,i){var r=n,s=i+o;e^=-1;for(var a=i;a>>8^r[255&(e^t[a])];return-1^e}},function(e,t,o){"use strict";var n=o(128),i=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){r=!1}for(var s=new n.Buf8(256),a=0;a<256;a++)s[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;function l(e,t){if(t<65534&&(e.subarray&&r||!e.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(e,t));for(var o="",s=0;s>>6,t[s++]=128|63&o):o<65536?(t[s++]=224|o>>>12,t[s++]=128|o>>>6&63,t[s++]=128|63&o):(t[s++]=240|o>>>18,t[s++]=128|o>>>12&63,t[s++]=128|o>>>6&63,t[s++]=128|63&o);return t},t.buf2binstring=function(e){return l(e,e.length)},t.binstring2buf=function(e){for(var t=new n.Buf8(e.length),o=0,i=t.length;o4)u[n++]=65533,o+=r-1;else{for(i&=2===r?31:3===r?15:7;r>1&&o1?u[n++]=65533:i<65536?u[n++]=i:(i-=65536,u[n++]=55296|i>>10&1023,u[n++]=56320|1023&i)}return l(u,n)},t.utf8border=function(e,t){var o;for((t=t||e.length)>e.length&&(t=e.length),o=t-1;o>=0&&128==(192&e[o]);)o--;return o<0?t:0===o?t:o+s[e[o]]>t?o:t}},function(e,t,o){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(e,t,o){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(e,t,o){"use strict";t.LOCAL_FILE_HEADER="PK",t.CENTRAL_FILE_HEADER="PK",t.CENTRAL_DIRECTORY_END="PK",t.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",t.ZIP64_CENTRAL_DIRECTORY_END="PK",t.DATA_DESCRIPTOR="PK\b"},function(e,t,o){"use strict";var n=o(65),i=o(127),r=o(288),s=o(363),a=o(364),l=o(290);e.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new a(e):i.uint8array?new l(n.transformTo("uint8array",e)):new r(n.transformTo("array",e)):new s(e)}},function(e,t,o){"use strict";var n=o(289);function i(e){n.call(this,e);for(var t=0;t=0;--r)if(this.data[r]===t&&this.data[r+1]===o&&this.data[r+2]===n&&this.data[r+3]===i)return r-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),r=this.readData(4);return t===r[0]&&o===r[1]&&n===r[2]&&i===r[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(65);function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length=this.index;t--)o=(o<<8)+this.byteAt(t);return this.index+=e,o},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},e.exports=i},function(e,t,o){"use strict";var n=o(288);function i(e){n.call(this,e)}o(65).inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(149);e.exports=function(e){n.copy(e,this)}},function(e,t,o){"use strict";e.exports=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var o,n="boolean"==typeof t.cycles&&t.cycles,i=t.cmp&&(o=t.cmp,function(e){return function(t,n){var i={key:t,value:e[t]},r={key:n,value:e[n]};return o(i,r)}}),r=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var o,s;if(Array.isArray(t)){for(s="[",o=0;o",y=g?">":"<",v=void 0;if(m){var b=e.util.getData(f.$data,s,e.dataPathArr),E="exclusive"+r,C="exclType"+r,S="exclIsNumber"+r,T="' + "+(O="op"+r)+" + '";i+=" var schemaExcl"+r+" = "+b+"; ",i+=" var "+E+"; var "+C+" = typeof "+(b="schemaExcl"+r)+"; if ("+C+" != 'boolean' && "+C+" != 'undefined' && "+C+" != 'number') { ";var w;v=p;(w=w||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(v||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+p+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var k=i;i=w.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+C+" == 'number' ? ( ("+E+" = "+n+" === undefined || "+b+" "+_+"= "+n+") ? "+h+" "+y+"= "+b+" : "+h+" "+y+" "+n+" ) : ( ("+E+" = "+b+" === true) ? "+h+" "+y+"= "+n+" : "+h+" "+y+" "+n+" ) || "+h+" !== "+h+") { var op"+r+" = "+E+" ? '"+_+"' : '"+_+"='; ",void 0===a&&(v=p,u=e.errSchemaPath+"/"+p,n=b,d=m)}else{T=_;if((S="number"==typeof f)&&d){var O="'"+T+"'";i+=" if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" ( "+n+" === undefined || "+f+" "+_+"= "+n+" ? "+h+" "+y+"= "+f+" : "+h+" "+y+" "+n+" ) || "+h+" !== "+h+") { "}else{S&&void 0===a?(E=!0,v=p,u=e.errSchemaPath+"/"+p,n=f,y+="="):(S&&(n=Math[g?"min":"max"](f,a)),f===(!S||n)?(E=!0,v=p,u=e.errSchemaPath+"/"+p,y+="="):(E=!1,T+="="));O="'"+T+"'";i+=" if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+h+" "+y+" "+n+" || "+h+" !== "+h+") { "}}v=v||t,(w=w||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(v||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+O+", limit: "+n+", exclusive: "+E+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+T+" ",i+=d?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";k=i;return i=w.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+h+".length "+("maxItems"==t?">":"<")+" "+n+") { ";var g=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(g||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==t?"more":"fewer",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var f=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a;var g="maxLength"==t?">":"<";i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),!1===e.opts.unicode?i+=" "+h+".length ":i+=" ucs2length("+h+") ",i+=" "+g+" "+n+") { ";var p=t,f=f||[];f.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(p||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==t?"longer":"shorter",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var m=i;return i=f.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" Object.keys("+h+").length "+("maxProperties"==t?">":"<")+" "+n+") { ";var g=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(g||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==t?"more":"fewer",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var f=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},function(e,t,o){var n=o(400),i=o(401),r=o(414),s=RegExp("['’]","g");e.exports=function(e){return function(t){return n(r(i(t).replace(s,"")),e,"")}}},function(e,t){var o=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return o.test(e)}},function(e,t,o){},function(e,t,o){"use strict";o.r(t);o(499),o(225),o(233),o(234),o(258),o(232),o(236),o(239),o(238);var n=o(137);for(var i in n)"default"!==i&&function(e){o.d(t,e,(function(){return n[e]}))}(i)},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r,s=o(169);!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.serverErrorStart=-32099,e.serverErrorEnd=-32e3,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.RequestCancelled=-32800,e.MessageWriteError=1,e.MessageReadError=2}(r=t.ErrorCodes||(t.ErrorCodes={}));var a=function(e){function t(o,n,i){var a=e.call(this,n)||this;return a.code=s.number(o)?o:r.UnknownErrorCode,a.data=i,Object.setPrototypeOf(a,t.prototype),a}return i(t,e),t.prototype.toJson=function(){return{code:this.code,message:this.message,data:this.data}},t}(Error);t.ResponseError=a;var l=function(){function e(e,t){this._method=e,this._numberOfParams=t}return Object.defineProperty(e.prototype,"method",{get:function(){return this._method},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"numberOfParams",{get:function(){return this._numberOfParams},enumerable:!0,configurable:!0}),e}();t.AbstractMessageType=l;var u=function(e){function t(t){var o=e.call(this,t,0)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType0=u;var c=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType=c;var h=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType1=h;var d=function(e){function t(t){var o=e.call(this,t,2)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType2=d;var g=function(e){function t(t){var o=e.call(this,t,3)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType3=g;var p=function(e){function t(t){var o=e.call(this,t,4)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType4=p;var f=function(e){function t(t){var o=e.call(this,t,5)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType5=f;var m=function(e){function t(t){var o=e.call(this,t,6)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType6=m;var _=function(e){function t(t){var o=e.call(this,t,7)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType7=_;var y=function(e){function t(t){var o=e.call(this,t,8)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType8=y;var v=function(e){function t(t){var o=e.call(this,t,9)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType9=v;var b=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType=b;var E=function(e){function t(t){var o=e.call(this,t,0)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType0=E;var C=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType1=C;var S=function(e){function t(t){var o=e.call(this,t,2)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType2=S;var T=function(e){function t(t){var o=e.call(this,t,3)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType3=T;var w=function(e){function t(t){var o=e.call(this,t,4)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType4=w;var k=function(e){function t(t){var o=e.call(this,t,5)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType5=k;var O=function(e){function t(t){var o=e.call(this,t,6)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType6=O;var R=function(e){function t(t){var o=e.call(this,t,7)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType7=R;var N=function(e){function t(t){var o=e.call(this,t,8)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType8=N;var I=function(e){function t(t){var o=e.call(this,t,9)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType9=I,t.isRequestMessage=function(e){var t=e;return t&&s.string(t.method)&&(s.string(t.id)||s.number(t.id))},t.isNotificationMessage=function(e){var t=e;return t&&s.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){var t=e;return t&&(void 0!==t.result||!!t.error)&&(s.string(t.id)||s.number(t.id)||null===t.id)}},function(e,t,o){(function(e){function o(e,t){for(var o=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),o++):o&&(e.splice(n,1),o--)}if(t)for(;o--;o)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var o=[],n=0;n=-1&&!i;r--){var s=r>=0?arguments[r]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,i="/"===s.charAt(0))}return(i?"/":"")+(t=o(n(t.split("/"),(function(e){return!!e})),!i).join("/"))||"."},t.normalize=function(e){var r=t.isAbsolute(e),s="/"===i(e,-1);return(e=o(n(e.split("/"),(function(e){return!!e})),!r).join("/"))||r||(e="."),e&&s&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(n(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,o){function n(e){for(var t=0;t=0&&""===e[o];o--);return t>o?[]:e.slice(t,o-t+1)}e=t.resolve(e).substr(1),o=t.resolve(o).substr(1);for(var i=n(e.split("/")),r=n(o.split("/")),s=Math.min(i.length,r.length),a=s,l=0;l=1;--r)if(47===(t=e.charCodeAt(r))){if(!i){n=r;break}}else i=!1;return-1===n?o?"/":".":o&&1===n?"/":e.slice(0,n)},t.basename=function(e,t){var o=function(e){"string"!=typeof e&&(e+="");var t,o=0,n=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){o=t+1;break}}else-1===n&&(i=!1,n=t+1);return-1===n?"":e.slice(o,n)}(e);return t&&o.substr(-1*t.length)===t&&(o=o.substr(0,o.length-t.length)),o},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,o=0,n=-1,i=!0,r=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(47!==a)-1===n&&(i=!1,n=s+1),46===a?-1===t?t=s:1!==r&&(r=1):-1!==t&&(r=-1);else if(!i){o=s+1;break}}return-1===t||-1===n||0===r||1===r&&t===n-1&&t===o+1?"":e.slice(t,n)};var i="b"==="ab".substr(-1)?function(e,t,o){return e.substr(t,o)}:function(e,t,o){return t<0&&(t=e.length+t),e.substr(t,o)}}).call(this,o(108))},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0}),n(o(307)),n(o(308)),n(o(505))},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var o=e.call(this)||this;return o.socket=t,o.state="initial",o.events=[],o.socket.onMessage((function(e){return o.readMessage(e)})),o.socket.onError((function(e){return o.fireError(e)})),o.socket.onClose((function(e,t){if(1e3!==e){var n={name:""+e,message:"Error during socket reconnect: code = "+e+", reason = "+t};o.fireError(n)}o.fireClose()})),o}return i(t,e),t.prototype.listen=function(e){if("initial"===this.state)for(this.state="listening",this.callback=e;0!==this.events.length;){var t=this.events.pop();t.message?this.readMessage(t.message):t.error?this.fireError(t.error):this.fireClose()}},t.prototype.readMessage=function(e){if("initial"===this.state)this.events.splice(0,0,{message:e});else if("listening"===this.state){var t=JSON.parse(e);this.callback(t)}},t.prototype.fireError=function(t){"initial"===this.state?this.events.splice(0,0,{error:t}):"listening"===this.state&&e.prototype.fireError.call(this,t)},t.prototype.fireClose=function(){"initial"===this.state?this.events.splice(0,0,{}):"listening"===this.state&&e.prototype.fireClose.call(this),this.state="closed"},t}(o(183).AbstractMessageReader);t.WebSocketMessageReader=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var o=e.call(this)||this;return o.socket=t,o.errorCount=0,o}return i(t,e),t.prototype.write=function(e){try{var t=JSON.stringify(e);this.socket.send(t)}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}},t}(o(184).AbstractMessageWriter);t.WebSocketMessageWriter=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){}return e.prototype.error=function(e){console.error(e)},e.prototype.warn=function(e){console.warn(e)},e.prototype.info=function(e){console.info(e)},e.prototype.log=function(e){console.log(e)},e.prototype.debug=function(e){console.debug(e)},e}();t.ConsoleLogger=n},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){return e.call(this,t)||this}return i(t,e),t}(o(109).CompletionItem);t.default=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){return e.call(this,t)||this}return i(t,e),t}(o(109).CodeLens);t.default=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t,o){return e.call(this,t,o)||this}return i(t,e),t}(o(109).DocumentLink);t.default=r},function(e,t,o){"use strict";var n=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var s,a=o(533),l=o(121),u=o(534),c=o(185);function h(e,t){return a(e,{extended:!0,globstar:!0}).test(t)}!function(e){e.fromDocument=function(e){return{uri:monaco.Uri.parse(e.uri),languageId:e.languageId}},e.fromModel=function(e){return{uri:e.uri,languageId:e.getModeId()}}}(s=t.MonacoModelIdentifier||(t.MonacoModelIdentifier={})),t.testGlob=h;var d=function(){function e(e,t){this.p2m=e,this.m2p=t}return e.prototype.match=function(e,t){return this.matchModel(e,s.fromDocument(t))},e.prototype.createDiagnosticCollection=function(e){return new u.MonacoDiagnosticCollection(e||"default",this.p2m)},e.prototype.registerCompletionItemProvider=function(e,t){for(var o,n,s=[],a=2;a=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}},i=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},r=this&&this.__spread||function(){for(var e=[],t=0;t0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},r=this&&this.__spread||function(){for(var e=[],t=0;t=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var a,l,u,c=o(247),h=o(121);!function(e){e.is=function(e){return!!e&&"data"in e}}(a=t.ProtocolDocumentLink||(t.ProtocolDocumentLink={})),function(e){e.is=function(e){return!!e&&"data"in e}}(l=t.ProtocolCodeLens||(t.ProtocolCodeLens={})),function(e){e.is=function(e){return!!e&&"data"in e}}(u=t.ProtocolCompletionItem||(t.ProtocolCompletionItem={}));var d=function(){function e(){}return e.prototype.asPosition=function(e,t){return{line:null==e?void 0:e-1,character:null==t?void 0:t-1}},e.prototype.asRange=function(e){if(void 0!==e)return null===e?null:{start:this.asPosition(e.startLineNumber,e.startColumn),end:this.asPosition(e.endLineNumber,e.endColumn)}},e.prototype.asTextDocumentIdentifier=function(e){return{uri:e.uri.toString()}},e.prototype.asTextDocumentPositionParams=function(e,t){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column)}},e.prototype.asCompletionParams=function(e,t,o){return Object.assign(this.asTextDocumentPositionParams(e,t),{context:this.asCompletionContext(o)})},e.prototype.asCompletionContext=function(e){return{triggerKind:this.asTriggerKind(e.triggerKind),triggerCharacter:e.triggerCharacter}},e.prototype.asTriggerKind=function(e){switch(e){case monaco.languages.SuggestTriggerKind.TriggerCharacter:return h.CompletionTriggerKind.TriggerCharacter;case monaco.languages.SuggestTriggerKind.TriggerForIncompleteCompletions:return h.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return h.CompletionTriggerKind.Invoked}},e.prototype.asCompletionItem=function(e){var t={label:e.label},o=u.is(e)?e:void 0;return e.detail&&(t.detail=e.detail),e.documentation&&(o&&o.documentationFormat?t.documentation=this.asDocumentation(o.documentationFormat,e.documentation):t.documentation=e.documentation),e.filterText&&(t.filterText=e.filterText),this.fillPrimaryInsertText(t,e),c.number(e.kind)&&(t.kind=this.asCompletionItemKind(e.kind,o&&o.originalItemKind)),e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=this.asTextEdits(e.additionalTextEdits)),e.command&&(t.command=this.asCommand(e.command)),e.commitCharacters&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=this.asCommand(e.command)),o&&(void 0!==o.data&&(t.data=o.data),!0!==o.deprecated&&!1!==o.deprecated||(t.deprecated=o.deprecated)),t},e.prototype.asCompletionItemKind=function(e,t){return void 0!==t?t:e+1},e.prototype.asDocumentation=function(e,t){switch(e){case h.MarkupKind.PlainText:return{kind:e,value:t};case h.MarkupKind.Markdown:return{kind:e,value:t.value};default:return"Unsupported Markup content received. Kind is: "+e}},e.prototype.fillPrimaryInsertText=function(e,t){var o,n,i=h.InsertTextFormat.PlainText;t.textEdit?(o=t.textEdit.text,n=this.asRange(t.textEdit.range)):"string"==typeof t.insertText?o=t.insertText:t.insertText&&(i=h.InsertTextFormat.Snippet,o=t.insertText.value),t.range&&(n=this.asRange(t.range)),e.insertTextFormat=i,t.fromEdit&&o&&n?e.textEdit={newText:o,range:n}:e.insertText=o},e.prototype.asTextEdit=function(e){return{range:this.asRange(e.range),newText:e.text}},e.prototype.asTextEdits=function(e){var t=this;if(e)return e.map((function(e){return t.asTextEdit(e)}))},e.prototype.asReferenceParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),context:{includeDeclaration:o.includeDeclaration}}},e.prototype.asDocumentSymbolParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asCodeLensParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asDiagnosticSeverity=function(e){switch(e){case monaco.MarkerSeverity.Error:return h.DiagnosticSeverity.Error;case monaco.MarkerSeverity.Warning:return h.DiagnosticSeverity.Warning;case monaco.MarkerSeverity.Info:return h.DiagnosticSeverity.Information;case monaco.MarkerSeverity.Hint:return h.DiagnosticSeverity.Hint}},e.prototype.asDiagnostic=function(e){var t=this.asRange(new monaco.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)),o=this.asDiagnosticSeverity(e.severity);return h.Diagnostic.create(t,e.message,o,e.code,e.source)},e.prototype.asDiagnostics=function(e){var t=this;return null==e?e:e.map((function(e){return t.asDiagnostic(e)}))},e.prototype.asCodeActionContext=function(e){if(null==e)return e;var t=this.asDiagnostics(e.markers);return h.CodeActionContext.create(t,c.string(e.only)?[e.only]:void 0)},e.prototype.asCodeActionParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),range:this.asRange(t),context:this.asCodeActionContext(o)}},e.prototype.asCommand=function(e){if(e){var t=e.arguments||[];return h.Command.create.apply(h.Command,r([e.title,e.id],t))}},e.prototype.asCodeLens=function(e){var t=h.CodeLens.create(this.asRange(e.range));return e.command&&(t.command=this.asCommand(e.command)),l.is(e)&&e.data&&(t.data=e.data),t},e.prototype.asFormattingOptions=function(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}},e.prototype.asDocumentFormattingParams=function(e,t){return{textDocument:this.asTextDocumentIdentifier(e),options:this.asFormattingOptions(t)}},e.prototype.asDocumentRangeFormattingParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),range:this.asRange(t),options:this.asFormattingOptions(o)}},e.prototype.asDocumentOnTypeFormattingParams=function(e,t,o,n){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),ch:o,options:this.asFormattingOptions(n)}},e.prototype.asRenameParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),newName:o}},e.prototype.asDocumentLinkParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asDocumentLink=function(e){var t=h.DocumentLink.create(this.asRange(e.range));return e.url&&(t.target=e.url),a.is(e)&&e.data&&(t.data=e.data),t},e}();t.MonacoToProtocolConverter=d;var g=function(){function e(){}return e.prototype.asResourceEdits=function(e,t,o){return{resource:e,edits:this.asTextEdits(t),modelVersionId:o}},e.prototype.asWorkspaceEdit=function(e){var t,o,n,i;if(e){var r=[];if(e.documentChanges)try{for(var a=s(e.documentChanges),l=a.next();!l.done;l=a.next()){var u=l.value,c=monaco.Uri.parse(u.textDocument.uri),h="number"==typeof u.textDocument.version?u.textDocument.version:void 0;r.push(this.asResourceEdits(c,u.edits,h))}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}else if(e.changes)try{for(var d=s(Object.keys(e.changes)),g=d.next();!g.done;g=d.next()){var p=g.value;c=monaco.Uri.parse(p);r.push(this.asResourceEdits(c,e.changes[p]))}}catch(e){n={error:e}}finally{try{g&&!g.done&&(i=d.return)&&i.call(d)}finally{if(n)throw n.error}}return{edits:r}}},e.prototype.asTextEdit=function(e){if(e)return{range:this.asRange(e.range),text:e.newText}},e.prototype.asTextEdits=function(e){var t=this;if(e)return e.map((function(e){return t.asTextEdit(e)}))},e.prototype.asCodeLens=function(e){if(e){var t={range:this.asRange(e.range)};return e.command&&(t.command=this.asCommand(e.command)),void 0!==e.data&&null!==e.data&&(t.data=e.data),t}},e.prototype.asCodeLenses=function(e){var t=this;if(e)return e.map((function(e){return t.asCodeLens(e)}))},e.prototype.asCodeActions=function(e){var t=this;return e.map((function(e){return t.asCodeAction(e)}))},e.prototype.asCodeAction=function(e){return h.CodeAction.is(e)?{title:e.title,command:this.asCommand(e.command),edit:this.asWorkspaceEdit(e.edit),diagnostics:this.asDiagnostics(e.diagnostics),kind:e.kind}:{command:{id:e.command,title:e.title,arguments:e.arguments},title:e.title}},e.prototype.asCommand=function(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}},e.prototype.asDocumentSymbol=function(e){var t=this,o=e.children&&e.children.map((function(e){return t.asDocumentSymbol(e)}));return{name:e.name,detail:e.detail||"",kind:this.asSymbolKind(e.kind),range:this.asRange(e.range),selectionRange:this.asRange(e.selectionRange),children:o}},e.prototype.asDocumentSymbols=function(e){var t=this;return h.DocumentSymbol.is(e[0])?e.map((function(e){return t.asDocumentSymbol(e)})):this.asSymbolInformations(e)},e.prototype.asSymbolInformations=function(e,t){var o=this;if(e)return e.map((function(e){return o.asSymbolInformation(e,t)}))},e.prototype.asSymbolInformation=function(e,t){var o=this.asLocation(t?n({},e.location,{uri:t.toString()}):e.location);return{name:e.name,detail:"",containerName:e.containerName,kind:this.asSymbolKind(e.kind),range:o.range,selectionRange:o.range}},e.prototype.asSymbolKind=function(e){return e<=h.SymbolKind.TypeParameter?e-1:monaco.languages.SymbolKind.Property},e.prototype.asDocumentHighlights=function(e){var t=this;if(e)return e.map((function(e){return t.asDocumentHighlight(e)}))},e.prototype.asDocumentHighlight=function(e){return{range:this.asRange(e.range),kind:c.number(e.kind)?this.asDocumentHighlightKind(e.kind):void 0}},e.prototype.asDocumentHighlightKind=function(e){switch(e){case h.DocumentHighlightKind.Text:return monaco.languages.DocumentHighlightKind.Text;case h.DocumentHighlightKind.Read:return monaco.languages.DocumentHighlightKind.Read;case h.DocumentHighlightKind.Write:return monaco.languages.DocumentHighlightKind.Write}return monaco.languages.DocumentHighlightKind.Text},e.prototype.asReferences=function(e){var t=this;if(e)return e.map((function(e){return t.asLocation(e)}))},e.prototype.asDefinitionResult=function(e){var t=this;if(e)return c.array(e)?e.map((function(e){return t.asLocation(e)})):this.asLocation(e)},e.prototype.asLocation=function(e){if(e)return{uri:monaco.Uri.parse(e.uri),range:this.asRange(e.range)}},e.prototype.asSignatureHelp=function(e){if(e){var t={};return c.number(e.activeSignature)?t.activeSignature=e.activeSignature:t.activeSignature=0,c.number(e.activeParameter)?t.activeParameter=e.activeParameter:t.activeParameter=0,e.signatures?t.signatures=this.asSignatureInformations(e.signatures):t.signatures=[],t}},e.prototype.asSignatureInformations=function(e){var t=this;return e.map((function(e){return t.asSignatureInformation(e)}))},e.prototype.asSignatureInformation=function(e){var t={label:e.label};return e.documentation&&(t.documentation=this.asDocumentation(e.documentation)),e.parameters?t.parameters=this.asParameterInformations(e.parameters):t.parameters=[],t},e.prototype.asParameterInformations=function(e){var t=this;return e.map((function(e){return t.asParameterInformation(e)}))},e.prototype.asParameterInformation=function(e){var t={label:e.label};return e.documentation&&(t.documentation=this.asDocumentation(e.documentation)),t},e.prototype.asHover=function(e){if(e)return{contents:this.asHoverContent(e.contents),range:this.asRange(e.range)}},e.prototype.asHoverContent=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return t.asMarkdownString(e)})):[this.asMarkdownString(e)]},e.prototype.asDocumentation=function(e){return c.string(e)?e:e.kind===h.MarkupKind.PlainText?e.value:this.asMarkdownString(e)},e.prototype.asMarkdownString=function(e){return h.MarkupContent.is(e)?{value:e.value}:c.string(e)?{value:e}:{value:"```"+e.language+"\n"+e.value+"\n```"}},e.prototype.asSeverity=function(e){return 1===e?monaco.MarkerSeverity.Error:2===e?monaco.MarkerSeverity.Warning:3===e?monaco.MarkerSeverity.Info:monaco.MarkerSeverity.Hint},e.prototype.asDiagnostics=function(e){var t=this;if(e)return e.map((function(e){return t.asDiagnostic(e)}))},e.prototype.asDiagnostic=function(e){return{code:"number"==typeof e.code?e.code.toString():e.code,severity:this.asSeverity(e.severity),message:e.message,source:e.source,startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,relatedInformation:this.asRelatedInformations(e.relatedInformation)}},e.prototype.asRelatedInformations=function(e){var t=this;if(e)return e.map((function(e){return t.asRelatedInformation(e)}))},e.prototype.asRelatedInformation=function(e){return{resource:monaco.Uri.parse(e.location.uri),startLineNumber:e.location.range.start.line+1,startColumn:e.location.range.start.character+1,endLineNumber:e.location.range.end.line+1,endColumn:e.location.range.end.character+1,message:e.message}},e.prototype.asCompletionResult=function(e){var t=this;return e?Array.isArray(e)?{isIncomplete:!1,items:e.map((function(e){return t.asCompletionItem(e)}))}:{isIncomplete:e.isIncomplete,items:e.items.map(this.asCompletionItem.bind(this))}:{isIncomplete:!1,items:[]}},e.prototype.asCompletionItem=function(e){var t={label:e.label};e.detail&&(t.detail=e.detail),e.documentation&&(t.documentation=this.asDocumentation(e.documentation),t.documentationFormat=c.string(e.documentation)?void 0:e.documentation.kind),e.filterText&&(t.filterText=e.filterText);var o=this.asCompletionInsertText(e);if(o&&(t.insertText=o.text,t.range=o.range,t.fromEdit=o.fromEdit),c.number(e.kind)){var n=i(this.asCompletionItemKind(e.kind),2),r=n[0],s=n[1];t.kind=r,s&&(t.originalItemKind=s)}return e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=this.asTextEdits(e.additionalTextEdits)),c.stringArray(e.commitCharacters)&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=this.asCommand(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(t.deprecated=e.deprecated),void 0!==e.data&&(t.data=e.data),t},e.prototype.asCompletionItemKind=function(e){return h.CompletionItemKind.Text<=e&&e<=h.CompletionItemKind.TypeParameter?[e-1,void 0]:[h.CompletionItemKind.Text,e]},e.prototype.asCompletionInsertText=function(e){if(e.textEdit){var t=this.asRange(e.textEdit.range),o=e.textEdit.newText;return{text:e.insertTextFormat===h.InsertTextFormat.Snippet?{value:o}:o,range:t,fromEdit:!0}}if(e.insertText){o=e.insertText;return{text:e.insertTextFormat===h.InsertTextFormat.Snippet?{value:o}:o,fromEdit:!1}}},e.prototype.asDocumentLinks=function(e){var t=this;return e.map((function(e){return t.asDocumentLink(e)}))},e.prototype.asDocumentLink=function(e){return{range:this.asRange(e.range),url:e.target,data:e.data}},e.prototype.asRange=function(e){if(void 0!==e){if(null===e)return null;var t=this.asPosition(e.start),o=this.asPosition(e.end);return t instanceof monaco.Position&&o instanceof monaco.Position?new monaco.Range(t.lineNumber,t.column,o.lineNumber,o.column):{startLineNumber:t&&void 0!==t.lineNumber?t.lineNumber:void 0,startColumn:t&&void 0!==t.column?t.column:void 0,endLineNumber:o&&void 0!==o.lineNumber?o.lineNumber:void 0,endColumn:o&&void 0!==o.column?o.column:void 0}}},e.prototype.asPosition=function(e){if(void 0!==e){if(null===e)return null;var t=e.line,o=e.character,n=void 0===t?void 0:t+1,i=void 0===o?void 0:o+1;return void 0!==n&&void 0!==i?new monaco.Position(n,i):{lineNumber:n,column:i}}},e.prototype.asColorInformations=function(e){var t=this;return e.map((function(e){return t.asColorInformation(e)}))},e.prototype.asColorInformation=function(e){return{range:this.asRange(e.range),color:e.color}},e.prototype.asColorPresentations=function(e){var t=this;return e.map((function(e){return t.asColorPresentation(e)}))},e.prototype.asColorPresentation=function(e){return{label:e.label,textEdit:this.asTextEdit(e.textEdit),additionalTextEdits:this.asTextEdits(e.additionalTextEdits)}},e.prototype.asFoldingRanges=function(e){var t=this;return e?e.map((function(e){return t.asFoldingRange(e)})):e},e.prototype.asFoldingRange=function(e){return{start:e.startLine+1,end:e.endLine+1,kind:this.asFoldingRangeKind(e.kind)}},e.prototype.asFoldingRangeKind=function(e){if(e)switch(e){case h.FoldingRangeKind.Comment:return monaco.languages.FoldingRangeKind.Comment;case h.FoldingRangeKind.Imports:return monaco.languages.FoldingRangeKind.Imports;case h.FoldingRangeKind.Region:return monaco.languages.FoldingRangeKind.Region}},e}();t.ProtocolToMonacoConverter=g},function(e,t,o){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}n.prototype=o(328),n.prototype.loadAsync=o(361),n.support=o(127),n.defaults=o(276),n.version="3.2.0",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=o(168),e.exports=n},function(e,t,o){(function(o){var n,i,r;i=[],void 0===(r="function"==typeof(n=function(){"use strict";function t(e,t,o){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){s(n.response,t,o)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(o){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var r="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof o&&o.global===o?o:void 0,s=r.saveAs||("object"!=typeof window||window!==r?function(){}:"download"in HTMLAnchorElement.prototype?function(e,o,s){var a=r.URL||r.webkitURL,l=document.createElement("a");o=o||e.name||"download",l.download=o,l.rel="noopener","string"==typeof e?(l.href=e,l.origin===location.origin?i(l):n(l.href)?t(e,o,s):i(l,l.target="_blank")):(l.href=a.createObjectURL(e),setTimeout((function(){a.revokeObjectURL(l.href)}),4e4),setTimeout((function(){i(l)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,o,r){if(o=o||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,r),o);else if(n(e))t(e,o,r);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout((function(){i(s)}))}}:function(e,o,n,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof e)return t(e,o,n);var s="application/octet-stream"===e.type,a=/constructor/i.test(r.HTMLElement)||r.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&a)&&"object"==typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var c=r.URL||r.webkitURL,h=c.createObjectURL(e);i?i.location=h:location.href=h,i=null,setTimeout((function(){c.revokeObjectURL(h)}),4e4)}});r.saveAs=s.saveAs=s,e.exports=s})?n.apply(t,i):n)||(e.exports=r)}).call(this,o(80))},function(e,t,o){"use strict";var n=o(366),i=o(220),r=o(370),s=o(291),a=o(292),l=o(371),u=o(372),c=o(393),h=o(149);e.exports=_,_.prototype.validate=function(e,t){var o;if("string"==typeof e){if(!(o=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var n=this._addSchema(e);o=n.validate||this._compile(n)}var i=o(t);!0!==o.$async&&(this.errors=o.errors);return i},_.prototype.compile=function(e,t){var o=this._addSchema(e,void 0,t);return o.validate||this._compile(o)},_.prototype.addSchema=function(e,t,o,n){if(Array.isArray(e)){for(var r=0;r\n \n \n \n EQ\n \n \n AND\n \n \n \n TRUE\n \n \n \n \n 1\n \n \n \n \n \n \n 10\n \n \n \n \n WHILE\n \n \n i\n \n \n 1\n \n \n \n \n 10\n \n \n \n \n 1\n \n \n \n \n j\n \n \n BREAK\n \n \n \n \n 0\n \n \n ADD\n \n \n 1\n \n \n \n \n 1\n \n \n \n \n ROOT\n \n \n 9\n \n \n \n \n SIN\n \n \n 45\n \n \n \n \n PI\n \n \n \n EVEN\n \n \n 0\n \n \n \n \n ROUND\n \n \n 3.1\n \n \n \n \n \n SUM\n \n \n \n \n 64\n \n \n \n \n 10\n \n \n \n \n \n \n 50\n \n \n \n \n 1\n \n \n \n \n 100\n \n \n \n \n \n \n 1\n \n \n \n \n 100\n \n \n \n \n \n \n \n \n \n \n \n \n \n item\n \n \n \n \n \n \n \n \n \n abc\n \n \n \n \n \n \n \n \n \n \n \n FIRST\n \n \n text\n \n \n \n \n abc\n \n \n \n \n \n FROM_START\n \n \n text\n \n \n \n \n \n FROM_START\n FROM_START\n \n \n text\n \n \n \n \n UPPERCASE\n \n \n abc\n \n \n \n \n BOTH\n \n \n abc\n \n \n \n \n \n \n abc\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 5\n \n \n \n \n \n \n FIRST\n \n \n list\n \n \n \n \n \n GET\n FROM_START\n \n \n list\n \n \n \n \n \n SET\n FROM_START\n \n \n list\n \n \n \n \n \n FROM_START\n FROM_START\n \n \n list\n \n \n \n \n \n SPLIT\n \n \n ,\n \n \n \n \n NUMERIC\n 1\n \n \n \n \n \n \n \n \n 0\n \n \n 20\n \n \n \n \n FORWARDS\n \n \n 1\n \n \n \n \n 20\n \n \n \n \n CLOCKWISE\n \n \n 1\n \n \n \n \n 20\n \n \n \n \n \n 0\n \n \n 50\n \n \n \n \n \n \n \n 0\n OUTPUT\n \n \n 0\n \n \n TRUE\n \n \n \n \n 0\n \n \n 0\n \n \n \n \n \n \n \n \n marker\n \n \n \n \n \n \n marker\n \n \n \n \n \n \n marker\n \n \n \n \n \n \n\n \n i\n \n \n \n \n \n \n \n \n \n marker\n \n \n \n \n \n \n \n \n \n \n marker\n \n \n \n \n \n \n\n'},function(e,t,o){"use strict";function n(e){for(var t=arguments,o=1;o0?t.children[0].text:""),i=t.props.inline,r=t.props.language,s=Prism.languages[r],a="language-"+r;return i?e("code",n({},t.data,{class:[t.data.class,a],domProps:n({},t.data.domProps,{innerHTML:Prism.highlight(o,s)})})):e("pre",n({},t.data,{class:[t.data.class,a]}),[e("code",{class:a,domProps:{innerHTML:Prism.highlight(o,s)}})])}};e.exports=i},function(e,t,o){"use strict";(function(e){o.d(t,"a",(function(){return f}));var n=o(115),i="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{};var r=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){!function(t){var o=function(e,t,n){if(!l(t)||c(t)||h(t)||d(t)||a(t))return t;var i,r=0,s=0;if(u(t))for(i=[],s=t.length;r=0||Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n]);return o};function c(){for(var e=arguments.length,t=Array(e),o=0;o2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=(t.children||[]).map(h.bind(null,e)),s=Object.keys(t.attributes||{}).reduce((function(e,o){var n=t.attributes[o];switch(o){case"class":e.class=n.split(/\s+/).reduce((function(e,t){return e[t]=!0,e}),{});break;case"style":e.style=n.split(";").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,t){var o=t.indexOf(":"),n=r.camelize(t.slice(0,o)),i=t.slice(o+1).trim();return e[n]=i,e}),{});break;default:e.attrs[o]=n}return e}),{class:{},style:{},attrs:{}}),a=n.class,d=void 0===a?{}:a,g=n.style,p=void 0===g?{}:g,f=n.attrs,m=void 0===f?{}:f,_=u(n,["class","style","attrs"]);return"string"==typeof t?t:e(t.tag,l({class:c(s.class,d),style:l({},s.style,p),attrs:l({},s.attrs,m)},_,{props:o}),i)}var d=!1;try{d=!0}catch(e){}function g(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?a({},e,t):{}}function p(e){return e&&"object"===(void 0===e?"undefined":s(e))&&e.prefix&&e.iconName&&e.icon?e:n.d.icon?n.d.icon(e):null===e?null:"object"===(void 0===e?"undefined":s(e))&&e.prefix&&e.iconName?e:Array.isArray(e)&&2===e.length?{prefix:e[0],iconName:e[1]}:"string"==typeof e?{prefix:"fas",iconName:e}:void 0}var f={name:"FontAwesomeIcon",functional:!0,props:{beat:{type:Boolean,default:!1},border:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},flip:{type:String,default:null,validator:function(e){return["horizontal","vertical","both"].indexOf(e)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(e){return["right","left"].indexOf(e)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(e){return[90,180,270].indexOf(parseInt(e,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(e){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(e)>-1}},spin:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},inverse:{type:Boolean,default:!1}},render:function(e,t){var o=t.props,i=o.icon,r=o.mask,s=o.symbol,u=o.title,c=p(i),f=g("classes",function(e){var t,o=(t={"fa-spin":e.spin,"fa-spin-pulse":e.spinPulse,"fa-spin-reverse":e.spinReverse,"fa-pulse":e.pulse,"fa-beat":e.beat,"fa-fade":e.fade,"fa-flash":e.flash,"fa-fw":e.fixedWidth,"fa-border":e.border,"fa-li":e.listItem,"fa-inverse":e.inverse,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip},a(t,"fa-"+e.size,null!==e.size),a(t,"fa-rotate-"+e.rotation,null!==e.rotation),a(t,"fa-pull-"+e.pull,null!==e.pull),a(t,"fa-swap-opacity",e.swapOpacity),t);return Object.keys(o).map((function(e){return o[e]?e:null})).filter((function(e){return e}))}(o)),m=g("transform","string"==typeof o.transform?n.d.transform(o.transform):o.transform),_=g("mask",p(r)),y=Object(n.b)(c,l({},f,m,_,{symbol:s,title:u}));if(!y)return function(){var e;!d&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find one or more icon(s)",c,_);var v=y.abstract;return h.bind(null,e)(v[0],{},t.data)}};Boolean,String,Number,String,Object,Boolean,String}).call(this,o(80))},function(e,t,o){var n;n=function(){return function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=e,o.c=t,o.i=function(e){return e},o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/dist/",o(o.s=21)}([function(e,t){var o=e.exports={version:"2.4.0"};"number"==typeof __e&&(__e=o)},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,o){e.exports=!o(1)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t){var o=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=o)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,o){"use strict";function n(e,t,o){this.$children.forEach((function(i){i.$options.name===e?i.$emit.apply(i,[t].concat(o)):n.apply(i,[e,t].concat([o]))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.default={methods:{dispatch:function(e,t,o){for(var n=this.$parent||this.$root,i=n.$options.name;n&&(!i||i!==e);)(n=n.$parent)&&(i=n.$options.name);n&&n.$emit.apply(n,[t].concat(o))},broadcast:function(e,t,o){n.call(this,e,t,o)}}}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,o){var n=o(3),i=o(0),r=o(28),s=o(32),a=function(e,t,o){var l,u,c,h=e&a.F,d=e&a.G,g=e&a.S,p=e&a.P,f=e&a.B,m=e&a.W,_=d?i:i[t]||(i[t]={}),y=_.prototype,v=d?n:g?n[t]:(n[t]||{}).prototype;for(l in d&&(o=t),o)(u=!h&&v&&void 0!==v[l])&&l in _||(c=u?v[l]:o[l],_[l]=d&&"function"!=typeof v[l]?o[l]:f&&u?r(c,n):m&&v[l]==c?function(e){var t=function(t,o,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,o)}return new e(t,o,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(c):p&&"function"==typeof c?r(Function.call,c):c,p&&((_.virtual||(_.virtual={}))[l]=c,e&a.R&&y&&!y[l]&&s(y,l,c)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,e.exports=a},function(e,t,o){var n=o(27);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},function(e,t,o){var n=o(37),i=o(30);e.exports=Object.keys||function(e){return n(e,i)}},function(e,t){var o=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:o)(e)}},function(e,t,o){var n=o(8),i=o(6);e.exports=function(e){return n(i(e))}},function(e,t,o){var n=o(6);e.exports=function(e){return Object(n(e))}},function(e,t){e.exports=function(e,t,o,n){var i,r=e=e||{},s=typeof e.default;"object"!==s&&"function"!==s||(i=e,r=e.default);var a="function"==typeof r?r.options:r;if(t&&(a.render=t.render,a.staticRenderFns=t.staticRenderFns),o&&(a._scopeId=o),n){var l=Object.create(a.computed||null);Object.keys(n).forEach((function(e){var t=n[e];l[e]=function(){return t}})),a.computed=l}return{esModule:i,exports:r,options:a}}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(o(53)),i=r(o(52));function r(e){return e&&e.__esModule?e:{default:e}}n.default.SplitArea=i.default,t.default=n.default},function(e,t,o){e.exports={default:o(22),__esModule:!0}},function(e,t,o){e.exports={default:o(23),__esModule:!0}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,i=o(5),r=(n=i)&&n.__esModule?n:{default:n};t.default={name:"SplitArea",mixins:[r.default],props:{size:{type:Number,default:50},minSize:{type:Number,default:100}},computed:{classes:function(){return"split split-"+this.$parent.direction}},watch:{size:function(e){this.$parent.changeAreaSize()},minSize:function(e){this.$parent.changeAreaSize()}}}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(o(5)),i=r(o(51));function r(e){return e&&e.__esModule?e:{default:e}}t.default={name:"Split",mixins:[n.default],props:{direction:{type:String,default:"horizontal"},gutterSize:{type:Number,default:8}},data:function(){return{elements:[],sizes:[],minSizes:[],instance:null}},methods:{init:function(){var e=this;null!==e.instance&&e.instance.destroy(),e.instance=null,e.instance=(0,i.default)(e.elements,{direction:e.direction,sizes:e.sizes,minSize:e.minSizes,gutterSize:e.gutterSize,cursor:"horizontal"===e.direction?"col-resize":"row-resize",onDrag:function(){e.$emit("onDrag",e.instance.getSizes())},onDragStart:function(){e.$emit("onDragStart",e.instance.getSizes())},onDragEnd:function(t){e.$emit("onDragEnd",e.instance.getSizes())}})},changeAreaSize:function(){var e=this;e.sizes=[],e.minSizes=[],e.$slots.default.forEach((function(t){t.tag&&t.tag.indexOf("SplitArea")>-1&&(e.sizes.push(t.componentInstance.size),e.minSizes.push(t.componentInstance.minSize))})),e.init()},reset:function(){this.init()},getSizes:function(){return this.instance.getSizes()}},mounted:function(){var e=this;e.elements=[],e.sizes=[],e.minSizes=[],e.$slots.default.forEach((function(t){t.tag&&t.tag.indexOf("SplitArea")>-1&&(e.elements.push(t.elm),e.sizes.push(t.componentInstance.size),e.minSizes.push(t.componentInstance.minSize))})),e.init()},watch:{direction:function(e){this.init()},gutterSize:function(e){this.init()}}}},function(e,t,o){"use strict";e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{class:this.classes},[this._t("default")],2)},staticRenderFns:[]}},function(e,t,o){"use strict";e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"split"},[this._t("default")],2)},staticRenderFns:[]}},function(e,t,o){"use strict";var n=s(o(15)),i=s(o(16)),r=s(o(14));function s(e){return e&&e.__esModule?e:{default:e}}var a={Split:r.default,SplitArea:r.default.SplitArea},l=function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1],(0,i.default)(a).forEach((function(t){e.component(t,a[t])}))};"undefined"!=typeof window&&window.Vue&&l(window.Vue),e.exports=(0,n.default)(a,{install:l})},function(e,t,o){o(47),e.exports=o(0).Object.assign},function(e,t,o){o(48),e.exports=o(0).Object.keys},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,o){var n=o(4);e.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},function(e,t,o){var n=o(11),i=o(44),r=o(43);e.exports=function(e){return function(t,o,s){var a,l=n(t),u=i(l.length),c=r(s,u);if(e&&o!=o){for(;u>c;)if((a=l[c++])!=a)return!0}else for(;u>c;c++)if((e||c in l)&&l[c]===o)return e||c||0;return!e&&-1}}},function(e,t){var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,o){var n=o(24);e.exports=function(e,t,o){if(n(e),void 0===t)return e;switch(o){case 1:return function(o){return e.call(t,o)};case 2:return function(o,n){return e.call(t,o,n)};case 3:return function(o,n,i){return e.call(t,o,n,i)}}return function(){return e.apply(t,arguments)}}},function(e,t,o){var n=o(4),i=o(3).document,r=n(i)&&n(i.createElement);e.exports=function(e){return r?i.createElement(e):{}}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){var o={}.hasOwnProperty;e.exports=function(e,t){return o.call(e,t)}},function(e,t,o){var n=o(35),i=o(40);e.exports=o(2)?function(e,t,o){return n.f(e,t,i(1,o))}:function(e,t,o){return e[t]=o,e}},function(e,t,o){e.exports=!o(2)&&!o(1)((function(){return 7!=Object.defineProperty(o(29)("div"),"a",{get:function(){return 7}}).a}))},function(e,t,o){"use strict";var n=o(9),i=o(36),r=o(38),s=o(12),a=o(8),l=Object.assign;e.exports=!l||o(1)((function(){var e={},t={},o=Symbol(),n="abcdefghijklmnopqrst";return e[o]=7,n.split("").forEach((function(e){t[e]=e})),7!=l({},e)[o]||Object.keys(l({},t)).join("")!=n}))?function(e,t){for(var o=s(e),l=arguments.length,u=1,c=i.f,h=r.f;l>u;)for(var d,g=a(arguments[u++]),p=c?n(g).concat(c(g)):n(g),f=p.length,m=0;f>m;)h.call(g,d=p[m++])&&(o[d]=g[d]);return o}:l},function(e,t,o){var n=o(25),i=o(33),r=o(45),s=Object.defineProperty;t.f=o(2)?Object.defineProperty:function(e,t,o){if(n(e),t=r(t,!0),n(o),i)try{return s(e,t,o)}catch(e){}if("get"in o||"set"in o)throw TypeError("Accessors not supported!");return"value"in o&&(e[t]=o.value),e}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,o){var n=o(31),i=o(11),r=o(26)(!1),s=o(41)("IE_PROTO");e.exports=function(e,t){var o,a=i(e),l=0,u=[];for(o in a)o!=s&&n(a,o)&&u.push(o);for(;t.length>l;)n(a,o=t[l++])&&(~r(u,o)||u.push(o));return u}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,o){var n=o(7),i=o(0),r=o(1);e.exports=function(e,t){var o=(i.Object||{})[e]||Object[e],s={};s[e]=t(o),n(n.S+n.F*r((function(){o(1)})),"Object",s)}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,o){var n=o(42)("keys"),i=o(46);e.exports=function(e){return n[e]||(n[e]=i(e))}},function(e,t,o){var n=o(3),i=n["__core-js_shared__"]||(n["__core-js_shared__"]={});e.exports=function(e){return i[e]||(i[e]={})}},function(e,t,o){var n=o(10),i=Math.max,r=Math.min;e.exports=function(e,t){return(e=n(e))<0?i(e+t,0):r(e,t)}},function(e,t,o){var n=o(10),i=Math.min;e.exports=function(e){return e>0?i(n(e),9007199254740991):0}},function(e,t,o){var n=o(4);e.exports=function(e,t){if(!n(e))return e;var o,i;if(t&&"function"==typeof(o=e.toString)&&!n(i=o.call(e)))return i;if("function"==typeof(o=e.valueOf)&&!n(i=o.call(e)))return i;if(!t&&"function"==typeof(o=e.toString)&&!n(i=o.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t){var o=0,n=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++o+n).toString(36))}},function(e,t,o){var n=o(7);n(n.S+n.F,"Object",{assign:o(34)})},function(e,t,o){var n=o(12),i=o(9);o(39)("keys",(function(){return function(e){return i(n(e))}}))},function(e,t,o){(e.exports=o(50)()).push([e.i,"\n.split {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n overflow-y: auto;\n overflow-x: hidden;\n height: 100%;\n width: 100%;\n}\n.gutter {\n background-color: #eee;\n background-repeat: no-repeat;\n background-position: 50%;\n}\n.gutter.gutter-horizontal {\n cursor: col-resize;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');\n}\n.gutter.gutter-vertical {\n cursor: row-resize;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');\n}\n.split.split-horizontal, .gutter.gutter-horizontal {\n height: 100%;\n float: left;\n}\n",""])},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t=this.size-(p[this.b].minSize+E+this.bGutterSize)&&(t=this.size-(p[this.b].minSize+this.bGutterSize)),R.call(this,t),c.onDrag&&c.onDrag())}function I(){var e=p[this.a].element,t=p[this.b].element;this.size=e[i]()[h]+t[i]()[h]+this.aGutterSize+this.bGutterSize,this.start=e[i]()[g]}function L(){var t=p[this.a].element,o=p[this.b].element;this.dragging&&c.onDragEnd&&c.onDragEnd(),this.dragging=!1,e[n]("mouseup",this.stop),e[n]("touchend",this.stop),e[n]("touchcancel",this.stop),this.parent[n]("mousemove",this.move),this.parent[n]("touchmove",this.move),delete this.stop,delete this.move,t[n]("selectstart",r),t[n]("dragstart",r),o[n]("selectstart",r),o[n]("dragstart",r),t.style.userSelect="",t.style.webkitUserSelect="",t.style.MozUserSelect="",t.style.pointerEvents="",o.style.userSelect="",o.style.webkitUserSelect="",o.style.MozUserSelect="",o.style.pointerEvents="",this.gutter.style.cursor="",this.parent.style.cursor=""}function D(t){var n=p[this.a].element,i=p[this.b].element;!this.dragging&&c.onDragStart&&c.onDragStart(),t.preventDefault(),this.dragging=!0,this.move=N.bind(this),this.stop=L.bind(this),e[o]("mouseup",this.stop),e[o]("touchend",this.stop),e[o]("touchcancel",this.stop),this.parent[o]("mousemove",this.move),this.parent[o]("touchmove",this.move),n[o]("selectstart",r),n[o]("dragstart",r),i[o]("selectstart",r),i[o]("dragstart",r),n.style.userSelect="none",n.style.webkitUserSelect="none",n.style.MozUserSelect="none",n.style.pointerEvents="none",i.style.userSelect="none",i.style.webkitUserSelect="none",i.style.MozUserSelect="none",i.style.pointerEvents="none",this.gutter.style.cursor=S,this.parent.style.cursor=S,I.call(this)}"horizontal"===C?(h="width",d="clientX",g="left"):"vertical"===C&&(h="height",d="clientY",g="top");var A=[];function P(e){e.forEach((function(t,o){if(o>0){var n=A[o-1],i=p[n.a],r=p[n.b];i.size=e[o-1],r.size=t,O(i.element,i.size,n.aGutterSize),O(r.element,r.size,n.bGutterSize)}}))}function x(){A.forEach((function(e){e.parent.removeChild(e.gutter),p[e.a].element.style[h]="",p[e.b].element.style[h]=""}))}return p=u.map((function(e,t){var n,r={element:l(e),size:_[t],minSize:v[t]};if(t>0&&((n={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:C,parent:f}).aGutterSize=b,n.bGutterSize=b,n.isFirst&&(n.aGutterSize=b/2),n.isLast&&(n.bGutterSize=b/2),"row-reverse"===m||"column-reverse"===m)){var a=n.a;n.a=n.b,n.b=a}if(!s&&t>0){var c=T(t,C);!function(e,t){var o=k(h,t);Object.keys(o).forEach((function(t){return e.style[t]=o[t]}))}(c,b),c[o]("mousedown",D.bind(n)),c[o]("touchstart",D.bind(n)),f.insertBefore(c,r.element),n.gutter=c}0===t||t===u.length-1?O(r.element,r.size,b/2):O(r.element,r.size,b);var d=r.element[i]()[h];return d0&&A.push(n),r})),s?{setSizes:P,destroy:x}:{setSizes:P,getSizes:function(){return p.map((function(e){return e.size}))},collapse:function(e){if(e===A.length){var t=A[e-1];I.call(t),s||R.call(t,t.size-t.bGutterSize)}else{var o=A[e];I.call(o),s||R.call(o,o.aGutterSize)}},destroy:x}}}()},function(e,t,o){var n=o(13)(o(17),o(19),null,null);e.exports=n.exports},function(e,t,o){o(55);var n=o(13)(o(18),o(20),null,null);e.exports=n.exports},function(e,t){var o={},n=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}},i=n((function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())})),r=n((function(){return document.head||document.getElementsByTagName("head")[0]})),s=null,a=0,l=[];function u(e,t){for(var n=0;n=0&&l.splice(t,1)}(o)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(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");void 0===(t=t||{}).singleton&&(t.singleton=i()),void 0===t.insertAt&&(t.insertAt="bottom");var n=c(e);return u(n,t),function(e){for(var i=[],r=0;re.length)return;if(!(E instanceof l)){if(f&&v!=t.length-1){if(d.lastIndex=b,!(O=d.exec(e)))break;for(var C=O.index+(p?O[1].length:0),S=O.index+O[0].length,T=v,w=b,k=t.length;T=(w+=t[T].length)&&(++v,b=w);if(t[v]instanceof l)continue;R=T-v,E=e.slice(b,w),O.index-=b}else{d.lastIndex=0;var O=d.exec(E),R=1}if(O){p&&(m=O[1]?O[1].length:0);S=(C=O.index+m)+(O=O[0].slice(m)).length;var N=E.slice(0,C),I=E.slice(S),L=[v,R];N&&(++v,b+=N.length,L.push(N));var D=new l(u,g?n.tokenize(O,g):O,_,O,f);if(L.push(D),I&&L.push(I),Array.prototype.splice.apply(t,L),1!=R&&n.matchGrammar(e,t,o,v,b,!0,u),s)break}else if(s)break}}}}},tokenize:function(e,t,o){var i=[e],r=t.rest;if(r){for(var s in r)t[s]=r[s];delete t.rest}return n.matchGrammar(e,i,t,0,0,!1),i},hooks:{all:{},add:function(e,t){var o=n.hooks.all;o[e]=o[e]||[],o[e].push(t)},run:function(e,t){var o=n.hooks.all[e];if(o&&o.length)for(var i,r=0;i=o[r++];)i(t)}}},i=n.Token=function(e,t,o,n,i){this.type=e,this.content=t,this.alias=o,this.length=0|(n||"").length,this.greedy=!!i};if(i.stringify=function(e,t,o){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map((function(o){return i.stringify(o,t,e)})).join("");var r={type:e.type,content:i.stringify(e.content,t,o),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:o};if(e.alias){var s="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(r.classes,s)}n.hooks.run("wrap",r);var a=Object.keys(r.attributes).map((function(e){return e+'="'+(r.attributes[e]||"").replace(/"/g,""")+'"'})).join(" ");return"<"+r.tag+' class="'+r.classes.join(" ")+'"'+(a?" "+a:"")+">"+r.content+""},!o.document)return o.addEventListener?(n.disableWorkerMessageHandler||o.addEventListener("message",(function(e){var t=JSON.parse(e.data),i=t.language,r=t.code,s=t.immediateClose;o.postMessage(n.highlight(r,n.languages[i],i)),s&&o.close()}),!1),o.Prism):o.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,n.manual||r.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),o.Prism}();e.exports&&(e.exports=n),void 0!==t&&(t.Prism=n),n.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"triple-quoted-string":{pattern:/("""|''')[\s\S]+?\1/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|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(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/}}).call(this,o(80))},function(e,t,o){"use strict";var n=o(146),i=o(65),r=o(100),s=o(275),a=o(276),l=o(217),u=o(347),c=o(348),h=o(182),d=o(360),g=function(e,t,o){var n,s=i.getTypeOf(t),c=i.extend(o||{},a);c.date=c.date||new Date,null!==c.compression&&(c.compression=c.compression.toUpperCase()),"string"==typeof c.unixPermissions&&(c.unixPermissions=parseInt(c.unixPermissions,8)),c.unixPermissions&&16384&c.unixPermissions&&(c.dir=!0),c.dosPermissions&&16&c.dosPermissions&&(c.dir=!0),c.dir&&(e=f(e)),c.createFolders&&(n=p(e))&&m.call(this,n,!0);var g="string"===s&&!1===c.binary&&!1===c.base64;o&&void 0!==o.binary||(c.binary=!g),(t instanceof l&&0===t.uncompressedSize||c.dir||!t||0===t.length)&&(c.base64=!1,c.binary=!0,t="",c.compression="STORE",s="string");var _=null;_=t instanceof l||t instanceof r?t:h.isNode&&h.isStream(t)?new d(e,t):i.prepareContent(e,t,c.binary,c.optimizedBinaryString,c.base64);var y=new u(e,_,c);this.files[e]=y},p=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return t>0?e.substring(0,t):""},f=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},m=function(e,t){return t=void 0!==t?t:a.createFolders,e=f(e),this.files[e]||g.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function _(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var y={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,o,n;for(t in this.files)this.files.hasOwnProperty(t)&&(n=this.files[t],(o=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(o,n))},filter:function(e){var t=[];return this.forEach((function(o,n){e(o,n)&&t.push(n)})),t},file:function(e,t,o){if(1===arguments.length){if(_(e)){var n=e;return this.filter((function(e,t){return!t.dir&&n.test(e)}))}var i=this.files[this.root+e];return i&&!i.dir?i:null}return(e=this.root+e,g.call(this,e,t,o),this)},folder:function(e){if(!e)return this;if(_(e))return this.filter((function(t,o){return o.dir&&e.test(t)}));var t=this.root+e,o=m.call(this,t),n=this.clone();return n.root=o.name,n},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var o=this.filter((function(t,o){return o.name.slice(0,e.length)===e})),n=0;n0?s-4:s;for(o=0;o>16&255,l[c++]=t>>8&255,l[c++]=255&t;2===a&&(t=i[e.charCodeAt(o)]<<2|i[e.charCodeAt(o+1)]>>4,l[c++]=255&t);1===a&&(t=i[e.charCodeAt(o)]<<10|i[e.charCodeAt(o+1)]<<4|i[e.charCodeAt(o+2)]>>2,l[c++]=t>>8&255,l[c++]=255&t);return l},t.fromByteArray=function(e){for(var t,o=e.length,i=o%3,r=[],s=0,a=o-i;sa?a:s+16383));1===i?(t=e[o-1],r.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[o-2]<<8)+e[o-1],r.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return r.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=s.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var o=e.indexOf("=");return-1===o&&(o=t),[o,o===t?0:4-o%4]}function c(e,t,o){for(var i,r,s=[],a=t;a>18&63]+n[r>>12&63]+n[r>>6&63]+n[63&r]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,o,n,i){var r,s,a=8*i-n-1,l=(1<>1,c=-7,h=o?i-1:0,d=o?-1:1,g=e[t+h];for(h+=d,r=g&(1<<-c)-1,g>>=-c,c+=a;c>0;r=256*r+e[t+h],h+=d,c-=8);for(s=r&(1<<-c)-1,r>>=-c,c+=n;c>0;s=256*s+e[t+h],h+=d,c-=8);if(0===r)r=1-u;else{if(r===l)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),r-=u}return(g?-1:1)*s*Math.pow(2,r-n)},t.write=function(e,t,o,n,i,r){var s,a,l,u=8*r-i-1,c=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:r-1,p=n?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=c?(a=0,s=c):s+h>=1?(a=(t*l-1)*Math.pow(2,i),s+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;e[o+g]=255&a,g+=p,a/=256,i-=8);for(s=s<0;e[o+g]=255&s,g+=p,s/=256,u-=8);e[o+g-p]|=128*f}},function(e,t,o){e.exports=i;var n=o(214).EventEmitter;function i(){n.call(this)}o(147)(i,n),i.Readable=o(215),i.Writable=o(338),i.Duplex=o(339),i.Transform=o(340),i.PassThrough=o(341),i.Stream=i,i.prototype.pipe=function(e,t){var o=this;function i(t){e.writable&&!1===e.write(t)&&o.pause&&o.pause()}function r(){o.readable&&o.resume&&o.resume()}o.on("data",i),e.on("drain",r),e._isStdio||t&&!1===t.end||(o.on("end",a),o.on("close",l));var s=!1;function a(){s||(s=!0,e.end())}function l(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===n.listenerCount(this,"error"))throw e}function c(){o.removeListener("data",i),e.removeListener("drain",r),o.removeListener("end",a),o.removeListener("close",l),o.removeListener("error",u),e.removeListener("error",u),o.removeListener("end",c),o.removeListener("close",c),e.removeListener("close",c)}return o.on("error",u),e.on("error",u),o.on("end",c),o.on("close",c),e.on("close",c),e.emit("pipe",o),e}},function(e,t){},function(e,t,o){"use strict";var n=o(181).Buffer,i=o(334);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,o=""+t.data;t=t.next;)o+=e+t.data;return o},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t,o,i,r=n.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,o=r,i=a,t.copy(o,i),a+=s.data.length,s=s.next;return r},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,o){(function(e,t){!function(e,o){"use strict";if(!e.setImmediate){var n,i,r,s,a,l=1,u={},c=!1,h=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?n=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,o=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=o,t}}()?e.MessageChannel?((r=new MessageChannel).port1.onmessage=function(e){p(e.data)},n=function(e){r.port2.postMessage(e)}):h&&"onreadystatechange"in h.createElement("script")?(i=h.documentElement,n=function(e){var t=h.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):n=function(e){setTimeout(p,0,e)}:(s="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&p(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),n=function(t){e.postMessage(s+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),o=0;o0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var o=n.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(o!==u)throw new Error(s[o]);if(t.header&&n.deflateSetHeader(this.strm,t.header),t.dictionary){var p;if(p="string"==typeof t.dictionary?r.string2buf(t.dictionary):"[object ArrayBuffer]"===l.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(o=n.deflateSetDictionary(this.strm,p))!==u)throw new Error(s[o]);this._dict_set=!0}}function p(e,t){var o=new g(t);if(o.push(e,!0),o.err)throw o.msg||s[o.err];return o.result}g.prototype.push=function(e,t){var o,s,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=r.string2buf(e):"[object ArrayBuffer]"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new i.Buf8(c),a.next_out=0,a.avail_out=c),1!==(o=n.deflate(a,s))&&o!==u)return this.onEnd(o),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(r.buf2binstring(i.shrinkBuf(a.output,a.next_out))):this.onData(i.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||0===a.avail_out)&&1!==o);return 4===s?(o=n.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===u):2!==s||(this.onEnd(u),a.avail_out=0,!0)},g.prototype.onData=function(e){this.chunks.push(e)},g.prototype.onEnd=function(e){e===u&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Deflate=g,t.deflate=p,t.deflateRaw=function(e,t){return(t=t||{}).raw=!0,p(e,t)},t.gzip=function(e,t){return(t=t||{}).gzip=!0,p(e,t)}},function(e,t,o){"use strict";var n,i=o(128),r=o(353),s=o(281),a=o(282),l=o(219),u=0,c=1,h=3,d=4,g=5,p=0,f=1,m=-2,_=-3,y=-5,v=-1,b=1,E=2,C=3,S=4,T=0,w=2,k=8,O=9,R=15,N=8,I=286,L=30,D=19,A=2*I+1,P=15,x=3,M=258,B=M+x+1,F=32,H=42,U=69,V=73,W=91,j=103,G=113,z=666,K=1,Y=2,X=3,q=4,$=3;function J(e,t){return e.msg=l[t],t}function Z(e){return(e<<1)-(e>4?9:0)}function Q(e){for(var t=e.length;--t>=0;)e[t]=0}function ee(e){var t=e.state,o=t.pending;o>e.avail_out&&(o=e.avail_out),0!==o&&(i.arraySet(e.output,t.pending_buf,t.pending_out,o,e.next_out),e.next_out+=o,t.pending_out+=o,e.total_out+=o,e.avail_out-=o,t.pending-=o,0===t.pending&&(t.pending_out=0))}function te(e,t){r._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ee(e.strm)}function oe(e,t){e.pending_buf[e.pending++]=t}function ne(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ie(e,t){var o,n,i=e.max_chain_length,r=e.strstart,s=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-B?e.strstart-(e.w_size-B):0,u=e.window,c=e.w_mask,h=e.prev,d=e.strstart+M,g=u[r+s-1],p=u[r+s];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(u[(o=t)+s]===p&&u[o+s-1]===g&&u[o]===u[r]&&u[++o]===u[r+1]){r+=2,o++;do{}while(u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&rs){if(e.match_start=t,s=n,n>=a)break;g=u[r+s-1],p=u[r+s]}}}while((t=h[t&c])>l&&0!=--i);return s<=e.lookahead?s:e.lookahead}function re(e){var t,o,n,r,l,u,c,h,d,g,p=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=p+(p-B)){i.arraySet(e.window,e.window,p,p,0),e.match_start-=p,e.strstart-=p,e.block_start-=p,t=o=e.hash_size;do{n=e.head[--t],e.head[t]=n>=p?n-p:0}while(--o);t=o=p;do{n=e.prev[--t],e.prev[t]=n>=p?n-p:0}while(--o);r+=p}if(0===e.strm.avail_in)break;if(u=e.strm,c=e.window,h=e.strstart+e.lookahead,d=r,g=void 0,(g=u.avail_in)>d&&(g=d),o=0===g?0:(u.avail_in-=g,i.arraySet(c,u.input,u.next_in,g,h),1===u.state.wrap?u.adler=s(u.adler,c,g,h):2===u.state.wrap&&(u.adler=a(u.adler,c,g,h)),u.next_in+=g,u.total_in+=g,g),e.lookahead+=o,e.lookahead+e.insert>=x)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x)if(n=r._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-x,n=r._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<15&&(a=2,n-=16),r<1||r>O||o!==k||n<8||n>15||t<0||t>9||s<0||s>S)return J(e,m);8===n&&(n=9);var l=new ue;return e.state=l,l.strm=e,l.wrap=a,l.gzhead=null,l.w_bits=n,l.w_size=1<e.pending_buf_size-5&&(o=e.pending_buf_size-5);;){if(e.lookahead<=1){if(re(e),0===e.lookahead&&t===u)return K;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+o;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,te(e,!1),0===e.strm.avail_out))return K;if(e.strstart-e.block_start>=e.w_size-B&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):(e.strstart>e.block_start&&(te(e,!1),e.strm.avail_out),K)})),new le(4,4,8,4,se),new le(4,5,16,8,se),new le(4,6,32,32,se),new le(4,4,16,16,ae),new le(8,16,32,32,ae),new le(8,16,128,128,ae),new le(8,32,128,256,ae),new le(32,128,258,1024,ae),new le(32,258,258,4096,ae)],t.deflateInit=function(e,t){return de(e,t,k,R,N,T)},t.deflateInit2=de,t.deflateReset=he,t.deflateResetKeep=ce,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?m:(e.state.gzhead=t,p):m},t.deflate=function(e,t){var o,i,s,l;if(!e||!e.state||t>g||t<0)return e?J(e,m):m;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===z&&t!==d)return J(e,0===e.avail_out?y:m);if(i.strm=e,o=i.last_flush,i.last_flush=t,i.status===H)if(2===i.wrap)e.adler=0,oe(i,31),oe(i,139),oe(i,8),i.gzhead?(oe(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),oe(i,255&i.gzhead.time),oe(i,i.gzhead.time>>8&255),oe(i,i.gzhead.time>>16&255),oe(i,i.gzhead.time>>24&255),oe(i,9===i.level?2:i.strategy>=E||i.level<2?4:0),oe(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(oe(i,255&i.gzhead.extra.length),oe(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=a(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=U):(oe(i,0),oe(i,0),oe(i,0),oe(i,0),oe(i,0),oe(i,9===i.level?2:i.strategy>=E||i.level<2?4:0),oe(i,$),i.status=G);else{var _=k+(i.w_bits-8<<4)<<8;_|=(i.strategy>=E||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(_|=F),_+=31-_%31,i.status=G,ne(i,_),0!==i.strstart&&(ne(i,e.adler>>>16),ne(i,65535&e.adler)),e.adler=1}if(i.status===U)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending!==i.pending_buf_size));)oe(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=V)}else i.status=V;if(i.status===V)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindexs&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.gzindex=0,i.status=W)}else i.status=W;if(i.status===W)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindexs&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.status=j)}else i.status=j;if(i.status===j&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&ee(e),i.pending+2<=i.pending_buf_size&&(oe(i,255&e.adler),oe(i,e.adler>>8&255),e.adler=0,i.status=G)):i.status=G),0!==i.pending){if(ee(e),0===e.avail_out)return i.last_flush=-1,p}else if(0===e.avail_in&&Z(t)<=Z(o)&&t!==d)return J(e,y);if(i.status===z&&0!==e.avail_in)return J(e,y);if(0!==e.avail_in||0!==i.lookahead||t!==u&&i.status!==z){var v=i.strategy===E?function(e,t){for(var o;;){if(0===e.lookahead&&(re(e),0===e.lookahead)){if(t===u)return K;break}if(e.match_length=0,o=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,o&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}(i,t):i.strategy===C?function(e,t){for(var o,n,i,s,a=e.window;;){if(e.lookahead<=M){if(re(e),e.lookahead<=M&&t===u)return K;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&e.strstart>0&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+M;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(o=r._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(o=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),o&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}(i,t):n[i.level].func(i,t);if(v!==X&&v!==q||(i.status=z),v===K||v===X)return 0===e.avail_out&&(i.last_flush=-1),p;if(v===Y&&(t===c?r._tr_align(i):t!==g&&(r._tr_stored_block(i,0,0,!1),t===h&&(Q(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),ee(e),0===e.avail_out))return i.last_flush=-1,p}return t!==d?p:i.wrap<=0?f:(2===i.wrap?(oe(i,255&e.adler),oe(i,e.adler>>8&255),oe(i,e.adler>>16&255),oe(i,e.adler>>24&255),oe(i,255&e.total_in),oe(i,e.total_in>>8&255),oe(i,e.total_in>>16&255),oe(i,e.total_in>>24&255)):(ne(i,e.adler>>>16),ne(i,65535&e.adler)),ee(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?p:f)},t.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==H&&t!==U&&t!==V&&t!==W&&t!==j&&t!==G&&t!==z?J(e,m):(e.state=null,t===G?J(e,_):p):m},t.deflateSetDictionary=function(e,t){var o,n,r,a,l,u,c,h,d=t.length;if(!e||!e.state)return m;if(2===(a=(o=e.state).wrap)||1===a&&o.status!==H||o.lookahead)return m;for(1===a&&(e.adler=s(e.adler,t,d,0)),o.wrap=0,d>=o.w_size&&(0===a&&(Q(o.head),o.strstart=0,o.block_start=0,o.insert=0),h=new i.Buf8(o.w_size),i.arraySet(h,t,d-o.w_size,o.w_size,0),t=h,d=o.w_size),l=e.avail_in,u=e.next_in,c=e.input,e.avail_in=d,e.next_in=0,e.input=t,re(o);o.lookahead>=x;){n=o.strstart,r=o.lookahead-(x-1);do{o.ins_h=(o.ins_h<=0;)e[t]=0}var u=0,c=1,h=2,d=29,g=256,p=g+1+d,f=30,m=19,_=2*p+1,y=15,v=16,b=7,E=256,C=16,S=17,T=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],O=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],R=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],N=new Array(2*(p+2));l(N);var I=new Array(2*f);l(I);var L=new Array(512);l(L);var D=new Array(256);l(D);var A=new Array(d);l(A);var P,x,M,B=new Array(f);function F(e,t,o,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=o,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function H(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function U(e){return e<256?L[e]:L[256+(e>>>7)]}function V(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function W(e,t,o){e.bi_valid>v-o?(e.bi_buf|=t<>v-e.bi_valid,e.bi_valid+=o-v):(e.bi_buf|=t<>>=1,o<<=1}while(--t>0);return o>>>1}function z(e,t,o){var n,i,r=new Array(y+1),s=0;for(n=1;n<=y;n++)r[n]=s=s+o[n-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=G(r[a]++,a))}}function K(e){var t;for(t=0;t8?V(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function X(e,t,o,n){var i=2*t,r=2*o;return e[i]>1;o>=1;o--)q(e,r,o);i=l;do{o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],q(e,r,1),n=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=n,r[2*i]=r[2*o]+r[2*n],e.depth[i]=(e.depth[o]>=e.depth[n]?e.depth[o]:e.depth[n])+1,r[2*o+1]=r[2*n+1]=i,e.heap[1]=i++,q(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var o,n,i,r,s,a,l=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,g=t.stat_desc.extra_base,p=t.stat_desc.max_length,f=0;for(r=0;r<=y;r++)e.bl_count[r]=0;for(l[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<_;o++)(r=l[2*l[2*(n=e.heap[o])+1]+1]+1)>p&&(r=p,f++),l[2*n+1]=r,n>u||(e.bl_count[r]++,s=0,n>=g&&(s=d[n-g]),a=l[2*n],e.opt_len+=a*(r+s),h&&(e.static_len+=a*(c[2*n+1]+s)));if(0!==f){do{for(r=p-1;0===e.bl_count[r];)r--;e.bl_count[r]--,e.bl_count[r+1]+=2,e.bl_count[p]--,f-=2}while(f>0);for(r=p;0!==r;r--)for(n=e.bl_count[r];0!==n;)(i=e.heap[--o])>u||(l[2*i+1]!==r&&(e.opt_len+=(r-l[2*i+1])*l[2*i],l[2*i+1]=r),n--)}}(e,t),z(r,u,e.bl_count)}function Z(e,t,o){var n,i,r=-1,s=t[1],a=0,l=7,u=4;for(0===s&&(l=138,u=3),t[2*(o+1)+1]=65535,n=0;n<=o;n++)i=s,s=t[2*(n+1)+1],++a>=7;n0?(e.strm.data_type===a&&(e.strm.data_type=function(e){var t,o=4093624447;for(t=0;t<=31;t++,o>>>=1)if(1&o&&0!==e.dyn_ltree[2*t])return r;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return s;for(t=32;t=3&&0===e.bl_tree[2*R[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),l=e.opt_len+3+7>>>3,(u=e.static_len+3+7>>>3)<=l&&(l=u)):l=u=o+5,o+4<=l&&-1!==t?te(e,t,o,n):e.strategy===i||u===l?(W(e,(c<<1)+(n?1:0),3),$(e,N,I)):(W(e,(h<<1)+(n?1:0),3),function(e,t,o,n){var i;for(W(e,t-257,5),W(e,o-1,5),W(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&o,e.last_lit++,0===t?e.dyn_ltree[2*o]++:(e.matches++,t--,e.dyn_ltree[2*(D[o]+g+1)]++,e.dyn_dtree[2*U(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){W(e,c<<1,3),j(e,E,N),function(e){16===e.bi_valid?(V(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},function(e,t,o){"use strict";var n=o(355),i=o(128),r=o(283),s=o(285),a=o(219),l=o(284),u=o(358),c=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var o=n.inflateInit2(this.strm,t.windowBits);if(o!==s.Z_OK)throw new Error(a[o]);if(this.header=new u,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=r.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(o=n.inflateSetDictionary(this.strm,t.dictionary))!==s.Z_OK))throw new Error(a[o])}function d(e,t){var o=new h(t);if(o.push(e,!0),o.err)throw o.msg||a[o.err];return o.result}h.prototype.push=function(e,t){var o,a,l,u,h,d=this.strm,g=this.options.chunkSize,p=this.options.dictionary,f=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?d.input=r.binstring2buf(e):"[object ArrayBuffer]"===c.call(e)?d.input=new Uint8Array(e):d.input=e,d.next_in=0,d.avail_in=d.input.length;do{if(0===d.avail_out&&(d.output=new i.Buf8(g),d.next_out=0,d.avail_out=g),(o=n.inflate(d,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&p&&(o=n.inflateSetDictionary(this.strm,p)),o===s.Z_BUF_ERROR&&!0===f&&(o=s.Z_OK,f=!1),o!==s.Z_STREAM_END&&o!==s.Z_OK)return this.onEnd(o),this.ended=!0,!1;d.next_out&&(0!==d.avail_out&&o!==s.Z_STREAM_END&&(0!==d.avail_in||a!==s.Z_FINISH&&a!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(l=r.utf8border(d.output,d.next_out),u=d.next_out-l,h=r.buf2string(d.output,l),d.next_out=u,d.avail_out=g-u,u&&i.arraySet(d.output,d.output,l,u,0),this.onData(h)):this.onData(i.shrinkBuf(d.output,d.next_out)))),0===d.avail_in&&0===d.avail_out&&(f=!0)}while((d.avail_in>0||0===d.avail_out)&&o!==s.Z_STREAM_END);return o===s.Z_STREAM_END&&(a=s.Z_FINISH),a===s.Z_FINISH?(o=n.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===s.Z_OK):a!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),d.avail_out=0,!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Inflate=h,t.inflate=d,t.inflateRaw=function(e,t){return(t=t||{}).raw=!0,d(e,t)},t.ungzip=d},function(e,t,o){"use strict";var n=o(128),i=o(281),r=o(282),s=o(356),a=o(357),l=0,u=1,c=2,h=4,d=5,g=6,p=0,f=1,m=2,_=-2,y=-3,v=-4,b=-5,E=8,C=1,S=2,T=3,w=4,k=5,O=6,R=7,N=8,I=9,L=10,D=11,A=12,P=13,x=14,M=15,B=16,F=17,H=18,U=19,V=20,W=21,j=22,G=23,z=24,K=25,Y=26,X=27,q=28,$=29,J=30,Z=31,Q=32,ee=852,te=592,oe=15;function ne(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function ie(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function re(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=C,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(ee),t.distcode=t.distdyn=new n.Buf32(te),t.sane=1,t.back=-1,p):_}function se(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,re(e)):_}function ae(e,t){var o,n;return e&&e.state?(n=e.state,t<0?(o=0,t=-t):(o=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=o,n.wbits=t,se(e))):_}function le(e,t){var o,n;return e?(n=new ie,e.state=n,n.window=null,(o=ae(e,t))!==p&&(e.state=null),o):_}var ue,ce,he=!0;function de(e){if(he){var t;for(ue=new n.Buf32(512),ce=new n.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(u,e.lens,0,288,ue,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(c,e.lens,0,32,ce,0,e.work,{bits:5}),he=!1}e.lencode=ue,e.lenbits=9,e.distcode=ce,e.distbits=5}function ge(e,t,o,i){var r,s=e.state;return null===s.window&&(s.wsize=1<=s.wsize?(n.arraySet(s.window,t,o-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((r=s.wsize-s.wnext)>i&&(r=i),n.arraySet(s.window,t,o-i,r,s.wnext),(i-=r)?(n.arraySet(s.window,t,o-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=r,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,o.check=r(o.check,Oe,2,0),ae=0,le=0,o.mode=S;break}if(o.flags=0,o.head&&(o.head.done=!1),!(1&o.wrap)||(((255&ae)<<8)+(ae>>8))%31){e.msg="incorrect header check",o.mode=J;break}if((15&ae)!==E){e.msg="unknown compression method",o.mode=J;break}if(le-=4,Ce=8+(15&(ae>>>=4)),0===o.wbits)o.wbits=Ce;else if(Ce>o.wbits){e.msg="invalid window size",o.mode=J;break}o.dmax=1<>8&1),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0,o.mode=T;case T:for(;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<>>8&255,Oe[2]=ae>>>16&255,Oe[3]=ae>>>24&255,o.check=r(o.check,Oe,4,0)),ae=0,le=0,o.mode=w;case w:for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<>8),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0,o.mode=k;case k:if(1024&o.flags){for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0}else o.head&&(o.head.extra=null);o.mode=O;case O:if(1024&o.flags&&((he=o.length)>re&&(he=re),he&&(o.head&&(Ce=o.head.extra_len-o.length,o.head.extra||(o.head.extra=new Array(o.head.extra_len)),n.arraySet(o.head.extra,ee,oe,he,Ce)),512&o.flags&&(o.check=r(o.check,ee,he,oe)),re-=he,oe+=he,o.length-=he),o.length))break e;o.length=0,o.mode=R;case R:if(2048&o.flags){if(0===re)break e;he=0;do{Ce=ee[oe+he++],o.head&&Ce&&o.length<65536&&(o.head.name+=String.fromCharCode(Ce))}while(Ce&&he>9&1,o.head.done=!0),e.adler=o.check=0,o.mode=A;break;case L:for(;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<>>=7&le,le-=7&le,o.mode=X;break}for(;le<3;){if(0===re)break e;re--,ae+=ee[oe++]<>>=1)){case 0:o.mode=x;break;case 1:if(de(o),o.mode=V,t===g){ae>>>=2,le-=2;break e}break;case 2:o.mode=F;break;case 3:e.msg="invalid block type",o.mode=J}ae>>>=2,le-=2;break;case x:for(ae>>>=7&le,le-=7≤le<32;){if(0===re)break e;re--,ae+=ee[oe++]<>>16^65535)){e.msg="invalid stored block lengths",o.mode=J;break}if(o.length=65535&ae,ae=0,le=0,o.mode=M,t===g)break e;case M:o.mode=B;case B:if(he=o.length){if(he>re&&(he=re),he>se&&(he=se),0===he)break e;n.arraySet(te,ee,oe,he,ie),re-=he,oe+=he,se-=he,ie+=he,o.length-=he;break}o.mode=A;break;case F:for(;le<14;){if(0===re)break e;re--,ae+=ee[oe++]<>>=5,le-=5,o.ndist=1+(31&ae),ae>>>=5,le-=5,o.ncode=4+(15&ae),ae>>>=4,le-=4,o.nlen>286||o.ndist>30){e.msg="too many length or distance symbols",o.mode=J;break}o.have=0,o.mode=H;case H:for(;o.have>>=3,le-=3}for(;o.have<19;)o.lens[Re[o.have++]]=0;if(o.lencode=o.lendyn,o.lenbits=7,Te={bits:o.lenbits},Se=a(l,o.lens,0,19,o.lencode,0,o.work,Te),o.lenbits=Te.bits,Se){e.msg="invalid code lengths set",o.mode=J;break}o.have=0,o.mode=U;case U:for(;o.have>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<>>=me,le-=me,o.lens[o.have++]=ye;else{if(16===ye){for(we=me+2;le>>=me,le-=me,0===o.have){e.msg="invalid bit length repeat",o.mode=J;break}Ce=o.lens[o.have-1],he=3+(3&ae),ae>>>=2,le-=2}else if(17===ye){for(we=me+3;le>>=me)),ae>>>=3,le-=3}else{for(we=me+7;le>>=me)),ae>>>=7,le-=7}if(o.have+he>o.nlen+o.ndist){e.msg="invalid bit length repeat",o.mode=J;break}for(;he--;)o.lens[o.have++]=Ce}}if(o.mode===J)break;if(0===o.lens[256]){e.msg="invalid code -- missing end-of-block",o.mode=J;break}if(o.lenbits=9,Te={bits:o.lenbits},Se=a(u,o.lens,0,o.nlen,o.lencode,0,o.work,Te),o.lenbits=Te.bits,Se){e.msg="invalid literal/lengths set",o.mode=J;break}if(o.distbits=6,o.distcode=o.distdyn,Te={bits:o.distbits},Se=a(c,o.lens,o.nlen,o.ndist,o.distcode,0,o.work,Te),o.distbits=Te.bits,Se){e.msg="invalid distances set",o.mode=J;break}if(o.mode=V,t===g)break e;case V:o.mode=W;case W:if(re>=6&&se>=258){e.next_out=ie,e.avail_out=se,e.next_in=oe,e.avail_in=re,o.hold=ae,o.bits=le,s(e,ce),ie=e.next_out,te=e.output,se=e.avail_out,oe=e.next_in,ee=e.input,re=e.avail_in,ae=o.hold,le=o.bits,o.mode===A&&(o.back=-1);break}for(o.back=0;_e=(ke=o.lencode[ae&(1<>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<>ve)])>>>16&255,ye=65535&ke,!(ve+(me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<>>=ve,le-=ve,o.back+=ve}if(ae>>>=me,le-=me,o.back+=me,o.length=ye,0===_e){o.mode=Y;break}if(32&_e){o.back=-1,o.mode=A;break}if(64&_e){e.msg="invalid literal/length code",o.mode=J;break}o.extra=15&_e,o.mode=j;case j:if(o.extra){for(we=o.extra;le>>=o.extra,le-=o.extra,o.back+=o.extra}o.was=o.length,o.mode=G;case G:for(;_e=(ke=o.distcode[ae&(1<>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<>ve)])>>>16&255,ye=65535&ke,!(ve+(me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<>>=ve,le-=ve,o.back+=ve}if(ae>>>=me,le-=me,o.back+=me,64&_e){e.msg="invalid distance code",o.mode=J;break}o.offset=ye,o.extra=15&_e,o.mode=z;case z:if(o.extra){for(we=o.extra;le>>=o.extra,le-=o.extra,o.back+=o.extra}if(o.offset>o.dmax){e.msg="invalid distance too far back",o.mode=J;break}o.mode=K;case K:if(0===se)break e;if(he=ce-se,o.offset>he){if((he=o.offset-he)>o.whave&&o.sane){e.msg="invalid distance too far back",o.mode=J;break}he>o.wnext?(he-=o.wnext,pe=o.wsize-he):pe=o.wnext-he,he>o.length&&(he=o.length),fe=o.window}else fe=te,pe=ie-o.offset,he=o.length;he>se&&(he=se),se-=he,o.length-=he;do{te[ie++]=fe[pe++]}while(--he);0===o.length&&(o.mode=W);break;case Y:if(0===se)break e;te[ie++]=o.length,se--,o.mode=W;break;case X:if(o.wrap){for(;le<32;){if(0===re)break e;re--,ae|=ee[oe++]<>>=b=v>>>24,p-=b,0===(b=v>>>16&255))k[r++]=65535&v;else{if(!(16&b)){if(0==(64&b)){v=f[(65535&v)+(g&(1<>>=b,p-=b),p<15&&(g+=w[n++]<>>=b=v>>>24,p-=b,!(16&(b=v>>>16&255))){if(0==(64&b)){v=m[(65535&v)+(g&(1<l){e.msg="invalid distance too far back",o.mode=30;break e}if(g>>>=b,p-=b,C>(b=r-s)){if((b=C-b)>c&&o.sane){e.msg="invalid distance too far back",o.mode=30;break e}if(S=0,T=d,0===h){if(S+=u-b,b2;)k[r++]=T[S++],k[r++]=T[S++],k[r++]=T[S++],E-=3;E&&(k[r++]=T[S++],E>1&&(k[r++]=T[S++]))}else{S=r-C;do{k[r++]=k[S++],k[r++]=k[S++],k[r++]=k[S++],E-=3}while(E>2);E&&(k[r++]=k[S++],E>1&&(k[r++]=k[S++]))}break}}break}}while(n>3,g&=(1<<(p-=E<<3))-1,e.next_in=n,e.next_out=r,e.avail_in=n=1&&0===x[k];k--);if(O>k&&(O=k),0===k)return u[c++]=20971520,u[c++]=20971520,d.bits=1,0;for(w=1;w0&&(0===e||1!==k))return-1;for(M[1]=0,S=1;S<15;S++)M[S+1]=M[S]+x[S];for(T=0;T852||2===e&&L>592)return 1;for(;;){v=S-N,h[T]y?(b=B[F+h[T]],E=A[P+h[T]]):(b=96,E=0),g=1<>N)+(p-=g)]=v<<24|b<<16|E|0}while(0!==p);for(g=1<>=1;if(0!==g?(D&=g-1,D+=g):D=0,T++,0==--x[S]){if(S===k)break;S=t[o+h[T]]}if(S>O&&(D&m)!==f){for(0===N&&(N=O),_+=w,I=1<<(R=S-N);R+N852||2===e&&L>592)return 1;u[f=D&m]=O<<24|R<<16|_-c|0}}return 0!==D&&(u[_+D]=S-N<<24|64<<16|0),d.bits=O,0}},function(e,t,o){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},function(e,t,o){"use strict";var n=o(65),i=o(100),r=o(146),s=o(218),a=o(286),l=function(e,t){var o,n="";for(o=0;o>>=8;return n},u=function(e,t,o,i,u,c){var h,d,g=e.file,p=e.compression,f=c!==r.utf8encode,m=n.transformTo("string",c(g.name)),_=n.transformTo("string",r.utf8encode(g.name)),y=g.comment,v=n.transformTo("string",c(y)),b=n.transformTo("string",r.utf8encode(y)),E=_.length!==g.name.length,C=b.length!==y.length,S="",T="",w="",k=g.dir,O=g.date,R={crc32:0,compressedSize:0,uncompressedSize:0};t&&!o||(R.crc32=e.crc32,R.compressedSize=e.compressedSize,R.uncompressedSize=e.uncompressedSize);var N=0;t&&(N|=8),f||!E&&!C||(N|=2048);var I,L,D,A=0,P=0;k&&(A|=16),"UNIX"===u?(P=798,A|=(I=g.unixPermissions,L=k,D=I,I||(D=L?16893:33204),(65535&D)<<16)):(P=20,A|=63&(g.dosPermissions||0)),h=O.getUTCHours(),h<<=6,h|=O.getUTCMinutes(),h<<=5,h|=O.getUTCSeconds()/2,d=O.getUTCFullYear()-1980,d<<=4,d|=O.getUTCMonth()+1,d<<=5,d|=O.getUTCDate(),E&&(T=l(1,1)+l(s(m),4)+_,S+="up"+l(T.length,2)+T),C&&(w=l(1,1)+l(s(v),4)+b,S+="uc"+l(w.length,2)+w);var x="";return x+="\n\0",x+=l(N,2),x+=p.magic,x+=l(h,2),x+=l(d,2),x+=l(R.crc32,4),x+=l(R.compressedSize,4),x+=l(R.uncompressedSize,4),x+=l(m.length,2),x+=l(S.length,2),{fileRecord:a.LOCAL_FILE_HEADER+x+m+S,dirRecord:a.CENTRAL_FILE_HEADER+l(P,2)+x+l(v.length,2)+"\0\0\0\0"+l(A,4)+l(i,4)+m+S+v}},c=function(e){return a.DATA_DESCRIPTOR+l(e.crc32,4)+l(e.compressedSize,4)+l(e.uncompressedSize,4)};function h(e,t,o,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=o,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}n.inherits(h,i),h.prototype.push=function(e){var t=e.meta.percent||0,o=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:o?(t+100*(o-n-1))/o:100}}))},h.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var o=u(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:o.fileRecord,meta:{percent:0}})}else this.accumulate=!0},h.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,o=u(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(o.dirRecord),t)this.push({data:c(e),meta:{percent:100}});else for(this.push({data:o.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},h.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e0)this.isSignature(t,r.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=l},function(e,t,o){"use strict";var n=o(289);function i(e){n.call(this,e)}o(65).inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(290);function i(e){n.call(this,e)}o(65).inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(287),i=o(65),r=o(217),s=o(218),a=o(146),l=o(280),u=o(127);function c(e,t){this.options=e,this.loadOptions=t}c.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,o;if(e.skip(22),this.fileNameLength=e.readInt(2),o=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(o),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in l)if(l.hasOwnProperty(t)&&l[t].magic===e)return l[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new r(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0===e&&(this.dosPermissions=63&this.externalFileAttributes),3===e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,o,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index=0?{index:n,compiling:!0}:(n=this._compilations.length,this._compilations[n]={schema:e,root:t,baseId:o},{index:n,compiling:!1})}function d(e,t,o){var n=g.call(this,e,t,o);n>=0&&this._compilations.splice(n,1)}function g(e,t,o){for(var n=0;n1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,f=String.fromCharCode;function m(e){throw new RangeError(g[e])}function _(e,t){var o=e.split("@"),n="";o.length>1&&(n=o[0]+"@",e=o[1]);var i=function(e,t){for(var o=[],n=e.length;n--;)o[n]=t(e[n]);return o}((e=e.replace(d,".")).split("."),t).join(".");return n+i}function y(e){for(var t=[],o=0,n=e.length;o=55296&&i<=56319&&o>1,e+=p(e/t);e>455;n+=36)e=p(e/35);return p(n+36*e/(e+38))},E=function(e){var t,o=[],n=e.length,i=0,r=128,s=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var l=0;l=128&&m("not-basic"),o.push(e.charCodeAt(l));for(var c=a>0?a+1:0;c=n&&m("invalid-input");var f=(t=e.charCodeAt(c++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:36;(f>=36||f>p((u-i)/d))&&m("overflow"),i+=f*d;var _=g<=s?1:g>=s+26?26:g-s;if(f<_)break;var y=36-_;d>p(u/y)&&m("overflow"),d*=y}var v=o.length+1;s=b(i-h,v,0==h),p(i/v)>u-r&&m("overflow"),r+=p(i/v),i%=v,o.splice(i++,0,r)}return String.fromCodePoint.apply(String,o)},C=function(e){var t=[],o=(e=y(e)).length,n=128,i=0,r=72,s=!0,a=!1,l=void 0;try{for(var c,h=e[Symbol.iterator]();!(s=(c=h.next()).done);s=!0){var d=c.value;d<128&&t.push(f(d))}}catch(e){a=!0,l=e}finally{try{!s&&h.return&&h.return()}finally{if(a)throw l}}var g=t.length,_=g;for(g&&t.push("-");_=n&&Op((u-i)/R)&&m("overflow"),i+=(E-n)*R,n=E;var N=!0,I=!1,L=void 0;try{for(var D,A=e[Symbol.iterator]();!(N=(D=A.next()).done);N=!0){var P=D.value;if(Pu&&m("overflow"),P==n){for(var x=i,M=36;;M+=36){var B=M<=r?1:M>=r+26?26:M-r;if(x>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function k(e){for(var t="",o=0,n=e.length;o=194&&i<224){if(n-o>=6){var r=parseInt(e.substr(o+4,2),16);t+=String.fromCharCode((31&i)<<6|63&r)}else t+=e.substr(o,6);o+=6}else if(i>=224){if(n-o>=9){var s=parseInt(e.substr(o+4,2),16),a=parseInt(e.substr(o+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}else t+=e.substr(o,9);o+=9}else t+=e.substr(o,3),o+=3}return t}function O(e,t){function o(e){var o=k(e);return o.match(t.UNRESERVED)?o:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,o).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,o).replace(t.NOT_USERINFO,w).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,o).toLowerCase().replace(t.NOT_HOST,w).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,o).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,w).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,o).replace(t.NOT_QUERY,w).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,o).replace(t.NOT_FRAGMENT,w).replace(t.PCT_ENCODED,i)),e}function R(e){return e.replace(/^0*(.*)/,"$1")||"0"}function N(e,t){var o=e.match(t.IPV4ADDRESS)||[],n=l(o,2)[1];return n?n.split(".").map(R).join("."):e}function I(e,t){var o=e.match(t.IPV6ADDRESS)||[],n=l(o,3),i=n[1],r=n[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),a=l(s,2),u=a[0],c=a[1],h=c?c.split(":").map(R):[],d=u.split(":").map(R),g=t.IPV4ADDRESS.test(d[d.length-1]),p=g?7:8,f=d.length-p,m=Array(p),_=0;_1){var b=m.slice(0,y.index),E=m.slice(y.index+y.length);v=b.join(":")+"::"+E.join(":")}else v=m.join(":");return r&&(v+="%"+r),v}return e}var L=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,D=void 0==="".match(/(){0}/)[1];function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o={},n=!1!==t.iri?a:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(L);if(i){D?(o.scheme=i[1],o.userinfo=i[3],o.host=i[4],o.port=parseInt(i[5],10),o.path=i[6]||"",o.query=i[7],o.fragment=i[8],isNaN(o.port)&&(o.port=i[5])):(o.scheme=i[1]||void 0,o.userinfo=-1!==e.indexOf("@")?i[3]:void 0,o.host=-1!==e.indexOf("//")?i[4]:void 0,o.port=parseInt(i[5],10),o.path=i[6]||"",o.query=-1!==e.indexOf("?")?i[7]:void 0,o.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(o.port)&&(o.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),o.host&&(o.host=I(N(o.host,n),n)),void 0!==o.scheme||void 0!==o.userinfo||void 0!==o.host||void 0!==o.port||o.path||void 0!==o.query?void 0===o.scheme?o.reference="relative":void 0===o.fragment?o.reference="absolute":o.reference="uri":o.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==o.reference&&(o.error=o.error||"URI is not a "+t.reference+" reference.");var r=T[(t.scheme||o.scheme||"").toLowerCase()];if(t.unicodeSupport||r&&r.unicodeSupport)O(o,n);else{if(o.host&&(t.domainHost||r&&r.domainHost))try{o.host=S.toASCII(o.host.replace(n.PCT_ENCODED,k).toLowerCase())}catch(e){o.error=o.error||"Host's domain name can not be converted to ASCII via punycode: "+e}O(o,s)}r&&r.parse&&r.parse(o,t)}else o.error=o.error||"URI can not be parsed.";return o}var P=/^\.\.?\//,x=/^\/\.(\/|$)/,M=/^\/\.\.(\/|$)/,B=/^\/?(?:.|\n)*?(?=\/|$)/;function F(e){for(var t=[];e.length;)if(e.match(P))e=e.replace(P,"");else if(e.match(x))e=e.replace(x,"/");else if(e.match(M))e=e.replace(M,"/"),t.pop();else if("."===e||".."===e)e="";else{var o=e.match(B);if(!o)throw new Error("Unexpected dot segment condition");var n=o[0];e=e.slice(n.length),t.push(n)}return t.join("")}function H(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t.iri?a:s,n=[],i=T[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(o.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?S.toUnicode(e.host):S.toASCII(e.host.replace(o.PCT_ENCODED,k).toLowerCase())}catch(o){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+o}O(e,o),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var r=function(e,t){var o=!1!==t.iri?a:s,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(I(N(String(e.host),o),o).replace(o.IPV6ADDRESS,(function(e,t,o){return"["+t+(o?"%25"+o:"")+"]"}))),"number"==typeof e.port&&(n.push(":"),n.push(e.port.toString(10))),n.length?n.join(""):void 0}(e,t);if(void 0!==r&&("suffix"!==t.reference&&n.push("//"),n.push(r),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var l=e.path;t.absolutePath||i&&i.absolutePath||(l=F(l)),void 0===r&&(l=l.replace(/^\/\//,"/%2F")),n.push(l)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function U(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=A(H(e,o),o),t=A(H(t,o),o)),!(o=o||{}).tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(t.path?("/"===t.path.charAt(0)?n.path=F(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path:n.path="/"+t.path,n.path=F(n.path)),n.query=t.query):(n.path=e.path,void 0!==t.query?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function V(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:s.PCT_ENCODED,k)}var W={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){return e.port!==("https"!==String(e.scheme).toLowerCase()?80:443)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},j={scheme:"https",domainHost:W.domainHost,parse:W.parse,serialize:W.serialize},G={},z="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",K="[0-9A-Fa-f]",Y=o(o("%[EFef][0-9A-Fa-f]%"+K+K+"%"+K+K)+"|"+o("%[89A-Fa-f][0-9A-Fa-f]%"+K+K)+"|"+o("%"+K+K)),X=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),q=new RegExp(z,"g"),$=new RegExp(Y,"g"),J=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',X),"g"),Z=new RegExp(t("[^]",z,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),Q=Z;function ee(e){var t=k(e);return t.match(q)?t:e}var te={scheme:"mailto",parse:function(e,t){var o=e,n=o.to=o.path?o.path.split(","):[];if(o.path=void 0,o.query){for(var i=!1,r={},s=o.query.split("&"),a=0,l=s.length;a=55296&&t<=56319&&i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,c=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,g=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,p=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function f(e){return e="full"==e?"full":"fast",n.copy(f[e])}function m(e){var t=e.match(i);if(!t)return!1;var o=+t[1],n=+t[2],s=+t[3];return n>=1&&n<=12&&s>=1&&s<=(2==n&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(o)?29:r[n])}function _(e,t){var o=e.match(s);if(!o)return!1;var n=o[1],i=o[2],r=o[3],a=o[5];return(n<=23&&i<=59&&r<=59||23==n&&59==i&&60==r)&&(!t||a)}e.exports=f,f.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":u,url:c,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:E,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":g,"relative-json-pointer":p},f.full={date:m,time:_,"date-time":function(e){var t=e.split(y);return 2==t.length&&m(t[0])&&_(t[1],!0)},uri:function(e){return v.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":u,url:c,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:function(e){return e.length<=255&&a.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:E,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":g,"relative-json-pointer":p};var y=/t|\s/i;var v=/\/|:/;var b=/[^\\]\\Z/;function E(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},function(e,t,o){"use strict";var n=o(373),i=o(149).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=i(t),e.types=i(["number","integer","string","array","object","boolean","null"]),e.forEach((function(o){o.rules=o.rules.map((function(o){var i;if("object"==typeof o){var r=Object.keys(o)[0];i=o[r],o=r,i.forEach((function(o){t.push(o),e.all[o]=!0}))}return t.push(o),e.all[o]={keyword:o,code:n[o],implements:i}})),e.all.$comment={keyword:"$comment",code:n.$comment},o.type&&(e.types[o.type]=o)})),e.keywords=i(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},function(e,t,o){"use strict";e.exports={$ref:o(374),allOf:o(375),anyOf:o(376),$comment:o(377),const:o(378),contains:o(379),dependencies:o(380),enum:o(381),format:o(382),if:o(383),items:o(384),maximum:o(294),minimum:o(294),maxItems:o(295),minItems:o(295),maxLength:o(296),minLength:o(296),maxProperties:o(297),minProperties:o(297),multipleOf:o(385),not:o(386),oneOf:o(387),pattern:o(388),properties:o(389),propertyNames:o(390),required:o(391),uniqueItems:o(392),validate:o(293)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i,r=" ",s=e.level,a=e.dataLevel,l=e.schema[t],u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(a||""),d="valid"+s;if("#"==l||"#/"==l)e.isRoot?(n=e.async,i="validate"):(n=!0===e.root.schema.$async,i="root.refVal[0]");else{var g=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===g){var p=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(p),(y=y||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(r+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(r+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),r+=" } "):r+=" {} ";var f=r;r=y.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+f+"]); ":r+=" validate.errors = ["+f+"]; return false; ":r+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(r+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,l,p);e.logger.warn(p),c&&(r+=" if (true) { ")}}else if(g.inline){var m=e.util.copy(e);m.level++;var _="valid"+m.level;m.schema=g.schema,m.schemaPath="",m.errSchemaPath=l,r+=" "+e.validate(m).replace(/validate\.schema/g,g.code)+" ",c&&(r+=" if ("+_+") { ")}else n=!0===g.$async||e.async&&!1!==g.$async,i=g.code}if(i){var y;(y=y||[]).push(r),r="",e.opts.passContext?r+=" "+i+".call(this, ":r+=" "+i+"( ",r+=" "+h+", (dataPath || '')",'""'!=e.errorPath&&(r+=" + "+e.errorPath);var v=r+=" , "+(a?"data"+(a-1||""):"parentData")+" , "+(a?e.dataPathArr[a]:"parentDataProperty")+", rootData) ";if(r=y.pop(),n){if(!e.async)throw new Error("async schema referenced by sync schema");c&&(r+=" var "+d+"; "),r+=" try { await "+v+"; ",c&&(r+=" "+d+" = true; "),r+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",c&&(r+=" "+d+" = false; "),r+=" } ",c&&(r+=" if ("+d+") { ")}else r+=" if (!"+v+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",c&&(r+=" else { ")}return r}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.schema[t],r=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,a=!e.opts.allErrors,l=e.util.copy(e),u="";l.level++;var c="valid"+l.level,h=l.baseId,d=!0,g=i;if(g)for(var p,f=-1,m=g.length-1;f0:e.util.schemaHasRules(p,e.RULES.all))&&(d=!1,l.schema=p,l.schemaPath=r+"["+f+"]",l.errSchemaPath=s+"/"+f,n+=" "+e.validate(l)+" ",l.baseId=h,a&&(n+=" if ("+c+") { ",u+="}"));return a&&(n+=d?" if (true) { ":" "+u.slice(0,-1)+" "),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level;if(s.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}))){var m=g.baseId;n+=" var "+d+" = errors; var "+h+" = false; ";var _=e.compositeRule;e.compositeRule=g.compositeRule=!0;var y=s;if(y)for(var v,b=-1,E=y.length-1;b0:e.util.schemaHasRules(s,e.RULES.all);if(n+="var "+d+" = errors;var "+h+";",v){var b=e.compositeRule;e.compositeRule=g.compositeRule=!0,g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+=" var "+p+" = false; for (var "+f+" = 0; "+f+" < "+c+".length; "+f+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);var E=c+"["+f+"]";g.dataPathArr[m]=f;var C=e.validate(g);g.baseId=y,e.util.varOccurences(C,_)<2?n+=" "+e.util.varReplace(C,_,E)+" ":n+=" var "+_+" = "+E+"; "+C+" ",n+=" if ("+p+") break; } ",e.compositeRule=g.compositeRule=b,n+=" if (!"+p+") {"}else n+=" if ("+c+".length == 0) {";var S=S||[];S.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should contain a valid item' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var T=n;return n=S.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",v&&(n+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } "),e.opts.allErrors&&(n+=" } "),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e),g="";d.level++;var p="valid"+d.level,f={},m={},_=e.opts.ownProperties;for(E in s){var y=s[E],v=Array.isArray(y)?m:f;v[E]=y}n+="var "+h+" = errors;";var b=e.errorPath;for(var E in n+="var missing"+i+";",m)if((v=m[E]).length){if(n+=" if ( "+c+e.util.getProperty(E)+" !== undefined ",_&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(E)+"') "),u){n+=" && ( ";var C=v;if(C)for(var S=-1,T=C.length-1;S0:e.util.schemaHasRules(y,e.RULES.all))&&(n+=" "+p+" = true; if ( "+c+e.util.getProperty(E)+" !== undefined ",_&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(E)+"') "),n+=") { ",d.schema=y,d.schemaPath=a+e.util.getProperty(E),d.errSchemaPath=l+"/"+e.util.escapeFragment(E),n+=" "+e.validate(d)+" ",d.baseId=x,n+=" } ",u&&(n+=" if ("+p+") { ",g+="}"))}return u&&(n+=" "+g+" if ("+h+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d=e.opts.$data&&s&&s.$data;d&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; ");var g="i"+i,p="schema"+i;d||(n+=" var "+p+" = validate.schema"+a+";"),n+="var "+h+";",d&&(n+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),n+=h+" = false;for (var "+g+"=0; "+g+"<"+p+".length; "+g+"++) if (equal("+c+", "+p+"["+g+"])) { "+h+" = true; break; }",d&&(n+=" } "),n+=" if (!"+h+") { ";var f=f||[];f.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var m=n;return n=f.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",u&&(n+=" else { "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||"");if(!1===e.opts.format)return u&&(n+=" if (true) { "),n;var h,d=e.opts.$data&&s&&s.$data;d?(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; ",h="schema"+i):h=s;var g=e.opts.unknownFormats,p=Array.isArray(g);if(d){n+=" var "+(f="format"+i)+" = formats["+h+"]; var "+(m="isObject"+i)+" = typeof "+f+" == 'object' && !("+f+" instanceof RegExp) && "+f+".validate; var "+(_="formatType"+i)+" = "+m+" && "+f+".type || 'string'; if ("+m+") { ",e.async&&(n+=" var async"+i+" = "+f+".async; "),n+=" "+f+" = "+f+".validate; } if ( ",d&&(n+=" ("+h+" !== undefined && typeof "+h+" != 'string') || "),n+=" (","ignore"!=g&&(n+=" ("+h+" && !"+f+" ",p&&(n+=" && self._opts.unknownFormats.indexOf("+h+") == -1 "),n+=") || "),n+=" ("+f+" && "+_+" == '"+o+"' && !(typeof "+f+" == 'function' ? ",e.async?n+=" (async"+i+" ? await "+f+"("+c+") : "+f+"("+c+")) ":n+=" "+f+"("+c+") ",n+=" : "+f+".test("+c+"))))) {"}else{var f;if(!(f=e.formats[s])){if("ignore"==g)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),u&&(n+=" if (true) { "),n;if(p&&g.indexOf(s)>=0)return u&&(n+=" if (true) { "),n;throw new Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"')}var m,_=(m="object"==typeof f&&!(f instanceof RegExp)&&f.validate)&&f.type||"string";if(m){var y=!0===f.async;f=f.validate}if(_!=o)return u&&(n+=" if (true) { "),n;if(y){if(!e.async)throw new Error("async format in sync schema");n+=" if (!(await "+(v="formats"+e.util.getProperty(s)+".validate")+"("+c+"))) { "}else{n+=" if (! ";var v="formats"+e.util.getProperty(s);m&&(v+=".validate"),n+="function"==typeof f?" "+v+"("+c+") ":" "+v+".test("+c+") ",n+=") { "}}var b=b||[];b.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",n+=d?""+h:""+e.util.toQuotedString(s),n+=" } ",!1!==e.opts.messages&&(n+=" , message: 'should match format \"",n+=d?"' + "+h+" + '":""+e.util.escapeQuotes(s),n+="\"' "),e.opts.verbose&&(n+=" , schema: ",n+=d?"validate.schema"+a:""+e.util.toQuotedString(s),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var E=n;return n=b.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",u&&(n+=" else { "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e);g.level++;var p="valid"+g.level,f=e.schema.then,m=e.schema.else,_=void 0!==f&&(e.opts.strictKeywords?"object"==typeof f&&Object.keys(f).length>0:e.util.schemaHasRules(f,e.RULES.all)),y=void 0!==m&&(e.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0:e.util.schemaHasRules(m,e.RULES.all)),v=g.baseId;if(_||y){var b;g.createErrors=!1,g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+=" var "+d+" = errors; var "+h+" = true; ";var E=e.compositeRule;e.compositeRule=g.compositeRule=!0,n+=" "+e.validate(g)+" ",g.baseId=v,g.createErrors=!0,n+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.compositeRule=g.compositeRule=E,_?(n+=" if ("+p+") { ",g.schema=e.schema.then,g.schemaPath=e.schemaPath+".then",g.errSchemaPath=e.errSchemaPath+"/then",n+=" "+e.validate(g)+" ",g.baseId=v,n+=" "+h+" = "+p+"; ",_&&y?n+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",n+=" } ",y&&(n+=" else { ")):n+=" if (!"+p+") { ",y&&(g.schema=e.schema.else,g.schemaPath=e.schemaPath+".else",g.errSchemaPath=e.errSchemaPath+"/else",n+=" "+e.validate(g)+" ",g.baseId=v,n+=" "+h+" = "+p+"; ",_&&y?n+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",n+=" } "),n+=" if (!"+h+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } ",u&&(n+=" else { "),n=e.util.cleanUpCode(n)}else u&&(n+=" if (true) { ");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level,m="i"+i,_=g.dataLevel=e.dataLevel+1,y="data"+_,v=e.baseId;if(n+="var "+d+" = errors;var "+h+";",Array.isArray(s)){var b=e.schema.additionalItems;if(!1===b){n+=" "+h+" = "+c+".length <= "+s.length+"; ";var E=l;l=e.errSchemaPath+"/additionalItems",n+=" if (!"+h+") { ";var C=C||[];C.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var S=n;n=C.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+S+"]); ":n+=" validate.errors = ["+S+"]; return false; ":n+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l=E,u&&(p+="}",n+=" else { ")}var T=s;if(T)for(var w,k=-1,O=T.length-1;k0:e.util.schemaHasRules(w,e.RULES.all)){n+=" "+f+" = true; if ("+c+".length > "+k+") { ";var R=c+"["+k+"]";g.schema=w,g.schemaPath=a+"["+k+"]",g.errSchemaPath=l+"/"+k,g.errorPath=e.util.getPathExpr(e.errorPath,k,e.opts.jsonPointers,!0),g.dataPathArr[_]=k;var N=e.validate(g);g.baseId=v,e.util.varOccurences(N,y)<2?n+=" "+e.util.varReplace(N,y,R)+" ":n+=" var "+y+" = "+R+"; "+N+" ",n+=" } ",u&&(n+=" if ("+f+") { ",p+="}")}if("object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))){g.schema=b,g.schemaPath=e.schemaPath+".additionalItems",g.errSchemaPath=e.errSchemaPath+"/additionalItems",n+=" "+f+" = true; if ("+c+".length > "+s.length+") { for (var "+m+" = "+s.length+"; "+m+" < "+c+".length; "+m+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);R=c+"["+m+"]";g.dataPathArr[_]=m;N=e.validate(g);g.baseId=v,e.util.varOccurences(N,y)<2?n+=" "+e.util.varReplace(N,y,R)+" ":n+=" var "+y+" = "+R+"; "+N+" ",u&&(n+=" if (!"+f+") break; "),n+=" } } ",u&&(n+=" if ("+f+") { ",p+="}")}}else if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+=" for (var "+m+" = 0; "+m+" < "+c+".length; "+m+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);R=c+"["+m+"]";g.dataPathArr[_]=m;N=e.validate(g);g.baseId=v,e.util.varOccurences(N,y)<2?n+=" "+e.util.varReplace(N,y,R)+" ":n+=" var "+y+" = "+R+"; "+N+" ",u&&(n+=" if (!"+f+") break; "),n+=" }"}return u&&(n+=" "+p+" if ("+d+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="var division"+r+";if (",d&&(i+=" "+n+" !== undefined && ( typeof "+n+" != 'number' || "),i+=" (division"+r+" = "+h+" / "+n+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+r+") - division"+r+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+r+" !== parseInt(division"+r+") ",i+=" ) ",d&&(i+=" ) "),i+=" ) { ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=d?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var p=i;return i=g.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e);d.level++;var g="valid"+d.level;if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){d.schema=s,d.schemaPath=a,d.errSchemaPath=l,n+=" var "+h+" = errors; ";var p,f=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1,d.opts.allErrors&&(p=d.opts.allErrors,d.opts.allErrors=!1),n+=" "+e.validate(d)+" ",d.createErrors=!0,p&&(d.opts.allErrors=p),e.compositeRule=d.compositeRule=f,n+=" if ("+g+") { ";var m=m||[];m.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var _=n;n=m.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } ")}else n+=" var err = ",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(n+=" if (false) { ");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level,m=g.baseId,_="prevValid"+i,y="passingSchemas"+i;n+="var "+d+" = errors , "+_+" = false , "+h+" = false , "+y+" = null; ";var v=e.compositeRule;e.compositeRule=g.compositeRule=!0;var b=s;if(b)for(var E,C=-1,S=b.length-1;C0:e.util.schemaHasRules(E,e.RULES.all))?(g.schema=E,g.schemaPath=a+"["+C+"]",g.errSchemaPath=l+"/"+C,n+=" "+e.validate(g)+" ",g.baseId=m):n+=" var "+f+" = true; ",C&&(n+=" if ("+f+" && "+_+") { "+h+" = false; "+y+" = ["+y+", "+C+"]; } else { ",p+="}"),n+=" if ("+f+") { "+h+" = "+_+" = true; "+y+" = "+C+"; }";return e.compositeRule=g.compositeRule=v,n+=p+"if (!"+h+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+y+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+="} else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }",e.opts.allErrors&&(n+=" } "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'string') || "),i+=" !"+(d?"(new RegExp("+n+"))":e.usePattern(a))+".test("+h+") ) { ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",i+=d?""+n:""+e.util.toQuotedString(a),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=d?"' + "+n+" + '":""+e.util.escapeQuotes(a),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+e.util.toQuotedString(a),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var p=i;return i=g.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e),g="";d.level++;var p="valid"+d.level,f="key"+i,m="idx"+i,_=d.dataLevel=e.dataLevel+1,y="data"+_,v="dataProperties"+i,b=Object.keys(s||{}),E=e.schema.patternProperties||{},C=Object.keys(E),S=e.schema.additionalProperties,T=b.length||C.length,w=!1===S,k="object"==typeof S&&Object.keys(S).length,O=e.opts.removeAdditional,R=w||k||O,N=e.opts.ownProperties,I=e.baseId,L=e.schema.required;if(L&&(!e.opts.$data||!L.$data)&&L.length8)n+=" || validate.schema"+a+".hasOwnProperty("+f+") ";else{var A=b;if(A)for(var P=-1,x=A.length-1;P0:e.util.schemaHasRules(J,e.RULES.all)){var Z=e.util.getProperty(X),Q=(G=c+Z,K&&void 0!==J.default);d.schema=J,d.schemaPath=a+Z,d.errSchemaPath=l+"/"+e.util.escapeFragment(X),d.errorPath=e.util.getPath(e.errorPath,X,e.opts.jsonPointers),d.dataPathArr[_]=e.util.toQuotedString(X);z=e.validate(d);if(d.baseId=I,e.util.varOccurences(z,y)<2){z=e.util.varReplace(z,y,G);var ee=G}else{ee=y;n+=" var "+y+" = "+G+"; "}if(Q)n+=" "+z+" ";else{if(D&&D[X]){n+=" if ( "+ee+" === undefined ",N&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=") { "+p+" = false; ";H=e.errorPath,V=l;var te,oe=e.util.escapeQuotes(X);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(H,X,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+oe+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+oe+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";W=n;n=te.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+W+"]); ":n+=" validate.errors = ["+W+"]; return false; ":n+=" var err = "+W+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=V,e.errorPath=H,n+=" } else { "}else u?(n+=" if ( "+ee+" === undefined ",N&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=") { "+p+" = true; } else { "):(n+=" if ("+ee+" !== undefined ",N&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=" ) { ");n+=" "+z+" } "}}u&&(n+=" if ("+p+") { ",g+="}")}}if(C.length){var ne=C;if(ne)for(var ie,re=-1,se=ne.length-1;re0:e.util.schemaHasRules(J,e.RULES.all)){d.schema=J,d.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ie),d.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ie),n+=N?" "+v+" = "+v+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+f+" = "+v+"["+m+"]; ":" for (var "+f+" in "+c+") { ",n+=" if ("+e.usePattern(ie)+".test("+f+")) { ",d.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);G=c+"["+f+"]";d.dataPathArr[_]=f;z=e.validate(d);d.baseId=I,e.util.varOccurences(z,y)<2?n+=" "+e.util.varReplace(z,y,G)+" ":n+=" var "+y+" = "+G+"; "+z+" ",u&&(n+=" if (!"+p+") break; "),n+=" } ",u&&(n+=" else "+p+" = true; "),n+=" } ",u&&(n+=" if ("+p+") { ",g+="}")}}}return u&&(n+=" "+g+" if ("+h+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e);d.level++;var g="valid"+d.level;if(n+="var "+h+" = errors;",e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){d.schema=s,d.schemaPath=a,d.errSchemaPath=l;var p="key"+i,f="idx"+i,m="i"+i,_="' + "+p+" + '",y="data"+(d.dataLevel=e.dataLevel+1),v="dataProperties"+i,b=e.opts.ownProperties,E=e.baseId;b&&(n+=" var "+v+" = undefined; "),n+=b?" "+v+" = "+v+" || Object.keys("+c+"); for (var "+f+"=0; "+f+"<"+v+".length; "+f+"++) { var "+p+" = "+v+"["+f+"]; ":" for (var "+p+" in "+c+") { ",n+=" var startErrs"+i+" = errors; ";var C=p,S=e.compositeRule;e.compositeRule=d.compositeRule=!0;var T=e.validate(d);d.baseId=E,e.util.varOccurences(T,y)<2?n+=" "+e.util.varReplace(T,y,C)+" ":n+=" var "+y+" = "+C+"; "+T+" ",e.compositeRule=d.compositeRule=S,n+=" if (!"+g+") { for (var "+m+"=startErrs"+i+"; "+m+"0:e.util.schemaHasRules(v,e.RULES.all))||(p[p.length]=m)}}else p=s;if(d||p.length){var b=e.errorPath,E=d||p.length>=e.opts.loopRequired,C=e.opts.ownProperties;if(u)if(n+=" var missing"+i+"; ",E){d||(n+=" var "+g+" = validate.schema"+a+"; ");var S="' + "+(N="schema"+i+"["+(k="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,N,e.opts.jsonPointers)),n+=" var "+h+" = true; ",d&&(n+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),n+=" for (var "+k+" = 0; "+k+" < "+g+".length; "+k+"++) { "+h+" = "+c+"["+g+"["+k+"]] !== undefined ",C&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", "+g+"["+k+"]) "),n+="; if (!"+h+") break; } ",d&&(n+=" } "),n+=" if (!"+h+") { ",(R=R||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var T=n;n=R.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else{n+=" if ( ";var w=p;if(w)for(var k=-1,O=w.length-1;k 1) { ";var p=e.schema.items&&e.schema.items.type,f=Array.isArray(p);if(!p||"object"==p||"array"==p||f&&(p.indexOf("object")>=0||p.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+d+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ";var m="checkDataType"+(f?"s":"");i+=" if ("+e.util[m](p,"item",!0)+") continue; ",f&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+d+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",g&&(i+=" } "),i+=" if (!"+d+") { ";var _=_||[];_.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=g?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var y=i;i=_.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+y+"]); ":i+=" validate.errors = ["+y+"]; return false; ":i+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { ")}else c&&(i+=" if (true) { ");return i}},function(e,t,o){"use strict";var n=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,t){for(var o=0;o=i?e:n(e,t,o)}},function(e,t){e.exports=function(e,t,o){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(o=o>i?i:o)<0&&(o+=i),i=t>o?0:o-t>>>0,t>>>=0;for(var r=Array(i);++n{o=e});return new Promise((i,r)=>{let u=s.createServer(e=>{u.close(),o([new a.SocketMessageReader(e,t),new l.SocketMessageWriter(e,t)])});u.on("error",r),u.listen(e,()=>{u.removeListener("error",r),i({onConnected:()=>n})})})},t.createServerPipeTransport=function(e,t="utf-8"){const o=s.createConnection(e);return[new a.SocketMessageReader(o,t),new l.SocketMessageWriter(o,t)]}}).call(this,o(108))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(150),i=o(245),r=o(246);t.createClientSocketTransport=function(e,t="utf-8"){let o,s=new Promise((e,t)=>{o=e});return new Promise((a,l)=>{let u=n.createServer(e=>{u.close(),o([new i.SocketMessageReader(e,t),new r.SocketMessageWriter(e,t)])});u.on("error",l),u.listen(e,"127.0.0.1",()=>{u.removeListener("error",l),a({onConnected:()=>s})})})},t.createServerSocketTransport=function(e,t="utf-8"){const o=n.createConnection(e,"127.0.0.1");return[new i.SocketMessageReader(o,t),new r.SocketMessageWriter(o,t)]}},function(e,t,o){"use strict";var n,i,r,s,a,l,u,c,h,d,g,p,f,m,_,y,v,b,E;o.r(t),o.d(t,"Position",(function(){return n})),o.d(t,"Range",(function(){return i})),o.d(t,"Location",(function(){return r})),o.d(t,"LocationLink",(function(){return s})),o.d(t,"Color",(function(){return a})),o.d(t,"ColorInformation",(function(){return l})),o.d(t,"ColorPresentation",(function(){return u})),o.d(t,"FoldingRangeKind",(function(){return c})),o.d(t,"FoldingRange",(function(){return h})),o.d(t,"DiagnosticRelatedInformation",(function(){return d})),o.d(t,"DiagnosticSeverity",(function(){return g})),o.d(t,"Diagnostic",(function(){return p})),o.d(t,"Command",(function(){return f})),o.d(t,"TextEdit",(function(){return m})),o.d(t,"TextDocumentEdit",(function(){return _})),o.d(t,"CreateFile",(function(){return y})),o.d(t,"RenameFile",(function(){return v})),o.d(t,"DeleteFile",(function(){return b})),o.d(t,"WorkspaceEdit",(function(){return E})),o.d(t,"WorkspaceChange",(function(){return U})),o.d(t,"TextDocumentIdentifier",(function(){return C})),o.d(t,"VersionedTextDocumentIdentifier",(function(){return S})),o.d(t,"TextDocumentItem",(function(){return T})),o.d(t,"MarkupKind",(function(){return w})),o.d(t,"MarkupContent",(function(){return k})),o.d(t,"CompletionItemKind",(function(){return O})),o.d(t,"InsertTextFormat",(function(){return R})),o.d(t,"CompletionItem",(function(){return N})),o.d(t,"CompletionList",(function(){return I})),o.d(t,"MarkedString",(function(){return L})),o.d(t,"Hover",(function(){return D})),o.d(t,"ParameterInformation",(function(){return A})),o.d(t,"SignatureInformation",(function(){return P})),o.d(t,"DocumentHighlightKind",(function(){return x})),o.d(t,"DocumentHighlight",(function(){return M})),o.d(t,"SymbolKind",(function(){return B})),o.d(t,"SymbolInformation",(function(){return F})),o.d(t,"DocumentSymbol",(function(){return K})),o.d(t,"CodeActionKind",(function(){return V})),o.d(t,"CodeActionContext",(function(){return W})),o.d(t,"CodeAction",(function(){return j})),o.d(t,"CodeLens",(function(){return G})),o.d(t,"FormattingOptions",(function(){return z})),o.d(t,"DocumentLink",(function(){return Y})),o.d(t,"EOL",(function(){return $})),o.d(t,"TextDocument",(function(){return X})),o.d(t,"TextDocumentSaveReason",(function(){return q})),function(e){e.create=function(e,t){return{line:e,character:t}},e.is=function(e){var t=e;return J.objectLiteral(t)&&J.number(t.line)&&J.number(t.character)}}(n||(n={})),function(e){e.create=function(e,t,o,i){if(J.number(e)&&J.number(t)&&J.number(o)&&J.number(i))return{start:n.create(e,t),end:n.create(o,i)};if(n.is(e)&&n.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+o+", "+i+"]")},e.is=function(e){var t=e;return J.objectLiteral(t)&&n.is(t.start)&&n.is(t.end)}}(i||(i={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&(J.string(t.uri)||J.undefined(t.uri))}}(r||(r={})),function(e){e.create=function(e,t,o,n){return{targetUri:e,targetRange:t,targetSelectionRange:o,originSelectionRange:n}},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.targetRange)&&J.string(t.targetUri)&&(i.is(t.targetSelectionRange)||J.undefined(t.targetSelectionRange))&&(i.is(t.originSelectionRange)||J.undefined(t.originSelectionRange))}}(s||(s={})),function(e){e.create=function(e,t,o,n){return{red:e,green:t,blue:o,alpha:n}},e.is=function(e){var t=e;return J.number(t.red)&&J.number(t.green)&&J.number(t.blue)&&J.number(t.alpha)}}(a||(a={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return i.is(t.range)&&a.is(t.color)}}(l||(l={})),function(e){e.create=function(e,t,o){return{label:e,textEdit:t,additionalTextEdits:o}},e.is=function(e){var t=e;return J.string(t.label)&&(J.undefined(t.textEdit)||m.is(t))&&(J.undefined(t.additionalTextEdits)||J.typedArray(t.additionalTextEdits,m.is))}}(u||(u={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(c||(c={})),function(e){e.create=function(e,t,o,n,i){var r={startLine:e,endLine:t};return J.defined(o)&&(r.startCharacter=o),J.defined(n)&&(r.endCharacter=n),J.defined(i)&&(r.kind=i),r},e.is=function(e){var t=e;return J.number(t.startLine)&&J.number(t.startLine)&&(J.undefined(t.startCharacter)||J.number(t.startCharacter))&&(J.undefined(t.endCharacter)||J.number(t.endCharacter))&&(J.undefined(t.kind)||J.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return J.defined(t)&&r.is(t.location)&&J.string(t.message)}}(d||(d={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(g||(g={})),function(e){e.create=function(e,t,o,n,i,r){var s={range:e,message:t};return J.defined(o)&&(s.severity=o),J.defined(n)&&(s.code=n),J.defined(i)&&(s.source=i),J.defined(r)&&(s.relatedInformation=r),s},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&J.string(t.message)&&(J.number(t.severity)||J.undefined(t.severity))&&(J.number(t.code)||J.string(t.code)||J.undefined(t.code))&&(J.string(t.source)||J.undefined(t.source))&&(J.undefined(t.relatedInformation)||J.typedArray(t.relatedInformation,d.is))}}(p||(p={})),function(e){e.create=function(e,t){for(var o=[],n=2;n0&&(i.arguments=o),i},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.title)&&J.string(t.command)}}(f||(f={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return J.objectLiteral(t)&&J.string(t.newText)&&i.is(t.range)}}(m||(m={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return J.defined(t)&&S.is(t.textDocument)&&Array.isArray(t.edits)}}(_||(_={})),function(e){e.create=function(e,t){var o={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(o.options=t),o},e.is=function(e){var t=e;return t&&"create"===t.kind&&J.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||J.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||J.boolean(t.options.ignoreIfExists)))}}(y||(y={})),function(e){e.create=function(e,t,o){var n={kind:"rename",oldUri:e,newUri:t};return void 0===o||void 0===o.overwrite&&void 0===o.ignoreIfExists||(n.options=o),n},e.is=function(e){var t=e;return t&&"rename"===t.kind&&J.string(t.oldUri)&&J.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||J.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||J.boolean(t.options.ignoreIfExists)))}}(v||(v={})),function(e){e.create=function(e,t){var o={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(o.options=t),o},e.is=function(e){var t=e;return t&&"delete"===t.kind&&J.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||J.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||J.boolean(t.options.ignoreIfNotExists)))}}(b||(b={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return J.string(e.kind)?y.is(e)||v.is(e)||b.is(e):_.is(e)})))}}(E||(E={}));var C,S,T,w,k,O,R,N,I,L,D,A,P,x,M,B,F,H=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,t){this.edits.push(m.insert(e,t))},e.prototype.replace=function(e,t){this.edits.push(m.replace(e,t))},e.prototype.delete=function(e){this.edits.push(m.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}(),U=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach((function(e){if(_.is(e)){var o=new H(e.edits);t._textEditChanges[e.textDocument.uri]=o}})):e.changes&&Object.keys(e.changes).forEach((function(o){var n=new H(e.changes[o]);t._textEditChanges[o]=n})))}return Object.defineProperty(e.prototype,"edit",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(S.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t=e;if(!(n=this._textEditChanges[t.uri])){var o={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(o),n=new H(i),this._textEditChanges[t.uri]=n}return n}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var n;if(!(n=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,n=new H(i),this._textEditChanges[e]=n}return n},e.prototype.createFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(y.create(e,t))},e.prototype.renameFile=function(e,t,o){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(v.create(e,t,o))},e.prototype.deleteFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(b.create(e,t))},e.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.")},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)}}(C||(C={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)&&(null===t.version||J.number(t.version))}}(S||(S={})),function(e){e.create=function(e,t,o,n){return{uri:e,languageId:t,version:o,text:n}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)&&J.string(t.languageId)&&J.number(t.version)&&J.string(t.text)}}(T||(T={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(w||(w={})),function(e){e.is=function(t){var o=t;return o===e.PlainText||o===e.Markdown}}(w||(w={})),function(e){e.is=function(e){var t=e;return J.objectLiteral(e)&&w.is(t.kind)&&J.string(t.value)}}(k||(k={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(O||(O={})),function(e){e.PlainText=1,e.Snippet=2}(R||(R={})),function(e){e.create=function(e){return{label:e}}}(N||(N={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(I||(I={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return J.string(t)||J.objectLiteral(t)&&J.string(t.language)&&J.string(t.value)}}(L||(L={})),function(e){e.is=function(e){var t=e;return!!t&&J.objectLiteral(t)&&(k.is(t.contents)||L.is(t.contents)||J.typedArray(t.contents,L.is))&&(void 0===e.range||i.is(e.range))}}(D||(D={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(A||(A={})),function(e){e.create=function(e,t){for(var o=[],n=2;n=0;r--){var s=n[r],a=e.offsetAt(s.range.start),l=e.offsetAt(s.range.end);if(!(l<=i))throw new Error("Overlapping edit");o=o.substring(0,a)+s.newText+o.substring(l,o.length),i=a}return o}}(X||(X={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(q||(q={}));var J,Z=function(){function e(e,t,o,n){this._uri=e,this._languageId=t,this._version=o,this._content=n,this._lineOffsets=null}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),o=this.offsetAt(e.end);return this._content.substring(t,o)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=null},e.prototype.getLineOffsets=function(){if(null===this._lineOffsets){for(var e=[],t=this._content,o=!0,n=0;n0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),o=0,i=t.length;if(0===i)return n.create(0,e);for(;oe?i=r:o=r+1}var s=o-1;return n.create(s,e-t[s])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var o=t[e.line],n=e.line+10)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},s=this&&this.__spread||function(){for(var e=[],t=0;t=0}var a=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//,c=!0;function h(e){var t=c;return c=e,t}var d="",g="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,o,n,i,r){void 0===r&&(r=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return t||c?e||d:(e||(e="file"),e)}(e,r),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==g&&(t=g+t):t=g}return t}(this.scheme,o||d),this.query=n||d,this.fragment=i||d,function(e,t){if(!e.scheme&&(t||c))throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}');if(e.scheme&&!a.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!l.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,r))}return e.isUri=function(t){return t instanceof e||!!t&&("string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"function"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString)},Object.defineProperty(e.prototype,"fsPath",{get:function(){return C(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,o=e.authority,n=e.path,i=e.query,r=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===o?o=this.authority:null===o&&(o=d),void 0===n?n=this.path:null===n&&(n=d),void 0===i?i=this.query:null===i&&(i=d),void 0===r?r=this.fragment:null===r&&(r=d),t===this.scheme&&o===this.authority&&n===this.path&&i===this.query&&r===this.fragment?this:new y(t,o,n,i,r)},e.parse=function(e,t){void 0===t&&(t=!1);var o=p.exec(e);return o?new y(o[2]||d,decodeURIComponent(o[4]||d),decodeURIComponent(o[5]||d),decodeURIComponent(o[7]||d),decodeURIComponent(o[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,g)),e[0]===g&&e[1]===g){var o=e.indexOf(g,2);-1===o?(t=e.substring(2),e=g):(t=e.substring(2,o),e=e.substring(o)||g)}return new y("file",t,e,d,d)},e.from=function(e){return new y(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),S(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var o=new y(t);return o._formatted=t.external,o._fsPath=t._sep===_?t.fsPath:null,o}return t},e}();t.default=f;var m,_=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return r(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=C(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?S(this,!0):(this._formatted||(this._formatted=S(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=_),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),v=((m={})[58]="%3A",m[47]="%2F",m[63]="%3F",m[35]="%23",m[91]="%5B",m[93]="%5D",m[64]="%40",m[33]="%21",m[36]="%24",m[38]="%26",m[39]="%27",m[40]="%28",m[41]="%29",m[42]="%2A",m[43]="%2B",m[44]="%2C",m[59]="%3B",m[61]="%3D",m[32]="%20",m);function b(e,t){for(var o=void 0,n=-1,i=0;i=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r)-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),void 0!==o&&(o+=e.charAt(i));else{void 0===o&&(o=e.substr(0,i));var s=v[r];void 0!==s?(-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),o+=s):-1===n&&(n=i)}}return-1!==n&&(o+=encodeURIComponent(e.substring(n))),void 0!==o?o:e}function E(e){for(var t=void 0,o=0;o1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(t=t.replace(/\//g,"\\")),t}function S(e,t){var o=t?E:b,n="",i=e.scheme,r=e.authority,s=e.path,a=e.query,l=e.fragment;if(i&&(n+=i,n+=":"),(r||"file"===i)&&(n+=g,n+=g),r){var u=r.indexOf("@");if(-1!==u){var c=r.substr(0,u);r=r.substr(u+1),-1===(u=c.indexOf(":"))?n+=o(c,!1):(n+=o(c.substr(0,u),!1),n+=":",n+=o(c.substr(u+1),!1)),n+="@"}-1===(u=(r=r.toLowerCase()).indexOf(":"))?n+=o(r,!1):(n+=o(r.substr(0,u),!1),n+=r.substr(u))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(h=s.charCodeAt(1))>=65&&h<=90&&(s="/"+String.fromCharCode(h+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var h;(h=s.charCodeAt(0))>=65&&h<=90&&(s=String.fromCharCode(h+32)+":"+s.substr(2))}n+=o(s,!0)}return a&&(n+="?",n+=o(a,!1)),l&&(n+="#",n+=t?l:b(l,!1)),n}}.call(this,o(108))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(109),i=o(101),r=o(138),s=o(310),a=o(311),l=o(312);t.createConverter=function(e){var t=e||function(e){return e.toString()};function o(e){return t(e)}function u(e){return{uri:t(e.uri)}}function c(e){return{uri:t(e.uri),version:e.version}}function h(e){switch(e){case n.TextDocumentSaveReason.Manual:return i.TextDocumentSaveReason.Manual;case n.TextDocumentSaveReason.AfterDelay:return i.TextDocumentSaveReason.AfterDelay;case n.TextDocumentSaveReason.FocusOut:return i.TextDocumentSaveReason.FocusOut}return i.TextDocumentSaveReason.Manual}function d(e){switch(e){case n.CompletionTriggerKind.TriggerCharacter:return i.CompletionTriggerKind.TriggerCharacter;case n.CompletionTriggerKind.TriggerForIncompleteCompletions:return i.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return i.CompletionTriggerKind.Invoked}}function g(e){return{line:e.line,character:e.character}}function p(e){if(void 0!==e)return null===e?null:{line:e.line,character:e.character}}function f(e){return null==e?e:{start:p(e.start),end:p(e.end)}}function m(e){switch(e){case n.DiagnosticSeverity.Error:return i.DiagnosticSeverity.Error;case n.DiagnosticSeverity.Warning:return i.DiagnosticSeverity.Warning;case n.DiagnosticSeverity.Information:return i.DiagnosticSeverity.Information;case n.DiagnosticSeverity.Hint:return i.DiagnosticSeverity.Hint}}function _(e){var t=i.Diagnostic.create(f(e.range),e.message);return r.number(e.severity)&&(t.severity=m(e.severity)),(r.number(e.code)||r.string(e.code))&&(t.code=e.code),e.source&&(t.source=e.source),t}function y(e){return null==e?e:e.map(_)}function v(e){return{range:f(e.range),newText:e.newText}}function b(e){var t=i.Command.create(e.title,e.command);return e.arguments&&(t.arguments=e.arguments),t}return{asUri:o,asTextDocumentIdentifier:u,asOpenTextDocumentParams:function(e){return{textDocument:{uri:t(e.uri),languageId:e.languageId,version:e.version,text:e.getText()}}},asChangeTextDocumentParams:function(e){var o;if((o=e).uri&&o.version)return{textDocument:{uri:t(e.uri),version:e.version},contentChanges:[{text:e.getText()}]};if(function(e){var t=e;return!!t.document&&!!t.contentChanges}(e)){var n=e.document;return{textDocument:{uri:t(n.uri),version:n.version},contentChanges:e.contentChanges.map((function(e){var t=e.range;return{range:{start:{line:t.start.line,character:t.start.character},end:{line:t.end.line,character:t.end.character}},rangeLength:e.rangeLength,text:e.text}}))}}throw Error("Unsupported text document change parameter")},asCloseTextDocumentParams:function(e){return{textDocument:u(e)}},asSaveTextDocumentParams:function(e,t){void 0===t&&(t=!1);var o={textDocument:c(e)};return t&&(o.text=e.getText()),o},asWillSaveTextDocumentParams:function(e){return{textDocument:u(e.document),reason:h(e.reason)}},asTextDocumentPositionParams:function(e,t){return{textDocument:u(e),position:g(t)}},asCompletionParams:function(e,t,o){return{textDocument:u(e),position:g(t),context:{triggerKind:d(o.triggerKind),triggerCharacter:o.triggerCharacter}}},asWorkerPosition:g,asRange:f,asPosition:p,asDiagnosticSeverity:m,asDiagnostic:_,asDiagnostics:y,asCompletionItem:function(e){var t,o,a={label:e.label},l=e instanceof s.default?e:void 0;return e.detail&&(a.detail=e.detail),e.documentation&&(l&&"$string"!==l.documentationFormat?a.documentation=function(e,t){switch(e){case"$string":return t;case i.MarkupKind.PlainText:return{kind:e,value:t};case i.MarkupKind.Markdown:return{kind:e,value:t.value};default:return"Unsupported Markup content received. Kind is: "+e}}(l.documentationFormat,e.documentation):a.documentation=e.documentation),e.filterText&&(a.filterText=e.filterText),function(e,t){var o,r=i.InsertTextFormat.PlainText,s=void 0;t.textEdit?(o=t.textEdit.newText,s=f(t.textEdit.range)):t.insertText instanceof n.SnippetString?(r=i.InsertTextFormat.Snippet,o=t.insertText.value):o=t.insertText;t.range&&(s=f(t.range));e.insertTextFormat=r,t.fromEdit&&o&&s?e.textEdit={newText:o,range:s}:e.insertText=o}(a,e),r.number(e.kind)&&(a.kind=(t=e.kind,void 0!==(o=l&&l.originalItemKind)?o:t+1)),e.sortText&&(a.sortText=e.sortText),e.additionalTextEdits&&(a.additionalTextEdits=function(e){if(null==e)return e;return e.map(v)}(e.additionalTextEdits)),e.commitCharacters&&(a.commitCharacters=e.commitCharacters.slice()),e.command&&(a.command=b(e.command)),!0!==e.preselect&&!1!==e.preselect||(a.preselect=e.preselect),l&&(void 0!==l.data&&(a.data=l.data),!0!==l.deprecated&&!1!==l.deprecated||(a.deprecated=l.deprecated)),a},asTextEdit:v,asReferenceParams:function(e,t,o){return{textDocument:u(e),position:g(t),context:{includeDeclaration:o.includeDeclaration}}},asCodeActionContext:function(e){return null==e?e:i.CodeActionContext.create(y(e.diagnostics),r.string(e.only)?[e.only]:void 0)},asCommand:b,asCodeLens:function(e){var t=i.CodeLens.create(f(e.range));return e.command&&(t.command=b(e.command)),e instanceof a.default&&e.data&&(t.data=e.data),t},asFormattingOptions:function(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}},asDocumentSymbolParams:function(e){return{textDocument:u(e)}},asCodeLensParams:function(e){return{textDocument:u(e)}},asDocumentLink:function(e){var t=i.DocumentLink.create(f(e.range));e.target&&(t.target=o(e.target));var n=e instanceof l.default?e:void 0;return n&&n.data&&(t.data=n.data),t},asDocumentLinkParams:function(e){return{textDocument:u(e)}}}}},function(e,t,o){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}},i=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s};Object.defineProperty(t,"__esModule",{value:!0});var r,s=o(109),a=o(101),l=o(138),u=o(310),c=o(311),h=o(312);!function(e){e.is=function(e){var t=e;return t&&l.string(t.language)&&l.string(t.value)}}(r||(r={})),t.createConverter=function(e){var t=e||function(e){return s.Uri.parse(e)};function o(e){return t(e)}function d(e){return e.map(g)}function g(e){var t=new s.Diagnostic(m(e.range),e.message,_(e.severity));return(l.number(e.code)||l.string(e.code))&&(t.code=e.code),e.source&&(t.source=e.source),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(p)),t}function p(e){return new s.DiagnosticRelatedInformation(k(e.location),e.message)}function f(e){if(e)return new s.Position(e.line,e.character)}function m(e){if(e)return new s.Range(f(e.start),f(e.end))}function _(e){if(null==e)return s.DiagnosticSeverity.Error;switch(e){case a.DiagnosticSeverity.Error:return s.DiagnosticSeverity.Error;case a.DiagnosticSeverity.Warning:return s.DiagnosticSeverity.Warning;case a.DiagnosticSeverity.Information:return s.DiagnosticSeverity.Information;case a.DiagnosticSeverity.Hint:return s.DiagnosticSeverity.Hint}return s.DiagnosticSeverity.Error}function y(e){if(l.string(e))return e;switch(e.kind){case a.MarkupKind.Markdown:return new s.MarkdownString(e.value);case a.MarkupKind.PlainText:return e.value;default:return"Unsupported Markup content received. Kind is: "+e.kind}}function v(e){var t=new u.default(e.label);e.detail&&(t.detail=e.detail),e.documentation&&(t.documentation=y(e.documentation),t.documentationFormat=l.string(e.documentation)?"$string":e.documentation.kind),e.filterText&&(t.filterText=e.filterText);var o,n=function(e){return e.textEdit?e.insertTextFormat===a.InsertTextFormat.Snippet?{text:new s.SnippetString(e.textEdit.newText),range:m(e.textEdit.range),fromEdit:!0}:{text:e.textEdit.newText,range:m(e.textEdit.range),fromEdit:!0}:e.insertText?e.insertTextFormat===a.InsertTextFormat.Snippet?{text:new s.SnippetString(e.insertText),fromEdit:!1}:{text:e.insertText,fromEdit:!1}:void 0}(e);if(n&&(t.insertText=n.text,t.range=n.range,t.fromEdit=n.fromEdit),l.number(e.kind)){var r=i((o=e.kind,a.CompletionItemKind.Text<=o&&o<=a.CompletionItemKind.TypeParameter?[o-1,void 0]:[s.CompletionItemKind.Text,o]),2),c=r[0],h=r[1];t.kind=c,h&&(t.originalItemKind=h)}return e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=E(e.additionalTextEdits)),l.stringArray(e.commitCharacters)&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=D(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(t.deprecated=e.deprecated),!0!==e.preselect&&!1!==e.preselect||(t.preselect=e.preselect),void 0!==e.data&&(t.data=e.data),t}function b(e){if(e)return new s.TextEdit(m(e.range),e.newText)}function E(e){if(e)return e.map(b)}function C(e){return e.map(S)}function S(e){var t=new s.SignatureInformation(e.label);return e.documentation&&(t.documentation=y(e.documentation)),e.parameters&&(t.parameters=T(e.parameters)),t}function T(e){return e.map(w)}function w(e){var t=new s.ParameterInformation(e.label);return e.documentation&&(t.documentation=y(e.documentation)),t}function k(e){if(e)return new s.Location(t(e.uri),m(e.range))}function O(e){var t=new s.DocumentHighlight(m(e.range));return l.number(e.kind)&&(t.kind=R(e.kind)),t}function R(e){switch(e){case a.DocumentHighlightKind.Text:return s.DocumentHighlightKind.Text;case a.DocumentHighlightKind.Read:return s.DocumentHighlightKind.Read;case a.DocumentHighlightKind.Write:return s.DocumentHighlightKind.Write}return s.DocumentHighlightKind.Text}function N(e){return e<=a.SymbolKind.TypeParameter?e-1:s.SymbolKind.Property}function I(e,o){var n=new s.SymbolInformation(e.name,N(e.kind),m(e.location.range),e.location.uri?t(e.location.uri):o);return e.containerName&&(n.containerName=e.containerName),n}function L(e){var t,o,i=new s.DocumentSymbol(e.name,void 0!==e.detail?e.detail:e.name,N(e.kind),m(e.range),m(e.selectionRange));if(void 0!==e.children&&e.children.length>0){var r=[];try{for(var a=n(e.children),l=a.next();!l.done;l=a.next()){var u=l.value;r.push(L(u))}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}i.children=r}return i}function D(e){var t={title:e.title,command:e.command};return e.arguments&&(t.arguments=e.arguments),t}var A=new Map;function P(e){if(e){var t=new c.default(m(e.range));return e.command&&(t.command=D(e.command)),void 0!==e.data&&null!==e.data&&(t.data=e.data),t}}function x(e){if(e){var o=new s.WorkspaceEdit;return e.documentChanges?e.documentChanges.forEach((function(e){o.set(t(e.textDocument.uri),E(e.edits))})):e.changes&&Object.keys(e.changes).forEach((function(n){o.set(t(n),E(e.changes[n]))})),o}}function M(e){var t=m(e.range),n=e.target?o(e.target):void 0,i=new h.default(t,n);return void 0!==e.data&&null!==e.data&&(i.data=e.data),i}function B(e){return new s.Color(e.red,e.green,e.blue,e.alpha)}function F(e){return new s.ColorInformation(m(e.range),B(e.color))}function H(e){var t=new s.ColorPresentation(e.label);return t.additionalTextEdits=E(e.additionalTextEdits),e.textEdit&&(t.textEdit=b(e.textEdit)),t}function U(e){if(e)switch(e){case a.FoldingRangeKind.Comment:return s.FoldingRangeKind.Comment;case a.FoldingRangeKind.Imports:return s.FoldingRangeKind.Imports;case a.FoldingRangeKind.Region:return s.FoldingRangeKind.Region}}function V(e){return new s.FoldingRange(e.startLine,e.endLine,U(e.kind))}return A.set("",s.CodeActionKind.Empty),A.set(a.CodeActionKind.QuickFix,s.CodeActionKind.QuickFix),A.set(a.CodeActionKind.Refactor,s.CodeActionKind.Refactor),A.set(a.CodeActionKind.RefactorExtract,s.CodeActionKind.RefactorExtract),A.set(a.CodeActionKind.RefactorInline,s.CodeActionKind.RefactorInline),A.set(a.CodeActionKind.RefactorRewrite,s.CodeActionKind.RefactorRewrite),A.set(a.CodeActionKind.Source,s.CodeActionKind.Source),A.set(a.CodeActionKind.SourceOrganizeImports,s.CodeActionKind.SourceOrganizeImports),{asUri:o,asDiagnostics:d,asDiagnostic:g,asRange:m,asPosition:f,asDiagnosticSeverity:_,asHover:function(e){if(e)return new s.Hover(function(e){var t,o;if(l.string(e))return new s.MarkdownString(e);if(r.is(e))return(i=new s.MarkdownString).appendCodeblock(e.value,e.language);if(Array.isArray(e)){var i=[];try{for(var u=n(e),c=u.next();!c.done;c=u.next()){var h=c.value,d=new s.MarkdownString;r.is(h)?d.appendCodeblock(h.value,h.language):d.appendMarkdown(h),i.push(d)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(o=u.return)&&o.call(u)}finally{if(t)throw t.error}}return i}switch(i=void 0,e.kind){case a.MarkupKind.Markdown:return new s.MarkdownString(e.value);case a.MarkupKind.PlainText:return(i=new s.MarkdownString).appendText(e.value),i;default:return(i=new s.MarkdownString).appendText("Unsupported Markup content received. Kind is: "+e.kind),i}}(e.contents),m(e.range))},asCompletionResult:function(e){if(e){if(Array.isArray(e))return e.map(v);var t=e;return new s.CompletionList(t.items.map(v),t.isIncomplete)}},asCompletionItem:v,asTextEdit:b,asTextEdits:E,asSignatureHelp:function(e){if(e){var t=new s.SignatureHelp;return l.number(e.activeSignature)?t.activeSignature=e.activeSignature:t.activeSignature=0,l.number(e.activeParameter)?t.activeParameter=e.activeParameter:t.activeParameter=0,e.signatures&&(t.signatures=C(e.signatures)),t}},asSignatureInformations:C,asSignatureInformation:S,asParameterInformations:T,asParameterInformation:w,asDefinitionResult:function(e){if(e)return l.array(e)?e.map((function(e){return k(e)})):k(e)},asLocation:k,asReferences:function(e){if(e)return e.map((function(e){return k(e)}))},asDocumentHighlights:function(e){if(e)return e.map(O)},asDocumentHighlight:O,asDocumentHighlightKind:R,asSymbolInformations:function(e,t){if(e)return e.map((function(e){return I(e,t)}))},asSymbolInformation:I,asDocumentSymbols:function(e){if(null!=e)return e.map(L)},asDocumentSymbol:L,asCommand:D,asCommands:function(e){if(e)return e.map(D)},asCodeAction:function(e){if(null!=e){var t=new s.CodeAction(e.title);return void 0!==e.kind&&(t.kind=function(e){var t,o;if(null!=e){var i=A.get(e);if(i)return i;var r=e.split(".");i=s.CodeActionKind.Empty;try{for(var a=n(r),l=a.next();!l.done;l=a.next()){var u=l.value;i=i.append(u)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}return i}}(e.kind)),e.diagnostics&&(t.diagnostics=d(e.diagnostics)),e.edit&&(t.edit=x(e.edit)),e.command&&(t.command=D(e.command)),t}},asCodeLens:P,asCodeLenses:function(e){if(e)return e.map((function(e){return P(e)}))},asWorkspaceEdit:x,asDocumentLink:M,asDocumentLinks:function(e){if(e)return e.map(M)},asFoldingRangeKind:U,asFoldingRange:V,asFoldingRanges:function(e){if(Array.isArray(e))return e.map(V)},asColor:B,asColorInformation:F,asColorInformations:function(e){if(Array.isArray(e))return e.map(F)},asColorPresentation:H,asColorPresentations:function(e){if(Array.isArray(e))return e.map(H)}}}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.defaultDelay=e,this.timeout=void 0,this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0}return e.prototype.trigger=function(e,t){var o=this;return void 0===t&&(t=this.defaultDelay),this.task=e,t>=0&&this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((function(e){o.onSuccess=e})).then((function(){o.completionPromise=void 0,o.onSuccess=void 0;var e=o.task();return o.task=void 0,e}))),(t>=0||void 0===this.timeout)&&(this.timeout=setTimeout((function(){o.timeout=void 0,o.onSuccess(void 0)}),t>=0?t:this.defaultDelay)),this.completionPromise},e.prototype.forceDelivery=function(){if(this.completionPromise){this.cancelTimeout();var e=this.task();return this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0,e}},e.prototype.isTriggered=function(){return void 0!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise=void 0},e.prototype.cancelTimeout=function(){void 0!==this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)},e}();t.Delayer=n},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.TypeDefinitionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"typeDefinition").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.typeDefinitionProvider)if(!0===e.typeDefinitionProvider){if(!t)return;this.register(this.messages,{id:r.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})}else{var o=e.typeDefinitionProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(l.TypeDefinitionRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(l.TypeDefinitionRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return a.languages.registerTypeDefinitionProvider(e.documentSelector,{provideTypeDefinition:function(e,t,i){return n.provideTypeDefinition?n.provideTypeDefinition(e,t,i,o):o(e,t,i)}})},t}(o(151).TextDocumentFeature);t.TypeDefinitionFeature=c},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.ImplementationRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"implementation").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.implementationProvider)if(!0===e.implementationProvider){if(!t)return;this.register(this.messages,{id:r.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})}else{var o=e.implementationProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(l.ImplementationRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(l.ImplementationRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return a.languages.registerImplementationProvider(e.documentSelector,{provideImplementation:function(e,t,i){return n.provideImplementation?n.provideImplementation(e,t,i,o):o(e,t,i)}})},t}(o(151).TextDocumentFeature);t.ImplementationFeature=c},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.DocumentColorRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"colorProvider").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.colorProvider){var o=e.colorProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this,o=this._client,n=function(e,n,i){var r={color:e,textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(n.document),range:o.code2ProtocolConverter.asRange(n.range)};return o.sendRequest(l.ColorPresentationRequest.type,r,i).then(t.asColorPresentations.bind(t),(function(e){return o.logFailedRequest(l.ColorPresentationRequest.type,e),Promise.resolve(null)}))},i=function(e,n){var i={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e)};return o.sendRequest(l.DocumentColorRequest.type,i,n).then(t.asColorInformations.bind(t),(function(e){return o.logFailedRequest(l.ColorPresentationRequest.type,e),Promise.resolve(null)}))},r=o.clientOptions.middleware;return a.languages.registerColorProvider(e.documentSelector,{provideColorPresentations:function(e,t,o){return r.provideColorPresentations?r.provideColorPresentations(e,t,o,n):n(e,t,o)},provideDocumentColors:function(e,t){return r.provideDocumentColors?r.provideDocumentColors(e,t,i):i(e,t)}})},t.prototype.asColor=function(e){return new a.Color(e.red,e.green,e.blue,e.alpha)},t.prototype.asColorInformations=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return new a.ColorInformation(t._client.protocol2CodeConverter.asRange(e.range),t.asColor(e.color))})):[]},t.prototype.asColorPresentations=function(e){var t=this;return Array.isArray(e)?e.map((function(e){var o=new a.ColorPresentation(e.label);return o.additionalTextEdits=t._client.protocol2CodeConverter.asTextEdits(e.additionalTextEdits),o.textEdit=t._client.protocol2CodeConverter.asTextEdit(e.textEdit),o})):[]},t}(o(151).TextDocumentFeature);t.ColorProviderFeature=c},function(e,t,o){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(152),r=o(109),s=o(101);function a(e,t){if(void 0!==e)return e[t]}var l=function(){function e(e){this._client=e,this._listeners=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return s.DidChangeWorkspaceFoldersNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillInitializeParams=function(e){var t=this,o=r.workspace.workspaceFolders;e.workspaceFolders=void 0===o?null:o.map((function(e){return t.asProtocol(e)}))},e.prototype.fillClientCapabilities=function(e){e.workspace=e.workspace||{},e.workspace.workspaceFolders=!0},e.prototype.initialize=function(e){var t=this,o=this._client;o.onRequest(s.WorkspaceFoldersRequest.type,(function(e){var n=function(){var e=r.workspace.workspaceFolders;return void 0===e?null:e.map((function(e){return t.asProtocol(e)}))},i=o.clientOptions.middleware.workspace;return i&&i.workspaceFolders?i.workspaceFolders(e,n):n()}));var n,l=a(a(a(e,"workspace"),"workspaceFolders"),"changeNotifications");"string"==typeof l?n=l:!0===l&&(n=i.generateUuid()),n&&this.register(this.messages,{id:n,registerOptions:void 0})},e.prototype.register=function(e,t){var o=this,n=t.id,i=this._client,a=r.workspace.onDidChangeWorkspaceFolders((function(e){var t=function(e){var t={event:{added:e.added.map((function(e){return o.asProtocol(e)})),removed:e.removed.map((function(e){return o.asProtocol(e)}))}};o._client.sendNotification(s.DidChangeWorkspaceFoldersNotification.type,t)},n=i.clientOptions.middleware.workspace;n&&n.didChangeWorkspaceFolders?n.didChangeWorkspaceFolders(e,t):t(e)}));this._listeners.set(n,a)},e.prototype.unregister=function(e){var t=this._listeners.get(e);void 0!==t&&(this._listeners.delete(e),t.dispose())},e.prototype.dispose=function(){var e,t;try{for(var o=n(this._listeners.values()),i=o.next();!i.done;i=o.next()){i.value.dispose()}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}this._listeners.clear()},e.prototype.asProtocol=function(e){return void 0===e?null:{uri:this._client.code2ProtocolConverter.asUri(e.uri),name:e.name}},e}();t.WorkspaceFoldersFeature=l},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.FoldingRangeRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=u(u(e,"textDocument"),"foldingRange");t.dynamicRegistration=!0,t.rangeLimit=5e3,t.lineFoldingOnly=!0},t.prototype.initialize=function(e,t){if(e.foldingRangeProvider){var o=e.foldingRangeProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this,o=this._client,n=function(e,n,i){var r={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e)};return o.sendRequest(l.FoldingRangeRequest.type,r,i).then(t.asFoldingRanges.bind(t),(function(e){return o.logFailedRequest(l.FoldingRangeRequest.type,e),Promise.resolve(null)}))},i=o.clientOptions.middleware;return a.languages.registerFoldingRangeProvider(e.documentSelector,{provideFoldingRanges:function(e,t,o){return i.provideFoldingRanges?i.provideFoldingRanges(e,t,o,n):n(e,0,o)}})},t.prototype.asFoldingRangeKind=function(e){if(e)switch(e){case l.FoldingRangeKind.Comment:return a.FoldingRangeKind.Comment;case l.FoldingRangeKind.Imports:return a.FoldingRangeKind.Imports;case l.FoldingRangeKind.Region:return a.FoldingRangeKind.Region}},t.prototype.asFoldingRanges=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return new a.FoldingRange(e.startLine,e.endLine,t.asFoldingRangeKind(e.kind))})):[]},t}(o(151).TextDocumentFeature);t.FoldingRangeFeature=c},function(e,t){e.exports=function(e,t){if("string"!=typeof e)throw new TypeError("Expected a string");for(var o,n=String(e),i="",r=!!t&&!!t.extended,s=!!t&&!!t.globstar,a=!1,l=t&&"string"==typeof t.flags?t.flags:"",u=0,c=n.length;u1&&("/"===h||void 0===h)&&("/"===g||void 0===g)?(i+="(?:[^/]*(?:/|$))*",u++):i+="[^/]*";else i+=".*";break;default:i+=o}return l&&~l.indexOf("g")||(i="^"+i+"$"),new RegExp(i,l)}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(185),i=function(){function e(e,t){this.name=e,this.p2m=t,this.diagnostics=new Map,this.toDispose=new n.DisposableCollection}return e.prototype.dispose=function(){this.toDispose.dispose()},e.prototype.get=function(e){var t=this.diagnostics.get(e);return t?t.diagnostics:[]},e.prototype.set=function(e,t){var o=this,i=this.diagnostics.get(e);if(i)i.diagnostics=t;else{var s=new r(e,t,this.name,this.p2m);this.diagnostics.set(e,s),this.toDispose.push(n.Disposable.create((function(){o.diagnostics.delete(e),s.dispose()})))}},e}();t.MonacoDiagnosticCollection=i;var r=function(){function e(e,t,o,n){var i=this;this.owner=o,this.p2m=n,this._markers=[],this._diagnostics=[],this.uri=monaco.Uri.parse(e),this.diagnostics=t,monaco.editor.onDidCreateModel((function(e){return i.doUpdateModelMarkers(e)}))}return Object.defineProperty(e.prototype,"diagnostics",{get:function(){return this._diagnostics},set:function(e){this._diagnostics=e,this._markers=this.p2m.asDiagnostics(e),this.updateModelMarkers()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"markers",{get:function(){return this._markers},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._markers=[],this.updateModelMarkers()},e.prototype.updateModelMarkers=function(){var e=monaco.editor.getModel(this.uri);this.doUpdateModelMarkers(e)},e.prototype.doUpdateModelMarkers=function(e){e&&this.uri.toString()===e.uri.toString()&&monaco.editor.setModelMarkers(e,this.owner,this._markers)},e}();t.MonacoModelDiagnostics=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(317),i=o(313),r=o(315),s=o(316),a=o(314),l=o(121);!function(e){function t(e,t){void 0===t&&(t={});var o=new n.MonacoToProtocolConverter,l=new n.ProtocolToMonacoConverter;return{commands:new i.MonacoCommands(e),languages:new r.MonacoLanguages(l,o),workspace:new s.MonacoWorkspace(l,o,t.rootUri),window:new a.ConsoleWindow}}e.create=t,e.install=function(e,o){void 0===o&&(o={});var n=t(e,o);return l.Services.install(n),n},e.get=function(){return l.Services.get()}}(t.MonacoServices||(t.MonacoServices={}))},function(e,t,o){const n=o(537);n.setLocale=function(e){"function"==typeof e.default?n.Msg=Object.assign(n.Msg,e.default()):n.Msg=Object.assign(e,n.Msg)()},n.setLocale(o(538)),n.Blocks=Object.assign(n.Blocks,o(539)(n)),n.JavaScript=o(540)(n),n.Lua=o(541)(n),n.Dart=o(542)(n),n.PHP=o(543)(n),n.Python=o(544)(n),e.exports=n},function(module,exports){module.exports=function(){"use strict";var $jscomp=$jscomp||{};$jscomp.scope={};var COMPILED=!0,goog=goog||{};goog.global=this||self,goog.isDef=function(e){return void 0!==e},goog.isString=function(e){return"string"==typeof e},goog.isBoolean=function(e){return"boolean"==typeof e},goog.isNumber=function(e){return"number"==typeof e},goog.exportPath_=function(e,t,o){e=e.split("."),o=o||goog.global,e[0]in o||void 0===o.execScript||o.execScript("var "+e[0]);for(var n;e.length&&(n=e.shift());)!e.length&&goog.isDef(t)?o[n]=t:o=o[n]&&o[n]!==Object.prototype[n]?o[n]:o[n]={}},goog.define=function(e,t){var o=t;if(!COMPILED){var n=goog.global.CLOSURE_UNCOMPILED_DEFINES,i=goog.global.CLOSURE_DEFINES;n&&void 0===n.nodeType&&Object.prototype.hasOwnProperty.call(n,e)?o=n[e]:i&&void 0===i.nodeType&&Object.prototype.hasOwnProperty.call(i,e)&&(o=i[e])}return o},goog.FEATURESET_YEAR=2012,goog.DEBUG=!1,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(e){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');goog.constructNamespace_(e)},goog.constructNamespace_=function(e,t){if(!COMPILED){delete goog.implicitNamespaces_[e];for(var o=e;(o=o.substring(0,o.lastIndexOf(".")))&&!goog.getObjectByName(o);)goog.implicitNamespaces_[o]=!0}goog.exportPath_(e,t)},goog.getScriptNonce=function(e){return e&&e!=goog.global?goog.getScriptNonce_(e.document):(null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(e){return(e=e.querySelector&&e.querySelector("script[nonce]"))&&(e=e.nonce||e.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(e)?e:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(e){if(!goog.isString(e)||!e||-1==e.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+e+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");if(goog.moduleLoaderState_.moduleName=e,!COMPILED){if(goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');delete goog.implicitNamespaces_[e]}},goog.module.get=function(e){return goog.module.getInternal_(e)},goog.module.getInternal_=function(e){if(!COMPILED){if(e in goog.loadedModules_)return goog.loadedModules_[e].exports;if(!goog.implicitNamespaces_[e])return null!=(e=goog.getObjectByName(e))?e:null}return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var e=goog.global.$jscomp;return!!e&&("function"==typeof e.getCurrentModulePath&&!!e.getCurrentModulePath())},goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(e){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.declareModuleId may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.declareModuleId may only be called once per module.");if(e in goog.loadedModules_)throw Error('Module with namespace "'+e+'" already exists.')}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=e;else{var t=goog.global.$jscomp;if(!t||"function"!=typeof t.getCurrentModulePath)throw Error('Module with namespace "'+e+'" has been loaded incorrectly.');t=t.require(t.getCurrentModulePath()),goog.loadedModules_[e]={exports:t,type:goog.ModuleType.ES6,moduleId:e}}},goog.setTestOnly=function(e){if(goog.DISALLOW_TEST_ONLY_CODE)throw e=e||"",Error("Importing test-only code into non-debug environment"+(e?": "+e:"."))},goog.forwardDeclare=function(e){},COMPILED||(goog.isProvided_=function(e){return e in goog.loadedModules_||!goog.implicitNamespaces_[e]&&goog.isDefAndNotNull(goog.getObjectByName(e))},goog.implicitNamespaces_={"goog.module":!0}),goog.getObjectByName=function(e,t){for(var o=e.split("."),n=t||goog.global,i=0;i>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(e){var t=goog.typeOf(e);if("object"==t||"array"==t){if("function"==typeof e.clone)return e.clone();for(var o in t="array"==t?[]:{},e)t[o]=goog.cloneObject(e[o]);return t}return e},goog.bindNative_=function(e,t,o){return e.call.apply(e.bind,arguments)},goog.bindJs_=function(e,t,o){if(!e)throw Error();if(2{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')})),a("es7",(function(){return b("2 ** 2 == 4")})),a("es8",(function(){return b("async () => 1, true")})),a("es9",(function(){return b("({...rest} = {}), true")})),a("es_next",(function(){return!1})),{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(e,t){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var o=this.createRequiresTranspilation_();this.requiresTranspilation_=o.map,this.transpilationTarget_=this.transpilationTarget_||o.target}if(e in this.requiresTranspilation_)return!!this.requiresTranspilation_[e]||!(!goog.inHtmlDocument_()||"es6"!=t||"noModule"in goog.global.document.createElement("script"));throw Error("Unknown language mode: "+e)},goog.Transpiler.prototype.transpile=function(e,t){return goog.transpile_(e,t,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(e){return e.replace(/<\/(SCRIPT)/gi,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={},this.idToPath_={},this.written_={},this.loadingDeps_=[],this.depsToLoad_=[],this.paused_=!1,this.factory_=new goog.DependencyFactory(goog.transpiler_),this.deferredCallbacks_={},this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(e,t){function o(){n&&(goog.global.setTimeout(n,0),n=null)}var n=t;if(e.length){for(var i=[],r=0;r<\/script>",t.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}else{var i=t.createElement("script");i.defer=goog.Dependency.defer_,i.async=!1,i.type="text/javascript",(n=goog.getScriptNonce())&&i.setAttribute("nonce",n),goog.DebugLoader_.IS_OLD_IE_?(e.pause(),i.onreadystatechange=function(){"loaded"!=i.readyState&&"complete"!=i.readyState||(e.loaded(),e.resume())}):i.onload=function(){i.onload=null,e.loaded()},i.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path,t.head.appendChild(i)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),e.loaded()):e.pause()},goog.Es6ModuleDependency=function(e,t,o,n,i){goog.Dependency.call(this,e,t,o,n,i)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(e){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?e.loaded():e.pause();else if(goog.inHtmlDocument_()){var t=goog.global.document,o=this;if(goog.isDocumentLoading_()){var n=function(e,o){var n=o?' - - Skip to content

    404 - Page Not Found

    We can’t find that page - it may be a broken link, or a misspelling in the URL. If you’ve found a broken link, please let us know and we’ll fix it!

    -

    In the meantime, why not try searching for the page using our search bar at the top or return to the docs home?

    - -

    3 Robots Collision

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/_astro/Robocon_logo_blackandwhite.BTX7Wlek_ZPu64F.webp b/shepherd/blueprints/staticroutes/docs/_astro/Robocon_logo_blackandwhite.BTX7Wlek_ZPu64F.webp deleted file mode 100644 index 245f4d3..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/Robocon_logo_blackandwhite.BTX7Wlek_ZPu64F.webp and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js b/shepherd/blueprints/staticroutes/docs/_astro/Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js deleted file mode 100644 index 646075f..0000000 --- a/shepherd/blueprints/staticroutes/docs/_astro/Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js +++ /dev/null @@ -1 +0,0 @@ -class r extends HTMLElement{static#e=new Map;#t;#n="starlight-synced-tabs__";constructor(){super();const t=this.querySelector('[role="tablist"]');if(this.tabs=[...t.querySelectorAll('[role="tab"]')],this.panels=[...this.querySelectorAll(':scope > [role="tabpanel"]')],this.#t=this.dataset.syncKey,this.#t){const i=r.#e.get(this.#t)??[];i.push(this),r.#e.set(this.#t,i)}this.tabs.forEach((i,c)=>{i.addEventListener("click",e=>{e.preventDefault();const n=t.querySelector('[aria-selected="true"]');e.currentTarget!==n&&this.switchTab(e.currentTarget,c)}),i.addEventListener("keydown",e=>{const n=this.tabs.indexOf(e.currentTarget),s=e.key==="ArrowLeft"?n-1:e.key==="ArrowRight"?n+1:e.key==="Home"?0:e.key==="End"?this.tabs.length-1:null;s!==null&&this.tabs[s]&&(e.preventDefault(),this.switchTab(this.tabs[s],s))})})}switchTab(t,i,c=!0){if(!t)return;const e=c?this.getBoundingClientRect().top:0;this.tabs.forEach(s=>{s.setAttribute("aria-selected","false"),s.setAttribute("tabindex","-1")}),this.panels.forEach(s=>{s.hidden=!0});const n=this.panels[i];n&&(n.hidden=!1),t.removeAttribute("tabindex"),t.setAttribute("aria-selected","true"),c&&(t.focus(),r.#r(this,t),window.scrollTo({top:window.scrollY+(this.getBoundingClientRect().top-e)}))}#i(t){!this.#t||typeof localStorage>"u"||localStorage.setItem(this.#n+this.#t,t)}static#r(t,i){const c=t.#t,e=r.#s(i);if(!c||!e)return;const n=r.#e.get(c);if(n){for(const s of n){if(s===t)continue;const a=s.tabs.findIndex(o=>r.#s(o)===e);a!==-1&&s.switchTab(s.tabs[a],a,!1)}t.#i(e)}}static#s(t){return t.textContent?.trim()}}customElements.define("starlight-tabs",r); diff --git a/shepherd/blueprints/staticroutes/docs/_astro/ec.8zarh.js b/shepherd/blueprints/staticroutes/docs/_astro/ec.8zarh.js deleted file mode 100644 index bf1115d..0000000 --- a/shepherd/blueprints/staticroutes/docs/_astro/ec.8zarh.js +++ /dev/null @@ -1,3 +0,0 @@ -try{(()=>{function a(e){if(!e)return;let t=e.getAttribute("tabindex")!==null,n=e.scrollWidth>e.clientWidth;n&&!t?e.setAttribute("tabindex","0"):!n&&t&&e.removeAttribute("tabindex")}var u=window.requestIdleCallback||(e=>setTimeout(e,1)),i=window.cancelIdleCallback||clearTimeout;function l(e){let t=new Set,n,r;return new ResizeObserver(c=>{c.forEach(o=>t.add(o.target)),n&&clearTimeout(n),r&&i(r),n=setTimeout(()=>{r&&i(r),r=u(()=>{t.forEach(o=>e(o)),t.clear()})},250)})}function d(e,t){e.querySelectorAll?.(".expressive-code pre > code").forEach(n=>{let r=n.parentElement;r&&t.observe(r)})}var s=l(a);d(document,s);var b=new MutationObserver(e=>e.forEach(t=>t.addedNodes.forEach(n=>{d(n,s)})));b.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{d(document,s)});})();}catch(e){console.error("[EC] tabindex-js-module failed:",e)} -try{(()=>{function i(o){let e=document.createElement("pre");Object.assign(e.style,{opacity:"0",pointerEvents:"none",position:"absolute",overflow:"hidden",left:"0",top:"0",width:"20px",height:"20px",webkitUserSelect:"auto",userSelect:"all"}),e.ariaHidden="true",e.textContent=o,document.body.appendChild(e);let a=document.createRange();a.selectNode(e);let n=getSelection();if(!n)return!1;n.removeAllRanges(),n.addRange(a);let r=!1;try{r=document.execCommand("copy")}finally{n.removeAllRanges(),document.body.removeChild(e)}return r}async function l(o){let e=o.currentTarget,a=e.dataset,n=!1,r=a.code.replace(/\u007f/g,` -`);try{await navigator.clipboard.writeText(r),n=!0}catch{n=i(r)}if(!n||e.parentNode?.querySelector(".feedback"))return;let t=document.createElement("div");t.classList.add("feedback"),t.append(a.copied),e.before(t),t.offsetWidth,requestAnimationFrame(()=>t?.classList.add("show"));let c=()=>!t||t.classList.remove("show"),d=()=>{!t||parseFloat(getComputedStyle(t).opacity)>0||(t.remove(),t=void 0)};setTimeout(c,1500),setTimeout(d,2500),e.addEventListener("blur",c),t.addEventListener("transitioncancel",d),t.addEventListener("transitionend",d)}function s(o){o.querySelectorAll?.(".expressive-code .copy button").forEach(e=>e.addEventListener("click",l))}s(document);var u=new MutationObserver(o=>o.forEach(e=>e.addedNodes.forEach(a=>{s(a)})));u.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{s(document)});})();}catch(e){console.error("[EC] copy-js-module failed:",e)} \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/_astro/ec.j8ofn.css b/shepherd/blueprints/staticroutes/docs/_astro/ec.j8ofn.css deleted file mode 100644 index 62e6fed..0000000 --- a/shepherd/blueprints/staticroutes/docs/_astro/ec.j8ofn.css +++ /dev/null @@ -1 +0,0 @@ -.expressive-code{font-family:var(--ec-uiFontFml);font-size:var(--ec-uiFontSize);font-weight:var(--ec-uiFontWg);line-height:var(--ec-uiLineHt);text-size-adjust:none;-webkit-text-size-adjust:none}.expressive-code *:not(path){all:revert;box-sizing:border-box}.expressive-code pre{display:flex;margin:0;padding:0;border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));background:var(--ec-codeBg)}.expressive-code pre:focus-visible{outline:3px solid var(--ec-focusBrd);outline-offset:-3px}.expressive-code pre > code{all:unset;display:block;flex:1 0 100%;padding:var(--ec-codePadBlk) 0;color:var(--ec-codeFg);font-family:var(--ec-codeFontFml);font-size:var(--ec-codeFontSize);font-weight:var(--ec-codeFontWg);line-height:var(--ec-codeLineHt)}.expressive-code pre{overflow-x:auto}.expressive-code pre.wrap .ec-line .code{white-space:pre-wrap;overflow-wrap:break-word;min-width:min(20ch, var(--ecMaxLine, 20ch))}.expressive-code pre.wrap .ec-line .code span.indent{white-space:pre}.expressive-code pre::-webkit-scrollbar,.expressive-code pre::-webkit-scrollbar-track{background-color:inherit;border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));border-top-left-radius:0;border-top-right-radius:0}.expressive-code pre::-webkit-scrollbar-thumb{background-color:var(--ec-sbThumbCol);border:4px solid transparent;background-clip:content-box;border-radius:10px}.expressive-code pre::-webkit-scrollbar-thumb:hover{background-color:var(--ec-sbThumbHoverCol)}.expressive-code .ec-line{direction:ltr;unicode-bidi:isolate;display:grid;grid-template-areas:'gutter code';grid-template-columns:auto 1fr;position:relative}.expressive-code .ec-line .gutter{grid-area:gutter;color:var(--ec-gtrFg)}.expressive-code .ec-line .gutter > *{pointer-events:none;user-select:none;-webkit-user-select:none}.expressive-code .ec-line .gutter ~ .code{--ecLineBrdCol:var(--ec-gtrBrdCol)}.expressive-code .ec-line.highlight .gutter{color:var(--ec-gtrHlFg)}.expressive-code .ec-line .code{grid-area:code;position:relative;box-sizing:content-box;padding-inline-start:calc(var(--ecIndent, 0ch) + var(--ec-codePadInl) - var(--ecGtrBrdWd));padding-inline-end:var(--ec-codePadInl);text-indent:calc(var(--ecIndent, 0ch) * -1)}.expressive-code .ec-line .code::before,.expressive-code .ec-line .code::after,.expressive-code .ec-line .code :where(*){text-indent:0}.expressive-code .ec-line .code{--ecGtrBrdWd:var(--ec-gtrBrdWd);border-inline-start:var(--ecGtrBrdWd) solid var(--ecLineBrdCol, transparent)}.expressive-code :nth-child(1 of .ec-line) .code{padding-inline-end:calc(2rem + var(--ec-codePadInl))}.expressive-code .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.expressive-code .ec-line.mark{--tmLineBgCol:var(--ec-tm-markBg)}.expressive-code .ec-line.mark .code{--ecLineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line.ins{--tmLineBgCol:var(--ec-tm-insBg);--tmLabel:var(--ec-tm-insDiffIndContent)}.expressive-code .ec-line.ins .code{--ecLineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line.ins .code::before{color:var(--ec-tm-insDiffIndCol)}.expressive-code .ec-line.del{--tmLineBgCol:var(--ec-tm-delBg);--tmLabel:var(--ec-tm-delDiffIndContent)}.expressive-code .ec-line.del .code{--ecLineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line.del .code::before{color:var(--ec-tm-delDiffIndCol)}.expressive-code .ec-line.mark,.expressive-code .ec-line.ins,.expressive-code .ec-line.del{background:var(--tmLineBgCol)}.expressive-code .ec-line.mark .code,.expressive-code .ec-line.ins .code,.expressive-code .ec-line.del .code{--ecGtrBrdWd:var(--ec-tm-lineMarkerAccentWd)}.expressive-code .ec-line.mark .code::before,.expressive-code .ec-line.ins .code::before,.expressive-code .ec-line.del .code::before{display:block;position:absolute;left:0;box-sizing:border-box;content:var(--tmLabel, ' ');padding-inline-start:var(--ec-tm-lineDiffIndMargLeft);text-align:center;white-space:pre}.expressive-code .ec-line.mark.tm-label .code::before,.expressive-code .ec-line.ins.tm-label .code::before,.expressive-code .ec-line.del.tm-label .code::before{background:var(--ecLineBrdCol);padding:0 calc(var(--ec-tm-lineMarkerLabelPadInl) + var(--ec-tm-lineMarkerAccentWd)) 0 var(--ec-tm-lineMarkerLabelPadInl);color:var(--ec-tm-lineMarkerLabelCol)}.expressive-code .ec-line mark{--tmInlineBgCol:var(--ec-tm-markBg);--tmInlineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line ins{--tmInlineBgCol:var(--ec-tm-insBg);--tmInlineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line del{--tmInlineBgCol:var(--ec-tm-delBg);--tmInlineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line mark,.expressive-code .ec-line ins,.expressive-code .ec-line del{all:unset;display:inline-block;position:relative;--tmBrdL:var(--ec-tm-inlMarkerBrdWd);--tmBrdR:var(--ec-tm-inlMarkerBrdWd);--tmRadL:var(--ec-tm-inlMarkerBrdRad);--tmRadR:var(--ec-tm-inlMarkerBrdRad);margin-inline:0.025rem;padding-inline:var(--ec-tm-inlMarkerPad);border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);background:var(--tmInlineBgCol);background-clip:padding-box}.expressive-code .ec-line mark.open-start,.expressive-code .ec-line ins.open-start,.expressive-code .ec-line del.open-start{margin-inline-start:0;padding-inline-start:0;--tmBrdL:0px;--tmRadL:0}.expressive-code .ec-line mark.open-end,.expressive-code .ec-line ins.open-end,.expressive-code .ec-line del.open-end{margin-inline-end:0;padding-inline-end:0;--tmBrdR:0px;--tmRadR:0}.expressive-code .ec-line mark::before,.expressive-code .ec-line ins::before,.expressive-code .ec-line del::before{content:'';position:absolute;pointer-events:none;display:inline-block;inset:0;border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);border:var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol);border-inline-width:var(--tmBrdL) var(--tmBrdR)}.expressive-code .frame{all:unset;position:relative;display:block;--header-border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));--tab-border-radius:calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd));--button-spacing:0.4rem;--code-background:var(--ec-frm-edBg);border-radius:var(--header-border-radius);box-shadow:var(--ec-frm-frameBoxShdCssVal)}.expressive-code .frame .header{display:none;z-index:1;position:relative;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0}.expressive-code .frame.has-title pre,.expressive-code .frame.has-title code,.expressive-code .frame.is-terminal pre,.expressive-code .frame.is-terminal code{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.expressive-code .frame .title:empty:before{content:'\a0'}.expressive-code .frame.has-title:not(.is-terminal){--button-spacing:calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)))}.expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;color:var(--ec-frm-edActTabFg);background:var(--ec-frm-edActTabBg);background-clip:padding-box;margin-block-start:var(--ec-frm-edTabsMargBlkStart);padding:calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl);border:var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol);border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;border-bottom:none;overflow:hidden}.expressive-code .frame.has-title:not(.is-terminal) .title::after{content:'';position:absolute;pointer-events:none;inset:0;border-top:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol);border-bottom:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol)}.expressive-code .frame.has-title:not(.is-terminal) .header{display:flex;background:linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)),linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg));background-repeat:no-repeat;padding-inline-start:var(--ec-frm-edTabsMargInlStart)}.expressive-code .frame.has-title:not(.is-terminal) .header::before{content:'';position:absolute;pointer-events:none;inset:0;border:var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol);border-radius:inherit;border-bottom:none}.expressive-code .frame.is-terminal{--button-spacing:calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk));--code-background:var(--ec-frm-trmBg)}.expressive-code .frame.is-terminal .header{display:flex;align-items:center;justify-content:center;padding-block:var(--ec-uiPadBlk);padding-block-end:calc(var(--ec-uiPadBlk) + var(--ec-brdWd));position:relative;font-weight:500;letter-spacing:0.025ch;color:var(--ec-frm-trmTtbFg);background:var(--ec-frm-trmTtbBg);border:var(--ec-brdWd) solid var(--ec-brdCol);border-bottom:none}.expressive-code .frame.is-terminal .header::before{content:'';position:absolute;pointer-events:none;left:var(--ec-uiPadInl);width:2.1rem;height:0.56rem;line-height:0;background-color:var(--ec-frm-trmTtbDotsFg);opacity:var(--ec-frm-trmTtbDotsOpa);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");mask-repeat:no-repeat}.expressive-code .frame.is-terminal .header::after{content:'';position:absolute;pointer-events:none;inset:0;border-bottom:var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol)}.expressive-code .frame pre{background:var(--code-background)}.expressive-code .copy{display:flex;gap:0.25rem;flex-direction:row;position:absolute;inset-block-start:calc(var(--ec-brdWd) + var(--button-spacing));inset-inline-end:calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2)}@media (scripting: none){.expressive-code .copy{display:none}}.expressive-code .copy{direction:ltr;unicode-bidi:isolate}.expressive-code .copy button{position:relative;align-self:flex-end;margin:0;padding:0;border:none;border-radius:0.2rem;z-index:1;cursor:pointer;transition-property:opacity, background, border-color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);width:2.5rem;height:2.5rem;background:var(--code-background);opacity:0.75}.expressive-code .copy button div{position:absolute;inset:0;border-radius:inherit;background:var(--ec-frm-inlBtnBg);opacity:var(--ec-frm-inlBtnBgIdleOpa);transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.expressive-code .copy button::before{content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd);opacity:var(--ec-frm-inlBtnBrdOpa)}.expressive-code .copy button::after{content:'';position:absolute;pointer-events:none;inset:0;background-color:var(--ec-frm-inlBtnFg);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");mask-repeat:no-repeat;margin:0.475rem;line-height:0}.expressive-code .copy button:hover,.expressive-code .copy button:focus:focus-visible{opacity:1}.expressive-code .copy button:hover div,.expressive-code .copy button:focus:focus-visible div{opacity:var(--ec-frm-inlBtnBgHoverOrFocusOpa)}.expressive-code .copy button:active{opacity:1}.expressive-code .copy button:active div{opacity:var(--ec-frm-inlBtnBgActOpa)}.expressive-code .copy .feedback{--tooltip-arrow-size:0.35rem;--tooltip-bg:var(--ec-frm-tooltipSuccessBg);color:var(--ec-frm-tooltipSuccessFg);pointer-events:none;user-select:none;-webkit-user-select:none;position:relative;align-self:center;background-color:var(--tooltip-bg);z-index:99;padding:0.125rem 0.75rem;border-radius:0.2rem;margin-inline-end:var(--tooltip-arrow-size);opacity:0;transition-property:opacity, transform;transition-duration:0.2s;transition-timing-function:ease-in-out;transform:translate3d(0, 0.25rem, 0)}.expressive-code .copy .feedback::after{content:'';position:absolute;pointer-events:none;top:calc(50% - var(--tooltip-arrow-size));inset-inline-end:calc(-2 * (var(--tooltip-arrow-size) - 0.5px));border:var(--tooltip-arrow-size) solid transparent;border-inline-start-color:var(--tooltip-bg)}.expressive-code .copy .feedback.show{opacity:1;transform:translate3d(0, 0, 0)}@media (hover: hover){.expressive-code{}.expressive-code .copy button{opacity:0;width:2rem;height:2rem}.expressive-code .frame:hover .copy button:not(:hover),.expressive-code .frame:focus-within :focus-visible ~ .copy button:not(:hover),.expressive-code .frame .copy .feedback.show ~ button:not(:hover){opacity:0.75}}:root,:root:not([data-theme='dark']) .expressive-code[data-theme='dark']{--ec-brdRad:0px;--ec-brdWd:1px;--ec-brdCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-codeFontFml:var(--__sl-font-mono);--ec-codeFontSize:var(--sl-text-code);--ec-codeFontWg:400;--ec-codeLineHt:var(--sl-line-height);--ec-codePadBlk:0.75rem;--ec-codePadInl:1rem;--ec-codeBg:#011627;--ec-codeFg:#d6deeb;--ec-codeSelBg:#1d3b53;--ec-gtrFg:#556c80;--ec-gtrBrdCol:#556c8033;--ec-gtrBrdWd:1.5px;--ec-gtrHlFg:#c5e4fd8e;--ec-uiFontFml:var(--__sl-font);--ec-uiFontSize:0.9rem;--ec-uiFontWg:400;--ec-uiLineHt:1.65;--ec-uiPadBlk:0.25rem;--ec-uiPadInl:1rem;--ec-uiSelBg:#234d708c;--ec-uiSelFg:#ffffff;--ec-focusBrd:#122d42;--ec-sbThumbCol:#ffffff17;--ec-sbThumbHoverCol:#ffffff49;--ec-tm-lineMarkerAccentMarg:0rem;--ec-tm-lineMarkerAccentWd:0.15rem;--ec-tm-lineMarkerLabelPadInl:0.2rem;--ec-tm-lineMarkerLabelCol:white;--ec-tm-lineDiffIndMargLeft:0.25rem;--ec-tm-inlMarkerBrdWd:1.5px;--ec-tm-inlMarkerBrdRad:0.2rem;--ec-tm-inlMarkerPad:0.15rem;--ec-tm-insDiffIndContent:'+';--ec-tm-delDiffIndContent:'-';--ec-tm-markBg:#ffffff17;--ec-tm-markBrdCol:#ffffff40;--ec-tm-insBg:#1e571599;--ec-tm-insBrdCol:#487f3bd0;--ec-tm-insDiffIndCol:#79b169d0;--ec-tm-delBg:#862d2799;--ec-tm-delBrdCol:#b4554bd0;--ec-tm-delDiffIndCol:#ed8779d0;--ec-frm-shdCol:#011627;--ec-frm-frameBoxShdCssVal:none;--ec-frm-edActTabBg:var(--sl-color-gray-6);--ec-frm-edActTabFg:var(--sl-color-text);--ec-frm-edActTabBrdCol:transparent;--ec-frm-edActTabIndHt:1px;--ec-frm-edActTabIndTopCol:var(--sl-color-accent-high);--ec-frm-edActTabIndBtmCol:transparent;--ec-frm-edTabsMargInlStart:0;--ec-frm-edTabsMargBlkStart:0;--ec-frm-edTabBrdRad:0px;--ec-frm-edTabBarBg:var(--sl-color-black);--ec-frm-edTabBarBrdCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edTabBarBrdBtmCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edBg:var(--sl-color-gray-6);--ec-frm-trmTtbDotsFg:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmTtbDotsOpa:0.75;--ec-frm-trmTtbBg:var(--sl-color-black);--ec-frm-trmTtbFg:var(--sl-color-text);--ec-frm-trmTtbBrdBtmCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmBg:var(--sl-color-gray-6);--ec-frm-inlBtnFg:var(--sl-color-text);--ec-frm-inlBtnBg:var(--sl-color-text);--ec-frm-inlBtnBgIdleOpa:0;--ec-frm-inlBtnBgHoverOrFocusOpa:0.2;--ec-frm-inlBtnBgActOpa:0.3;--ec-frm-inlBtnBrd:var(--sl-color-text);--ec-frm-inlBtnBrdOpa:0.4;--ec-frm-tooltipSuccessBg:#158744;--ec-frm-tooltipSuccessFg:white}.expressive-code .ec-line :where(span[style^='--']:not([class])),:root:not([data-theme='dark']) .expressive-code[data-theme='dark'] .ec-line :where(span[style^='--']:not([class])){color:var(--0, inherit);font-style:var(--0fs, inherit);font-weight:var(--0fw, inherit);text-decoration:var(--0td, inherit)}@media (prefers-color-scheme: light){:root:not([data-theme='dark']){--ec-codeBg:#fbfbfb;--ec-codeFg:#403f53;--ec-codeSelBg:#e0e0e0;--ec-gtrFg:#7a8d96;--ec-gtrBrdCol:#7a8d9633;--ec-gtrHlFg:#403f53c3;--ec-uiSelBg:#d3e8f8;--ec-uiSelFg:#403f53;--ec-focusBrd:#93a1a1;--ec-sbThumbCol:#0000001a;--ec-sbThumbHoverCol:#0000005c;--ec-tm-markBg:#0000001a;--ec-tm-markBrdCol:#00000055;--ec-tm-insBg:#8ec77d99;--ec-tm-insDiffIndCol:#336a28d0;--ec-tm-delBg:#ff9c8e99;--ec-tm-delDiffIndCol:#9d4138d0;--ec-frm-shdCol:#d9d9d9;--ec-frm-edActTabBg:var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol:var(--sl-color-accent);--ec-frm-edTabBarBg:var(--sl-color-gray-6);--ec-frm-edBg:var(--sl-color-gray-7);--ec-frm-trmTtbBg:var(--sl-color-gray-6);--ec-frm-trmBg:var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg:#078662}:root:not([data-theme='dark']) .expressive-code .ec-line :where(span[style^='--']:not([class])){color:var(--1, inherit);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)}}:root[data-theme='light'] .expressive-code:not([data-theme='dark']),.expressive-code[data-theme='light']{--ec-codeBg:#fbfbfb;--ec-codeFg:#403f53;--ec-codeSelBg:#e0e0e0;--ec-gtrFg:#7a8d96;--ec-gtrBrdCol:#7a8d9633;--ec-gtrHlFg:#403f53c3;--ec-uiSelBg:#d3e8f8;--ec-uiSelFg:#403f53;--ec-focusBrd:#93a1a1;--ec-sbThumbCol:#0000001a;--ec-sbThumbHoverCol:#0000005c;--ec-tm-markBg:#0000001a;--ec-tm-markBrdCol:#00000055;--ec-tm-insBg:#8ec77d99;--ec-tm-insDiffIndCol:#336a28d0;--ec-tm-delBg:#ff9c8e99;--ec-tm-delDiffIndCol:#9d4138d0;--ec-frm-shdCol:#d9d9d9;--ec-frm-edActTabBg:var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol:var(--sl-color-accent);--ec-frm-edTabBarBg:var(--sl-color-gray-6);--ec-frm-edBg:var(--sl-color-gray-7);--ec-frm-trmTtbBg:var(--sl-color-gray-6);--ec-frm-trmBg:var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg:#078662}:root[data-theme='light'] .expressive-code:not([data-theme='dark']) .ec-line :where(span[style^='--']:not([class])),.expressive-code[data-theme='light'] .ec-line :where(span[style^='--']:not([class])){color:var(--1, inherit);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)} \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/_astro/fugaz-one-latin-400-normal.5IrmUd-K.woff2 b/shepherd/blueprints/staticroutes/docs/_astro/fugaz-one-latin-400-normal.5IrmUd-K.woff2 deleted file mode 100644 index b9b5443..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/fugaz-one-latin-400-normal.5IrmUd-K.woff2 and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/fugaz-one-latin-400-normal.T0zCngim.woff b/shepherd/blueprints/staticroutes/docs/_astro/fugaz-one-latin-400-normal.T0zCngim.woff deleted file mode 100644 index 8a749db..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/fugaz-one-latin-400-normal.T0zCngim.woff and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/hoisted.C4q4f3TC.js b/shepherd/blueprints/staticroutes/docs/_astro/hoisted.C4q4f3TC.js deleted file mode 100644 index de14d88..0000000 --- a/shepherd/blueprints/staticroutes/docs/_astro/hoisted.C4q4f3TC.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["_astro/ui-core.hjFf04rQ.js","_astro/Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js"])))=>i.map(i=>d[i]); -import"./Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js";const S=document.getElementById("starlight__sidebar"),y=S?.querySelector("sl-sidebar-state-persist"),b="sl-sidebar-state",v=()=>{let t=[];const e=y?.dataset.hash||"";try{const n=sessionStorage.getItem(b),s=JSON.parse(n||"{}");Array.isArray(s.open)&&s.hash===e&&(t=s.open)}catch{}return{hash:e,open:t,scroll:S?.scrollTop||0}},w=t=>{try{sessionStorage.setItem(b,JSON.stringify(t))}catch{}},L=()=>w(v()),x=(t,e)=>{const n=v();n.open[e]=t,w(n)};y?.addEventListener("click",t=>{if(!(t.target instanceof Element))return;const e=t.target.closest("summary")?.closest("details");if(!e)return;const n=e.querySelector("sl-sidebar-restore"),s=parseInt(n?.dataset.index||"");isNaN(s)||x(!e.open,s)});addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&L()});addEventListener("pageHide",L);class H extends HTMLElement{constructor(){super();const e=this.querySelector("select");e&&e.addEventListener("change",n=>{n.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=n.currentTarget.value)})}}customElements.define("starlight-lang-select",H);const C="modulepreload",M=function(t){return"/docs/"+t},E={},_=function(e,n,s){let u=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),c=a?.nonce||a?.getAttribute("nonce");u=Promise.allSettled(n.map(l=>{if(l=M(l),l in E)return;E[l]=!0;const r=l.endsWith(".css"),h=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${h}`))return;const i=document.createElement("link");if(i.rel=r?"stylesheet":C,r||(i.as="script"),i.crossOrigin="",i.href=l,c&&i.setAttribute("nonce",c),document.head.appendChild(i),r)return new Promise((o,m)=>{i.addEventListener("load",o),i.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}function d(a){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=a,window.dispatchEvent(c),!c.defaultPrevented)throw a}return u.then(a=>{for(const c of a||[])c.status==="rejected"&&d(c.reason);return e().catch(d)})};class A extends HTMLElement{constructor(){super();const e=this.querySelector("button[data-open-modal]"),n=this.querySelector("button[data-close-modal]"),s=this.querySelector("dialog"),u=this.querySelector(".dialog-frame"),d=o=>{("href"in(o.target||{})||document.body.contains(o.target)&&!u.contains(o.target))&&c()},a=o=>{s.showModal(),document.body.toggleAttribute("data-search-modal-open",!0),this.querySelector("input")?.focus(),o?.stopPropagation(),window.addEventListener("click",d)},c=()=>s.close();e.addEventListener("click",a),e.disabled=!1,n.addEventListener("click",c),s.addEventListener("close",()=>{document.body.toggleAttribute("data-search-modal-open",!1),window.removeEventListener("click",d)}),window.addEventListener("keydown",o=>{(o.metaKey===!0||o.ctrlKey===!0)&&o.key==="k"&&(s.open?c():a(),o.preventDefault())});let l={};try{l=JSON.parse(this.dataset.translations||"{}")}catch{}const i=this.dataset.stripTrailingSlash!==void 0?o=>o.replace(/(.)\/(#.*)?$/,"$1$2"):o=>o;window.addEventListener("DOMContentLoaded",()=>{(window.requestIdleCallback||(m=>setTimeout(m,1)))(async()=>{const{PagefindUI:m}=await _(async()=>{const{PagefindUI:g}=await import("./ui-core.hjFf04rQ.js");return{PagefindUI:g}},__vite__mapDeps([0,1]));new m({element:"#starlight__search",baseUrl:"/docs/",bundlePath:"/docs/".replace(/\/$/,"")+"/pagefind/",showImages:!1,translations:l,showSubResults:!0,processResult:g=>{g.url=i(g.url),g.sub_results=g.sub_results.map(f=>(f.url=i(f.url),f))}})})})}}customElements.define("site-search",A);const T="starlight-theme",k=t=>t==="auto"||t==="dark"||t==="light"?t:"auto",I=()=>k(typeof localStorage<"u"&&localStorage.getItem(T));function P(t){typeof localStorage<"u"&&localStorage.setItem(T,t==="light"||t==="dark"?t:"")}const O=()=>matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";function p(t){StarlightThemeProvider.updatePickers(t),document.documentElement.dataset.theme=t==="auto"?O():t,P(t)}matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>{I()==="auto"&&p("auto")});class R extends HTMLElement{constructor(){super(),p(I()),this.querySelector("select")?.addEventListener("change",e=>{e.currentTarget instanceof HTMLSelectElement&&p(k(e.currentTarget.value))})}}customElements.define("starlight-theme-select",R);class N extends HTMLElement{constructor(){super(),this.btn=this.querySelector("button"),this.btn.addEventListener("click",()=>this.toggleExpanded());const e=this.closest("nav");e&&e.addEventListener("keyup",n=>this.closeOnEscape(n))}setExpanded(e){this.setAttribute("aria-expanded",String(e)),document.body.toggleAttribute("data-mobile-menu-expanded",e)}toggleExpanded(){this.setExpanded(this.getAttribute("aria-expanded")!=="true")}closeOnEscape(e){e.code==="Escape"&&(this.setExpanded(!1),this.btn.focus())}}customElements.define("starlight-menu-button",N);const $="_top";class q extends HTMLElement{constructor(){super(),this._current=this.querySelector('a[aria-current="true"]'),this.minH=parseInt(this.dataset.minH||"2",10),this.maxH=parseInt(this.dataset.maxH||"3",10),this.onIdle=e=>(window.requestIdleCallback||(n=>setTimeout(n,1)))(e),this.init=()=>{const e=[...this.querySelectorAll("a")],n=r=>{if(r instanceof HTMLHeadingElement){if(r.id===$)return!0;const h=r.tagName[1];if(h){const i=parseInt(h,10);if(i>=this.minH&&i<=this.maxH)return!0}}return!1},s=r=>{if(!r)return null;const h=r;for(;r;){if(n(r))return r;for(r=r.previousElementSibling;r?.lastElementChild;)r=r.lastElementChild;const i=s(r);if(i)return i}return s(h.parentElement)},u=r=>{for(const{isIntersecting:h,target:i}of r){if(!h)continue;const o=s(i);if(!o)continue;const m=e.find(g=>g.hash==="#"+encodeURIComponent(o.id));if(m){this.current=m;break}}},d=document.querySelectorAll("main [id], main [id] ~ *, main .content > *");let a;const c=()=>{a||(a=new IntersectionObserver(u,{rootMargin:this.getRootMargin()}),d.forEach(r=>a.observe(r)))};c();let l;window.addEventListener("resize",()=>{a&&(a.disconnect(),a=void 0),clearTimeout(l),l=setTimeout(()=>this.onIdle(c),200)})},this.onIdle(()=>this.init())}set current(e){e!==this._current&&(this._current&&this._current.removeAttribute("aria-current"),e.setAttribute("aria-current","true"),this._current=e)}getRootMargin(){const e=document.querySelector("header")?.getBoundingClientRect().height||0,n=this.querySelector("summary")?.getBoundingClientRect().height||0,s=e+n+32,u=s+53,d=document.documentElement.clientHeight;return`-${s}px 0% ${u-d}px`}}customElements.define("starlight-toc",q);class B extends q{set current(e){super.current=e;const n=this.querySelector(".display-current");n&&(n.textContent=e.textContent)}constructor(){super();const e=this.querySelector("details");if(!e)return;const n=()=>{e.open=!1};e.querySelectorAll("a").forEach(s=>{s.addEventListener("click",n)}),window.addEventListener("click",s=>{e.contains(s.target)||n()}),window.addEventListener("keydown",s=>{if(s.key==="Escape"&&e.open){const u=e.contains(document.activeElement);if(n(),u){const d=e.querySelector("summary");d&&d.focus()}}})}}customElements.define("mobile-starlight-toc",B);export{_}; diff --git a/shepherd/blueprints/staticroutes/docs/_astro/index.CMVuKxAY.css b/shepherd/blueprints/staticroutes/docs/_astro/index.CMVuKxAY.css deleted file mode 100644 index 07a0dba..0000000 --- a/shepherd/blueprints/staticroutes/docs/_astro/index.CMVuKxAY.css +++ /dev/null @@ -1 +0,0 @@ -:root,::backdrop{--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(224, 20%, 94%);--sl-color-gray-2: hsl(224, 6%, 77%);--sl-color-gray-3: hsl(224, 6%, 56%);--sl-color-gray-4: hsl(224, 7%, 36%);--sl-color-gray-5: hsl(224, 10%, 23%);--sl-color-gray-6: hsl(224, 14%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(224, 100%, 60%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: var(--sl-color-gray-2);--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: var(--sl-color-gray-5);--sl-color-bg-accent: var(--sl-color-accent-high);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(223, 13%, 10%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .08), 0px 5px 2px hsla(0, 0%, 0%, .08), 0px 3px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--sl-text-2xs: .75rem;--sl-text-xs: .8125rem;--sl-text-sm: .875rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-sm);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.75;--sl-line-height-headings: 1.2;--sl-font-system: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: .75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 18.75rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high: hsl(234, 80%, 30%);--sl-color-accent: hsl(234, 90%, 60%);--sl-color-accent-low: hsl(234, 88%, 90%);--sl-color-text-accent: var(--sl-color-accent);--sl-color-text-invert: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-7);--sl-color-bg-sidebar: var(--sl-color-bg);--sl-color-bg-inline-code: var(--sl-color-gray-6);--sl-color-bg-accent: var(--sl-color-accent);--sl-color-hairline-light: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-gray-6);--sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .06), 0px 2px 1px hsla(0, 0%, 0%, .06);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .03), 0px 5px 2px hsla(0, 0%, 0%, .03), 0px 3px 2px hsla(0, 0%, 0%, .06), 0px 1px 1px hsla(0, 0%, 0%, .06);--sl-shadow-lg: 0px 25px 7px rgba(0, 0, 0, .01), 0px 16px 6px hsla(0, 0%, 0%, .03), 0px 9px 5px hsla(223, 13%, 10%, .08), 0px 4px 4px hsla(0, 0%, 0%, .16), 0px 4px 2px hsla(0, 0%, 0%, .04)}@media (min-width: 50em){:root{--sl-nav-height: 4rem;--sl-nav-pad-x: 1.5rem;--sl-text-h1: var(--sl-text-5xl);--sl-text-h2: var(--sl-text-4xl);--sl-text-h3: var(--sl-text-3xl);--sl-text-h4: var(--sl-text-2xl)}}@media (min-width: 72rem){:root{--sl-content-pad-x: 1.5rem;--sl-mobile-toc-height: 0rem}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent)}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:anywhere}code{font-family:var(--__sl-font-mono)}:root{--astro-code-color-text: var(--sl-color-white);--astro-code-color-background: var(--sl-color-gray-6);--astro-code-token-constant: var(--sl-color-blue-high);--astro-code-token-string: var(--sl-color-green-high);--astro-code-token-comment: var(--sl-color-gray-2);--astro-code-token-keyword: var(--sl-color-purple-high);--astro-code-token-parameter: var(--sl-color-red-high);--astro-code-token-function: var(--sl-color-red-high);--astro-code-token-string-expression: var(--sl-color-green-high);--astro-code-token-punctuation: var(--sl-color-gray-2);--astro-code-token-link: var(--sl-color-blue-high)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media (min-width: 50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media (min-width: 72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:scaleX(-1)}.sl-banner:where(.astro-laz2plt2){--__sl-banner-text: var(--sl-color-banner-text, var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg, var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-laz2plt2) a{color:var(--__sl-banner-text)}.content-panel:where(.astro-7nkwcw3z){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-7nkwcw3z)+.content-panel:where(.astro-7nkwcw3z){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-7nkwcw3z){max-width:var(--sl-content-width)}.sl-container:where(.astro-7nkwcw3z)>*+*{margin-top:1.5rem}@media (min-width: 72rem){.sl-container:where(.astro-7nkwcw3z){margin-inline:var(--sl-content-margin-inline, auto)}}p:where(.astro-opzsrvew){border:1px solid var(--sl-color-orange);padding:.75em 1em;background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:-moz-max-content;width:max-content;max-width:100%;align-items:center;gap:.75em;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings)}a:where(.astro-eez2twj6){gap:.5rem;align-items:center;text-decoration:none;color:var(--sl-color-gray-3)}a:where(.astro-eez2twj6):hover{color:var(--sl-color-white)}.pagination-links:where(.astro-u2l5gyhi){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}a:where(.astro-u2l5gyhi){display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;flex-basis:calc(50% - .5rem);flex-grow:1;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding:1rem;text-decoration:none;color:var(--sl-color-gray-2);box-shadow:var(--sl-shadow-md);overflow-wrap:anywhere}:where(.astro-u2l5gyhi)[rel=next]{justify-content:end;text-align:end;flex-direction:row-reverse}a:where(.astro-u2l5gyhi):hover{border-color:var(--sl-color-gray-2)}.link-title:where(.astro-u2l5gyhi){color:var(--sl-color-white);font-size:var(--sl-text-2xl);line-height:var(--sl-line-height-headings)}svg:where(.astro-u2l5gyhi){flex-shrink:0}footer:where(.astro-3yyafb3n){flex-direction:column;gap:1.5rem}.meta:where(.astro-3yyafb3n){gap:.75rem 3rem;justify-content:space-between;flex-wrap:wrap;margin-top:3rem;font-size:var(--sl-text-sm);color:var(--sl-color-gray-3)}.meta:where(.astro-3yyafb3n)>p:only-child{margin-inline-start:auto}.kudos:where(.astro-3yyafb3n){align-items:center;gap:.5em;margin:1.5rem auto;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3)}.kudos:where(.astro-3yyafb3n) svg{color:var(--sl-color-orange)}.kudos:where(.astro-3yyafb3n):hover{color:var(--sl-color-white)}label:where(.astro-4yphtoen){--sl-label-icon-size: .875rem;--sl-caret-size: 1.25rem;--sl-inline-padding: .5rem;position:relative;display:flex;align-items:center;gap:.25rem;color:var(--sl-color-gray-1)}label:where(.astro-4yphtoen):hover{color:var(--sl-color-gray-2)}.icon:where(.astro-4yphtoen){position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}.label-icon:where(.astro-4yphtoen){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-4yphtoen){font-size:var(--sl-caret-size);inset-inline-end:0}select:where(.astro-4yphtoen){border:0;padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);background-color:transparent;text-overflow:ellipsis;color:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}option:where(.astro-4yphtoen){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media (min-width: 50rem){select:where(.astro-4yphtoen){font-size:var(--sl-text-sm)}}.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"⤷ ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert}.pagefind-ui--reset ::-moz-placeholder{color:unset}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable=true]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::-moz-placeholder{opacity:.2}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)}[data-search-modal-open]{overflow:hidden}#starlight__search{--sl-search-result-spacing: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-start: calc(3.75rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-end: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-block: calc(.9375rem * var(--pagefind-ui-scale));--sl-search-result-nested-pad-block: calc(.625rem * var(--pagefind-ui-scale));--sl-search-corners: calc(.3125rem * var(--pagefind-ui-scale));--sl-search-page-icon-size: calc(1.875rem * var(--pagefind-ui-scale));--sl-search-page-icon-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-page-icon-size)) / 2 );--sl-search-tree-diagram-size: calc(2.5rem * var(--pagefind-ui-scale));--sl-search-tree-diagram-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-tree-diagram-size)) / 2 )}#starlight__search .pagefind-ui__form:before{--pagefind-ui-text: var(--sl-color-gray-1);opacity:1}#starlight__search .pagefind-ui__search-input{color:var(--sl-color-white);font-weight:400;width:calc(100% - var(--sl-search-cancel-space))}#starlight__search input:focus{--pagefind-ui-border: var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear{inset-inline-end:var(--sl-search-cancel-space);width:calc(60px * var(--pagefind-ui-scale));padding:0;background-color:transparent;overflow:hidden}#starlight__search .pagefind-ui__search-clear:focus{outline:1px solid var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear:before{content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;background-color:var(--sl-color-text-accent);display:block;width:100%;height:100%}#starlight__search .pagefind-ui__results>*+*{margin-top:var(--sl-search-result-spacing)}#starlight__search .pagefind-ui__result{border:0;padding:0}#starlight__search .pagefind-ui__result-nested{position:relative;padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)),#starlight__search .pagefind-ui__result-nested{position:relative;background-color:var(--sl-color-black)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):hover,#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:hover,#starlight__search .pagefind-ui__result-nested:focus-within{outline:1px solid var(--sl-color-accent-high)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:focus-within{background-color:var(--sl-color-accent-low)}#starlight__search .pagefind-ui__result-thumb,#starlight__search .pagefind-ui__result-inner{margin-top:0}#starlight__search .pagefind-ui__result-inner>:first-child{border-radius:var(--sl-search-corners) var(--sl-search-corners) 0 0}#starlight__search .pagefind-ui__result-inner>:last-child{border-radius:0 0 var(--sl-search-corners) var(--sl-search-corners)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title{padding:var(--sl-search-result-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-page-icon-inline-start);width:var(--sl-search-page-icon-size);background:var(--sl-color-gray-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat}#starlight__search .pagefind-ui__result-inner{align-items:stretch;gap:1px}#starlight__search .pagefind-ui__result-link{position:unset;--pagefind-ui-text: var(--sl-color-white);font-weight:600}#starlight__search .pagefind-ui__result-link:hover{text-decoration:none}#starlight__search .pagefind-ui__result-nested .pagefind-ui__result-link:before{content:unset}#starlight__search .pagefind-ui__result-nested:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-tree-diagram-inline-start);width:var(--sl-search-tree-diagram-size);background:var(--sl-color-gray-4);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat}#starlight__search .pagefind-ui__result-nested:last-child:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E")}[dir=rtl] .pagefind-ui__result-title:before,[dir=rtl] .pagefind-ui__result-nested:before{transform:scaleX(-1)}#starlight__search .pagefind-ui__result-link:after{content:"";position:absolute;inset:0}#starlight__search .pagefind-ui__result-excerpt{font-size:calc(1rem * var(--pagefind-ui-scale));overflow-wrap:anywhere}#starlight__search mark{color:var(--sl-color-gray-2);background-color:transparent;font-weight:600}site-search:where(.astro-v37mnknz){display:contents}button:where(.astro-v37mnknz)[data-open-modal]{display:flex;align-items:center;gap:.5rem;border:0;background-color:transparent;color:var(--sl-color-gray-1);cursor:pointer;height:2.5rem;font-size:var(--sl-text-xl)}@media (min-width: 50rem){button:where(.astro-v37mnknz)[data-open-modal]{border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;background-color:var(--sl-color-black);color:var(--sl-color-gray-2);font-size:var(--sl-text-sm);width:100%;max-width:22rem}button:where(.astro-v37mnknz)[data-open-modal]:hover{border-color:var(--sl-color-gray-2);color:var(--sl-color-white)}button:where(.astro-v37mnknz)[data-open-modal]>:last-child:where(.astro-v37mnknz){margin-inline-start:auto}}button:where(.astro-v37mnknz)>kbd:where(.astro-v37mnknz){border-radius:.25rem;font-size:var(--sl-text-2xs);gap:.25em;padding-inline:.375rem;background-color:var(--sl-color-gray-6)}kbd:where(.astro-v37mnknz){font-family:var(--__sl-font)}dialog:where(.astro-v37mnknz){margin:0;background-color:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-5);width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--sl-shadow-lg)}dialog:where(.astro-v37mnknz)[open]{display:flex}dialog:where(.astro-v37mnknz)::backdrop{background-color:var(--sl-color-backdrop-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.dialog-frame:where(.astro-v37mnknz){position:relative;overflow:auto;flex-direction:column;flex-grow:1;gap:1rem;padding:1rem}button:where(.astro-v37mnknz)[data-close-modal]{position:absolute;z-index:1;align-items:center;align-self:flex-end;height:calc(64px * var(--pagefind-ui-scale));padding:.25rem;border:0;background:transparent;cursor:pointer;color:var(--sl-color-text-accent)}#starlight__search:where(.astro-v37mnknz){--pagefind-ui-primary: var(--sl-color-accent-light);--pagefind-ui-text: var(--sl-color-gray-2);--pagefind-ui-font: var(--__sl-font);--pagefind-ui-background: var(--sl-color-black);--pagefind-ui-border: var(--sl-color-gray-5);--pagefind-ui-border-width: 1px;--sl-search-cancel-space: 5rem}@media (min-width: 50rem){#starlight__search:where(.astro-v37mnknz){--sl-search-cancel-space: 0px}dialog:where(.astro-v37mnknz){margin:4rem auto auto;border-radius:.5rem;width:90%;max-width:40rem;height:-moz-max-content;height:max-content;min-height:15rem;max-height:calc(100% - 8rem)}.dialog-frame:where(.astro-v37mnknz){padding:1.5rem}}.logo:where(.astro-ol5jet75){height:1em;font-family:Fugaz One;font-size:2em;line-height:1em;padding-left:.1em;padding-right:.1em;color:var(--rc-red);text-decoration:none;color:red;text-shadow:-.05em .05em black;cursor:{clickable? "auto" : "default"}}a:where(.astro-wy4te6ga){color:var(--sl-color-text-accent);padding:.5em;margin:-.5em}a:where(.astro-wy4te6ga):hover{opacity:.66}.header:where(.astro-kmkmnagf){gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%}.title-wrapper:where(.astro-kmkmnagf){overflow:hidden}.right-group:where(.astro-kmkmnagf),.social-icons:where(.astro-kmkmnagf){gap:1rem;align-items:center}.social-icons:where(.astro-kmkmnagf):after{content:"";height:2rem;border-inline-end:1px solid var(--sl-color-gray-5)}@media (min-width: 50rem){:root[data-has-sidebar]{--__sidebar-pad: calc(2 * var(--sl-nav-pad-x))}:root:not([data-has-toc]){--__toc-width: 0rem}.header:where(.astro-kmkmnagf){--__sidebar-width: max(0rem, var(--sl-content-inline-start, 0rem) - var(--sl-nav-pad-x));--__main-column-fr: calc( ( 100% + var(--__sidebar-pad, 0rem) - var(--__toc-width, var(--sl-sidebar-width)) - (2 * var(--__toc-width, var(--sl-nav-pad-x))) - var(--sl-content-inline-start, 0rem) - var(--sl-content-width) ) / 2 );display:grid;grid-template-columns:minmax(calc(var(--__sidebar-width) + max(0rem,var(--__main-column-fr) - var(--sl-nav-gap))),auto) 1fr auto;align-content:center}}.hero:where(.astro-jbfsktt5){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-jbfsktt5)>img:where(.astro-jbfsktt5),.hero:where(.astro-jbfsktt5)>.hero-html:where(.astro-jbfsktt5){-o-object-fit:contain;object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-jbfsktt5){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-jbfsktt5){flex-direction:column;gap:1rem;align-items:center}.copy:where(.astro-jbfsktt5)>:where(.astro-jbfsktt5){max-width:50ch}h1:where(.astro-jbfsktt5){font-size:clamp(var(--sl-text-3xl),calc(.25rem + 5vw),var(--sl-text-6xl));line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.tagline:where(.astro-jbfsktt5){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-jbfsktt5){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}@media (min-width: 50rem){.hero:where(.astro-jbfsktt5){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-jbfsktt5)>img:where(.astro-jbfsktt5),.hero:where(.astro-jbfsktt5)>.hero-html:where(.astro-jbfsktt5){order:2;width:min(100%,25rem)}.stack:where(.astro-jbfsktt5){text-align:start}.copy:where(.astro-jbfsktt5){align-items:flex-start}.actions:where(.astro-jbfsktt5){justify-content:flex-start}}.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:not(a,strong,em,del,span,input,code,br,:where(.not-content *)){margin-top:1rem}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content li>:last-child:not(li,ul,ol):not(a,strong,em,del,span,input,:where(.not-content *)){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){display:block;max-width:100%;height:auto}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);margin-block:-.125rem;padding:.125rem .375rem;font-size:var(--sl-text-code-sm)}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);padding:.75rem 1rem;font-size:var(--sl-text-code);-moz-tab-size:2;-o-tab-size:2;tab-size:2}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){display:block;overflow:auto;border-spacing:0}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);padding:.5rem 1rem;vertical-align:baseline}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)}}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-gray-5);--sl-details-border-color--hover: var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;display:block;font-weight:600;margin-inline-start:-.5rem;padding-inline-start:.5rem}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size: 1.25rem;background-color:currentColor;content:"";display:inline-block;height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion: no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-asides-border);--sl-details-border-color--hover: var(--sl-color-asides-text-accent)}[data-mobile-menu-expanded]{overflow:hidden}@media (min-width: 50rem){[data-mobile-menu-expanded]{overflow:auto}}button:where(.astro-jif73yzw){position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar);border:0;border-radius:50%;width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);padding:.5rem;background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer}:where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw){background-color:var(--sl-color-gray-2);box-shadow:none}[data-theme=light] button:where(.astro-jif73yzw){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] :where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw){background-color:var(--sl-color-gray-5)}.page:where(.astro-vrdttmbt){flex-direction:column;min-height:100vh}.header:where(.astro-vrdttmbt){z-index:var(--sl-z-index-navbar);position:fixed;inset-inline-start:0;inset-block-start:0;width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);padding-inline-end:var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav)}[data-has-sidebar] .header:where(.astro-vrdttmbt){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-vrdttmbt){visibility:var(--sl-sidebar-visibility, hidden);position:fixed;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;inset-inline-start:0;width:100%;background-color:var(--sl-color-black);overflow-y:auto}[aria-expanded=true]~.sidebar-pane:where(.astro-vrdttmbt){--sl-sidebar-visibility: visible}.sidebar-content:where(.astro-vrdttmbt){height:100%;min-height:-moz-max-content;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media (min-width: 50rem){.sidebar-content:where(.astro-vrdttmbt):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-vrdttmbt){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media (min-width: 50rem){[data-has-sidebar] .header:where(.astro-vrdttmbt){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-vrdttmbt){--sl-sidebar-visibility: visible;width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade)}}ul:where(.astro-g2bywc46){padding:0;list-style:none}a:where(.astro-g2bywc46){--pad-inline: .5rem;display:block;border-radius:.25rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);line-height:1.25}a:where(.astro-g2bywc46)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46){--pad-inline: 1rem;display:flex;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);border-radius:0;padding-block:.5rem;color:var(--sl-color-text);font-size:var(--sl-text-sm);text-decoration:none;outline-offset:var(--sl-outline-offset-inside)}.isMobile:where(.astro-g2bywc46):first-child>li:where(.astro-g2bywc46):first-child>a:where(.astro-g2bywc46){border-top:0}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true],.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:hover,.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:after{content:"";width:1rem;background-color:var(--sl-color-text-accent);-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;flex-shrink:0}nav:where(.astro-doynk5tl){position:fixed;z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);inset-inline:0;border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav)}@media (min-width: 50rem){nav:where(.astro-doynk5tl){inset-inline-start:var(--sl-content-inline-start, 0)}}summary:where(.astro-doynk5tl){gap:.5rem;align-items:center;height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:.5rem 1rem;font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside)}summary:where(.astro-doynk5tl)::marker,summary:where(.astro-doynk5tl)::-webkit-details-marker{display:none}.toggle:where(.astro-doynk5tl){flex-shrink:0;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-block:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;line-height:1;background-color:var(--sl-color-black);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}details:where(.astro-doynk5tl)[open] .toggle:where(.astro-doynk5tl){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-doynk5tl) .toggle:where(.astro-doynk5tl):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-doynk5tl){transform:rotate(180deg)}details:where(.astro-doynk5tl)[open] .caret:where(.astro-doynk5tl){transform:rotate(90deg)}.display-current:where(.astro-doynk5tl){white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--sl-color-white)}.dropdown:where(.astro-doynk5tl){--border-top: 1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));overflow-y:auto;background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain}.right-sidebar-panel:where(.astro-pb3aqygn){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-pb3aqygn){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-pb3aqygn) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-pb3aqygn) :where(a){display:block;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3);overflow-wrap:anywhere}.right-sidebar-panel:where(.astro-pb3aqygn) :where(a):hover{color:var(--sl-color-white)}@media (min-width: 72rem){.sl-container:where(.astro-pb3aqygn){max-width:calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))}}h1:where(.astro-j6tvhyss){margin-top:1rem;font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.social-icons:where(.astro-wu23bvmt){margin-inline-end:auto;gap:1rem;align-items:center;padding-block:1rem}.social-icons:where(.astro-wu23bvmt):empty{display:none}.mobile-preferences:where(.astro-wu23bvmt){justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--sl-color-gray-6);-moz-column-gap:1rem;column-gap:1rem;padding:.5rem 0}sl-sidebar-state-persist:where(.astro-kku4brbg){display:contents}ul:where(.astro-3ii7xxms){--sl-sidebar-item-padding-inline: .5rem;list-style:none;padding:0}li:where(.astro-3ii7xxms){overflow-wrap:anywhere}ul:where(.astro-3ii7xxms) ul:where(.astro-3ii7xxms) li:where(.astro-3ii7xxms){margin-inline-start:var(--sl-sidebar-item-padding-inline);border-inline-start:1px solid var(--sl-color-hairline-light);padding-inline-start:var(--sl-sidebar-item-padding-inline)}.large:where(.astro-3ii7xxms){font-size:var(--sl-text-lg);font-weight:600;color:var(--sl-color-white)}.top-level:where(.astro-3ii7xxms)>li:where(.astro-3ii7xxms)+li:where(.astro-3ii7xxms){margin-top:.75rem}summary:where(.astro-3ii7xxms){display:flex;align-items:center;justify-content:space-between;padding:.2em var(--sl-sidebar-item-padding-inline);line-height:1.4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}summary:where(.astro-3ii7xxms)::marker,summary:where(.astro-3ii7xxms)::-webkit-details-marker{display:none}.caret:where(.astro-3ii7xxms){transition:transform .2s ease-in-out;flex-shrink:0}[dir=rtl] .caret:where(.astro-3ii7xxms){transform:rotate(180deg)}:where(.astro-3ii7xxms)[open]>summary:where(.astro-3ii7xxms) .caret:where(.astro-3ii7xxms){transform:rotate(90deg)}a:where(.astro-3ii7xxms){display:block;border-radius:.25rem;text-decoration:none;color:var(--sl-color-gray-2);padding:.3em var(--sl-sidebar-item-padding-inline);line-height:1.4}a:where(.astro-3ii7xxms):hover,a:where(.astro-3ii7xxms):focus{color:var(--sl-color-white)}:where(.astro-3ii7xxms)[aria-current=page],:where(.astro-3ii7xxms)[aria-current=page]:hover,:where(.astro-3ii7xxms)[aria-current=page]:focus{font-weight:600;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent)}a:where(.astro-3ii7xxms)>:where(.astro-3ii7xxms):not(:last-child),.group-label:where(.astro-3ii7xxms)>:where(.astro-3ii7xxms):not(:last-child){margin-inline-end:.25em}@media (min-width: 50rem){.top-level:where(.astro-3ii7xxms)>li:where(.astro-3ii7xxms)+li:where(.astro-3ii7xxms){margin-top:.5rem}.large:where(.astro-3ii7xxms){font-size:var(--sl-text-base)}a:where(.astro-3ii7xxms){font-size:var(--sl-text-sm)}}a:where(.astro-7q3lir66){clip:rect(0,0,0,0);position:fixed;top:.75rem;inset-inline-start:.75rem}a:where(.astro-7q3lir66):focus{clip:unset;z-index:var(--sl-z-index-skiplink);display:block;padding:.5rem 1rem;text-decoration:none;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg)}.main-pane:where(.astro-67yu43on){isolation:isolate}@media (min-width: 72rem){.right-sidebar-container:where(.astro-67yu43on){order:2;position:relative;width:calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}.right-sidebar:where(.astro-67yu43on){position:fixed;top:0;border-inline-start:1px solid var(--sl-color-gray-6);padding-top:var(--sl-nav-height);width:100%;height:100vh;overflow-y:auto;scrollbar-width:none}.main-pane:where(.astro-67yu43on){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-67yu43on){--sl-content-margin-inline: auto 0;order:1;width:calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}}.starlight-aside{padding:1rem;border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white)}.starlight-aside--note{--sl-color-asides-text-accent: var(--sl-color-blue-high);--sl-color-asides-border: var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent: var(--sl-color-purple-high);--sl-color-asides-border: var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent: var(--sl-color-orange-high);--sl-color-asides-border: var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent: var(--sl-color-red-high);--sl-color-asides-border: var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{display:flex;gap:.5rem;align-items:center;font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent)}.starlight-aside__icon{font-size:1.333em;width:1em;height:1em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/docs/_astro/space-mono-vietnamese-400-normal.BheU2kqM.woff2) format("woff2"),url(/docs/_astro/space-mono-vietnamese-400-normal.DhEK1QBQ.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/docs/_astro/space-mono-latin-ext-400-normal.Bp3uBQji.woff2) format("woff2"),url(/docs/_astro/space-mono-latin-ext-400-normal.dAQ_Ruki.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/docs/_astro/space-mono-latin-400-normal.DqLRVAG3.woff2) format("woff2"),url(/docs/_astro/space-mono-latin-400-normal.C13IqrZg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik Mono One;font-style:normal;font-display:swap;font-weight:400;src:url(/docs/_astro/rubik-mono-one-cyrillic-400-normal.BOcI7D0U.woff2) format("woff2"),url(/docs/_astro/rubik-mono-one-cyrillic-400-normal.DJOtYBN1.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Rubik Mono One;font-style:normal;font-display:swap;font-weight:400;src:url(/docs/_astro/rubik-mono-one-latin-ext-400-normal.BsiHVyE2.woff2) format("woff2"),url(/docs/_astro/rubik-mono-one-latin-ext-400-normal.plJcw_cN.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik Mono One;font-style:normal;font-display:swap;font-weight:400;src:url(/docs/_astro/rubik-mono-one-latin-400-normal.CNmoPlom.woff2) format("woff2"),url(/docs/_astro/rubik-mono-one-latin-400-normal.B1Gf3ixn.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/docs/_astro/lexend-vietnamese-400-normal.DoLa7jNB.woff2) format("woff2"),url(/docs/_astro/lexend-vietnamese-400-normal.BAxGSwny.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/docs/_astro/lexend-latin-ext-400-normal.BlThJp1_.woff2) format("woff2"),url(/docs/_astro/lexend-latin-ext-400-normal.B0aX7OG-.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/docs/_astro/lexend-latin-400-normal.LvJAK7uG.woff2) format("woff2"),url(/docs/_astro/lexend-latin-400-normal.CPgf14r2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fugaz One;font-style:normal;font-display:swap;font-weight:400;src:url(/docs/_astro/fugaz-one-latin-400-normal.5IrmUd-K.woff2) format("woff2"),url(/docs/_astro/fugaz-one-latin-400-normal.T0zCngim.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{border-width:0;border-style:solid;border-color:#f3ecea}:before,:after{--tw-content: }html,:host{font-family:Lexend,sans-serif}code,kbd,samp,pre{font-family:Space Mono,monospace}:root{--sl-font: Lexend, sans-serif;--sl-font-mono: Space Mono, monospace;--sl-color-white: #fff;--sl-color-gray-1: #f3ecea;--sl-color-gray-2: #c8c0be;--sl-color-gray-3: #978784;--sl-color-gray-4: #4b5563;--sl-color-gray-5: #423432;--sl-color-gray-6: #302321;--sl-color-black: #1d1715;--sl-color-accent-low: #460b05;--sl-color-accent: #c90e00;--sl-color-accent-high: #feb3a6}:root[data-theme=light]{--sl-color-white: #1d1715;--sl-color-gray-1: #302321;--sl-color-gray-2: #423432;--sl-color-gray-3: #635451;--sl-color-gray-4: #978784;--sl-color-gray-5: #c8c0be;--sl-color-gray-6: #f3ecea;--sl-color-gray-7: #f9f5f5;--sl-color-black: #fff;--sl-color-accent-low: #feb3a6;--sl-color-accent: #c90e00;--sl-color-accent-high: #640300}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.table{display:table}.hidden{display:none}.align-baseline{vertical-align:baseline}.font-sans{font-family:Lexend,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.no-underline{text-decoration-line:none}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}a{font-family:Space Mono,monospace}h1{font-family:Rubik Mono One,sans-serif}.dark\:text-slate-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}html:not([data-has-toc]){--sl-mobile-toc-height: 0rem}html:not([data-has-sidebar]){--sl-content-width: 67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-bguv2lll){padding-bottom:3vh}@media (min-width: 50em){:where(.astro-bguv2lll)[data-has-sidebar]{--sl-content-inline-start: var(--sl-sidebar-width)}}@media (min-width: 72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}} diff --git a/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-400-normal.CPgf14r2.woff b/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-400-normal.CPgf14r2.woff deleted file mode 100644 index 313b16d..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-400-normal.CPgf14r2.woff and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-400-normal.LvJAK7uG.woff2 b/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-400-normal.LvJAK7uG.woff2 deleted file mode 100644 index e481aa1..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-400-normal.LvJAK7uG.woff2 and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-ext-400-normal.B0aX7OG-.woff b/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-ext-400-normal.B0aX7OG-.woff deleted file mode 100644 index 545fba9..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-ext-400-normal.B0aX7OG-.woff and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-ext-400-normal.BlThJp1_.woff2 b/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-ext-400-normal.BlThJp1_.woff2 deleted file mode 100644 index ab68fa5..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/lexend-latin-ext-400-normal.BlThJp1_.woff2 and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/lexend-vietnamese-400-normal.BAxGSwny.woff b/shepherd/blueprints/staticroutes/docs/_astro/lexend-vietnamese-400-normal.BAxGSwny.woff deleted file mode 100644 index a571a7a..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/lexend-vietnamese-400-normal.BAxGSwny.woff and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/lexend-vietnamese-400-normal.DoLa7jNB.woff2 b/shepherd/blueprints/staticroutes/docs/_astro/lexend-vietnamese-400-normal.DoLa7jNB.woff2 deleted file mode 100644 index 5be08f3..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/lexend-vietnamese-400-normal.DoLa7jNB.woff2 and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/page.7qqag-5g.js b/shepherd/blueprints/staticroutes/docs/_astro/page.7qqag-5g.js deleted file mode 100644 index 12aa5b5..0000000 --- a/shepherd/blueprints/staticroutes/docs/_astro/page.7qqag-5g.js +++ /dev/null @@ -1 +0,0 @@ -const d=new Set,c=new WeakSet;let f=!0,h,l=!1;function v(e){l||(l=!0,f??=!1,h??="hover",g(),p(),w(),L())}function g(){for(const e of["touchstart","mousedown"])document.body.addEventListener(e,t=>{i(t.target,"tap")&&s(t.target.href,{ignoreSlowConnection:!0})},{passive:!0})}function p(){let e;document.body.addEventListener("focusin",n=>{i(n.target,"hover")&&t(n)},{passive:!0}),document.body.addEventListener("focusout",o,{passive:!0}),u(()=>{for(const n of document.getElementsByTagName("a"))c.has(n)||i(n,"hover")&&(c.add(n),n.addEventListener("mouseenter",t,{passive:!0}),n.addEventListener("mouseleave",o,{passive:!0}))});function t(n){const r=n.target.href;e&&clearTimeout(e),e=setTimeout(()=>{s(r)},80)}function o(){e&&(clearTimeout(e),e=0)}}function w(){let e;u(()=>{for(const t of document.getElementsByTagName("a"))c.has(t)||i(t,"viewport")&&(c.add(t),e??=y(),e.observe(t))})}function y(){const e=new WeakMap;return new IntersectionObserver((t,o)=>{for(const n of t){const r=n.target,a=e.get(r);n.isIntersecting?(a&&clearTimeout(a),e.set(r,setTimeout(()=>{o.unobserve(r),e.delete(r),s(r.href)},300))):a&&(clearTimeout(a),e.delete(r))}})}function L(){u(()=>{for(const e of document.getElementsByTagName("a"))i(e,"load")&&s(e.href)})}function s(e,t){e=e.replace(/#.*/,"");const o=t?.ignoreSlowConnection??!1;if(S(e,o))if(d.add(e),document.createElement("link").relList?.supports?.("prefetch")&&t?.with!=="fetch"){const n=document.createElement("link");n.rel="prefetch",n.setAttribute("href",e),document.head.append(n)}else fetch(e,{priority:"low"})}function S(e,t){if(!navigator.onLine||!t&&m())return!1;try{const o=new URL(e,location.href);return location.origin===o.origin&&(location.pathname!==o.pathname||location.search!==o.search)&&!d.has(e)}catch{}return!1}function i(e,t){if(e?.tagName!=="A")return!1;const o=e.dataset.astroPrefetch;return o==="false"?!1:t==="tap"&&(o!=null||f)&&m()?!0:o==null&&f||o===""?t===h:o===t}function m(){if("connection"in navigator){const e=navigator.connection;return e.saveData||/2g/.test(e.effectiveType)}return!1}function u(e){e();let t=!1;document.addEventListener("astro:page-load",()=>{if(!t){t=!0;return}e()})}v(); diff --git a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-cyrillic-400-normal.BOcI7D0U.woff2 b/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-cyrillic-400-normal.BOcI7D0U.woff2 deleted file mode 100644 index 69fc4b3..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-cyrillic-400-normal.BOcI7D0U.woff2 and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-cyrillic-400-normal.DJOtYBN1.woff b/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-cyrillic-400-normal.DJOtYBN1.woff deleted file mode 100644 index ed7a565..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-cyrillic-400-normal.DJOtYBN1.woff and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-400-normal.B1Gf3ixn.woff b/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-400-normal.B1Gf3ixn.woff deleted file mode 100644 index 7e4f104..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-400-normal.B1Gf3ixn.woff and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-400-normal.CNmoPlom.woff2 b/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-400-normal.CNmoPlom.woff2 deleted file mode 100644 index 7b18f69..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-400-normal.CNmoPlom.woff2 and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-ext-400-normal.BsiHVyE2.woff2 b/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-ext-400-normal.BsiHVyE2.woff2 deleted file mode 100644 index 82dd74b..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-ext-400-normal.BsiHVyE2.woff2 and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-ext-400-normal.plJcw_cN.woff b/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-ext-400-normal.plJcw_cN.woff deleted file mode 100644 index 1ecf295..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/rubik-mono-one-latin-ext-400-normal.plJcw_cN.woff and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-400-normal.C13IqrZg.woff b/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-400-normal.C13IqrZg.woff deleted file mode 100644 index 3eb7918..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-400-normal.C13IqrZg.woff and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-400-normal.DqLRVAG3.woff2 b/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-400-normal.DqLRVAG3.woff2 deleted file mode 100644 index cd43ccd..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-400-normal.DqLRVAG3.woff2 and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-ext-400-normal.Bp3uBQji.woff2 b/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-ext-400-normal.Bp3uBQji.woff2 deleted file mode 100644 index f7e23a2..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-ext-400-normal.Bp3uBQji.woff2 and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-ext-400-normal.dAQ_Ruki.woff b/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-ext-400-normal.dAQ_Ruki.woff deleted file mode 100644 index a0e5d05..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-latin-ext-400-normal.dAQ_Ruki.woff and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-vietnamese-400-normal.BheU2kqM.woff2 b/shepherd/blueprints/staticroutes/docs/_astro/space-mono-vietnamese-400-normal.BheU2kqM.woff2 deleted file mode 100644 index 17cbeee..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-vietnamese-400-normal.BheU2kqM.woff2 and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-vietnamese-400-normal.DhEK1QBQ.woff b/shepherd/blueprints/staticroutes/docs/_astro/space-mono-vietnamese-400-normal.DhEK1QBQ.woff deleted file mode 100644 index 966b480..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/_astro/space-mono-vietnamese-400-normal.DhEK1QBQ.woff and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/_astro/ui-core.hjFf04rQ.js b/shepherd/blueprints/staticroutes/docs/_astro/ui-core.hjFf04rQ.js deleted file mode 100644 index f512535..0000000 --- a/shepherd/blueprints/staticroutes/docs/_astro/ui-core.hjFf04rQ.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as is}from"./hoisted.C4q4f3TC.js";import"./Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js";var os=Object.defineProperty,F=(e,t)=>{for(var u in t)os(e,u,{get:t[u],enumerable:!0})};function P(){}function du(e){return e()}function ye(){return Object.create(null)}function W(e){e.forEach(du)}function Cu(e){return typeof e=="function"}function fe(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="function"}var oe;function ce(e,t){return oe||(oe=document.createElement("a")),oe.href=t,e===oe.href}function _s(e){return Object.keys(e).length===0}function B(e,t){e.appendChild(t)}function T(e,t,u){e.insertBefore(t,u||null)}function p(e){e.parentNode&&e.parentNode.removeChild(e)}function ie(e,t){for(let u=0;ue.removeEventListener(t,u,r)}function g(e,t,u){u==null?e.removeAttribute(t):e.getAttribute(t)!==u&&e.setAttribute(t,u)}function fs(e){return Array.from(e.childNodes)}function j(e,t){t=""+t,e.data!==t&&(e.data=t)}function ze(e,t){e.value=t??""}function K(e,t,u){e.classList[u?"add":"remove"](t)}var Es=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,u=null){this.e||(this.is_svg?this.e=cs(t.nodeName):this.e=v(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(u)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;te.indexOf(r)===-1?t.push(r):u.push(r)),u.forEach(r=>r()),$=t}var _e=new Set,J;function le(){J={r:0,c:[],p:J}}function ne(){J.r||W(J.c),J=J.p}function z(e,t){e&&e.i&&(_e.delete(e),e.i(t))}function U(e,t,u,r){if(e&&e.o){if(_e.has(e))return;_e.add(e),J.c.push(()=>{_e.delete(e),r&&(u&&e.d(1),r())}),e.o(t)}else r&&r()}function Bs(e,t){U(e,1,1,()=>{t.delete(e.key)})}function vs(e,t,u,r,s,a,l,n,i,h,_,d){let C=e.length,f=a.length,c=C;const o={};for(;c--;)o[e[c].key]=c;const E=[],R=new Map,A=new Map,k=[];for(c=f;c--;){const D=d(s,a,c),S=u(D);let w=l.get(S);w?k.push(()=>w.p(D,t)):(w=h(S,D),w.c()),R.set(S,E[c]=w),S in o&&A.set(S,Math.abs(c-o[S]))}const y=new Set,q=new Set;function L(D){z(D,1),D.m(n,_),l.set(D.key,D),_=D.first,f--}for(;C&&f;){const D=E[f-1],S=e[C-1],w=D.key,x=S.key;D===S?(_=D.first,C--,f--):R.has(x)?!l.has(w)||y.has(w)?L(D):q.has(x)?C--:A.get(w)>A.get(x)?(q.add(w),L(D)):(y.add(x),C--):(i(S,l),C--)}for(;C--;){const D=e[C];R.has(D.key)||i(D,l)}for(;f;)L(E[f-1]);return W(k),E}function ps(e,t,u){const r=e.$$.props[t];r!==void 0&&(e.$$.bound[r]=u,u(e.$$.ctx[r]))}function ke(e){e&&e.c()}function Ee(e,t,u,r){const{fragment:s,after_update:a}=e.$$;s&&s.m(t,u),r||Te(()=>{const l=e.$$.on_mount.map(du).filter(Cu);e.$$.on_destroy?e.$$.on_destroy.push(...l):W(l),e.$$.on_mount=[]}),a.forEach(Te)}function he(e,t){const u=e.$$;u.fragment!==null&&(Rs(u.after_update),W(u.on_destroy),u.fragment&&u.fragment.d(t),u.on_destroy=u.fragment=null,u.ctx=[])}function Ts(e,t){e.$$.dirty[0]===-1&&(X.push(e),ms(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const c=f.length?f[0]:C;return h.ctx&&s(h.ctx[d],h.ctx[d]=c)&&(!h.skip_bound&&h.bound[d]&&h.bound[d](c),_&&Ts(e,d)),C}):[],h.update(),_=!0,W(h.before_update),h.fragment=r?r(h.ctx):!1,t.target){if(t.hydrate){const d=fs(t.target);h.fragment&&h.fragment.l(d),d.forEach(p)}else h.fragment&&h.fragment.c();t.intro&&z(e.$$.fragment),Ee(e,t.target,t.anchor,t.customElement),gu()}re(i)}var Ce=class{$destroy(){he(this,1),this.$destroy=P}$on(e,t){if(!Cu(t))return P;const u=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return u.push(t),()=>{const r=u.indexOf(t);r!==-1&&u.splice(r,1)}}$set(e){this.$$set&&!_s(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function O(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function Q(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=48&&t<=57}function V(e){return O(e)||Q(e)}var Fs=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"],je={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"},ks={}.hasOwnProperty;function Au(e,t={}){const u=Oe(),r=String(e),s=r.toLowerCase();let a=0;if(e==null)throw new Error("Expected string, got `"+e+"`");if(ks.call(je,s)){const n=je[s];return(t.normalize===void 0||t.normalize===null||t.normalize)&&typeof n=="string"?Au(n):(u[Fs.includes(s)?"regular":"irregular"]=r,u)}for(;O(s.charCodeAt(a))&&a<9;)a++;if(a>1&&a<9){if(u.language=r.slice(0,a),a<4){let n=0;for(;s.charCodeAt(a)===45&&O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&O(s.charCodeAt(a+3))&&!O(s.charCodeAt(a+4));){if(n>2)return l(a,3,"Too many extended language subtags, expected at most 3 subtags");u.extendedLanguageSubtags.push(r.slice(a+1,a+4)),a+=4,n++}}for(s.charCodeAt(a)===45&&O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&O(s.charCodeAt(a+3))&&O(s.charCodeAt(a+4))&&!O(s.charCodeAt(a+5))&&(u.script=r.slice(a+1,a+5),a+=5),s.charCodeAt(a)===45&&(O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&!O(s.charCodeAt(a+3))?(u.region=r.slice(a+1,a+3),a+=3):Q(s.charCodeAt(a+1))&&Q(s.charCodeAt(a+2))&&Q(s.charCodeAt(a+3))&&!Q(s.charCodeAt(a+4))&&(u.region=r.slice(a+1,a+4),a+=4));s.charCodeAt(a)===45;){const n=a+1;let i=n;for(;V(s.charCodeAt(i));){if(i-n>7)return l(i,1,"Too long variant, expected at most 8 characters");i++}if(i-n>4||i-n>3&&Q(s.charCodeAt(n)))u.variants.push(r.slice(n,i)),a=i;else break}for(;s.charCodeAt(a)===45&&!(s.charCodeAt(a+1)===120||!V(s.charCodeAt(a+1))||s.charCodeAt(a+2)!==45||!V(s.charCodeAt(a+3)));){let n=a+2,i=0;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1))&&V(s.charCodeAt(n+2));){const h=n+1;for(n=h+2,i++;V(s.charCodeAt(n));){if(n-h>7)return l(n,2,"Too long extension, expected at most 8 characters");n++}}if(!i)return l(n,4,"Empty extension, extensions must have at least 2 characters of content");u.extensions.push({singleton:r.charAt(a+1),extensions:r.slice(a+3,n).split("-")}),a=n}}else a=0;if(a===0&&s.charCodeAt(a)===120||s.charCodeAt(a)===45&&s.charCodeAt(a+1)===120){a=a?a+2:1;let n=a;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1));){const i=a+1;for(n=i;V(s.charCodeAt(n));){if(n-i>7)return l(n,5,"Too long private-use area, expected at most 8 characters");n++}u.privateuse.push(r.slice(a+1,n)),a=n}}if(a!==r.length)return l(a,6,"Found superfluous content after tag");return u;function l(n,i,h){return t.warning&&t.warning(h,i,n),t.forgiving?u:Oe()}}function Oe(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function Ue(e,t,u){const r=e.slice();return r[8]=t[u][0],r[9]=t[u][1],r}function Ds(e){let t,u,r,s,a,l=e[0]&&Ie();return{c(){l&&l.c(),t=b(),u=v("div"),r=v("p"),r.textContent=`${e[3](30)}`,s=b(),a=v("p"),a.textContent=`${e[3](40)}`,g(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),g(a,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),g(u,"class","pagefind-ui__result-inner svelte-j9e30")},m(n,i){l&&l.m(n,i),T(n,t,i),T(n,u,i),B(u,r),B(u,s),B(u,a)},p(n,i){n[0]?l||(l=Ie(),l.c(),l.m(t.parentNode,t)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&p(t),n&&p(u)}}}function bs(e){let t,u,r,s,a=e[1].meta?.title+"",l,n,i,h,_=e[1].excerpt+"",d,C=e[0]&&Pe(e),f=e[2].length&&xe(e);return{c(){C&&C.c(),t=b(),u=v("div"),r=v("p"),s=v("a"),l=M(a),i=b(),h=v("p"),d=b(),f&&f.c(),g(s,"class","pagefind-ui__result-link svelte-j9e30"),g(s,"href",n=e[1].meta?.url||e[1].url),g(r,"class","pagefind-ui__result-title svelte-j9e30"),g(h,"class","pagefind-ui__result-excerpt svelte-j9e30"),g(u,"class","pagefind-ui__result-inner svelte-j9e30")},m(c,o){C&&C.m(c,o),T(c,t,o),T(c,u,o),B(u,r),B(r,s),B(s,l),B(u,i),B(u,h),h.innerHTML=_,B(u,d),f&&f.m(u,null)},p(c,o){c[0]?C?C.p(c,o):(C=Pe(c),C.c(),C.m(t.parentNode,t)):C&&(C.d(1),C=null),o&2&&a!==(a=c[1].meta?.title+"")&&j(l,a),o&2&&n!==(n=c[1].meta?.url||c[1].url)&&g(s,"href",n),o&2&&_!==(_=c[1].excerpt+"")&&(h.innerHTML=_),c[2].length?f?f.p(c,o):(f=xe(c),f.c(),f.m(u,null)):f&&(f.d(1),f=null)},d(c){C&&C.d(c),c&&p(t),c&&p(u),f&&f.d()}}}function Ie(e){let t;return{c(){t=v("div"),g(t,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(u,r){T(u,t,r)},d(u){u&&p(t)}}}function Pe(e){let t,u=e[1].meta.image&&Le(e);return{c(){t=v("div"),u&&u.c(),g(t,"class","pagefind-ui__result-thumb svelte-j9e30")},m(r,s){T(r,t,s),u&&u.m(t,null)},p(r,s){r[1].meta.image?u?u.p(r,s):(u=Le(r),u.c(),u.m(t,null)):u&&(u.d(1),u=null)},d(r){r&&p(t),u&&u.d()}}}function Le(e){let t,u,r;return{c(){t=v("img"),g(t,"class","pagefind-ui__result-image svelte-j9e30"),ce(t.src,u=e[1].meta?.image)||g(t,"src",u),g(t,"alt",r=e[1].meta?.image_alt||e[1].meta?.title)},m(s,a){T(s,t,a)},p(s,a){a&2&&!ce(t.src,u=s[1].meta?.image)&&g(t,"src",u),a&2&&r!==(r=s[1].meta?.image_alt||s[1].meta?.title)&&g(t,"alt",r)},d(s){s&&p(t)}}}function xe(e){let t,u=e[2],r=[];for(let s=0;se.toLocaleUpperCase();function Ss(e,t,u){let{show_images:r=!0}=t,{process_result:s=null}=t,{result:a={data:async()=>{}}}=t;const l=["title","image","image_alt","url"];let n,i=[];const h=async d=>{u(1,n=await d.data()),u(1,n=s?.(n)??n),u(2,i=Object.entries(n.meta).filter(([C])=>!l.includes(C)))},_=(d=30)=>". ".repeat(Math.floor(10+Math.random()*d));return e.$$set=d=>{"show_images"in d&&u(0,r=d.show_images),"process_result"in d&&u(4,s=d.process_result),"result"in d&&u(5,a=d.result)},e.$$.update=()=>{e.$$.dirty&32&&h(a)},[r,n,i,_,s,a]}var Hs=class extends Ce{constructor(e){super(),de(this,e,Ss,Ms,fe,{show_images:0,process_result:4,result:5})}},ws=Hs;function Ke(e,t,u){const r=e.slice();return r[11]=t[u][0],r[12]=t[u][1],r}function Ge(e,t,u){const r=e.slice();return r[15]=t[u],r}function Ns(e){let t,u,r,s,a,l=e[0]&&Je();return{c(){l&&l.c(),t=b(),u=v("div"),r=v("p"),r.textContent=`${e[5](30)}`,s=b(),a=v("p"),a.textContent=`${e[5](40)}`,g(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),g(a,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),g(u,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(n,i){l&&l.m(n,i),T(n,t,i),T(n,u,i),B(u,r),B(u,s),B(u,a)},p(n,i){n[0]?l||(l=Je(),l.c(),l.m(t.parentNode,t)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&p(t),n&&p(u)}}}function ys(e){let t,u,r,s,a=e[1].meta?.title+"",l,n,i,h,_,d=e[0]&&We(e),C=e[4]&&Ye(e),f=e[3],c=[];for(let E=0;Ee.toLocaleUpperCase();function js(e,t,u){let{show_images:r=!0}=t,{process_result:s=null}=t,{result:a={data:async()=>{}}}=t;const l=["title","image","image_alt","url"];let n,i=[],h=[],_=!1;const d=(c,o)=>{if(c.length<=o)return c;const E=[...c].sort((R,A)=>A.locations.length-R.locations.length).slice(0,3).map(R=>R.url);return c.filter(R=>E.includes(R.url))},C=async c=>{u(1,n=await c.data()),u(1,n=s?.(n)??n),u(2,i=Object.entries(n.meta).filter(([o])=>!l.includes(o))),Array.isArray(n.sub_results)&&(u(4,_=n.sub_results?.[0]?.url===(n.meta?.url||n.url)),_?u(3,h=d(n.sub_results.slice(1),3)):u(3,h=d([...n.sub_results],3)))},f=(c=30)=>". ".repeat(Math.floor(10+Math.random()*c));return e.$$set=c=>{"show_images"in c&&u(0,r=c.show_images),"process_result"in c&&u(6,s=c.process_result),"result"in c&&u(7,a=c.result)},e.$$.update=()=>{e.$$.dirty&128&&C(a)},[r,n,i,h,_,f,s,a]}var Os=class extends Ce{constructor(e){super(),de(this,e,js,zs,fe,{show_images:0,process_result:6,result:7})}},Us=Os;function uu(e,t,u){const r=e.slice();return r[10]=t[u][0],r[11]=t[u][1],r[12]=t,r[13]=u,r}function tu(e,t,u){const r=e.slice();return r[14]=t[u][0],r[15]=t[u][1],r[16]=t,r[17]=u,r}function ru(e){let t,u,r=e[4]("filters_label",e[5],e[6])+"",s,a,l=Object.entries(e[1]),n=[];for(let i=0;ie.toLocaleUpperCase(),iu=e=>e.toLowerCase();function Ps(e,t,u){let{available_filters:r=null}=t,{show_empty_filters:s=!0}=t,{open_filters:a=[]}=t,{translate:l=()=>""}=t,{automatic_translations:n={}}=t,{translations:i={}}=t,{selected_filters:h={}}=t,_=!1,d=!1;function C(f,c){h[`${f}:${c}`]=this.checked,u(0,h)}return e.$$set=f=>{"available_filters"in f&&u(1,r=f.available_filters),"show_empty_filters"in f&&u(2,s=f.show_empty_filters),"open_filters"in f&&u(3,a=f.open_filters),"translate"in f&&u(4,l=f.translate),"automatic_translations"in f&&u(5,n=f.automatic_translations),"translations"in f&&u(6,i=f.translations),"selected_filters"in f&&u(0,h=f.selected_filters)},e.$$.update=()=>{if(e.$$.dirty&258&&r&&!_){u(8,_=!0);let f=Object.entries(r||{});f.length===1&&Object.entries(f[0][1])?.length<=6&&u(7,d=!0)}},[h,r,s,a,l,n,i,d,_,C]}var Ls=class extends Ce{constructor(e){super(),de(this,e,Ps,Is,fe,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},xs=Ls,Ru={};F(Ru,{comments:()=>vu,default:()=>qs,direction:()=>pu,strings:()=>Tu,thanks_to:()=>Bu});var Bu="Jan Claasen ",vu="",pu="ltr",Tu={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},qs={thanks_to:Bu,comments:vu,direction:pu,strings:Tu},Fu={};F(Fu,{comments:()=>Du,default:()=>Vs,direction:()=>bu,strings:()=>Mu,thanks_to:()=>ku});var ku="Jermanuts",Du="",bu="rtl",Mu={placeholder:"بحث",clear_search:"امسح",load_more:"حمِّل المزيد من النتائج",search_label:"ابحث في هذا الموقع",filters_label:"تصفيات",zero_results:"لا توجد نتائج ل [SEARCH_TERM]",many_results:"[COUNT] نتائج ل [SEARCH_TERM]",one_result:"[COUNT] نتيجة ل [SEARCH_TERM]",alt_search:"لا توجد نتائج ل [SEARCH_TERM]. يعرض النتائج ل [DIFFERENT_TERM] بدلاً من ذلك",search_suggestion:"لا توجد نتائج ل [SEARCH_TERM]. جرب أحد عمليات البحث التالية:",searching:"يبحث عن [SEARCH_TERM]..."},Vs={thanks_to:ku,comments:Du,direction:bu,strings:Mu},Su={};F(Su,{comments:()=>wu,default:()=>Ks,direction:()=>Nu,strings:()=>yu,thanks_to:()=>Hu});var Hu="Maruf Alom ",wu="",Nu="ltr",yu={placeholder:"অনুসন্ধান করুন",clear_search:"মুছে ফেলুন",load_more:"আরো ফলাফল দেখুন",search_label:"এই ওয়েবসাইটে অনুসন্ধান করুন",filters_label:"ফিল্টার",zero_results:"[SEARCH_TERM] এর জন্য কিছু খুঁজে পাওয়া যায়নি",many_results:"[COUNT]-টি ফলাফল পাওয়া গিয়েছে [SEARCH_TERM] এর জন্য",one_result:"[COUNT]-টি ফলাফল পাওয়া গিয়েছে [SEARCH_TERM] এর জন্য",alt_search:"কোন কিছু খুঁজে পাওয়া যায়নি [SEARCH_TERM] এর জন্য. পরিবর্তে [DIFFERENT_TERM] এর জন্য দেখানো হচ্ছে",search_suggestion:"কোন কিছু খুঁজে পাওয়া যায়নি [SEARCH_TERM] এর বিষয়ে. নিন্মের বিষয়বস্তু খুঁজে দেখুন:",searching:"অনুসন্ধান চলছে [SEARCH_TERM]..."},Ks={thanks_to:Hu,comments:wu,direction:Nu,strings:yu},zu={};F(zu,{comments:()=>Ou,default:()=>Gs,direction:()=>Uu,strings:()=>Iu,thanks_to:()=>ju});var ju="Pablo Villaverde ",Ou="",Uu="ltr",Iu={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure més resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques següents:",searching:"Cercant [SEARCH_TERM]..."},Gs={thanks_to:ju,comments:Ou,direction:Uu,strings:Iu},Pu={};F(Pu,{comments:()=>xu,default:()=>Js,direction:()=>qu,strings:()=>Vu,thanks_to:()=>Lu});var Lu="Dalibor Hon ",xu="",qu="ltr",Vu={placeholder:"Hledat",clear_search:"Smazat",load_more:"Načíst další výsledky",search_label:"Prohledat tuto stránku",filters_label:"Filtry",zero_results:"Žádné výsledky pro [SEARCH_TERM]",many_results:"[COUNT] výsledků pro [SEARCH_TERM]",one_result:"[COUNT] výsledek pro [SEARCH_TERM]",alt_search:"Žádné výsledky pro [SEARCH_TERM]. Zobrazují se výsledky pro [DIFFERENT_TERM]",search_suggestion:"Žádné výsledky pro [SEARCH_TERM]. Související výsledky hledání:",searching:"Hledám [SEARCH_TERM]..."},Js={thanks_to:Lu,comments:xu,direction:qu,strings:Vu},Ku={};F(Ku,{comments:()=>Ju,default:()=>Ws,direction:()=>Wu,strings:()=>Zu,thanks_to:()=>Gu});var Gu="Jonas Smedegaard ",Ju="",Wu="ltr",Zu={placeholder:"Søg",clear_search:"Nulstil",load_more:"Indlæs flere resultater",search_label:"Søg på dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv et af disse søgeord i stedet:",searching:"Søger efter [SEARCH_TERM]..."},Ws={thanks_to:Gu,comments:Ju,direction:Wu,strings:Zu},Yu={};F(Yu,{comments:()=>Qu,default:()=>Zs,direction:()=>$u,strings:()=>et,thanks_to:()=>Xu});var Xu="Jan Claasen ",Qu="",$u="ltr",et={placeholder:"Suche",clear_search:"Löschen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse für [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse für [SEARCH_TERM]",one_result:"[COUNT] Ergebnis für [SEARCH_TERM]",alt_search:"Keine Ergebnisse für [SEARCH_TERM]. Stattdessen werden Ergebnisse für [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse für [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche für [SEARCH_TERM]"},Zs={thanks_to:Xu,comments:Qu,direction:$u,strings:et},ut={};F(ut,{comments:()=>rt,default:()=>Ys,direction:()=>st,strings:()=>at,thanks_to:()=>tt});var tt="Liam Bigelow ",rt="",st="ltr",at={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},Ys={thanks_to:tt,comments:rt,direction:st,strings:at},lt={};F(lt,{comments:()=>it,default:()=>Xs,direction:()=>ot,strings:()=>_t,thanks_to:()=>nt});var nt="Pablo Villaverde ",it="",ot="ltr",_t={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver más resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes búsquedas:",searching:"Buscando [SEARCH_TERM]..."},Xs={thanks_to:nt,comments:it,direction:ot,strings:_t},ct={};F(ct,{comments:()=>Et,default:()=>Qs,direction:()=>ht,strings:()=>dt,thanks_to:()=>ft});var ft="Ali Khaleqi Yekta ",Et="",ht="rtl",dt={placeholder:"جستجو",clear_search:"پاکسازی",load_more:"بارگذاری نتایج بیشتر",search_label:"جستجو در سایت",filters_label:"فیلترها",zero_results:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد",many_results:"[COUNT] نتیجه برای [SEARCH_TERM] یافت شد",one_result:"[COUNT] نتیجه برای [SEARCH_TERM] یافت شد",alt_search:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد. در عوض نتایج برای [DIFFERENT_TERM] نمایش داده می‌شود",search_suggestion:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد. یکی از جستجوهای زیر را امتحان کنید:",searching:"در حال جستجوی [SEARCH_TERM]..."},Qs={thanks_to:ft,comments:Et,direction:ht,strings:dt},Ct={};F(Ct,{comments:()=>gt,default:()=>$s,direction:()=>At,strings:()=>Rt,thanks_to:()=>mt});var mt="Valtteri Laitinen ",gt="",At="ltr",Rt={placeholder:"Haku",clear_search:"Tyhjennä",load_more:"Lataa lisää tuloksia",search_label:"Hae tältä sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. Näytetään tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},$s={thanks_to:mt,comments:gt,direction:At,strings:Rt},Bt={};F(Bt,{comments:()=>pt,default:()=>ea,direction:()=>Tt,strings:()=>Ft,thanks_to:()=>vt});var vt="Nicolas Friedli ",pt="",Tt="ltr",Ft={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de résultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de résultat pour [SEARCH_TERM]",many_results:"[COUNT] résultats pour [SEARCH_TERM]",one_result:"[COUNT] résultat pour [SEARCH_TERM]",alt_search:"Pas de résultat pour [SEARCH_TERM]. Montre les résultats pour [DIFFERENT_TERM] à la place",search_suggestion:"Pas de résultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},ea={thanks_to:vt,comments:pt,direction:Tt,strings:Ft},kt={};F(kt,{comments:()=>bt,default:()=>ua,direction:()=>Mt,strings:()=>St,thanks_to:()=>Dt});var Dt="Pablo Villaverde ",bt="",Mt="ltr",St={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver máis resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},ua={thanks_to:Dt,comments:bt,direction:Mt,strings:St},Ht={};F(Ht,{comments:()=>Nt,default:()=>ta,direction:()=>yt,strings:()=>zt,thanks_to:()=>wt});var wt="Nir Tamir ",Nt="",yt="rtl",zt={placeholder:"חיפוש",clear_search:"ניקוי",load_more:"עוד תוצאות",search_label:"חיפוש באתר זה",filters_label:"מסננים",zero_results:"לא נמצאו תוצאות עבור [SEARCH_TERM]",many_results:"נמצאו [COUNT] תוצאות עבור [SEARCH_TERM]",one_result:"נמצאה תוצאה אחת עבור [SEARCH_TERM]",alt_search:"לא נמצאו תוצאות עבור [SEARCH_TERM]. מוצגות תוצאות עבור [DIFFERENT_TERM]",search_suggestion:"לא נמצאו תוצאות עבור [SEARCH_TERM]. נסו אחד מהחיפושים הבאים:",searching:"מחפש את [SEARCH_TERM]..."},ta={thanks_to:wt,comments:Nt,direction:yt,strings:zt},jt={};F(jt,{comments:()=>Ut,default:()=>ra,direction:()=>It,strings:()=>Pt,thanks_to:()=>Ot});var Ot="Amit Yadav ",Ut="",It="ltr",Pt={placeholder:"खोजें",clear_search:"साफ करें",load_more:"और अधिक परिणाम लोड करें",search_label:"इस साइट में खोजें",filters_label:"फ़िल्टर",zero_results:"कोई परिणाम [SEARCH_TERM] के लिए नहीं मिला",many_results:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिले",one_result:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिला",alt_search:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। इसके बजाय [DIFFERENT_TERM] के लिए परिणाम दिखा रहा है",search_suggestion:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। निम्नलिखित खोजों में से कोई एक आज़माएं:",searching:"[SEARCH_TERM] की खोज की जा रही है..."},ra={thanks_to:Ot,comments:Ut,direction:It,strings:Pt},Lt={};F(Lt,{comments:()=>qt,default:()=>sa,direction:()=>Vt,strings:()=>Kt,thanks_to:()=>xt});var xt="Diomed ",qt="",Vt="ltr",Kt={placeholder:"Traži",clear_search:"Očisti",load_more:"Učitaj više rezultata",search_label:"Pretraži ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Pokušaj s jednom od ovih pretraga:",searching:"Pretražujem [SEARCH_TERM]..."},sa={thanks_to:xt,comments:qt,direction:Vt,strings:Kt},Gt={};F(Gt,{comments:()=>Wt,default:()=>aa,direction:()=>Zt,strings:()=>Yt,thanks_to:()=>Jt});var Jt="Adam Laki ",Wt="",Zt="ltr",Yt={placeholder:"Keresés",clear_search:"Törlés",load_more:"További találatok betöltése",search_label:"Keresés az oldalon",filters_label:"Szűrés",zero_results:"Nincs találat a(z) [SEARCH_TERM] kifejezésre",many_results:"[COUNT] db találat a(z) [SEARCH_TERM] kifejezésre",one_result:"[COUNT] db találat a(z) [SEARCH_TERM] kifejezésre",alt_search:"Nincs találat a(z) [SEARCH_TERM] kifejezésre. Találatok mutatása inkább a(z) [DIFFERENT_TERM] kifejezésre",search_suggestion:"Nincs találat a(z) [SEARCH_TERM] kifejezésre. Próbáld meg a következő keresések egyikét:",searching:"Keresés a(z) [SEARCH_TERM] kifejezésre..."},aa={thanks_to:Jt,comments:Wt,direction:Zt,strings:Yt},Xt={};F(Xt,{comments:()=>$t,default:()=>la,direction:()=>er,strings:()=>ur,thanks_to:()=>Qt});var Qt="Nixentric",$t="",er="ltr",ur={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},la={thanks_to:Qt,comments:$t,direction:er,strings:ur},tr={};F(tr,{comments:()=>sr,default:()=>na,direction:()=>ar,strings:()=>lr,thanks_to:()=>rr});var rr="Cosette Bruhns Alonso, Andrew Janco ",sr="",ar="ltr",lr={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra più risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},na={thanks_to:rr,comments:sr,direction:ar,strings:lr},nr={};F(nr,{comments:()=>or,default:()=>ia,direction:()=>_r,strings:()=>cr,thanks_to:()=>ir});var ir="Tate",or="",_r="ltr",cr={placeholder:"検索",clear_search:"クリア",load_more:"次を読み込む",search_label:"このサイトを検索",filters_label:"フィルタ",zero_results:"[SEARCH_TERM]の検索に一致する情報はありませんでした",many_results:"[SEARCH_TERM]の[COUNT]件の検索結果",one_result:"[SEARCH_TERM]の[COUNT]件の検索結果",alt_search:"[SEARCH_TERM]の検索に一致する情報はありませんでした。[DIFFERENT_TERM]の検索結果を表示しています",search_suggestion:"[SEARCH_TERM]の検索に一致する情報はありませんでした。次のいずれかの検索を試してください",searching:"[SEARCH_TERM]を検索しています"},ia={thanks_to:ir,comments:or,direction:_r,strings:cr},fr={};F(fr,{comments:()=>hr,default:()=>oa,direction:()=>dr,strings:()=>Cr,thanks_to:()=>Er});var Er="Seokho Son ",hr="",dr="ltr",Cr={placeholder:"검색어",clear_search:"비우기",load_more:"검색 결과 더 보기",search_label:"사이트 검색",filters_label:"필터",zero_results:"[SEARCH_TERM]에 대한 결과 없음",many_results:"[SEARCH_TERM]에 대한 결과 [COUNT]건",one_result:"[SEARCH_TERM]에 대한 결과 [COUNT]건",alt_search:"[SEARCH_TERM]에 대한 결과 없음. [DIFFERENT_TERM]에 대한 결과",search_suggestion:"[SEARCH_TERM]에 대한 결과 없음. 추천 검색어: ",searching:"[SEARCH_TERM] 검색 중..."},oa={thanks_to:Er,comments:hr,direction:dr,strings:Cr},mr={};F(mr,{comments:()=>Ar,default:()=>_a,direction:()=>Rr,strings:()=>Br,thanks_to:()=>gr});var gr="",Ar="",Rr="ltr",Br={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta ētahi otinga kē",search_label:"Rapu",filters_label:"Tātari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga kē ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakamātau ki ngā mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},_a={thanks_to:gr,comments:Ar,direction:Rr,strings:Br},vr={};F(vr,{comments:()=>Tr,default:()=>ca,direction:()=>Fr,strings:()=>kr,thanks_to:()=>pr});var pr="Paul van Brouwershaven",Tr="",Fr="ltr",kr={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},ca={thanks_to:pr,comments:Tr,direction:Fr,strings:kr},Dr={};F(Dr,{comments:()=>Mr,default:()=>fa,direction:()=>Sr,strings:()=>Hr,thanks_to:()=>br});var br="Christopher Wingate",Mr="",Sr="ltr",Hr={placeholder:"Søk",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"Søk på denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv en av disse søkeordene i stedet:",searching:"Søker etter [SEARCH_TERM]"},fa={thanks_to:br,comments:Mr,direction:Sr,strings:Hr},wr={};F(wr,{comments:()=>yr,default:()=>Ea,direction:()=>zr,strings:()=>jr,thanks_to:()=>Nr});var Nr="",yr="",zr="ltr",jr={placeholder:"Szukaj",clear_search:"Wyczyść",load_more:"Załaduj więcej",search_label:"Przeszukaj tę stronę",filters_label:"Filtry",zero_results:"Brak wyników dla [SEARCH_TERM]",many_results:"[COUNT] wyników dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wyników dla [SEARCH_TERM]. Wyświetlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wyników dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},Ea={thanks_to:Nr,comments:yr,direction:zr,strings:jr},Or={};F(Or,{comments:()=>Ir,default:()=>ha,direction:()=>Pr,strings:()=>Lr,thanks_to:()=>Ur});var Ur="Jonatah",Ir="",Pr="ltr",Lr={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},ha={thanks_to:Ur,comments:Ir,direction:Pr,strings:Lr},xr={};F(xr,{comments:()=>Vr,default:()=>da,direction:()=>Kr,strings:()=>Gr,thanks_to:()=>qr});var qr="Bogdan Mateescu ",Vr="",Kr="ltr",Gr={placeholder:"Căutare",clear_search:"Ştergeţi",load_more:"Încărcați mai multe rezultate",search_label:"Căutați în acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afișează în schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. Încercați una dintre următoarele căutări:",searching:"Se caută după: [SEARCH_TERM]..."},da={thanks_to:qr,comments:Vr,direction:Kr,strings:Gr},Jr={};F(Jr,{comments:()=>Zr,default:()=>Ca,direction:()=>Yr,strings:()=>Xr,thanks_to:()=>Wr});var Wr="Aleksandr Gordeev",Zr="",Yr="ltr",Xr={placeholder:"Поиск",clear_search:"Очистить поле",load_more:"Загрузить еще",search_label:"Поиск по сайту",filters_label:"Фильтры",zero_results:"Ничего не найдено по запросу: [SEARCH_TERM]",many_results:"[COUNT] результатов по запросу: [SEARCH_TERM]",one_result:"[COUNT] результат по запросу: [SEARCH_TERM]",alt_search:"Ничего не найдено по запросу: [SEARCH_TERM]. Показаны результаты по запросу: [DIFFERENT_TERM]",search_suggestion:"Ничего не найдено по запросу: [SEARCH_TERM]. Попробуйте один из следующих вариантов",searching:"Поиск по запросу: [SEARCH_TERM]"},Ca={thanks_to:Wr,comments:Zr,direction:Yr,strings:Xr},Qr={};F(Qr,{comments:()=>e0,default:()=>ma,direction:()=>u0,strings:()=>t0,thanks_to:()=>$r});var $r="Andrija Sagicc",e0="",u0="ltr",t0={placeholder:"Претрага",clear_search:"Брисање",load_more:"Приказ више резултата",search_label:"Претрага сајта",filters_label:"Филтери",zero_results:"Нема резултата за [SEARCH_TERM]",many_results:"[COUNT] резултата за [SEARCH_TERM]",one_result:"[COUNT] резултата за [SEARCH_TERM]",alt_search:"Нема резултата за [SEARCH_TERM]. Приказ додатник резултата за [DIFFERENT_TERM]",search_suggestion:"Нема резултата за [SEARCH_TERM]. Покушајте са неком од следећих претрага:",searching:"Претрага термина [SEARCH_TERM]..."},ma={thanks_to:$r,comments:e0,direction:u0,strings:t0},r0={};F(r0,{comments:()=>a0,default:()=>ga,direction:()=>l0,strings:()=>n0,thanks_to:()=>s0});var s0="Montazar Al-Jaber ",a0="",l0="ltr",n0={placeholder:"Sök",clear_search:"Rensa",load_more:"Visa fler träffar",search_label:"Sök på denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga träffar",many_results:"[SEARCH_TERM] gav [COUNT] träffar",one_result:"[SEARCH_TERM] gav [COUNT] träff",alt_search:"[SEARCH_TERM] gav inga träffar. Visar resultat för [DIFFERENT_TERM] istället",search_suggestion:"[SEARCH_TERM] gav inga träffar. Försök igen med en av följande sökord:",searching:"Söker efter [SEARCH_TERM]..."},ga={thanks_to:s0,comments:a0,direction:l0,strings:n0},i0={};F(i0,{comments:()=>_0,default:()=>Aa,direction:()=>c0,strings:()=>f0,thanks_to:()=>o0});var o0="Anonymous",_0="",c0="ltr",f0={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},Aa={thanks_to:o0,comments:_0,direction:c0,strings:f0},E0={};F(E0,{comments:()=>d0,default:()=>Ra,direction:()=>C0,strings:()=>m0,thanks_to:()=>h0});var h0="",d0="",C0="ltr",m0={placeholder:"தேடுக",clear_search:"அழிக்குக",load_more:"மேலும் முடிவுகளைக் காட்டுக",search_label:"இந்த தளத்தில் தேடுக",filters_label:"வடிகட்டல்கள்",zero_results:"[SEARCH_TERM] க்கான முடிவுகள் இல்லை",many_results:"[SEARCH_TERM] க்கான [COUNT] முடிவுகள்",one_result:"[SEARCH_TERM] க்கான முடிவு",alt_search:"[SEARCH_TERM] இத்தேடலுக்கான முடிவுகள் இல்லை, இந்த தேடல்களுக்கான ஒத்த முடிவுகள் [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] இத் தேடலுக்கான முடிவுகள் இல்லை.இதற்கு பதிலீடான தேடல்களை தேடுக:",searching:"[SEARCH_TERM] தேடப்படுகின்றது"},Ra={thanks_to:h0,comments:d0,direction:C0,strings:m0},g0={};F(g0,{comments:()=>R0,default:()=>Ba,direction:()=>B0,strings:()=>v0,thanks_to:()=>A0});var A0="Taylan Özgür Bildik",R0="",B0="ltr",v0={placeholder:"Araştır",clear_search:"Temizle",load_more:"Daha fazla sonuç",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] için sonuç yok",many_results:"[SEARCH_TERM] için [COUNT] sonuç bulundu",one_result:"[SEARCH_TERM] için [COUNT] sonuç bulundu",alt_search:"[SEARCH_TERM] için sonuç yok. Bunun yerine [DIFFERENT_TERM] için sonuçlar gösteriliyor",search_suggestion:"[SEARCH_TERM] için sonuç yok. Alternatif olarak aşağıdaki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] araştırılıyor..."},Ba={thanks_to:A0,comments:R0,direction:B0,strings:v0},p0={};F(p0,{comments:()=>F0,default:()=>va,direction:()=>k0,strings:()=>D0,thanks_to:()=>T0});var T0="Vladyslav Lyshenko ",F0="",k0="ltr",D0={placeholder:"Пошук",clear_search:"Очистити поле",load_more:"Завантажити ще",search_label:"Пошук по сайту",filters_label:"Фільтри",zero_results:"Нічого не знайдено за запитом: [SEARCH_TERM]",many_results:"[COUNT] результатів на запит: [SEARCH_TERM]",one_result:"[COUNT] результат за запитом: [SEARCH_TERM]",alt_search:"Нічого не знайдено на запит: [SEARCH_TERM]. Показано результати на запит: [DIFFERENT_TERM]",search_suggestion:"Нічого не знайдено на запит: [SEARCH_TERM]. Спробуйте один із таких варіантів",searching:"Пошук за запитом: [SEARCH_TERM]"},va={thanks_to:T0,comments:F0,direction:k0,strings:D0},b0={};F(b0,{comments:()=>S0,default:()=>pa,direction:()=>H0,strings:()=>w0,thanks_to:()=>M0});var M0="Long Nhat Nguyen",S0="",H0="ltr",w0={placeholder:"Tìm kiếm",clear_search:"Xóa",load_more:"Nhiều kết quả hơn",search_label:"Tìm kiếm trong trang này",filters_label:"Bộ lọc",zero_results:"Không tìm thấy kết quả cho [SEARCH_TERM]",many_results:"[COUNT] kết quả cho [SEARCH_TERM]",one_result:"[COUNT] kết quả cho [SEARCH_TERM]",alt_search:"Không tìm thấy kết quả cho [SEARCH_TERM]. Kiểm thị kết quả thay thế với [DIFFERENT_TERM]",search_suggestion:"Không tìm thấy kết quả cho [SEARCH_TERM]. Thử một trong các tìm kiếm:",searching:"Đang tìm kiếm cho [SEARCH_TERM]..."},pa={thanks_to:M0,comments:S0,direction:H0,strings:w0},N0={};F(N0,{comments:()=>z0,default:()=>Ta,direction:()=>j0,strings:()=>O0,thanks_to:()=>y0});var y0="Amber Song",z0="",j0="ltr",O0={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},Ta={thanks_to:y0,comments:z0,direction:j0,strings:O0},U0={};F(U0,{comments:()=>P0,default:()=>Fa,direction:()=>L0,strings:()=>x0,thanks_to:()=>I0});var I0="Amber Song",P0="",L0="ltr",x0={placeholder:"搜索",clear_search:"清除",load_more:"加載更多結果",search_label:"站內搜索",filters_label:"篩選",zero_results:"未找到 [SEARCH_TERM] 的相關結果",many_results:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",one_result:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",alt_search:"未找到 [SEARCH_TERM] 的相關結果。改為顯示 [DIFFERENT_TERM] 的相關結果",search_suggestion:"未找到 [SEARCH_TERM] 的相關結果。請嘗試以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},Fa={thanks_to:I0,comments:P0,direction:L0,strings:x0},q0={};F(q0,{comments:()=>K0,default:()=>ka,direction:()=>G0,strings:()=>J0,thanks_to:()=>V0});var V0="Amber Song",K0="",G0="ltr",J0={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},ka={thanks_to:V0,comments:K0,direction:G0,strings:J0},Da=[Ru,Fu,Su,zu,Pu,Ku,Yu,ut,lt,ct,Ct,Bt,kt,Ht,jt,Lt,Gt,Xt,tr,nr,fr,mr,vr,Dr,wr,Or,xr,Jr,Qr,r0,i0,E0,g0,p0,b0,N0,U0,q0],ba=Da,Ma=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ou(e,t,u){const r=e.slice();return r[51]=t[u],r}function _u(e){let t,u,r;function s(l){e[37](l)}let a={show_empty_filters:e[5],open_filters:e[6],available_filters:e[18],translate:e[20],automatic_translations:e[19],translations:e[7]};return e[0]!==void 0&&(a.selected_filters=e[0]),t=new xs({props:a}),ae.push(()=>ps(t,"selected_filters",s)),{c(){ke(t.$$.fragment)},m(l,n){Ee(t,l,n),r=!0},p(l,n){const i={};n[0]&32&&(i.show_empty_filters=l[5]),n[0]&64&&(i.open_filters=l[6]),n[0]&262144&&(i.available_filters=l[18]),n[0]&524288&&(i.automatic_translations=l[19]),n[0]&128&&(i.translations=l[7]),!u&&n[0]&1&&(u=!0,i.selected_filters=l[0],gs(()=>u=!1)),t.$set(i)},i(l){r||(z(t.$$.fragment,l),r=!0)},o(l){U(t.$$.fragment,l),r=!1},d(l){he(t,l)}}}function cu(e){let t,u,r,s;const a=[Ha,Sa],l=[];function n(i,h){return i[14]?0:1}return u=n(e),r=l[u]=a[u](e),{c(){t=v("div"),r.c(),g(t,"class","pagefind-ui__results-area svelte-e9gkc3")},m(i,h){T(i,t,h),l[u].m(t,null),s=!0},p(i,h){let _=u;u=n(i),u===_?l[u].p(i,h):(le(),U(l[_],1,1,()=>{l[_]=null}),ne(),r=l[u],r?r.p(i,h):(r=l[u]=a[u](i),r.c()),z(r,1),r.m(t,null))},i(i){s||(z(r),s=!0)},o(i){U(r),s=!1},d(i){i&&p(t),l[u].d()}}}function Sa(e){let t,u,r,s=[],a=new Map,l,n,i;function h(o,E){return o[13].results.length===0?ya:o[13].results.length===1?Na:wa}let _=h(e),d=_(e),C=e[13].results.slice(0,e[17]);const f=o=>o[51].id;for(let o=0;oe[17]&&Eu(e);return{c(){t=v("p"),d.c(),u=b(),r=v("ol");for(let o=0;oo[17]?c?c.p(o,E):(c=Eu(o),c.c(),c.m(n.parentNode,n)):c&&(c.d(1),c=null)},i(o){if(!i){for(let E=0;E{i[C]=null}),ne(),s=i[r],s?s.p(t,d):(s=i[r]=n[r](t),s.c()),z(s,1),s.m(a.parentNode,a))},i(_){l||(z(s),l=!0)},o(_){U(s),l=!1},d(_){_&&p(u),i[r].d(_),_&&p(a)}}}function Eu(e){let t,u=e[20]("load_more",e[19],e[7])+"",r,s,a;return{c(){t=v("button"),r=M(u),g(t,"type","button"),g(t,"class","pagefind-ui__button svelte-e9gkc3")},m(l,n){T(l,t,n),B(t,r),s||(a=G(t,"click",e[22]),s=!0)},p(l,n){n[0]&524416&&u!==(u=l[20]("load_more",l[19],l[7])+"")&&j(r,u)},d(l){l&&p(t),s=!1,a()}}}function hu(e){let t,u=e[20]("searching",e[19],e[7]).replace(/\[SEARCH_TERM\]/,e[16])+"",r;return{c(){t=v("p"),r=M(u),g(t,"class","pagefind-ui__message svelte-e9gkc3")},m(s,a){T(s,t,a),B(t,r)},p(s,a){a[0]&589952&&u!==(u=s[20]("searching",s[19],s[7]).replace(/\[SEARCH_TERM\]/,s[16])+"")&&j(r,u)},d(s){s&&p(t)}}}function Oa(e){let t,u,r,s,a,l,n=e[20]("clear_search",e[19],e[7])+"",i,h,_,d,C,f,c,o,E=e[12]&&_u(e),R=e[15]&&cu(e);return{c(){t=v("div"),u=v("form"),r=v("input"),a=b(),l=v("button"),i=M(n),h=b(),_=v("div"),E&&E.c(),d=b(),R&&R.c(),g(r,"class","pagefind-ui__search-input svelte-e9gkc3"),g(r,"type","text"),g(r,"placeholder",s=e[20]("placeholder",e[19],e[7])),g(r,"autocapitalize","none"),g(r,"enterkeyhint","search"),r.autofocus=e[8],g(l,"class","pagefind-ui__search-clear svelte-e9gkc3"),K(l,"pagefind-ui__suppressed",!e[9]),g(_,"class","pagefind-ui__drawer svelte-e9gkc3"),K(_,"pagefind-ui__hidden",!e[15]),g(u,"class","pagefind-ui__form svelte-e9gkc3"),g(u,"role","search"),g(u,"aria-label",C=e[20]("search_label",e[19],e[7])),g(u,"action","javascript:void(0);"),g(t,"class","pagefind-ui svelte-e9gkc3"),K(t,"pagefind-ui--reset",e[1])},m(A,k){T(A,t,k),B(t,u),B(u,r),ze(r,e[9]),e[34](r),B(u,a),B(u,l),B(l,i),e[35](l),B(u,h),B(u,_),E&&E.m(_,null),B(_,d),R&&R.m(_,null),f=!0,e[8]&&r.focus(),c||(o=[G(r,"focus",e[21]),G(r,"keydown",e[32]),G(r,"input",e[33]),G(l,"click",e[36]),G(u,"submit",Ua)],c=!0)},p(A,k){(!f||k[0]&524416&&s!==(s=A[20]("placeholder",A[19],A[7])))&&g(r,"placeholder",s),(!f||k[0]&256)&&(r.autofocus=A[8]),k[0]&512&&r.value!==A[9]&&ze(r,A[9]),(!f||k[0]&524416)&&n!==(n=A[20]("clear_search",A[19],A[7])+"")&&j(i,n),(!f||k[0]&512)&&K(l,"pagefind-ui__suppressed",!A[9]),A[12]?E?(E.p(A,k),k[0]&4096&&z(E,1)):(E=_u(A),E.c(),z(E,1),E.m(_,d)):E&&(le(),U(E,1,1,()=>{E=null}),ne()),A[15]?R?(R.p(A,k),k[0]&32768&&z(R,1)):(R=cu(A),R.c(),z(R,1),R.m(_,null)):R&&(le(),U(R,1,1,()=>{R=null}),ne()),(!f||k[0]&32768)&&K(_,"pagefind-ui__hidden",!A[15]),(!f||k[0]&524416&&C!==(C=A[20]("search_label",A[19],A[7])))&&g(u,"aria-label",C),(!f||k[0]&2)&&K(t,"pagefind-ui--reset",A[1])},i(A){f||(z(E),z(R),f=!0)},o(A){U(E),U(R),f=!1},d(A){A&&p(t),e[34](null),e[35](null),E&&E.d(),R&&R.d(),c=!1,W(o)}}}var Ua=e=>e.preventDefault();function Ia(e,t,u){const r={},s=Ma.map(m=>m.match(/([^\/]+)\.json$/)[1]);for(let m=0;mN[m]??H[m]??"";hs(()=>{let m=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",H=Au(m.toLocaleLowerCase());u(19,He=r[`${H.language}-${H.script}-${H.region}`]||r[`${H.language}-${H.region}`]||r[`${H.language}`]||r.en)}),ds(()=>{S?.destroy?.(),S=null});const we=async()=>{if(!me&&(u(12,me=!0),!S)){let m;try{m=await is(()=>import(`${a}pagefind.js`),[])}catch(N){console.error(N),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` -`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}_||u(24,_=h?12:30);let H={...E||{},excerptLength:_};await m.options(H);for(const N of R){if(!N.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");const I=N.bundlePath;delete N.bundlePath,await m.mergeIndex(I,N)}S=m,Y0()}},Y0=async()=>{S&&(Se=await S.filters(),(!ue||!Object.keys(ue).length)&&u(18,ue=Se))},X0=m=>{let H={};return Object.entries(m).filter(([,N])=>N).forEach(([N])=>{let[I,Z]=N.split(/:(.*)$/);H[I]=H[I]||[],H[I].push(Z)}),H};let te;const Q0=async(m,H)=>{if(!m){u(15,Ae=!1),te&&clearTimeout(te);return}const N=X0(H),I=()=>$0(m,N);o>0&&m?(te&&clearTimeout(te),te=setTimeout(I,o),await Ne(),S.preload(m,{filters:N})):I(),es()},Ne=async()=>{for(;!S;)we(),await new Promise(m=>setTimeout(m,50))},$0=async(m,H)=>{u(16,Me=m||""),typeof C=="function"&&(m=C(m)),u(14,ge=!0),u(15,Ae=!0),await Ne();const N=++be,I={filters:H};q&&typeof q=="object"&&(I.sort=q);const Z=await S.search(m,I);be===N&&(Z.filters&&Object.keys(Z.filters)?.length&&u(18,ue=Z.filters),u(13,De=Z),u(14,ge=!1),u(17,Re=l))},es=()=>{const m=x.offsetWidth;m!=W0&&u(10,w.style.paddingRight=`${m+2}px`,w)},us=m=>{m?.preventDefault(),u(17,Re+=l)},ts=m=>{m.key==="Escape"&&(u(9,D=""),w.blur()),m.key==="Enter"&&m.preventDefault()};function rs(){D=this.value,u(9,D),u(23,A)}function ss(m){ae[m?"unshift":"push"](()=>{w=m,u(10,w)})}function as(m){ae[m?"unshift":"push"](()=>{x=m,u(11,x)})}const ls=()=>{u(9,D=""),w.blur()};function ns(m){L=m,u(0,L)}return e.$$set=m=>{"base_path"in m&&u(25,a=m.base_path),"page_size"in m&&u(26,l=m.page_size),"reset_styles"in m&&u(1,n=m.reset_styles),"show_images"in m&&u(2,i=m.show_images),"show_sub_results"in m&&u(3,h=m.show_sub_results),"excerpt_length"in m&&u(24,_=m.excerpt_length),"process_result"in m&&u(4,d=m.process_result),"process_term"in m&&u(27,C=m.process_term),"show_empty_filters"in m&&u(5,f=m.show_empty_filters),"open_filters"in m&&u(6,c=m.open_filters),"debounce_timeout_ms"in m&&u(28,o=m.debounce_timeout_ms),"pagefind_options"in m&&u(29,E=m.pagefind_options),"merge_index"in m&&u(30,R=m.merge_index),"trigger_search_term"in m&&u(23,A=m.trigger_search_term),"translations"in m&&u(7,k=m.translations),"autofocus"in m&&u(8,y=m.autofocus),"sort"in m&&u(31,q=m.sort),"selected_filters"in m&&u(0,L=m.selected_filters)},e.$$.update=()=>{e.$$.dirty[0]&8388608&&A&&(u(9,D=A),u(23,A="")),e.$$.dirty[0]&513&&Q0(D,L)},[L,n,i,h,d,f,c,k,y,D,w,x,me,De,ge,Ae,Me,Re,ue,He,Z0,we,us,A,_,a,l,C,o,E,R,q,ts,rs,ss,as,ls,ns]}var Pa=class extends Ce{constructor(e){super(),de(this,e,Ia,Oa,fe,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,sort:31,selected_filters:0},null,[-1,-1])}},La=Pa,Fe;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(Fe=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{Fe="/pagefind/"}var Va=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",u=e.bundlePath??Fe,r=e.pageSize??5,s=e.resetStyles??!0,a=e.showImages??!0,l=e.showSubResults??!1,n=e.excerptLength??0,i=e.processResult??null,h=e.processTerm??null,_=e.showEmptyFilters??!0,d=e.openFilters??[],C=e.debounceTimeoutMs??300,f=e.mergeIndex??[],c=e.translations??[],o=e.autofocus??!1,E=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.sort;const R=t instanceof HTMLElement?t:document.querySelector(t);R?this._pfs=new La({target:R,props:{base_path:u,page_size:r,reset_styles:s,show_images:a,show_sub_results:l,excerpt_length:n,process_result:i,process_term:h,show_empty_filters:_,open_filters:d,debounce_timeout_ms:C,merge_index:f,translations:c,autofocus:o,sort:E,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[u,r]of Object.entries(e))if(Array.isArray(r))for(let s of r)t[`${u}:${s}`]=!0;else t[`${u}:${r}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};export{Va as PagefindUI}; diff --git a/shepherd/blueprints/staticroutes/docs/first-steps/getting-started/index.html b/shepherd/blueprints/staticroutes/docs/first-steps/getting-started/index.html deleted file mode 100644 index 36f3159..0000000 --- a/shepherd/blueprints/staticroutes/docs/first-steps/getting-started/index.html +++ /dev/null @@ -1,142 +0,0 @@ - Getting Started | RoboCon Docs - - Skip to content

    Getting Started

    Welcome to the docs for Robocon 2026!

    -

    RoboCon2025 Game Header

    -

    If you haven’t already, it’s a good idea to take a look at the rules for this year’s competition.

    - -

    Once you’ve done that, you’ll need to turn your robot on.

    -

    To begin, get familiar with the kit provided. It includes:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CountParts
    2Lithium Polymer Batteries
    1Battery Bag
    1Battery Charger
    1BrainBox
    2Motor
    2Wheels
    1Caster Wheel
    1Chassis Kit
    2Servo Motor
    1Start Button
    1Power Switch
    - -
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/hardware/batteries/index.html b/shepherd/blueprints/staticroutes/docs/hardware/batteries/index.html deleted file mode 100644 index 46fd575..0000000 --- a/shepherd/blueprints/staticroutes/docs/hardware/batteries/index.html +++ /dev/null @@ -1,110 +0,0 @@ - Batteries | RoboCon Docs - - Skip to content

    Batteries

    Zippy Compact 2200mAh battery

    -

    The electronics kit contains two lithium-ion polymer (LiPo) batteries. These are similar to those used in laptops and are small and light for the amount of energy they contain. This is great for your robot but it is vital to treat such a high concentration of energy with respect. If you do not, there is a serious risk of fire and injury. To avoid this, you should follow the safety information on this page closely, at all times.

    -

    Your kit will come with several pieces of battery-related equipment:

    -
      -
    • Two 11.1V 2200mAh LiPo Batteries.
    • -
    • One battery charger.
    • -
    • One battery charging bag.
    • -
    -

    You must not use any batteries, chargers, bags or cables not explicitly authorised by Hills Road RoboCon. If you have any doubts or wish to request permission to use a battery, charger, charging bag or battery cable not provided by Hills Road RoboCon, please email us at robotics@hrsfc.ac.uk.

    -

    Battery Safety

    - -

    Storing

    -

    When your batteries are not actively in use, they should be safely stored. You must disconnect the batteries from all electrical equipment, and place them in the battery charging bag. You should then store the charging bag in a safe location.

    -

    If you are not going to use the batteries for a long period of time, such as more than a week, then you should charge the batteries beforehand. By themselves, batteries will discharge very slowly, and over-discharging will lead to damage. We recommend that you charge all batteries to at least 70% of capacity before being stored for a long period.

    -

    Operating Batteries

    -

    To use your batteries, you must connect them to the Hills Road RoboCon BrainBox. Do not tamper with the cable or connect the batteries to anything other than the power board (or the charger when charging).

    -

    During operation, the battery is protected by over-current protection by a regulator on the power board. If any equipment is short circuited, the over-current protection will activate - protecting the battery. There is a fuse placed inline with the power cord. If you suspect the fuse has gone something very wrong has happened. This is an important safety feature.

    - -

    Mechanical damage to a battery can be dangerous, and a puncture or large force applied to a battery causes a serious risk of fire. To avoid this, your battery should be shielded from mechanical damage while you operate it. Secure your battery to your robot, so that it does not move or fall off while the robot moves. You should also build a compartment for the battery to be placed in to prevent accidental collisions damaging the battery.

    -

    Flat batteries

    -

    When the battery has been almost completely discharged, the Power Board will automatically go into a low power state and shut everything down. You should immediately disconnect the battery, and begin charging it. You should keep your second battery charged so that you can immediately switch to using it.

    -

    Do not store a discharged battery for more than a few days without charging it, as it may discharge further and become damaged.

    -

    Charging batteries

    -

    You should only use the battery charger provided by Hills Road RoboCon to charge the batteries provided in the kit. Plug your battery in and put it in a LiPo safe bag until all the lights turn green.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/hardware/charging/index.html b/shepherd/blueprints/staticroutes/docs/hardware/charging/index.html deleted file mode 100644 index 582dba9..0000000 --- a/shepherd/blueprints/staticroutes/docs/hardware/charging/index.html +++ /dev/null @@ -1,85 +0,0 @@ - Charging | RoboCon Docs - - Skip to content

    Charging

    The exact charger you have will vary, however the one you have should look a bit like this one:

    -

    A charger

    -

    To charge the battery find an adapter and plug the charger into the mains. All three LEDs should light up red. Take the battery and place it in the LiPo-safe bag so that only the leads protrude then take the four pin lead from the battery. Then plug that into the four pin connector on the charger, noting the direction they are keyed in.

    - -

    When the battery is charged all 3 LEDs will turn green, if the LED’s flash red it means that there is a problem with your battery and you should contact us immediately.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/hardware/expanding-functionality/index.html b/shepherd/blueprints/staticroutes/docs/hardware/expanding-functionality/index.html deleted file mode 100644 index 404accc..0000000 --- a/shepherd/blueprints/staticroutes/docs/hardware/expanding-functionality/index.html +++ /dev/null @@ -1,90 +0,0 @@ - Expanding Functionality | RoboCon Docs - - Skip to content

    Expanding Functionality

    -

    I2C

    -

    I2C is a great way to a components to your BrainBox. Look at the datasheet for your device which you would like to connect and connect the SDA and SDL to the appropriate pins. You should now be able to send data to your device by using the SMBus2 python library.

    - -

    If you are interested in the I2C protocol there is a good guide to find out more about how it works here.

    -

    USB

    -

    You can use USB devices using the serial library. The connection will probably open on something similar to dev/ttyUSB0 but if you can’t find it where you expect then connect the device to a Raspberry Pi running a recent OS image and observe where it appears.

    -

    UART

    -

    UART is not enabled by default on the BrainBox and you will need to ask on the forums for us to provide a patch to enable it should you wish to use it.

    -
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/hardware/kit-list-of-parts/index.html b/shepherd/blueprints/staticroutes/docs/hardware/kit-list-of-parts/index.html deleted file mode 100644 index 9adcbd2..0000000 --- a/shepherd/blueprints/staticroutes/docs/hardware/kit-list-of-parts/index.html +++ /dev/null @@ -1,122 +0,0 @@ - Kit List of Parts | RoboCon Docs - - Skip to content

    Kit List of Parts

    The RoboCon kit

    -

    We hope that the RoboCon kit was useful to you, we ask that all kits are returned to us over the summer so that we can improve them and keep this competition free for years to come.

    -

    Packing and returning the kit

    -

    Shipping can sometimes be quite rough for the kit and so we require the following standards to be adheared to if the kit is to be shipped:

    -
      -
    • The kit it should be returned inside of the Really Useful Box (RUB) provided
    • -
    • All space inside the RUB should be filled with a packing material (cardboard etc) such that the kit can not move around inside the RUB.
    • -
    • The RUB should be wrapped in a protective layer of cardboard.
    • -
    • Most couriers have rules and regulations regarding shippment of lithium batteries, you must check with any courier beforehand about lithium batteries. In most cases it is required for the batteries to be in a device meaning that the loose batteries provided in the RoboCon kit can not be shipped. You may find it easier to return the kit to Hills Road in person. Shipment is at your own risk.
    • -
    • Hills Road Robotics will not fund the shipment of kit back to us.
    • -
    -

    If you plan to return the kit to Hills Road in person then please email robotics@hrsfc.ac.uk and we will organise a time to have someone meet you at reception.

    -

    Items to be returned

    -

    Containers

    -
      -
    • 1 x 12L Really Useful Box
    • -
    -

    Electronics Kit

    -
      -
    • 1 BrainBox
    • -
    • 1 microservo 9g SG90
    • -
    • 1 6 pin GPIO connector
    • -
    • 1 2 pin 12V connector
    • -
    -

    Switches

    -
      -
    • Red switch, black connector: ON/OFF (latching)
    • -
    • Black switch, green connector: Start (momentary)
    • -
    -

    Batteries

    -
      -
    • 2 x 12 V LiPo Battery
    • -
    • 1 x Turnigy E3 Compact 2S/3S Lipo Charger
    • -
    • 1 x Lithium Polymer Charge Pack
    • -
    -

    Computer

    -
      -
    • 1 Tablet computer
    • -
    • 1 Charging brick
    • -
    • 1 Power lead
    • -
    -
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/hardware/minibot-assembly/index.html b/shepherd/blueprints/staticroutes/docs/hardware/minibot-assembly/index.html deleted file mode 100644 index 9ae3f9a..0000000 --- a/shepherd/blueprints/staticroutes/docs/hardware/minibot-assembly/index.html +++ /dev/null @@ -1,82 +0,0 @@ - Minibot Assembly | RoboCon Docs - - Skip to content

    Minibot Assembly

    You can download instructions on how to make your minibot here.

    -

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/hardware/the-brainbox/index.html b/shepherd/blueprints/staticroutes/docs/hardware/the-brainbox/index.html deleted file mode 100644 index 776e750..0000000 --- a/shepherd/blueprints/staticroutes/docs/hardware/the-brainbox/index.html +++ /dev/null @@ -1,169 +0,0 @@ - The BrainBox | RoboCon Docs - - Skip to content

    The BrainBox

    The BrainBox is the core of the kit which we provide. In it is all of the electronics and software you need to power a robot. Lets start by turning it on. Take a battery from the kit and plug it into the yellow socket labelled battery, then take a red “power button” and connect that to the black connector along the side of the BrainBox. The battery and start button are both labelled on the red surface of the BrainBox. -The brain box

    -

    How to turn everything on

    -

    Pressing the start button will cause the battery status LEDs on the front of the BrainBox flash in an upwards direction and the power LED turns green. When the user light starts flashing blue your BrainBox is ready to run code. You can now turn connect to your robot. The user LED will go solid while code is running.

    -

    Power

    -

    The BrainBox distributes power to the robot from the battery. It provides both 12V and 5V power out. All power must go through the BrainBox and the fuse should never be replaced.

    -

    The On/Off switch also plugs into the BrainBox as well as the Start button which is used to start your robot code running.

    -

    Motors & 12V Power

    -

    The specifications for the motor board can be found here, however to summarize:

    - - - - - - - - - - - - - - - - - - - - - -
    Condition per channelMaximum Value
    Continuous current10A
    Peak current (10 seconds)30A
    Operating Voltage12V
    - -

    How to turn everything off

    -

    When you are done for the day, press the power button, the user LED will flash rapidly, when this turns off you may unplug the battery.

    -

    USB’s

    -

    On the new brainBox, there is only one USB port. If you want to use something that requires a USB port such as a USB camera, you will need to get your own USB hub.

    -

    GPIO

    -

    GPIO - Out

    -

    All of the BrainBox’s GPIO pins are connected in-series with a 1K Ohm resistor, to provide current limiting. This means that you can plug devices such as LED’s straight into your BrainBox.

    -

    Nominally they operate at 5V but depending on your load the true output will vary. You can calculate the voltage you will get across your load by measuring its resistance, then doing the sum:

    -

    (5*Load_resistance)/(Load_resistance+1000)

    -

    GPIO - In

    -

    We advise against you using analogue inputs with an impedance (You can think of impedance as “effective resistance in an analogue circuit”) of greater than 9K Ohm’s as this will result in values which do not necessarily correspond to what you’d expect.

    -

    If you need to sense something with an impedance of more than 9K then you will need to use an Op-amp to buffer the input. If you would like more details on how to do this please contact us on the forums.

    -

    GPIO - Limits

    -

    Do not try and sink or source more than 25mA into the BrainBox’s GPIO, it may damage some of the internal components.

    -

    PWM Pins

    -

    PWM (Pulse Width Modulation) is a technique used for sending signals to a device for how much it should do a thing. This could be how fast to spin a motor, or the position to turn an RC Servo to. It does this by sending regular pulses, which vary in width. The length of the pulse tells the device how much to do the thing. If you are interested you can find out more about using PWM for control here.

    -

    Please note you will not be able to drive large motors over the PWM pin’s supplied as the maximum which they can supply is 3A at 5V.

    -

    The PWM pins ranges:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ValuePulse
    01.5ms
    1002ms
    -1001ms
    1782.39ms
    -1780.61ms
    -

    Pin Out

    -

    IO

    -

    USB's

    -

    Motors

    -

    Motors

    -

    Front

    -

    Front

    -

    Expansion I2C, UART & USB

    -

    For expansion please see the expansion page.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/index.html b/shepherd/blueprints/staticroutes/docs/index.html deleted file mode 100644 index 5d90354..0000000 --- a/shepherd/blueprints/staticroutes/docs/index.html +++ /dev/null @@ -1,53 +0,0 @@ - Welcome to the docs! | RoboCon Docs - - Skip to content
    RoboCon 2025 Game

    Welcome to the RoboCon 2026 Docs

    Containing everything you'll need to know about the RoboCon kit!

    - -

    Welcome to our newly redesigned docs, containing everything you’ll need to know about building a robot with your RoboCon kit.

    -

    We hope you find them useful. If you bump into any issues or have any suggestions for our website, please don’t hesitate to reach out to us!

    -

    Not looking for the docs?

    Visit the RoboCon website for information about the competition and how to get involved.

    Still stuck?

    Get in contact with us! Send us an email, and we’ll answer any questions you have. You can also arrange a video call with one of our Hills Road student mentors!

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_112fbf1.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_112fbf1.pf_fragment deleted file mode 100644 index 3ac0eb8..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_112fbf1.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_199dadb.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_199dadb.pf_fragment deleted file mode 100644 index 2af5317..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_199dadb.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_28703a4.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_28703a4.pf_fragment deleted file mode 100644 index a9e5336..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_28703a4.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_2bc6dda.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_2bc6dda.pf_fragment deleted file mode 100644 index ccf9f43..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_2bc6dda.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_2d53d41.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_2d53d41.pf_fragment deleted file mode 100644 index eefd4f1..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_2d53d41.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_3018682.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_3018682.pf_fragment deleted file mode 100644 index 4ae7ec6..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_3018682.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_3130402.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_3130402.pf_fragment deleted file mode 100644 index 7648e32..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_3130402.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_33322bb.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_33322bb.pf_fragment deleted file mode 100644 index b1b7324..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_33322bb.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_3a21353.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_3a21353.pf_fragment deleted file mode 100644 index e17e9cd..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_3a21353.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_4684528.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_4684528.pf_fragment deleted file mode 100644 index 717989a..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_4684528.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_4694656.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_4694656.pf_fragment deleted file mode 100644 index 4ae6a88..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_4694656.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_4f90252.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_4f90252.pf_fragment deleted file mode 100644 index a365358..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_4f90252.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_5032ff1.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_5032ff1.pf_fragment deleted file mode 100644 index b482393..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_5032ff1.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_552470a.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_552470a.pf_fragment deleted file mode 100644 index bec46d3..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_552470a.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_61fb5f0.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_61fb5f0.pf_fragment deleted file mode 100644 index fc6ea50..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_61fb5f0.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_64336a7.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_64336a7.pf_fragment deleted file mode 100644 index c71a7d6..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_64336a7.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_68f968f.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_68f968f.pf_fragment deleted file mode 100644 index 55d2ee1..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_68f968f.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_6e5f2bf.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_6e5f2bf.pf_fragment deleted file mode 100644 index 1cca81b..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_6e5f2bf.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_866153d.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_866153d.pf_fragment deleted file mode 100644 index 6ba77f5..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_866153d.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_8df5496.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_8df5496.pf_fragment deleted file mode 100644 index 7c962ff..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_8df5496.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_902b335.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_902b335.pf_fragment deleted file mode 100644 index 99b47e6..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_902b335.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_915484c.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_915484c.pf_fragment deleted file mode 100644 index b33eea3..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_915484c.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_a393a98.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_a393a98.pf_fragment deleted file mode 100644 index dd6e1db..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_a393a98.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_b11216e.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_b11216e.pf_fragment deleted file mode 100644 index 040fc06..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_b11216e.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_b3b1eca.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_b3b1eca.pf_fragment deleted file mode 100644 index 3c0099f..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_b3b1eca.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_d8258c7.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_d8258c7.pf_fragment deleted file mode 100644 index f6d4bf9..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_d8258c7.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_d99e6a5.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_d99e6a5.pf_fragment deleted file mode 100644 index 1756d65..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_d99e6a5.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ddb7d18.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ddb7d18.pf_fragment deleted file mode 100644 index baca4e7..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ddb7d18.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ddd21a2.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ddd21a2.pf_fragment deleted file mode 100644 index c74c9c1..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ddd21a2.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ecb4766.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ecb4766.pf_fragment deleted file mode 100644 index 70fb173..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ecb4766.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ee1e1d4.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ee1e1d4.pf_fragment deleted file mode 100644 index 07402ef..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ee1e1d4.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ee2f2bc.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ee2f2bc.pf_fragment deleted file mode 100644 index 5481a69..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ee2f2bc.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ff3abfb.pf_fragment b/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ff3abfb.pf_fragment deleted file mode 100644 index 35127e4..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/fragment/en_ff3abfb.pf_fragment and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/index/en_9ebb691.pf_index b/shepherd/blueprints/staticroutes/docs/pagefind/index/en_9ebb691.pf_index deleted file mode 100644 index 3b18a1e..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/index/en_9ebb691.pf_index and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/index/en_d42ffd0.pf_index b/shepherd/blueprints/staticroutes/docs/pagefind/index/en_d42ffd0.pf_index deleted file mode 100644 index 7c9478f..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/index/en_d42ffd0.pf_index and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-entry.json b/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-entry.json deleted file mode 100644 index 1e38b51..0000000 --- a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-entry.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"1.2.0","languages":{"en":{"hash":"en_33af6f82b4","wasm":"en","page_count":33}}} \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-highlight.js b/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-highlight.js deleted file mode 100644 index c823fbf..0000000 --- a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-highlight.js +++ /dev/null @@ -1,1069 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); - -// node_modules/mark.js/dist/mark.js -var require_mark = __commonJS({ - "node_modules/mark.js/dist/mark.js"(exports, module) { - (function(global, factory) { - typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global.Mark = factory(); - })(exports, function() { - "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) { - return typeof obj; - } : function(obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - var classCallCheck = function(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - }; - var createClass = function() { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) - descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - return function(Constructor, protoProps, staticProps) { - if (protoProps) - defineProperties(Constructor.prototype, protoProps); - if (staticProps) - defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - var _extends = Object.assign || function(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - return target; - }; - var DOMIterator = function() { - function DOMIterator2(ctx) { - var iframes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; - var exclude = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; - var iframesTimeout = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 5e3; - classCallCheck(this, DOMIterator2); - this.ctx = ctx; - this.iframes = iframes; - this.exclude = exclude; - this.iframesTimeout = iframesTimeout; - } - createClass(DOMIterator2, [{ - key: "getContexts", - value: function getContexts() { - var ctx = void 0, filteredCtx = []; - if (typeof this.ctx === "undefined" || !this.ctx) { - ctx = []; - } else if (NodeList.prototype.isPrototypeOf(this.ctx)) { - ctx = Array.prototype.slice.call(this.ctx); - } else if (Array.isArray(this.ctx)) { - ctx = this.ctx; - } else if (typeof this.ctx === "string") { - ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx)); - } else { - ctx = [this.ctx]; - } - ctx.forEach(function(ctx2) { - var isDescendant = filteredCtx.filter(function(contexts) { - return contexts.contains(ctx2); - }).length > 0; - if (filteredCtx.indexOf(ctx2) === -1 && !isDescendant) { - filteredCtx.push(ctx2); - } - }); - return filteredCtx; - } - }, { - key: "getIframeContents", - value: function getIframeContents(ifr, successFn) { - var errorFn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() { - }; - var doc = void 0; - try { - var ifrWin = ifr.contentWindow; - doc = ifrWin.document; - if (!ifrWin || !doc) { - throw new Error("iframe inaccessible"); - } - } catch (e) { - errorFn(); - } - if (doc) { - successFn(doc); - } - } - }, { - key: "isIframeBlank", - value: function isIframeBlank(ifr) { - var bl = "about:blank", src = ifr.getAttribute("src").trim(), href = ifr.contentWindow.location.href; - return href === bl && src !== bl && src; - } - }, { - key: "observeIframeLoad", - value: function observeIframeLoad(ifr, successFn, errorFn) { - var _this = this; - var called = false, tout = null; - var listener = function listener2() { - if (called) { - return; - } - called = true; - clearTimeout(tout); - try { - if (!_this.isIframeBlank(ifr)) { - ifr.removeEventListener("load", listener2); - _this.getIframeContents(ifr, successFn, errorFn); - } - } catch (e) { - errorFn(); - } - }; - ifr.addEventListener("load", listener); - tout = setTimeout(listener, this.iframesTimeout); - } - }, { - key: "onIframeReady", - value: function onIframeReady(ifr, successFn, errorFn) { - try { - if (ifr.contentWindow.document.readyState === "complete") { - if (this.isIframeBlank(ifr)) { - this.observeIframeLoad(ifr, successFn, errorFn); - } else { - this.getIframeContents(ifr, successFn, errorFn); - } - } else { - this.observeIframeLoad(ifr, successFn, errorFn); - } - } catch (e) { - errorFn(); - } - } - }, { - key: "waitForIframes", - value: function waitForIframes(ctx, done) { - var _this2 = this; - var eachCalled = 0; - this.forEachIframe(ctx, function() { - return true; - }, function(ifr) { - eachCalled++; - _this2.waitForIframes(ifr.querySelector("html"), function() { - if (!--eachCalled) { - done(); - } - }); - }, function(handled) { - if (!handled) { - done(); - } - }); - } - }, { - key: "forEachIframe", - value: function forEachIframe(ctx, filter, each) { - var _this3 = this; - var end = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { - }; - var ifr = ctx.querySelectorAll("iframe"), open = ifr.length, handled = 0; - ifr = Array.prototype.slice.call(ifr); - var checkEnd = function checkEnd2() { - if (--open <= 0) { - end(handled); - } - }; - if (!open) { - checkEnd(); - } - ifr.forEach(function(ifr2) { - if (DOMIterator2.matches(ifr2, _this3.exclude)) { - checkEnd(); - } else { - _this3.onIframeReady(ifr2, function(con) { - if (filter(ifr2)) { - handled++; - each(con); - } - checkEnd(); - }, checkEnd); - } - }); - } - }, { - key: "createIterator", - value: function createIterator(ctx, whatToShow, filter) { - return document.createNodeIterator(ctx, whatToShow, filter, false); - } - }, { - key: "createInstanceOnIframe", - value: function createInstanceOnIframe(contents) { - return new DOMIterator2(contents.querySelector("html"), this.iframes); - } - }, { - key: "compareNodeIframe", - value: function compareNodeIframe(node, prevNode, ifr) { - var compCurr = node.compareDocumentPosition(ifr), prev = Node.DOCUMENT_POSITION_PRECEDING; - if (compCurr & prev) { - if (prevNode !== null) { - var compPrev = prevNode.compareDocumentPosition(ifr), after = Node.DOCUMENT_POSITION_FOLLOWING; - if (compPrev & after) { - return true; - } - } else { - return true; - } - } - return false; - } - }, { - key: "getIteratorNode", - value: function getIteratorNode(itr) { - var prevNode = itr.previousNode(); - var node = void 0; - if (prevNode === null) { - node = itr.nextNode(); - } else { - node = itr.nextNode() && itr.nextNode(); - } - return { - prevNode, - node - }; - } - }, { - key: "checkIframeFilter", - value: function checkIframeFilter(node, prevNode, currIfr, ifr) { - var key = false, handled = false; - ifr.forEach(function(ifrDict, i) { - if (ifrDict.val === currIfr) { - key = i; - handled = ifrDict.handled; - } - }); - if (this.compareNodeIframe(node, prevNode, currIfr)) { - if (key === false && !handled) { - ifr.push({ - val: currIfr, - handled: true - }); - } else if (key !== false && !handled) { - ifr[key].handled = true; - } - return true; - } - if (key === false) { - ifr.push({ - val: currIfr, - handled: false - }); - } - return false; - } - }, { - key: "handleOpenIframes", - value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) { - var _this4 = this; - ifr.forEach(function(ifrDict) { - if (!ifrDict.handled) { - _this4.getIframeContents(ifrDict.val, function(con) { - _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb); - }); - } - }); - } - }, { - key: "iterateThroughNodes", - value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) { - var _this5 = this; - var itr = this.createIterator(ctx, whatToShow, filterCb); - var ifr = [], elements = [], node = void 0, prevNode = void 0, retrieveNodes = function retrieveNodes2() { - var _getIteratorNode = _this5.getIteratorNode(itr); - prevNode = _getIteratorNode.prevNode; - node = _getIteratorNode.node; - return node; - }; - while (retrieveNodes()) { - if (this.iframes) { - this.forEachIframe(ctx, function(currIfr) { - return _this5.checkIframeFilter(node, prevNode, currIfr, ifr); - }, function(con) { - _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function(ifrNode) { - return elements.push(ifrNode); - }, filterCb); - }); - } - elements.push(node); - } - elements.forEach(function(node2) { - eachCb(node2); - }); - if (this.iframes) { - this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb); - } - doneCb(); - } - }, { - key: "forEachNode", - value: function forEachNode(whatToShow, each, filter) { - var _this6 = this; - var done = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { - }; - var contexts = this.getContexts(); - var open = contexts.length; - if (!open) { - done(); - } - contexts.forEach(function(ctx) { - var ready = function ready2() { - _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function() { - if (--open <= 0) { - done(); - } - }); - }; - if (_this6.iframes) { - _this6.waitForIframes(ctx, ready); - } else { - ready(); - } - }); - } - }], [{ - key: "matches", - value: function matches(element, selector) { - var selectors = typeof selector === "string" ? [selector] : selector, fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector; - if (fn) { - var match = false; - selectors.every(function(sel) { - if (fn.call(element, sel)) { - match = true; - return false; - } - return true; - }); - return match; - } else { - return false; - } - } - }]); - return DOMIterator2; - }(); - var Mark$1 = function() { - function Mark3(ctx) { - classCallCheck(this, Mark3); - this.ctx = ctx; - this.ie = false; - var ua = window.navigator.userAgent; - if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) { - this.ie = true; - } - } - createClass(Mark3, [{ - key: "log", - value: function log(msg) { - var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "debug"; - var log2 = this.opt.log; - if (!this.opt.debug) { - return; - } - if ((typeof log2 === "undefined" ? "undefined" : _typeof(log2)) === "object" && typeof log2[level] === "function") { - log2[level]("mark.js: " + msg); - } - } - }, { - key: "escapeStr", - value: function escapeStr(str) { - return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); - } - }, { - key: "createRegExp", - value: function createRegExp(str) { - if (this.opt.wildcards !== "disabled") { - str = this.setupWildcardsRegExp(str); - } - str = this.escapeStr(str); - if (Object.keys(this.opt.synonyms).length) { - str = this.createSynonymsRegExp(str); - } - if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { - str = this.setupIgnoreJoinersRegExp(str); - } - if (this.opt.diacritics) { - str = this.createDiacriticsRegExp(str); - } - str = this.createMergedBlanksRegExp(str); - if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { - str = this.createJoinersRegExp(str); - } - if (this.opt.wildcards !== "disabled") { - str = this.createWildcardsRegExp(str); - } - str = this.createAccuracyRegExp(str); - return str; - } - }, { - key: "createSynonymsRegExp", - value: function createSynonymsRegExp(str) { - var syn = this.opt.synonyms, sens = this.opt.caseSensitive ? "" : "i", joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? "\0" : ""; - for (var index in syn) { - if (syn.hasOwnProperty(index)) { - var value = syn[index], k1 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(index) : this.escapeStr(index), k2 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(value) : this.escapeStr(value); - if (k1 !== "" && k2 !== "") { - str = str.replace(new RegExp("(" + this.escapeStr(k1) + "|" + this.escapeStr(k2) + ")", "gm" + sens), joinerPlaceholder + ("(" + this.processSynomyms(k1) + "|") + (this.processSynomyms(k2) + ")") + joinerPlaceholder); - } - } - } - return str; - } - }, { - key: "processSynomyms", - value: function processSynomyms(str) { - if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { - str = this.setupIgnoreJoinersRegExp(str); - } - return str; - } - }, { - key: "setupWildcardsRegExp", - value: function setupWildcardsRegExp(str) { - str = str.replace(/(?:\\)*\?/g, function(val) { - return val.charAt(0) === "\\" ? "?" : ""; - }); - return str.replace(/(?:\\)*\*/g, function(val) { - return val.charAt(0) === "\\" ? "*" : ""; - }); - } - }, { - key: "createWildcardsRegExp", - value: function createWildcardsRegExp(str) { - var spaces = this.opt.wildcards === "withSpaces"; - return str.replace(/\u0001/g, spaces ? "[\\S\\s]?" : "\\S?").replace(/\u0002/g, spaces ? "[\\S\\s]*?" : "\\S*"); - } - }, { - key: "setupIgnoreJoinersRegExp", - value: function setupIgnoreJoinersRegExp(str) { - return str.replace(/[^(|)\\]/g, function(val, indx, original) { - var nextChar = original.charAt(indx + 1); - if (/[(|)\\]/.test(nextChar) || nextChar === "") { - return val; - } else { - return val + "\0"; - } - }); - } - }, { - key: "createJoinersRegExp", - value: function createJoinersRegExp(str) { - var joiner = []; - var ignorePunctuation = this.opt.ignorePunctuation; - if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) { - joiner.push(this.escapeStr(ignorePunctuation.join(""))); - } - if (this.opt.ignoreJoiners) { - joiner.push("\\u00ad\\u200b\\u200c\\u200d"); - } - return joiner.length ? str.split(/\u0000+/).join("[" + joiner.join("") + "]*") : str; - } - }, { - key: "createDiacriticsRegExp", - value: function createDiacriticsRegExp(str) { - var sens = this.opt.caseSensitive ? "" : "i", dct = this.opt.caseSensitive ? ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105", "A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010D", "C\xC7\u0106\u010C", "d\u0111\u010F", "D\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119", "E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012B", "I\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142", "L\u0141", "n\xF1\u0148\u0144", "N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014D", "O\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159", "R\u0158", "s\u0161\u015B\u0219\u015F", "S\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163", "T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016B", "U\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFF", "Y\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017A", "Z\u017D\u017B\u0179"] : ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010DC\xC7\u0106\u010C", "d\u0111\u010FD\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012BI\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142L\u0141", "n\xF1\u0148\u0144N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014DO\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159R\u0158", "s\u0161\u015B\u0219\u015FS\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016BU\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFFY\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017AZ\u017D\u017B\u0179"]; - var handled = []; - str.split("").forEach(function(ch) { - dct.every(function(dct2) { - if (dct2.indexOf(ch) !== -1) { - if (handled.indexOf(dct2) > -1) { - return false; - } - str = str.replace(new RegExp("[" + dct2 + "]", "gm" + sens), "[" + dct2 + "]"); - handled.push(dct2); - } - return true; - }); - }); - return str; - } - }, { - key: "createMergedBlanksRegExp", - value: function createMergedBlanksRegExp(str) { - return str.replace(/[\s]+/gmi, "[\\s]+"); - } - }, { - key: "createAccuracyRegExp", - value: function createAccuracyRegExp(str) { - var _this = this; - var chars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF"; - var acc = this.opt.accuracy, val = typeof acc === "string" ? acc : acc.value, ls = typeof acc === "string" ? [] : acc.limiters, lsJoin = ""; - ls.forEach(function(limiter) { - lsJoin += "|" + _this.escapeStr(limiter); - }); - switch (val) { - case "partially": - default: - return "()(" + str + ")"; - case "complementary": - lsJoin = "\\s" + (lsJoin ? lsJoin : this.escapeStr(chars)); - return "()([^" + lsJoin + "]*" + str + "[^" + lsJoin + "]*)"; - case "exactly": - return "(^|\\s" + lsJoin + ")(" + str + ")(?=$|\\s" + lsJoin + ")"; - } - } - }, { - key: "getSeparatedKeywords", - value: function getSeparatedKeywords(sv) { - var _this2 = this; - var stack = []; - sv.forEach(function(kw) { - if (!_this2.opt.separateWordSearch) { - if (kw.trim() && stack.indexOf(kw) === -1) { - stack.push(kw); - } - } else { - kw.split(" ").forEach(function(kwSplitted) { - if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) { - stack.push(kwSplitted); - } - }); - } - }); - return { - "keywords": stack.sort(function(a, b) { - return b.length - a.length; - }), - "length": stack.length - }; - } - }, { - key: "isNumeric", - value: function isNumeric(value) { - return Number(parseFloat(value)) == value; - } - }, { - key: "checkRanges", - value: function checkRanges(array) { - var _this3 = this; - if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== "[object Object]") { - this.log("markRanges() will only accept an array of objects"); - this.opt.noMatch(array); - return []; - } - var stack = []; - var last = 0; - array.sort(function(a, b) { - return a.start - b.start; - }).forEach(function(item) { - var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last), start = _callNoMatchOnInvalid.start, end = _callNoMatchOnInvalid.end, valid = _callNoMatchOnInvalid.valid; - if (valid) { - item.start = start; - item.length = end - start; - stack.push(item); - last = end; - } - }); - return stack; - } - }, { - key: "callNoMatchOnInvalidRanges", - value: function callNoMatchOnInvalidRanges(range, last) { - var start = void 0, end = void 0, valid = false; - if (range && typeof range.start !== "undefined") { - start = parseInt(range.start, 10); - end = start + parseInt(range.length, 10); - if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) { - valid = true; - } else { - this.log("Ignoring invalid or overlapping range: " + ("" + JSON.stringify(range))); - this.opt.noMatch(range); - } - } else { - this.log("Ignoring invalid range: " + JSON.stringify(range)); - this.opt.noMatch(range); - } - return { - start, - end, - valid - }; - } - }, { - key: "checkWhitespaceRanges", - value: function checkWhitespaceRanges(range, originalLength, string) { - var end = void 0, valid = true, max = string.length, offset = originalLength - max, start = parseInt(range.start, 10) - offset; - start = start > max ? max : start; - end = start + parseInt(range.length, 10); - if (end > max) { - end = max; - this.log("End range automatically set to the max value of " + max); - } - if (start < 0 || end - start < 0 || start > max || end > max) { - valid = false; - this.log("Invalid range: " + JSON.stringify(range)); - this.opt.noMatch(range); - } else if (string.substring(start, end).replace(/\s+/g, "") === "") { - valid = false; - this.log("Skipping whitespace only range: " + JSON.stringify(range)); - this.opt.noMatch(range); - } - return { - start, - end, - valid - }; - } - }, { - key: "getTextNodes", - value: function getTextNodes(cb) { - var _this4 = this; - var val = "", nodes = []; - this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function(node) { - nodes.push({ - start: val.length, - end: (val += node.textContent).length, - node - }); - }, function(node) { - if (_this4.matchesExclude(node.parentNode)) { - return NodeFilter.FILTER_REJECT; - } else { - return NodeFilter.FILTER_ACCEPT; - } - }, function() { - cb({ - value: val, - nodes - }); - }); - } - }, { - key: "matchesExclude", - value: function matchesExclude(el) { - return DOMIterator.matches(el, this.opt.exclude.concat(["script", "style", "title", "head", "html"])); - } - }, { - key: "wrapRangeInTextNode", - value: function wrapRangeInTextNode(node, start, end) { - var hEl = !this.opt.element ? "mark" : this.opt.element, startNode = node.splitText(start), ret = startNode.splitText(end - start); - var repl = document.createElement(hEl); - repl.setAttribute("data-markjs", "true"); - if (this.opt.className) { - repl.setAttribute("class", this.opt.className); - } - repl.textContent = startNode.textContent; - startNode.parentNode.replaceChild(repl, startNode); - return ret; - } - }, { - key: "wrapRangeInMappedTextNode", - value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) { - var _this5 = this; - dict.nodes.every(function(n, i) { - var sibl = dict.nodes[i + 1]; - if (typeof sibl === "undefined" || sibl.start > start) { - if (!filterCb(n.node)) { - return false; - } - var s = start - n.start, e = (end > n.end ? n.end : end) - n.start, startStr = dict.value.substr(0, n.start), endStr = dict.value.substr(e + n.start); - n.node = _this5.wrapRangeInTextNode(n.node, s, e); - dict.value = startStr + endStr; - dict.nodes.forEach(function(k, j) { - if (j >= i) { - if (dict.nodes[j].start > 0 && j !== i) { - dict.nodes[j].start -= e; - } - dict.nodes[j].end -= e; - } - }); - end -= e; - eachCb(n.node.previousSibling, n.start); - if (end > n.end) { - start = n.end; - } else { - return false; - } - } - return true; - }); - } - }, { - key: "wrapMatches", - value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) { - var _this6 = this; - var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; - this.getTextNodes(function(dict) { - dict.nodes.forEach(function(node) { - node = node.node; - var match = void 0; - while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== "") { - if (!filterCb(match[matchIdx], node)) { - continue; - } - var pos = match.index; - if (matchIdx !== 0) { - for (var i = 1; i < matchIdx; i++) { - pos += match[i].length; - } - } - node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length); - eachCb(node.previousSibling); - regex.lastIndex = 0; - } - }); - endCb(); - }); - } - }, { - key: "wrapMatchesAcrossElements", - value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) { - var _this7 = this; - var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; - this.getTextNodes(function(dict) { - var match = void 0; - while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== "") { - var start = match.index; - if (matchIdx !== 0) { - for (var i = 1; i < matchIdx; i++) { - start += match[i].length; - } - } - var end = start + match[matchIdx].length; - _this7.wrapRangeInMappedTextNode(dict, start, end, function(node) { - return filterCb(match[matchIdx], node); - }, function(node, lastIndex) { - regex.lastIndex = lastIndex; - eachCb(node); - }); - } - endCb(); - }); - } - }, { - key: "wrapRangeFromIndex", - value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) { - var _this8 = this; - this.getTextNodes(function(dict) { - var originalLength = dict.value.length; - ranges.forEach(function(range, counter) { - var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value), start = _checkWhitespaceRange.start, end = _checkWhitespaceRange.end, valid = _checkWhitespaceRange.valid; - if (valid) { - _this8.wrapRangeInMappedTextNode(dict, start, end, function(node) { - return filterCb(node, range, dict.value.substring(start, end), counter); - }, function(node) { - eachCb(node, range); - }); - } - }); - endCb(); - }); - } - }, { - key: "unwrapMatches", - value: function unwrapMatches(node) { - var parent = node.parentNode; - var docFrag = document.createDocumentFragment(); - while (node.firstChild) { - docFrag.appendChild(node.removeChild(node.firstChild)); - } - parent.replaceChild(docFrag, node); - if (!this.ie) { - parent.normalize(); - } else { - this.normalizeTextNode(parent); - } - } - }, { - key: "normalizeTextNode", - value: function normalizeTextNode(node) { - if (!node) { - return; - } - if (node.nodeType === 3) { - while (node.nextSibling && node.nextSibling.nodeType === 3) { - node.nodeValue += node.nextSibling.nodeValue; - node.parentNode.removeChild(node.nextSibling); - } - } else { - this.normalizeTextNode(node.firstChild); - } - this.normalizeTextNode(node.nextSibling); - } - }, { - key: "markRegExp", - value: function markRegExp(regexp, opt) { - var _this9 = this; - this.opt = opt; - this.log('Searching with expression "' + regexp + '"'); - var totalMatches = 0, fn = "wrapMatches"; - var eachCb = function eachCb2(element) { - totalMatches++; - _this9.opt.each(element); - }; - if (this.opt.acrossElements) { - fn = "wrapMatchesAcrossElements"; - } - this[fn](regexp, this.opt.ignoreGroups, function(match, node) { - return _this9.opt.filter(node, match, totalMatches); - }, eachCb, function() { - if (totalMatches === 0) { - _this9.opt.noMatch(regexp); - } - _this9.opt.done(totalMatches); - }); - } - }, { - key: "mark", - value: function mark(sv, opt) { - var _this10 = this; - this.opt = opt; - var totalMatches = 0, fn = "wrapMatches"; - var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === "string" ? [sv] : sv), kwArr = _getSeparatedKeywords.keywords, kwArrLen = _getSeparatedKeywords.length, sens = this.opt.caseSensitive ? "" : "i", handler = function handler2(kw) { - var regex = new RegExp(_this10.createRegExp(kw), "gm" + sens), matches = 0; - _this10.log('Searching with expression "' + regex + '"'); - _this10[fn](regex, 1, function(term, node) { - return _this10.opt.filter(node, kw, totalMatches, matches); - }, function(element) { - matches++; - totalMatches++; - _this10.opt.each(element); - }, function() { - if (matches === 0) { - _this10.opt.noMatch(kw); - } - if (kwArr[kwArrLen - 1] === kw) { - _this10.opt.done(totalMatches); - } else { - handler2(kwArr[kwArr.indexOf(kw) + 1]); - } - }); - }; - if (this.opt.acrossElements) { - fn = "wrapMatchesAcrossElements"; - } - if (kwArrLen === 0) { - this.opt.done(totalMatches); - } else { - handler(kwArr[0]); - } - } - }, { - key: "markRanges", - value: function markRanges(rawRanges, opt) { - var _this11 = this; - this.opt = opt; - var totalMatches = 0, ranges = this.checkRanges(rawRanges); - if (ranges && ranges.length) { - this.log("Starting to mark with the following ranges: " + JSON.stringify(ranges)); - this.wrapRangeFromIndex(ranges, function(node, range, match, counter) { - return _this11.opt.filter(node, range, match, counter); - }, function(element, range) { - totalMatches++; - _this11.opt.each(element, range); - }, function() { - _this11.opt.done(totalMatches); - }); - } else { - this.opt.done(totalMatches); - } - } - }, { - key: "unmark", - value: function unmark(opt) { - var _this12 = this; - this.opt = opt; - var sel = this.opt.element ? this.opt.element : "*"; - sel += "[data-markjs]"; - if (this.opt.className) { - sel += "." + this.opt.className; - } - this.log('Removal selector "' + sel + '"'); - this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function(node) { - _this12.unwrapMatches(node); - }, function(node) { - var matchesSel = DOMIterator.matches(node, sel), matchesExclude = _this12.matchesExclude(node); - if (!matchesSel || matchesExclude) { - return NodeFilter.FILTER_REJECT; - } else { - return NodeFilter.FILTER_ACCEPT; - } - }, this.opt.done); - } - }, { - key: "opt", - set: function set$$1(val) { - this._opt = _extends({}, { - "element": "", - "className": "", - "exclude": [], - "iframes": false, - "iframesTimeout": 5e3, - "separateWordSearch": true, - "diacritics": true, - "synonyms": {}, - "accuracy": "partially", - "acrossElements": false, - "caseSensitive": false, - "ignoreJoiners": false, - "ignoreGroups": 0, - "ignorePunctuation": [], - "wildcards": "disabled", - "each": function each() { - }, - "noMatch": function noMatch() { - }, - "filter": function filter() { - return true; - }, - "done": function done() { - }, - "debug": false, - "log": window.console - }, val); - }, - get: function get$$1() { - return this._opt; - } - }, { - key: "iterator", - get: function get$$1() { - return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout); - } - }]); - return Mark3; - }(); - function Mark2(ctx) { - var _this = this; - var instance = new Mark$1(ctx); - this.mark = function(sv, opt) { - instance.mark(sv, opt); - return _this; - }; - this.markRegExp = function(sv, opt) { - instance.markRegExp(sv, opt); - return _this; - }; - this.markRanges = function(sv, opt) { - instance.markRanges(sv, opt); - return _this; - }; - this.unmark = function(opt) { - instance.unmark(opt); - return _this; - }; - return this; - } - return Mark2; - }); - } -}); - -// lib/highlight.ts -var import_mark = __toESM(require_mark(), 1); -var PagefindHighlight = class { - constructor(options = { - markContext: null, - highlightParam: "pagefind-highlight", - markOptions: { - className: "pagefind-highlight", - exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] - }, - addStyles: true - }) { - var _a, _b; - const { highlightParam, markContext, markOptions, addStyles } = options; - this.highlightParam = highlightParam ?? "pagefind-highlight"; - this.addStyles = addStyles ?? true; - this.markContext = markContext !== void 0 ? markContext : null; - this.markOptions = markOptions !== void 0 ? markOptions : { - className: "pagefind-highlight", - exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] - }; - (_a = this.markOptions).className ?? (_a.className = "pagefind__highlight"); - (_b = this.markOptions).exclude ?? (_b.exclude = [ - "[data-pagefind-ignore]", - "[data-pagefind-ignore] *" - ]); - this.markOptions.separateWordSearch = false; - this.highlight(); - } - getHighlightParams(paramName) { - const urlParams = new URLSearchParams(window.location.search); - return urlParams.getAll(paramName); - } - // Inline styles might be too hard to override - addHighlightStyles(className) { - if (!className) - return; - const styleElement = document.createElement("style"); - styleElement.innerText = `:where(.${className}) { background-color: yellow; color: black; }`; - document.head.appendChild(styleElement); - } - createMarkInstance() { - if (this.markContext) { - return new import_mark.default(this.markContext); - } - const pagefindBody = document.querySelectorAll("[data-pagefind-body]"); - if (pagefindBody.length !== 0) { - return new import_mark.default(pagefindBody); - } else { - return new import_mark.default(document.body); - } - } - markText(instance, text) { - instance.mark(text, this.markOptions); - } - highlight() { - const params = this.getHighlightParams(this.highlightParam); - if (!params || params.length === 0) - return; - this.addStyles && this.addHighlightStyles(this.markOptions.className); - const markInstance = this.createMarkInstance(); - this.markText(markInstance, params); - } -}; -window.PagefindHighlight = PagefindHighlight; -export { - PagefindHighlight as default -}; -/*! Bundled license information: - -mark.js/dist/mark.js: - (*!*************************************************** - * mark.js v8.11.1 - * https://markjs.io/ - * Copyright (c) 2014–2018, Julian Kühnel - * Released under the MIT license https://git.io/vwTVl - *****************************************************) -*/ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-modular-ui.css b/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-modular-ui.css deleted file mode 100644 index 9c6793e..0000000 --- a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-modular-ui.css +++ /dev/null @@ -1,214 +0,0 @@ -:root { - --pagefind-ui-scale: 0.8; - --pagefind-ui-primary: #034AD8; - --pagefind-ui-fade: #707070; - --pagefind-ui-text: #393939; - --pagefind-ui-background: #ffffff; - --pagefind-ui-border: #eeeeee; - --pagefind-ui-tag: #eeeeee; - --pagefind-ui-border-width: 2px; - --pagefind-ui-border-radius: 8px; - --pagefind-ui-image-border-radius: 8px; - --pagefind-ui-image-box-ratio: 3 / 2; - --pagefind-ui-font: system, -apple-system, ".SFNSText-Regular", - "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", - "Lucida Grande", sans-serif; -} - -[data-pfmod-hidden] { - display: none !important; -} - -[data-pfmod-suppressed] { - opacity: 0 !important; - pointer-events: none !important; -} - -[data-pfmod-sr-hidden] { - -webkit-clip: rect(0 0 0 0) !important; - clip: rect(0 0 0 0) !important; - -webkit-clip-path: inset(100%) !important; - clip-path: inset(100%) !important; - height: 1px !important; - overflow: hidden !important; - overflow: clip !important; - position: absolute !important; - white-space: nowrap !important; - width: 1px !important; -} - -[data-pfmod-loading] { - color: var(--pagefind-ui-text); - background-color: var(--pagefind-ui-text); - border-radius: var(--pagefind-ui-border-radius); - opacity: 0.1; - pointer-events: none; -} - -/* Input */ - -.pagefind-modular-input-wrapper { - position: relative; -} - -.pagefind-modular-input-wrapper::before { - background-color: var(--pagefind-ui-text); - width: calc(18px * var(--pagefind-ui-scale)); - height: calc(18px * var(--pagefind-ui-scale)); - top: calc(23px * var(--pagefind-ui-scale)); - left: calc(20px * var(--pagefind-ui-scale)); - content: ""; - position: absolute; - display: block; - opacity: 0.7; - -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); - mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); - -webkit-mask-size: 100%; - mask-size: 100%; - z-index: 9; - pointer-events: none; -} - -.pagefind-modular-input { - height: calc(64px * var(--pagefind-ui-scale)); - padding: 0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale)); - background-color: var(--pagefind-ui-background); - border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); - border-radius: var(--pagefind-ui-border-radius); - font-size: calc(21px * var(--pagefind-ui-scale)); - position: relative; - appearance: none; - -webkit-appearance: none; - display: flex; - width: 100%; - box-sizing: border-box; - font-weight: 700; -} - -.pagefind-modular-input::placeholder { - opacity: 0.2; -} - -.pagefind-modular-input-clear { - position: absolute; - top: calc(2px * var(--pagefind-ui-scale)); - right: calc(2px * var(--pagefind-ui-scale)); - height: calc(60px * var(--pagefind-ui-scale)); - border-radius: var(--pagefind-ui-border-radius); - padding: 0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale)); - color: var(--pagefind-ui-text); - font-size: calc(14px * var(--pagefind-ui-scale)); - cursor: pointer; - background-color: var(--pagefind-ui-background); - border: none; - appearance: none; -} - -/* ResultList */ - -.pagefind-modular-list-result { - list-style-type: none; - display: flex; - align-items: flex-start; - gap: min(calc(40px * var(--pagefind-ui-scale)), 3%); - padding: calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale)); - border-top: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); -} - -.pagefind-modular-list-result:last-of-type { - border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); -} - -.pagefind-modular-list-thumb { - width: min(30%, - calc((30% - (100px * var(--pagefind-ui-scale))) * 100000)); - max-width: calc(120px * var(--pagefind-ui-scale)); - margin-top: calc(10px * var(--pagefind-ui-scale)); - aspect-ratio: var(--pagefind-ui-image-box-ratio); - position: relative; -} - -.pagefind-modular-list-image { - display: block; - position: absolute; - left: 50%; - transform: translateX(-50%); - font-size: 0; - width: auto; - height: auto; - max-width: 100%; - max-height: 100%; - border-radius: var(--pagefind-ui-image-border-radius); -} - -.pagefind-modular-list-inner { - flex: 1; - display: flex; - flex-direction: column; - align-items: flex-start; - margin-top: calc(10px * var(--pagefind-ui-scale)); -} - -.pagefind-modular-list-title { - display: inline-block; - font-weight: 700; - font-size: calc(21px * var(--pagefind-ui-scale)); - margin-top: 0; - margin-bottom: 0; -} - -.pagefind-modular-list-link { - color: var(--pagefind-ui-text); - text-decoration: none; -} - -.pagefind-modular-list-link:hover { - text-decoration: underline; -} - -.pagefind-modular-list-excerpt { - display: inline-block; - font-weight: 400; - font-size: calc(16px * var(--pagefind-ui-scale)); - margin-top: calc(4px * var(--pagefind-ui-scale)); - margin-bottom: 0; - min-width: calc(250px * var(--pagefind-ui-scale)); -} - -/* FilterPills */ - -.pagefind-modular-filter-pills-wrapper { - overflow-x: scroll; - padding: 15px 0; -} - -.pagefind-modular-filter-pills { - display: flex; - gap: 6px; -} - -.pagefind-modular-filter-pill { - display: flex; - justify-content: center; - align-items: center; - border: none; - appearance: none; - padding: 0 calc(24px * var(--pagefind-ui-scale)); - background-color: var(--pagefind-ui-background); - color: var(--pagefind-ui-fade); - border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); - border-radius: calc(25px * var(--pagefind-ui-scale)); - font-size: calc(18px * var(--pagefind-ui-scale)); - height: calc(50px * var(--pagefind-ui-scale)); - cursor: pointer; - white-space: nowrap; -} - -.pagefind-modular-filter-pill:hover { - border-color: var(--pagefind-ui-primary); -} - -.pagefind-modular-filter-pill[aria-pressed="true"] { - border-color: var(--pagefind-ui-primary); - color: var(--pagefind-ui-primary); -} \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-modular-ui.js b/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-modular-ui.js deleted file mode 100644 index 43f738f..0000000 --- a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-modular-ui.js +++ /dev/null @@ -1,8 +0,0 @@ -(()=>{var b=Object.defineProperty;var w=(i,e)=>{for(var t in e)b(i,t,{get:e[t],enumerable:!0})};var f={};w(f,{FilterPills:()=>h,Input:()=>l,Instance:()=>p,ResultList:()=>a,Summary:()=>o});var r=class i{constructor(e){this.element=document.createElement(e)}id(e){return this.element.id=e,this}class(e){return this.element.classList.add(e),this}attrs(e){for(let[t,s]of Object.entries(e))this.element.setAttribute(t,s);return this}text(e){return this.element.innerText=e,this}html(e){return this.element.innerHTML=e,this}handle(e,t){return this.element.addEventListener(e,t),this}addTo(e){return e instanceof i?e.element.appendChild(this.element):e.appendChild(this.element),this.element}};var T=async(i=100)=>new Promise(e=>setTimeout(e,i)),l=class{constructor(e={}){if(this.inputEl=null,this.clearEl=null,this.instance=null,this.searchID=0,this.debounceTimeoutMs=e.debounceTimeoutMs??300,e.inputElement){if(e.containerElement){console.warn("[Pagefind Input component]: inputElement and containerElement both supplied. Ignoring the container option.");return}this.initExisting(e.inputElement)}else if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Input component]: No selector supplied for containerElement or inputElement");return}this.inputEl.addEventListener("input",async t=>{if(this.instance&&typeof t?.target?.value=="string"){this.updateState(t.target.value);let s=++this.searchID;if(await T(this.debounceTimeoutMs),s!==this.searchID)return null;this.instance?.triggerSearch(t.target.value)}}),this.inputEl.addEventListener("keydown",t=>{t.key==="Escape"&&(++this.searchID,this.inputEl.value="",this.instance?.triggerSearch(""),this.updateState("")),t.key==="Enter"&&t.preventDefault()}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad()})}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No container found for ${e} selector`);return}if(t.tagName==="INPUT")console.warn(`[Pagefind Input component]: Encountered input element for ${e} when a container was expected`),console.warn("[Pagefind Input component]: Treating containerElement option as inputElement and proceeding"),this.initExisting(e);else{t.innerHTML="";let s=0;for(;document.querySelector(`#pfmod-input-${s}`);)s+=1;let n=new r("form").class("pagefind-modular-input-wrapper").attrs({role:"search","aria-label":"Search this site",action:"javascript:void(0);"});new r("label").attrs({for:`pfmod-input-${s}`,"data-pfmod-sr-hidden":"true"}).text("Search this site").addTo(n),this.inputEl=new r("input").id(`pfmod-input-${s}`).class("pagefind-modular-input").attrs({autocapitalize:"none",enterkeyhint:"search"}).addTo(n),this.clearEl=new r("button").class("pagefind-modular-input-clear").attrs({"data-pfmod-suppressed":"true"}).text("Clear").handle("click",()=>{this.inputEl.value="",this.instance.triggerSearch(""),this.updateState("")}).addTo(n),n.addTo(t)}}initExisting(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No input element found for ${e} selector`);return}if(t.tagName!=="INPUT"){console.error(`[Pagefind Input component]: Expected ${e} to be an element`);return}this.inputEl=t}updateState(e){this.clearEl&&(e&&e?.length?this.clearEl.removeAttribute("data-pfmod-suppressed"):this.clearEl.setAttribute("data-pfmod-suppressed","true"))}register(e){this.instance=e,this.instance.on("search",(t,s)=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.updateState(t))})}focus(){this.inputEl&&this.inputEl.focus()}};var g=i=>{if(i instanceof Element)return[i];if(Array.isArray(i)&&i.every(e=>e instanceof Element))return i;if(typeof i=="string"||i instanceof String){let e=document.createElement("div");return e.innerHTML=i,[...e.childNodes]}else return console.error(`[Pagefind ResultList component]: Expected template function to return an HTML element or string, got ${typeof i}`),[]},v=()=>{let i=(e=30)=>". ".repeat(Math.floor(10+Math.random()*e));return`
  • -
    -
    -

    ${i(30)}

    -

    ${i(40)}

    -
    -
  • `},y=i=>{let e=new r("li").class("pagefind-modular-list-result"),t=new r("div").class("pagefind-modular-list-thumb").addTo(e);i?.meta?.image&&new r("img").class("pagefind-modular-list-image").attrs({src:i.meta.image,alt:i.meta.image_alt||i.meta.title}).addTo(t);let s=new r("div").class("pagefind-modular-list-inner").addTo(e),n=new r("p").class("pagefind-modular-list-title").addTo(s);return new r("a").class("pagefind-modular-list-link").text(i.meta?.title).attrs({href:i.meta?.url||i.url}).addTo(n),new r("p").class("pagefind-modular-list-excerpt").html(i.excerpt).addTo(s),e.element},E=i=>{if(!(i instanceof HTMLElement))return null;let e=window.getComputedStyle(i).overflowY;return e!=="visible"&&e!=="hidden"?i:E(i.parentNode)},d=class{constructor(e={}){this.rawResult=e.result,this.placeholderNodes=e.placeholderNodes,this.resultFn=e.resultFn,this.intersectionEl=e.intersectionEl,this.result=null,this.waitForIntersection()}waitForIntersection(){if(!this.placeholderNodes?.length)return;let e={root:this.intersectionEl,rootMargin:"0px",threshold:.01};new IntersectionObserver((s,n)=>{this.result===null&&s?.[0]?.isIntersecting&&(this.load(),n.disconnect())},e).observe(this.placeholderNodes[0])}async load(){if(!this.placeholderNodes?.length)return;this.result=await this.rawResult.data();let e=this.resultFn(this.result),t=g(e);for(;this.placeholderNodes.length>1;)this.placeholderNodes.pop().remove();this.placeholderNodes[0].replaceWith(...t)}},a=class{constructor(e){if(this.intersectionEl=document.body,this.containerEl=null,this.results=[],this.placeholderTemplate=e.placeholderTemplate??v,this.resultTemplate=e.resultTemplate??y,e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind ResultList component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind ResultList component]: No container found for ${e} selector`);return}this.containerEl=t}append(e){for(let t of e)this.containerEl.appendChild(t)}register(e){e.on("results",t=>{this.containerEl&&(this.containerEl.innerHTML="",this.intersectionEl=E(this.containerEl),this.results=t.results.map(s=>{let n=g(this.placeholderTemplate());return this.append(n),new d({result:s,placeholderNodes:n,resultFn:this.resultTemplate,intersectionEl:this.intersectionEl})}))}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerHTML="")})}};var o=class{constructor(e={}){if(this.containerEl=null,this.defaultMessage=e.defaultMessage??"",this.term="",e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Summary component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Summary component]: No container found for ${e} selector`);return}this.containerEl=t,this.containerEl.innerText=this.defaultMessage}register(e){e.on("search",(t,s)=>{this.term=t}),e.on("results",t=>{if(!this.containerEl||!t)return;if(!this.term){this.containerEl.innerText=this.defaultMessage;return}let s=t?.results?.length??0;this.containerEl.innerText=`${s} result${s===1?"":"s"} for ${this.term}`}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerText=`Searching for ${this.term}...`)})}};var h=class{constructor(e={}){if(this.instance=null,this.wrapper=null,this.pillContainer=null,this.available={},this.selected=["All"],this.total=0,this.filterMemo="",this.filter=e.filter,this.ordering=e.ordering??null,this.alwaysShow=e.alwaysShow??!1,this.selectMultiple=e.selectMultiple??!1,!this.filter?.length){console.error("[Pagefind FilterPills component]: No filter option supplied, nothing to display");return}if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind FilterPills component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind FilterPills component]: No container found for ${e} selector`);return}t.innerHTML="";let s=`pagefind_modular_filter_pills_${this.filter}`,n=new r("div").class("pagefind-modular-filter-pills-wrapper").attrs({role:"group","aria-labelledby":s});this.alwaysShow||n.attrs({"data-pfmod-hidden":!0}),new r("div").id(s).class("pagefind-modular-filter-pills-label").attrs({"data-pfmod-sr-hidden":!0}).text(`Filter results by ${this.filter}`).addTo(n),this.pillContainer=new r("div").class("pagefind-modular-filter-pills").addTo(n),this.wrapper=n.addTo(t)}update(){let e=this.available.map(t=>t[0]).join("~");e==this.filterMemo?this.updateExisting():(this.renderNew(),this.filterMemo=e)}pushFilters(){let e=this.selected.filter(t=>t!=="All");this.instance.triggerFilter(this.filter,e)}pillInner(e,t){return this.total?`${e} (${t})`:`${e}`}renderNew(){this.available.forEach(([e,t])=>{new r("button").class("pagefind-modular-filter-pill").html(this.pillInner(e,t)).attrs({"aria-pressed":this.selected.includes(e),type:"button"}).handle("click",()=>{e==="All"?this.selected=["All"]:this.selected.includes(e)?this.selected=this.selected.filter(s=>s!==e):this.selectMultiple?this.selected.push(e):this.selected=[e],this.selected?.length?this.selected?.length>1&&(this.selected=this.selected.filter(s=>s!=="All")):this.selected=["All"],this.update(),this.pushFilters()}).addTo(this.pillContainer)})}updateExisting(){let e=[...this.pillContainer.childNodes];this.available.forEach(([t,s],n)=>{e[n].innerHTML=this.pillInner(t,s),e[n].setAttribute("aria-pressed",this.selected.includes(t))})}register(e){this.instance=e,this.instance.on("filters",t=>{if(!this.pillContainer)return;this.selectMultiple?t=t.available:t=t.total;let s=t[this.filter];if(!s){console.warn(`[Pagefind FilterPills component]: No possible values found for the ${this.filter} filter`);return}this.available=Object.entries(s),Array.isArray(this.ordering)?this.available.sort((n,c)=>{let m=this.ordering.indexOf(n[0]),_=this.ordering.indexOf(c[0]);return(m===-1?1/0:m)-(_===-1?1/0:_)}):this.available.sort((n,c)=>n[0].localeCompare(c[0])),this.available.unshift(["All",this.total]),this.update()}),e.on("results",t=>{this.pillContainer&&(this.total=t?.unfilteredResultCount||0,this.available?.[0]?.[0]==="All"&&(this.available[0][1]=this.total),this.total||this.alwaysShow?this.wrapper.removeAttribute("data-pfmod-hidden"):this.wrapper.setAttribute("data-pfmod-hidden","true"),this.update())})}};var P=async(i=50)=>await new Promise(e=>setTimeout(e,i)),u;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(u=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?modular-ui.js.*$/)[1])}catch{u="/pagefind/"}var p=class{constructor(e={}){this.__pagefind__=null,this.__initializing__=null,this.__searchID__=0,this.__hooks__={search:[],filters:[],loading:[],results:[]},this.components=[],this.searchTerm="",this.searchFilters={},this.searchResult={},this.availableFilters=null,this.totalFilters=null,this.options={bundlePath:e.bundlePath??u,mergeIndex:e.mergeIndex??[]},delete e.bundlePath,delete e.resetStyles,delete e.processResult,delete e.processTerm,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,this.pagefindOptions=e}add(e){e?.register?.(this),this.components.push(e)}on(e,t){if(!this.__hooks__[e]){let s=Object.keys(this.__hooks__).join(", ");console.error(`[Pagefind Composable]: Unknown event type ${e}. Supported events: [${s}]`);return}if(typeof t!="function"){console.error(`[Pagefind Composable]: Expected callback to be a function, received ${typeof t}`);return}this.__hooks__[e].push(t)}triggerLoad(){this.__load__()}triggerSearch(e){this.searchTerm=e,this.__dispatch__("search",e,this.searchFilters),this.__search__(e,this.searchFilters)}triggerSearchWithFilters(e,t){this.searchTerm=e,this.searchFilters=t,this.__dispatch__("search",e,t),this.__search__(e,t)}triggerFilters(e){this.searchFilters=e,this.__dispatch__("search",this.searchTerm,e),this.__search__(this.searchTerm,e)}triggerFilter(e,t){this.searchFilters=this.searchFilters||{},this.searchFilters[e]=t,this.__dispatch__("search",this.searchTerm,this.searchFilters),this.__search__(this.searchTerm,this.searchFilters)}__dispatch__(e,...t){this.__hooks__[e]?.forEach(s=>s?.(...t))}async __clear__(){this.__dispatch__("results",{results:[],unfilteredTotalCount:0}),this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}async __search__(e,t){this.__dispatch__("loading"),await this.__load__();let s=++this.__searchID__;if(!e||!e.length)return this.__clear__();let n=await this.__pagefind__.search(e,{filters:t});n&&this.__searchID__===s&&(n.filters&&Object.keys(n.filters)?.length&&(this.availableFilters=n.filters,this.totalFilters=n.totalFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})),this.searchResult=n,this.__dispatch__("results",this.searchResult))}async __load__(){if(this.__initializing__){for(;!this.__pagefind__;)await P(50);return}if(this.__initializing__=!0,!this.__pagefind__){let e;try{e=await import(`${this.options.bundlePath}pagefind.js`)}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindComposable Instance"].join(` -`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript?.src??"bad script location"}]`):console.error("no known script location")}await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})(); diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-ui.css b/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-ui.css deleted file mode 100644 index d7984a9..0000000 --- a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-ui.css +++ /dev/null @@ -1 +0,0 @@ -.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"\2937 ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable="true"]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)} diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-ui.js b/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-ui.js deleted file mode 100644 index 6c2ec66..0000000 --- a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind-ui.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{var Ms=Object.defineProperty;var y=(n,e)=>{for(var t in e)Ms(n,t,{get:e[t],enumerable:!0})};function z(){}function mt(n){return n()}function gn(){return Object.create(null)}function G(n){n.forEach(mt)}function nt(n){return typeof n=="function"}function K(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var et;function ie(n,e){return et||(et=document.createElement("a")),et.href=e,n===et.href}function En(n){return Object.keys(n).length===0}var Rn=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global,de=class{constructor(e){this.options=e,this._listeners="WeakMap"in Rn?new WeakMap:void 0}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){var e;return(e=this._observer)!==null&&e!==void 0?e:this._observer=new ResizeObserver(t=>{var s;for(let r of t)de.entries.set(r.target,r),(s=this._listeners.get(r.target))===null||s===void 0||s(r)})}};de.entries="WeakMap"in Rn?new WeakMap:void 0;var bn=!1;function As(){bn=!0}function vs(){bn=!1}function b(n,e){n.appendChild(e)}function S(n,e,t){n.insertBefore(e,t||null)}function k(n){n.parentNode&&n.parentNode.removeChild(n)}function Q(n,e){for(let t=0;tn.removeEventListener(e,t,s)}function E(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function Hs(n){return Array.from(n.childNodes)}function N(n,e){e=""+e,n.data!==e&&(n.data=e)}function pt(n,e){n.value=e??""}function B(n,e,t){n.classList[t?"add":"remove"](e)}var st=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,s=null){this.e||(this.is_svg?this.e=ws(t.nodeName):this.e=C(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(s)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;tn.indexOf(s)===-1?e.push(s):t.push(s)),t.forEach(s=>s()),re=e}var tt=new Set,ee;function ae(){ee={r:0,c:[],p:ee}}function oe(){ee.r||G(ee.c),ee=ee.p}function U(n,e){n&&n.i&&(tt.delete(n),n.i(e))}function P(n,e,t,s){if(n&&n.o){if(tt.has(n))return;tt.add(n),ee.c.push(()=>{tt.delete(n),s&&(t&&n.d(1),s())}),n.o(e)}else s&&s()}function Sn(n,e){P(n,1,1,()=>{e.delete(n.key)})}function yn(n,e,t,s,r,l,i,a,o,h,c,m){let p=n.length,d=l.length,_=p,u={};for(;_--;)u[n[_].key]=_;let f=[],T=new Map,R=new Map,M=[];for(_=d;_--;){let v=m(r,l,_),H=t(v),O=i.get(H);O?s&&M.push(()=>O.p(v,e)):(O=h(H,v),O.c()),T.set(H,f[_]=O),H in u&&R.set(H,Math.abs(_-u[H]))}let D=new Set,X=new Set;function V(v){U(v,1),v.m(a,c),i.set(v.key,v),c=v.first,d--}for(;p&&d;){let v=f[d-1],H=n[p-1],O=v.key,W=H.key;v===H?(c=v.first,p--,d--):T.has(W)?!i.has(O)||D.has(O)?V(v):X.has(W)?p--:R.get(O)>R.get(W)?(X.add(O),V(v)):(D.add(W),p--):(o(H,i),p--)}for(;p--;){let v=n[p];T.has(v.key)||o(v,i)}for(;d;)V(f[d-1]);return G(M),f}var zs=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Ua=new Set([...zs]);function Mn(n,e,t){let s=n.$$.props[e];s!==void 0&&(n.$$.bound[s]=t,t(n.$$.ctx[s]))}function rt(n){n&&n.c()}function me(n,e,t,s){let{fragment:r,after_update:l}=n.$$;r&&r.m(e,t),s||ht(()=>{let i=n.$$.on_mount.map(mt).filter(nt);n.$$.on_destroy?n.$$.on_destroy.push(...i):G(i),n.$$.on_mount=[]}),l.forEach(ht)}function ue(n,e){let t=n.$$;t.fragment!==null&&(js(t.after_update),G(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Us(n,e){n.$$.dirty[0]===-1&&(se.push(n),Ns(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{let _=d.length?d[0]:p;return h.ctx&&r(h.ctx[m],h.ctx[m]=_)&&(!h.skip_bound&&h.bound[m]&&h.bound[m](_),c&&Us(n,m)),p}):[],h.update(),c=!0,G(h.before_update),h.fragment=s?s(h.ctx):!1,e.target){if(e.hydrate){As();let m=Hs(e.target);h.fragment&&h.fragment.l(m),m.forEach(k)}else h.fragment&&h.fragment.c();e.intro&&U(n.$$.fragment),me(n,e.target,e.anchor,e.customElement),vs(),kn()}fe(o)}var Ds;typeof HTMLElement=="function"&&(Ds=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:n}=this.$$;this.$$.on_disconnect=n.map(mt).filter(nt);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(n,e,t){this[n]=t}disconnectedCallback(){G(this.$$.on_disconnect)}$destroy(){ue(this,1),this.$destroy=z}$on(n,e){if(!nt(e))return z;let t=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return t.push(e),()=>{let s=t.indexOf(e);s!==-1&&t.splice(s,1)}}$set(n){this.$$set&&!En(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}});var q=class{$destroy(){ue(this,1),this.$destroy=z}$on(e,t){if(!nt(t))return z;let s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}$set(e){this.$$set&&!En(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function I(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=97&&e<=122||e>=65&&e<=90}function $(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=48&&e<=57}function Z(n){return I(n)||$(n)}var An=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var Rt={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"};var Is={}.hasOwnProperty;function lt(n,e={}){let t=vn(),s=String(n),r=s.toLowerCase(),l=0;if(n==null)throw new Error("Expected string, got `"+n+"`");if(Is.call(Rt,r)){let a=Rt[r];return(e.normalize===void 0||e.normalize===null||e.normalize)&&typeof a=="string"?lt(a):(t[An.includes(r)?"regular":"irregular"]=s,t)}for(;I(r.charCodeAt(l))&&l<9;)l++;if(l>1&&l<9){if(t.language=s.slice(0,l),l<4){let a=0;for(;r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&!I(r.charCodeAt(l+4));){if(a>2)return i(l,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(s.slice(l+1,l+4)),l+=4,a++}}for(r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&I(r.charCodeAt(l+4))&&!I(r.charCodeAt(l+5))&&(t.script=s.slice(l+1,l+5),l+=5),r.charCodeAt(l)===45&&(I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&!I(r.charCodeAt(l+3))?(t.region=s.slice(l+1,l+3),l+=3):$(r.charCodeAt(l+1))&&$(r.charCodeAt(l+2))&&$(r.charCodeAt(l+3))&&!$(r.charCodeAt(l+4))&&(t.region=s.slice(l+1,l+4),l+=4));r.charCodeAt(l)===45;){let a=l+1,o=a;for(;Z(r.charCodeAt(o));){if(o-a>7)return i(o,1,"Too long variant, expected at most 8 characters");o++}if(o-a>4||o-a>3&&$(r.charCodeAt(a)))t.variants.push(s.slice(a,o)),l=o;else break}for(;r.charCodeAt(l)===45&&!(r.charCodeAt(l+1)===120||!Z(r.charCodeAt(l+1))||r.charCodeAt(l+2)!==45||!Z(r.charCodeAt(l+3)));){let a=l+2,o=0;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1))&&Z(r.charCodeAt(a+2));){let h=a+1;for(a=h+2,o++;Z(r.charCodeAt(a));){if(a-h>7)return i(a,2,"Too long extension, expected at most 8 characters");a++}}if(!o)return i(a,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:s.charAt(l+1),extensions:s.slice(l+3,a).split("-")}),l=a}}else l=0;if(l===0&&r.charCodeAt(l)===120||r.charCodeAt(l)===45&&r.charCodeAt(l+1)===120){l=l?l+2:1;let a=l;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1));){let o=l+1;for(a=o;Z(r.charCodeAt(a));){if(a-o>7)return i(a,5,"Too long private-use area, expected at most 8 characters");a++}t.privateuse.push(s.slice(l+1,a)),l=a}}if(l!==s.length)return i(l,6,"Found superfluous content after tag");return t;function i(a,o,h){return e.warning&&e.warning(h,o,a),e.forgiving?t:vn()}}function vn(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function wn(n,e,t){let s=n.slice();return s[8]=e[t][0],s[9]=e[t][1],s}function Ps(n){let e,t,s,r,l,i=n[0]&&Hn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[3](30)}`,r=A(),l=C("p"),l.textContent=`${n[3](40)}`,E(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),E(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),E(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(a,o){i&&i.m(a,o),S(a,e,o),S(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=Hn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ls(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,h,c=n[1].excerpt+"",m,p=n[0]&&Fn(n),d=n[2].length&&On(n);return{c(){p&&p.c(),e=A(),t=C("div"),s=C("p"),r=C("a"),i=w(l),o=A(),h=C("p"),m=A(),d&&d.c(),E(r,"class","pagefind-ui__result-link svelte-j9e30"),E(r,"href",a=n[1].meta?.url||n[1].url),E(s,"class","pagefind-ui__result-title svelte-j9e30"),E(h,"class","pagefind-ui__result-excerpt svelte-j9e30"),E(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(_,u){p&&p.m(_,u),S(_,e,u),S(_,t,u),b(t,s),b(s,r),b(r,i),b(t,o),b(t,h),h.innerHTML=c,b(t,m),d&&d.m(t,null)},p(_,u){_[0]?p?p.p(_,u):(p=Fn(_),p.c(),p.m(e.parentNode,e)):p&&(p.d(1),p=null),u&2&&l!==(l=_[1].meta?.title+"")&&N(i,l),u&2&&a!==(a=_[1].meta?.url||_[1].url)&&E(r,"href",a),u&2&&c!==(c=_[1].excerpt+"")&&(h.innerHTML=c),_[2].length?d?d.p(_,u):(d=On(_),d.c(),d.m(t,null)):d&&(d.d(1),d=null)},d(_){p&&p.d(_),_&&k(e),_&&k(t),d&&d.d()}}}function Hn(n){let e;return{c(){e=C("div"),E(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,s){S(t,e,s)},d(t){t&&k(e)}}}function Fn(n){let e,t=n[1].meta.image&&Nn(n);return{c(){e=C("div"),t&&t.c(),E(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(s,r){S(s,e,r),t&&t.m(e,null)},p(s,r){s[1].meta.image?t?t.p(s,r):(t=Nn(s),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(s){s&&k(e),t&&t.d()}}}function Nn(n){let e,t,s;return{c(){e=C("img"),E(e,"class","pagefind-ui__result-image svelte-j9e30"),ie(e.src,t=n[1].meta?.image)||E(e,"src",t),E(e,"alt",s=n[1].meta?.image_alt||n[1].meta?.title)},m(r,l){S(r,e,l)},p(r,l){l&2&&!ie(e.src,t=r[1].meta?.image)&&E(e,"src",t),l&2&&s!==(s=r[1].meta?.image_alt||r[1].meta?.title)&&E(e,"alt",s)},d(r){r&&k(e)}}}function On(n){let e,t=n[2],s=[];for(let r=0;rn.toLocaleUpperCase();function Bs(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],h=async m=>{t(1,a=await m.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([p])=>!i.includes(p)))},c=(m=30)=>". ".repeat(Math.floor(10+Math.random()*m));return n.$$set=m=>{"show_images"in m&&t(0,s=m.show_images),"process_result"in m&&t(4,r=m.process_result),"result"in m&&t(5,l=m.result)},n.$$.update=()=>{if(n.$$.dirty&32)e:h(l)},[s,a,o,c,r,l]}var bt=class extends q{constructor(e){super(),Y(this,e,Bs,qs,K,{show_images:0,process_result:4,result:5})}},Un=bt;function Dn(n,e,t){let s=n.slice();return s[11]=e[t][0],s[12]=e[t][1],s}function In(n,e,t){let s=n.slice();return s[15]=e[t],s}function Vs(n){let e,t,s,r,l,i=n[0]&&Pn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[5](30)}`,r=A(),l=C("p"),l.textContent=`${n[5](40)}`,E(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),E(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),E(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(a,o){i&&i.m(a,o),S(a,e,o),S(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=Pn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ws(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,h,c,m=n[0]&&Ln(n),p=n[4]&&Bn(n),d=n[3],_=[];for(let f=0;fn.toLocaleUpperCase();function Ks(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],h=[],c=!1,m=(_,u)=>{if(_.length<=u)return _;let f=[..._].sort((T,R)=>R.locations.length-T.locations.length).slice(0,3).map(T=>T.url);return _.filter(T=>f.includes(T.url))},p=async _=>{t(1,a=await _.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([u])=>!i.includes(u))),Array.isArray(a.sub_results)&&(t(4,c=a.sub_results?.[0]?.url===(a.meta?.url||a.url)),c?t(3,h=m(a.sub_results.slice(1),3)):t(3,h=m([...a.sub_results],3)))},d=(_=30)=>". ".repeat(Math.floor(10+Math.random()*_));return n.$$set=_=>{"show_images"in _&&t(0,s=_.show_images),"process_result"in _&&t(6,r=_.process_result),"result"in _&&t(7,l=_.result)},n.$$.update=()=>{if(n.$$.dirty&128)e:p(l)},[s,a,o,h,c,d,r,l]}var Tt=class extends q{constructor(e){super(),Y(this,e,Ks,Gs,K,{show_images:0,process_result:6,result:7})}},Jn=Tt;function Yn(n,e,t){let s=n.slice();return s[10]=e[t][0],s[11]=e[t][1],s[12]=e,s[13]=t,s}function Zn(n,e,t){let s=n.slice();return s[14]=e[t][0],s[15]=e[t][1],s[16]=e,s[17]=t,s}function Xn(n){let e,t,s=n[4]("filters_label",n[5],n[6])+"",r,l,i=Object.entries(n[1]),a=[];for(let o=0;on.toLocaleUpperCase(),ts=n=>n.toLowerCase();function Ys(n,e,t){let{available_filters:s=null}=e,{show_empty_filters:r=!0}=e,{open_filters:l=[]}=e,{translate:i=()=>""}=e,{automatic_translations:a={}}=e,{translations:o={}}=e,{selected_filters:h={}}=e,c=!1,m=!1;function p(d,_){h[`${d}:${_}`]=this.checked,t(0,h)}return n.$$set=d=>{"available_filters"in d&&t(1,s=d.available_filters),"show_empty_filters"in d&&t(2,r=d.show_empty_filters),"open_filters"in d&&t(3,l=d.open_filters),"translate"in d&&t(4,i=d.translate),"automatic_translations"in d&&t(5,a=d.automatic_translations),"translations"in d&&t(6,o=d.translations),"selected_filters"in d&&t(0,h=d.selected_filters)},n.$$.update=()=>{if(n.$$.dirty&258){e:if(s&&!c){t(8,c=!0);let d=Object.entries(s||{});d.length===1&&Object.entries(d[0][1])?.length<=6&&t(7,m=!0)}}},[h,s,r,l,i,a,o,m,c,p]}var Ct=class extends q{constructor(e){super(),Y(this,e,Ys,Js,K,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},ns=Ct;var kt={};y(kt,{comments:()=>Xs,default:()=>$s,direction:()=>Qs,strings:()=>xs,thanks_to:()=>Zs});var Zs="Jan Claasen ",Xs="",Qs="ltr",xs={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},$s={thanks_to:Zs,comments:Xs,direction:Qs,strings:xs};var St={};y(St,{comments:()=>tr,default:()=>rr,direction:()=>nr,strings:()=>sr,thanks_to:()=>er});var er="Jermanuts",tr="",nr="rtl",sr={placeholder:"\u0628\u062D\u062B",clear_search:"\u0627\u0645\u0633\u062D",load_more:"\u062D\u0645\u0651\u0650\u0644 \u0627\u0644\u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",search_label:"\u0627\u0628\u062D\u062B \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639",filters_label:"\u062A\u0635\u0641\u064A\u0627\u062A",zero_results:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",many_results:"[COUNT] \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",one_result:"[COUNT] \u0646\u062A\u064A\u062C\u0629 \u0644 [SEARCH_TERM]",alt_search:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u064A\u0639\u0631\u0636 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0644 [DIFFERENT_TERM] \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643",search_suggestion:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u062C\u0631\u0628 \u0623\u062D\u062F \u0639\u0645\u0644\u064A\u0627\u062A \u0627\u0644\u0628\u062D\u062B \u0627\u0644\u062A\u0627\u0644\u064A\u0629:",searching:"\u064A\u0628\u062D\u062B \u0639\u0646 [SEARCH_TERM]..."},rr={thanks_to:er,comments:tr,direction:nr,strings:sr};var yt={};y(yt,{comments:()=>ir,default:()=>ur,direction:()=>ar,strings:()=>or,thanks_to:()=>lr});var lr="Maruf Alom ",ir="",ar="ltr",or={placeholder:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",clear_search:"\u09AE\u09C1\u099B\u09C7 \u09AB\u09C7\u09B2\u09C1\u09A8",load_more:"\u0986\u09B0\u09CB \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09C1\u09A8",search_label:"\u098F\u0987 \u0993\u09DF\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7 \u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",filters_label:"\u09AB\u09BF\u09B2\u09CD\u099F\u09BE\u09B0",zero_results:"[SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF",many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",alt_search:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF. \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09C7 [DIFFERENT_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u09A6\u09C7\u0996\u09BE\u09A8\u09CB \u09B9\u099A\u09CD\u099B\u09C7",search_suggestion:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u09AC\u09BF\u09B7\u09DF\u09C7. \u09A8\u09BF\u09A8\u09CD\u09AE\u09C7\u09B0 \u09AC\u09BF\u09B7\u09DF\u09AC\u09B8\u09CD\u09A4\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09A6\u09C7\u0996\u09C1\u09A8:",searching:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u099A\u09B2\u099B\u09C7 [SEARCH_TERM]..."},ur={thanks_to:lr,comments:ir,direction:ar,strings:or};var Mt={};y(Mt,{comments:()=>_r,default:()=>hr,direction:()=>fr,strings:()=>dr,thanks_to:()=>cr});var cr="Pablo Villaverde ",_r="",fr="ltr",dr={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure m\xE9s resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques seg\xFCents:",searching:"Cercant [SEARCH_TERM]..."},hr={thanks_to:cr,comments:_r,direction:fr,strings:dr};var At={};y(At,{comments:()=>pr,default:()=>Rr,direction:()=>gr,strings:()=>Er,thanks_to:()=>mr});var mr="Dalibor Hon ",pr="",gr="ltr",Er={placeholder:"Hledat",clear_search:"Smazat",load_more:"Na\u010D\xEDst dal\u0161\xED v\xFDsledky",search_label:"Prohledat tuto str\xE1nku",filters_label:"Filtry",zero_results:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]",many_results:"[COUNT] v\xFDsledk\u016F pro [SEARCH_TERM]",one_result:"[COUNT] v\xFDsledek pro [SEARCH_TERM]",alt_search:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Zobrazuj\xED se v\xFDsledky pro [DIFFERENT_TERM]",search_suggestion:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Souvisej\xEDc\xED v\xFDsledky hled\xE1n\xED:",searching:"Hled\xE1m [SEARCH_TERM]..."},Rr={thanks_to:mr,comments:pr,direction:gr,strings:Er};var vt={};y(vt,{comments:()=>Tr,default:()=>Sr,direction:()=>Cr,strings:()=>kr,thanks_to:()=>br});var br="Jonas Smedegaard ",Tr="",Cr="ltr",kr={placeholder:"S\xF8g",clear_search:"Nulstil",load_more:"Indl\xE6s flere resultater",search_label:"S\xF8g p\xE5 dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v et af disse s\xF8geord i stedet:",searching:"S\xF8ger efter [SEARCH_TERM]..."},Sr={thanks_to:br,comments:Tr,direction:Cr,strings:kr};var wt={};y(wt,{comments:()=>Mr,default:()=>wr,direction:()=>Ar,strings:()=>vr,thanks_to:()=>yr});var yr="Jan Claasen ",Mr="",Ar="ltr",vr={placeholder:"Suche",clear_search:"L\xF6schen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse f\xFCr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse f\xFCr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis f\xFCr [SEARCH_TERM]",alt_search:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Stattdessen werden Ergebnisse f\xFCr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche f\xFCr [SEARCH_TERM]"},wr={thanks_to:yr,comments:Mr,direction:Ar,strings:vr};var Ht={};y(Ht,{comments:()=>Fr,default:()=>jr,direction:()=>Nr,strings:()=>Or,thanks_to:()=>Hr});var Hr="Liam Bigelow ",Fr="",Nr="ltr",Or={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},jr={thanks_to:Hr,comments:Fr,direction:Nr,strings:Or};var Ft={};y(Ft,{comments:()=>Ur,default:()=>Pr,direction:()=>Dr,strings:()=>Ir,thanks_to:()=>zr});var zr="Pablo Villaverde ",Ur="",Dr="ltr",Ir={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver m\xE1s resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes b\xFAsquedas:",searching:"Buscando [SEARCH_TERM]..."},Pr={thanks_to:zr,comments:Ur,direction:Dr,strings:Ir};var Nt={};y(Nt,{comments:()=>qr,default:()=>Wr,direction:()=>Br,strings:()=>Vr,thanks_to:()=>Lr});var Lr="Ali Khaleqi Yekta ",qr="",Br="rtl",Vr={placeholder:"\u062C\u0633\u062A\u062C\u0648",clear_search:"\u067E\u0627\u06A9\u0633\u0627\u0632\u06CC",load_more:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0646\u062A\u0627\u06CC\u062C \u0628\u06CC\u0634\u062A\u0631",search_label:"\u062C\u0633\u062A\u062C\u0648 \u062F\u0631 \u0633\u0627\u06CC\u062A",filters_label:"\u0641\u06CC\u0644\u062A\u0631\u0647\u0627",zero_results:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",many_results:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",one_result:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",alt_search:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u062F\u0631 \u0639\u0648\u0636 \u0646\u062A\u0627\u06CC\u062C \u0628\u0631\u0627\u06CC [DIFFERENT_TERM] \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F",search_suggestion:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u062C\u0633\u062A\u062C\u0648\u0647\u0627\u06CC \u0632\u06CC\u0631 \u0631\u0627 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F:",searching:"\u062F\u0631 \u062D\u0627\u0644 \u062C\u0633\u062A\u062C\u0648\u06CC [SEARCH_TERM]..."},Wr={thanks_to:Lr,comments:qr,direction:Br,strings:Vr};var Ot={};y(Ot,{comments:()=>Kr,default:()=>Zr,direction:()=>Jr,strings:()=>Yr,thanks_to:()=>Gr});var Gr="Valtteri Laitinen ",Kr="",Jr="ltr",Yr={placeholder:"Haku",clear_search:"Tyhjenn\xE4",load_more:"Lataa lis\xE4\xE4 tuloksia",search_label:"Hae t\xE4lt\xE4 sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. N\xE4ytet\xE4\xE4n tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},Zr={thanks_to:Gr,comments:Kr,direction:Jr,strings:Yr};var jt={};y(jt,{comments:()=>Qr,default:()=>el,direction:()=>xr,strings:()=>$r,thanks_to:()=>Xr});var Xr="Nicolas Friedli ",Qr="",xr="ltr",$r={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de r\xE9sultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de r\xE9sultat pour [SEARCH_TERM]",many_results:"[COUNT] r\xE9sultats pour [SEARCH_TERM]",one_result:"[COUNT] r\xE9sultat pour [SEARCH_TERM]",alt_search:"Pas de r\xE9sultat pour [SEARCH_TERM]. Montre les r\xE9sultats pour [DIFFERENT_TERM] \xE0 la place",search_suggestion:"Pas de r\xE9sultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},el={thanks_to:Xr,comments:Qr,direction:xr,strings:$r};var zt={};y(zt,{comments:()=>nl,default:()=>ll,direction:()=>sl,strings:()=>rl,thanks_to:()=>tl});var tl="Pablo Villaverde ",nl="",sl="ltr",rl={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver m\xE1is resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},ll={thanks_to:tl,comments:nl,direction:sl,strings:rl};var Ut={};y(Ut,{comments:()=>al,default:()=>cl,direction:()=>ol,strings:()=>ul,thanks_to:()=>il});var il="Nir Tamir ",al="",ol="rtl",ul={placeholder:"\u05D7\u05D9\u05E4\u05D5\u05E9",clear_search:"\u05E0\u05D9\u05E7\u05D5\u05D9",load_more:"\u05E2\u05D5\u05D3 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",search_label:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D1\u05D0\u05EA\u05E8 \u05D6\u05D4",filters_label:"\u05DE\u05E1\u05E0\u05E0\u05D9\u05DD",zero_results:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",many_results:"\u05E0\u05DE\u05E6\u05D0\u05D5 [COUNT] \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",one_result:"\u05E0\u05DE\u05E6\u05D0\u05D4 \u05EA\u05D5\u05E6\u05D0\u05D4 \u05D0\u05D7\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",alt_search:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05DE\u05D5\u05E6\u05D2\u05D5\u05EA \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [DIFFERENT_TERM]",search_suggestion:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05E0\u05E1\u05D5 \u05D0\u05D7\u05D3 \u05DE\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9\u05D9\u05DD \u05D4\u05D1\u05D0\u05D9\u05DD:",searching:"\u05DE\u05D7\u05E4\u05E9 \u05D0\u05EA [SEARCH_TERM]..."},cl={thanks_to:il,comments:al,direction:ol,strings:ul};var Dt={};y(Dt,{comments:()=>fl,default:()=>ml,direction:()=>dl,strings:()=>hl,thanks_to:()=>_l});var _l="Amit Yadav ",fl="",dl="ltr",hl={placeholder:"\u0916\u094B\u091C\u0947\u0902",clear_search:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",load_more:"\u0914\u0930 \u0905\u0927\u093F\u0915 \u092A\u0930\u093F\u0923\u093E\u092E \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",search_label:"\u0907\u0938 \u0938\u093E\u0907\u091F \u092E\u0947\u0902 \u0916\u094B\u091C\u0947\u0902",filters_label:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u0947",one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u093E",alt_search:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0907\u0938\u0915\u0947 \u092C\u091C\u093E\u092F [DIFFERENT_TERM] \u0915\u0947 \u0932\u093F\u090F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",search_suggestion:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u0916\u094B\u091C\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u0915\u094B\u0908 \u090F\u0915 \u0906\u091C\u093C\u092E\u093E\u090F\u0902:",searching:"[SEARCH_TERM] \u0915\u0940 \u0916\u094B\u091C \u0915\u0940 \u091C\u093E \u0930\u0939\u0940 \u0939\u0948..."},ml={thanks_to:_l,comments:fl,direction:dl,strings:hl};var It={};y(It,{comments:()=>gl,default:()=>bl,direction:()=>El,strings:()=>Rl,thanks_to:()=>pl});var pl="Diomed ",gl="",El="ltr",Rl={placeholder:"Tra\u017Ei",clear_search:"O\u010Disti",load_more:"U\u010Ditaj vi\u0161e rezultata",search_label:"Pretra\u017Ei ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Poku\u0161aj s jednom od ovih pretraga:",searching:"Pretra\u017Eujem [SEARCH_TERM]..."},bl={thanks_to:pl,comments:gl,direction:El,strings:Rl};var Pt={};y(Pt,{comments:()=>Cl,default:()=>yl,direction:()=>kl,strings:()=>Sl,thanks_to:()=>Tl});var Tl="Adam Laki ",Cl="",kl="ltr",Sl={placeholder:"Keres\xE9s",clear_search:"T\xF6rl\xE9s",load_more:"Tov\xE1bbi tal\xE1latok bet\xF6lt\xE9se",search_label:"Keres\xE9s az oldalon",filters_label:"Sz\u0171r\xE9s",zero_results:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",many_results:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",one_result:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",alt_search:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Tal\xE1latok mutat\xE1sa ink\xE1bb a(z) [DIFFERENT_TERM] kifejez\xE9sre",search_suggestion:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Pr\xF3b\xE1ld meg a k\xF6vetkez\u0151 keres\xE9sek egyik\xE9t:",searching:"Keres\xE9s a(z) [SEARCH_TERM] kifejez\xE9sre..."},yl={thanks_to:Tl,comments:Cl,direction:kl,strings:Sl};var Lt={};y(Lt,{comments:()=>Al,default:()=>Hl,direction:()=>vl,strings:()=>wl,thanks_to:()=>Ml});var Ml="Nixentric",Al="",vl="ltr",wl={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},Hl={thanks_to:Ml,comments:Al,direction:vl,strings:wl};var qt={};y(qt,{comments:()=>Nl,default:()=>zl,direction:()=>Ol,strings:()=>jl,thanks_to:()=>Fl});var Fl="Cosette Bruhns Alonso, Andrew Janco ",Nl="",Ol="ltr",jl={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra pi\xF9 risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},zl={thanks_to:Fl,comments:Nl,direction:Ol,strings:jl};var Bt={};y(Bt,{comments:()=>Dl,default:()=>Ll,direction:()=>Il,strings:()=>Pl,thanks_to:()=>Ul});var Ul="Tate",Dl="",Il="ltr",Pl={placeholder:"\u691C\u7D22",clear_search:"\u30AF\u30EA\u30A2",load_more:"\u6B21\u3092\u8AAD\u307F\u8FBC\u3080",search_label:"\u3053\u306E\u30B5\u30A4\u30C8\u3092\u691C\u7D22",filters_label:"\u30D5\u30A3\u30EB\u30BF",zero_results:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",many_results:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",one_result:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",alt_search:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002[DIFFERENT_TERM]\u306E\u691C\u7D22\u7D50\u679C\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059",search_suggestion:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u691C\u7D22\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044",searching:"[SEARCH_TERM]\u3092\u691C\u7D22\u3057\u3066\u3044\u307E\u3059"},Ll={thanks_to:Ul,comments:Dl,direction:Il,strings:Pl};var Vt={};y(Vt,{comments:()=>Bl,default:()=>Gl,direction:()=>Vl,strings:()=>Wl,thanks_to:()=>ql});var ql="Seokho Son ",Bl="",Vl="ltr",Wl={placeholder:"\uAC80\uC0C9\uC5B4",clear_search:"\uBE44\uC6B0\uAE30",load_more:"\uAC80\uC0C9 \uACB0\uACFC \uB354 \uBCF4\uAE30",search_label:"\uC0AC\uC774\uD2B8 \uAC80\uC0C9",filters_label:"\uD544\uD130",zero_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C",many_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",one_result:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",alt_search:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. [DIFFERENT_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC",search_suggestion:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. \uCD94\uCC9C \uAC80\uC0C9\uC5B4: ",searching:"[SEARCH_TERM] \uAC80\uC0C9 \uC911..."},Gl={thanks_to:ql,comments:Bl,direction:Vl,strings:Wl};var Wt={};y(Wt,{comments:()=>Jl,default:()=>Xl,direction:()=>Yl,strings:()=>Zl,thanks_to:()=>Kl});var Kl="",Jl="",Yl="ltr",Zl={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta \u0113tahi otinga k\u0113",search_label:"Rapu",filters_label:"T\u0101tari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga k\u0113 ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakam\u0101tau ki ng\u0101 mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},Xl={thanks_to:Kl,comments:Jl,direction:Yl,strings:Zl};var Gt={};y(Gt,{comments:()=>xl,default:()=>ti,direction:()=>$l,strings:()=>ei,thanks_to:()=>Ql});var Ql="Paul van Brouwershaven",xl="",$l="ltr",ei={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},ti={thanks_to:Ql,comments:xl,direction:$l,strings:ei};var Kt={};y(Kt,{comments:()=>si,default:()=>ii,direction:()=>ri,strings:()=>li,thanks_to:()=>ni});var ni="Christopher Wingate",si="",ri="ltr",li={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]"},ii={thanks_to:ni,comments:si,direction:ri,strings:li};var Jt={};y(Jt,{comments:()=>oi,default:()=>_i,direction:()=>ui,strings:()=>ci,thanks_to:()=>ai});var ai="",oi="",ui="ltr",ci={placeholder:"Szukaj",clear_search:"Wyczy\u015B\u0107",load_more:"Za\u0142aduj wi\u0119cej",search_label:"Przeszukaj t\u0119 stron\u0119",filters_label:"Filtry",zero_results:"Brak wynik\xF3w dla [SEARCH_TERM]",many_results:"[COUNT] wynik\xF3w dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wynik\xF3w dla [SEARCH_TERM]. Wy\u015Bwietlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wynik\xF3w dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},_i={thanks_to:ai,comments:oi,direction:ui,strings:ci};var Yt={};y(Yt,{comments:()=>di,default:()=>pi,direction:()=>hi,strings:()=>mi,thanks_to:()=>fi});var fi="Jonatah",di="",hi="ltr",mi={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},pi={thanks_to:fi,comments:di,direction:hi,strings:mi};var Zt={};y(Zt,{comments:()=>Ei,default:()=>Ti,direction:()=>Ri,strings:()=>bi,thanks_to:()=>gi});var gi="Bogdan Mateescu ",Ei="",Ri="ltr",bi={placeholder:"C\u0103utare",clear_search:"\u015Eterge\u0163i",load_more:"\xCEnc\u0103rca\u021Bi mai multe rezultate",search_label:"C\u0103uta\u021Bi \xEEn acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afi\u0219eaz\u0103 \xEEn schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. \xCEncerca\u021Bi una dintre urm\u0103toarele c\u0103ut\u0103ri:",searching:"Se caut\u0103 dup\u0103: [SEARCH_TERM]..."},Ti={thanks_to:gi,comments:Ei,direction:Ri,strings:bi};var Xt={};y(Xt,{comments:()=>ki,default:()=>Mi,direction:()=>Si,strings:()=>yi,thanks_to:()=>Ci});var Ci="Aleksandr Gordeev",ki="",Si="ltr",yi={placeholder:"\u041F\u043E\u0438\u0441\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0435",search_label:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",alt_search:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432",searching:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]"},Mi={thanks_to:Ci,comments:ki,direction:Si,strings:yi};var Qt={};y(Qt,{comments:()=>vi,default:()=>Fi,direction:()=>wi,strings:()=>Hi,thanks_to:()=>Ai});var Ai="Andrija Sagicc",vi="",wi="ltr",Hi={placeholder:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",clear_search:"\u0411\u0440\u0438\u0441\u0430\u045A\u0435",load_more:"\u041F\u0440\u0438\u043A\u0430\u0437 \u0432\u0438\u0448\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",search_label:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0441\u0430\u0458\u0442\u0430",filters_label:"\u0424\u0438\u043B\u0442\u0435\u0440\u0438",zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",alt_search:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u0440\u0438\u043A\u0430\u0437 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043A \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [DIFFERENT_TERM]",search_suggestion:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u0441\u0430 \u043D\u0435\u043A\u043E\u043C \u043E\u0434 \u0441\u043B\u0435\u0434\u0435\u045B\u0438\u0445 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430:",searching:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430 [SEARCH_TERM]..."},Fi={thanks_to:Ai,comments:vi,direction:wi,strings:Hi};var xt={};y(xt,{comments:()=>Oi,default:()=>Ui,direction:()=>ji,strings:()=>zi,thanks_to:()=>Ni});var Ni="Montazar Al-Jaber ",Oi="",ji="ltr",zi={placeholder:"S\xF6k",clear_search:"Rensa",load_more:"Visa fler tr\xE4ffar",search_label:"S\xF6k p\xE5 denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga tr\xE4ffar",many_results:"[SEARCH_TERM] gav [COUNT] tr\xE4ffar",one_result:"[SEARCH_TERM] gav [COUNT] tr\xE4ff",alt_search:"[SEARCH_TERM] gav inga tr\xE4ffar. Visar resultat f\xF6r [DIFFERENT_TERM] ist\xE4llet",search_suggestion:"[SEARCH_TERM] gav inga tr\xE4ffar. F\xF6rs\xF6k igen med en av f\xF6ljande s\xF6kord:",searching:"S\xF6ker efter [SEARCH_TERM]..."},Ui={thanks_to:Ni,comments:Oi,direction:ji,strings:zi};var $t={};y($t,{comments:()=>Ii,default:()=>qi,direction:()=>Pi,strings:()=>Li,thanks_to:()=>Di});var Di="Anonymous",Ii="",Pi="ltr",Li={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},qi={thanks_to:Di,comments:Ii,direction:Pi,strings:Li};var en={};y(en,{comments:()=>Vi,default:()=>Ki,direction:()=>Wi,strings:()=>Gi,thanks_to:()=>Bi});var Bi="",Vi="",Wi="ltr",Gi={placeholder:"\u0BA4\u0BC7\u0B9F\u0BC1\u0B95",clear_search:"\u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0B95",load_more:"\u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95",search_label:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1\u0B95",filters_label:"\u0BB5\u0B9F\u0BBF\u0B95\u0B9F\u0BCD\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",zero_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",many_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 [COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",one_result:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",alt_search:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD\u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8, \u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B92\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.\u0B87\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC0\u0B9F\u0BBE\u0BA9 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0BA4\u0BC7\u0B9F\u0BC1\u0B95:",searching:"[SEARCH_TERM] \u0BA4\u0BC7\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1"},Ki={thanks_to:Bi,comments:Vi,direction:Wi,strings:Gi};var tn={};y(tn,{comments:()=>Yi,default:()=>Qi,direction:()=>Zi,strings:()=>Xi,thanks_to:()=>Ji});var Ji="Taylan \xD6zg\xFCr Bildik",Yi="",Zi="ltr",Xi={placeholder:"Ara\u015Ft\u0131r",clear_search:"Temizle",load_more:"Daha fazla sonu\xE7",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] i\xE7in sonu\xE7 yok",many_results:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",one_result:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",alt_search:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Bunun yerine [DIFFERENT_TERM] i\xE7in sonu\xE7lar g\xF6steriliyor",search_suggestion:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Alternatif olarak a\u015Fa\u011F\u0131daki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] ara\u015Ft\u0131r\u0131l\u0131yor..."},Qi={thanks_to:Ji,comments:Yi,direction:Zi,strings:Xi};var nn={};y(nn,{comments:()=>$i,default:()=>na,direction:()=>ea,strings:()=>ta,thanks_to:()=>xi});var xi="Vladyslav Lyshenko ",$i="",ea="ltr",ta={placeholder:"\u041F\u043E\u0448\u0443\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0449\u0435",search_label:"\u041F\u043E\u0448\u0443\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0456\u043B\u044C\u0442\u0440\u0438",zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",alt_search:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0456\u0437 \u0442\u0430\u043A\u0438\u0445 \u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432",searching:"\u041F\u043E\u0448\u0443\u043A \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]"},na={thanks_to:xi,comments:$i,direction:ea,strings:ta};var sn={};y(sn,{comments:()=>ra,default:()=>aa,direction:()=>la,strings:()=>ia,thanks_to:()=>sa});var sa="Long Nhat Nguyen",ra="",la="ltr",ia={placeholder:"T\xECm ki\u1EBFm",clear_search:"X\xF3a",load_more:"Nhi\u1EC1u k\u1EBFt qu\u1EA3 h\u01A1n",search_label:"T\xECm ki\u1EBFm trong trang n\xE0y",filters_label:"B\u1ED9 l\u1ECDc",zero_results:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",many_results:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",one_result:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",alt_search:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Ki\u1EC3m th\u1ECB k\u1EBFt qu\u1EA3 thay th\u1EBF v\u1EDBi [DIFFERENT_TERM]",search_suggestion:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Th\u1EED m\u1ED9t trong c\xE1c t\xECm ki\u1EBFm:",searching:"\u0110ang t\xECm ki\u1EBFm cho [SEARCH_TERM]..."},aa={thanks_to:sa,comments:ra,direction:la,strings:ia};var rn={};y(rn,{comments:()=>ua,default:()=>fa,direction:()=>ca,strings:()=>_a,thanks_to:()=>oa});var oa="Amber Song",ua="",ca="ltr",_a={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},fa={thanks_to:oa,comments:ua,direction:ca,strings:_a};var ln={};y(ln,{comments:()=>ha,default:()=>ga,direction:()=>ma,strings:()=>pa,thanks_to:()=>da});var da="Amber Song",ha="",ma="ltr",pa={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F09\u66F4\u591A\u7D50\u679C",search_label:"\u7AD9\u5167\u641C\u7D22",filters_label:"\u7BE9\u9078",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",many_results:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",one_result:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u6539\u70BA\u986F\u793A [DIFFERENT_TERM] \u7684\u76F8\u95DC\u7D50\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u8ACB\u5617\u8A66\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},ga={thanks_to:da,comments:ha,direction:ma,strings:pa};var an={};y(an,{comments:()=>Ra,default:()=>Ca,direction:()=>ba,strings:()=>Ta,thanks_to:()=>Ea});var Ea="Amber Song",Ra="",ba="ltr",Ta={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},Ca={thanks_to:Ea,comments:Ra,direction:ba,strings:Ta};var ka=[kt,St,yt,Mt,At,vt,wt,Ht,Ft,Nt,Ot,jt,zt,Ut,Dt,It,Pt,Lt,qt,Bt,Vt,Wt,Gt,Kt,Jt,Yt,Zt,Xt,Qt,xt,$t,en,tn,nn,sn,rn,ln,an],ss=ka,rs=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ls(n,e,t){let s=n.slice();return s[51]=e[t],s}function is(n){let e,t,s;function r(i){n[37](i)}let l={show_empty_filters:n[5],open_filters:n[6],available_filters:n[18],translate:n[20],automatic_translations:n[19],translations:n[7]};return n[0]!==void 0&&(l.selected_filters=n[0]),e=new ns({props:l}),le.push(()=>Mn(e,"selected_filters",r)),{c(){rt(e.$$.fragment)},m(i,a){me(e,i,a),s=!0},p(i,a){let o={};a[0]&32&&(o.show_empty_filters=i[5]),a[0]&64&&(o.open_filters=i[6]),a[0]&262144&&(o.available_filters=i[18]),a[0]&524288&&(o.automatic_translations=i[19]),a[0]&128&&(o.translations=i[7]),!t&&a[0]&1&&(t=!0,o.selected_filters=i[0],Cn(()=>t=!1)),e.$set(o)},i(i){s||(U(e.$$.fragment,i),s=!0)},o(i){P(e.$$.fragment,i),s=!1},d(i){ue(e,i)}}}function as(n){let e,t,s,r,l=[Ma,ya],i=[];function a(o,h){return o[14]?0:1}return t=a(n,[-1,-1]),s=i[t]=l[t](n),{c(){e=C("div"),s.c(),E(e,"class","pagefind-ui__results-area svelte-e9gkc3")},m(o,h){S(o,e,h),i[t].m(e,null),r=!0},p(o,h){let c=t;t=a(o,h),t===c?i[t].p(o,h):(ae(),P(i[c],1,1,()=>{i[c]=null}),oe(),s=i[t],s?s.p(o,h):(s=i[t]=l[t](o),s.c()),U(s,1),s.m(e,null))},i(o){r||(U(s),r=!0)},o(o){P(s),r=!1},d(o){o&&k(e),i[t].d()}}}function ya(n){let e,t,s,r=[],l=new Map,i,a,o;function h(u,f){return u[13].results.length===0?wa:u[13].results.length===1?va:Aa}let c=h(n,[-1,-1]),m=c(n),p=n[13].results.slice(0,n[17]),d=u=>u[51].id;for(let u=0;un[17]&&us(n);return{c(){e=C("p"),m.c(),t=A(),s=C("ol");for(let u=0;uu[17]?_?_.p(u,f):(_=us(u),_.c(),_.m(a.parentNode,a)):_&&(_.d(1),_=null)},i(u){if(!o){for(let f=0;f{o[p]=null}),oe(),r=o[s],r?r.p(e,m):(r=o[s]=a[s](e),r.c()),U(r,1),r.m(l.parentNode,l))},i(c){i||(U(r),i=!0)},o(c){P(r),i=!1},d(c){c&&k(t),o[s].d(c),c&&k(l)}}}function us(n){let e,t=n[20]("load_more",n[19],n[7])+"",s,r,l;return{c(){e=C("button"),s=w(t),E(e,"type","button"),E(e,"class","pagefind-ui__button svelte-e9gkc3")},m(i,a){S(i,e,a),b(e,s),r||(l=J(e,"click",n[22]),r=!0)},p(i,a){a[0]&524416&&t!==(t=i[20]("load_more",i[19],i[7])+"")&&N(s,t)},d(i){i&&k(e),r=!1,l()}}}function cs(n){let e,t=n[20]("searching",n[19],n[7]).replace(/\[SEARCH_TERM\]/,n[16])+"",s;return{c(){e=C("p"),s=w(t),E(e,"class","pagefind-ui__message svelte-e9gkc3")},m(r,l){S(r,e,l),b(e,s)},p(r,l){l[0]&589952&&t!==(t=r[20]("searching",r[19],r[7]).replace(/\[SEARCH_TERM\]/,r[16])+"")&&N(s,t)},d(r){r&&k(e)}}}function Na(n){let e,t,s,r,l,i,a=n[20]("clear_search",n[19],n[7])+"",o,h,c,m,p,d,_,u,f=n[12]&&is(n),T=n[15]&&as(n);return{c(){e=C("div"),t=C("form"),s=C("input"),l=A(),i=C("button"),o=w(a),h=A(),c=C("div"),f&&f.c(),m=A(),T&&T.c(),E(s,"class","pagefind-ui__search-input svelte-e9gkc3"),E(s,"type","text"),E(s,"placeholder",r=n[20]("placeholder",n[19],n[7])),E(s,"autocapitalize","none"),E(s,"enterkeyhint","search"),s.autofocus=n[8],E(i,"class","pagefind-ui__search-clear svelte-e9gkc3"),B(i,"pagefind-ui__suppressed",!n[9]),E(c,"class","pagefind-ui__drawer svelte-e9gkc3"),B(c,"pagefind-ui__hidden",!n[15]),E(t,"class","pagefind-ui__form svelte-e9gkc3"),E(t,"role","search"),E(t,"aria-label",p=n[20]("search_label",n[19],n[7])),E(t,"action","javascript:void(0);"),E(e,"class","pagefind-ui svelte-e9gkc3"),B(e,"pagefind-ui--reset",n[1])},m(R,M){S(R,e,M),b(e,t),b(t,s),pt(s,n[9]),n[34](s),b(t,l),b(t,i),b(i,o),n[35](i),b(t,h),b(t,c),f&&f.m(c,null),b(c,m),T&&T.m(c,null),d=!0,n[8]&&s.focus(),_||(u=[J(s,"focus",n[21]),J(s,"keydown",n[32]),J(s,"input",n[33]),J(i,"click",n[36]),J(t,"submit",Oa)],_=!0)},p(R,M){(!d||M[0]&524416&&r!==(r=R[20]("placeholder",R[19],R[7])))&&E(s,"placeholder",r),(!d||M[0]&256)&&(s.autofocus=R[8]),M[0]&512&&s.value!==R[9]&&pt(s,R[9]),(!d||M[0]&524416)&&a!==(a=R[20]("clear_search",R[19],R[7])+"")&&N(o,a),(!d||M[0]&512)&&B(i,"pagefind-ui__suppressed",!R[9]),R[12]?f?(f.p(R,M),M[0]&4096&&U(f,1)):(f=is(R),f.c(),U(f,1),f.m(c,m)):f&&(ae(),P(f,1,1,()=>{f=null}),oe()),R[15]?T?(T.p(R,M),M[0]&32768&&U(T,1)):(T=as(R),T.c(),U(T,1),T.m(c,null)):T&&(ae(),P(T,1,1,()=>{T=null}),oe()),(!d||M[0]&32768)&&B(c,"pagefind-ui__hidden",!R[15]),(!d||M[0]&524416&&p!==(p=R[20]("search_label",R[19],R[7])))&&E(t,"aria-label",p),(!d||M[0]&2)&&B(e,"pagefind-ui--reset",R[1])},i(R){d||(U(f),U(T),d=!0)},o(R){P(f),P(T),d=!1},d(R){R&&k(e),n[34](null),n[35](null),f&&f.d(),T&&T.d(),_=!1,G(u)}}}var Oa=n=>n.preventDefault();function ja(n,e,t){let s={},r=rs.map(g=>g.match(/([^\/]+)\.json$/)[1]);for(let g=0;gj[g]??F[g]??"";gt(()=>{let g=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",F=lt(g.toLocaleLowerCase());t(19,hn=s[`${F.language}-${F.script}-${F.region}`]||s[`${F.language}-${F.region}`]||s[`${F.language}`]||s.en)}),Et(()=>{H?.destroy?.(),H=null});let mn=async()=>{if(!at&&(t(12,at=!0),!H)){let g;try{g=await import(`${l}pagefind.js`)}catch(j){console.error(j),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` -`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}c||t(24,c=h?12:30);let F={...f||{},excerptLength:c};await g.options(F);for(let j of T){if(!j.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let L=j.bundlePath;delete j.bundlePath,await g.mergeIndex(L,j)}H=g,hs()}},hs=async()=>{H&&(dn=await H.filters(),(!ce||!Object.keys(ce).length)&&t(18,ce=dn))},ms=g=>{let F={};return Object.entries(g).filter(([,j])=>j).forEach(([j])=>{let[L,te]=j.split(/:(.*)$/);F[L]=F[L]||[],F[L].push(te)}),F},_e,ps=async(g,F)=>{if(!g){t(15,ut=!1),_e&&clearTimeout(_e);return}let j=ms(F),L=()=>gs(g,j);u>0&&g?(_e&&clearTimeout(_e),_e=setTimeout(L,u),await pn(),H.preload(g,{filters:j})):L(),Es()},pn=async()=>{for(;!H;)mn(),await new Promise(g=>setTimeout(g,50))},gs=async(g,F)=>{t(16,fn=g||""),typeof p=="function"&&(g=p(g)),t(14,ot=!0),t(15,ut=!0),await pn();let j=++_n,L={filters:F};X&&typeof X=="object"&&(L.sort=X);let te=await H.search(g,L);_n===j&&(te.filters&&Object.keys(te.filters)?.length&&t(18,ce=te.filters),t(13,cn=te),t(14,ot=!1),t(17,ct=i))},Es=()=>{let g=W.offsetWidth;g!=fs&&t(10,O.style.paddingRight=`${g+2}px`,O)},Rs=g=>{g?.preventDefault(),t(17,ct+=i)},bs=g=>{g.key==="Escape"&&(t(9,v=""),O.blur()),g.key==="Enter"&&g.preventDefault()};function Ts(){v=this.value,t(9,v),t(23,R)}function Cs(g){le[g?"unshift":"push"](()=>{O=g,t(10,O)})}function ks(g){le[g?"unshift":"push"](()=>{W=g,t(11,W)})}let Ss=()=>{t(9,v=""),O.blur()};function ys(g){V=g,t(0,V)}return n.$$set=g=>{"base_path"in g&&t(25,l=g.base_path),"page_size"in g&&t(26,i=g.page_size),"reset_styles"in g&&t(1,a=g.reset_styles),"show_images"in g&&t(2,o=g.show_images),"show_sub_results"in g&&t(3,h=g.show_sub_results),"excerpt_length"in g&&t(24,c=g.excerpt_length),"process_result"in g&&t(4,m=g.process_result),"process_term"in g&&t(27,p=g.process_term),"show_empty_filters"in g&&t(5,d=g.show_empty_filters),"open_filters"in g&&t(6,_=g.open_filters),"debounce_timeout_ms"in g&&t(28,u=g.debounce_timeout_ms),"pagefind_options"in g&&t(29,f=g.pagefind_options),"merge_index"in g&&t(30,T=g.merge_index),"trigger_search_term"in g&&t(23,R=g.trigger_search_term),"translations"in g&&t(7,M=g.translations),"autofocus"in g&&t(8,D=g.autofocus),"sort"in g&&t(31,X=g.sort),"selected_filters"in g&&t(0,V=g.selected_filters)},n.$$.update=()=>{if(n.$$.dirty[0]&8388608)e:R&&(t(9,v=R),t(23,R=""));if(n.$$.dirty[0]&513)e:ps(v,V)},[V,a,o,h,m,d,_,M,D,v,O,W,at,cn,ot,ut,fn,ct,ce,hn,ds,mn,Rs,R,c,l,i,p,u,f,T,X,bs,Ts,Cs,ks,Ss,ys]}var on=class extends q{constructor(e){super(),Y(this,e,ja,Na,K,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,sort:31,selected_filters:0},null,[-1,-1])}},_s=on;var un;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(un=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{un="/pagefind/"}var it=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",s=e.bundlePath??un,r=e.pageSize??5,l=e.resetStyles??!0,i=e.showImages??!0,a=e.showSubResults??!1,o=e.excerptLength??0,h=e.processResult??null,c=e.processTerm??null,m=e.showEmptyFilters??!0,p=e.openFilters??[],d=e.debounceTimeoutMs??300,_=e.mergeIndex??[],u=e.translations??[],f=e.autofocus??!1,T=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.sort;let R=t instanceof HTMLElement?t:document.querySelector(t);R?this._pfs=new _s({target:R,props:{base_path:s,page_size:r,reset_styles:l,show_images:i,show_sub_results:a,excerpt_length:o,process_result:h,process_term:c,show_empty_filters:m,open_filters:p,debounce_timeout_ms:d,merge_index:_,translations:u,autofocus:f,sort:T,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[s,r]of Object.entries(e))if(Array.isArray(r))for(let l of r)t[`${s}:${l}`]=!0;else t[`${s}:${r}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};window.PagefindUI=it;})(); diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind.en_33af6f82b4.pf_meta b/shepherd/blueprints/staticroutes/docs/pagefind/pagefind.en_33af6f82b4.pf_meta deleted file mode 100644 index 32af562..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind.en_33af6f82b4.pf_meta and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind.js b/shepherd/blueprints/staticroutes/docs/pagefind/pagefind.js deleted file mode 100644 index 0ea99ad..0000000 --- a/shepherd/blueprints/staticroutes/docs/pagefind/pagefind.js +++ /dev/null @@ -1,9 +0,0 @@ -const pagefind_version="1.2.0";let wasm_bindgen;(function(){const __exports={};let script_src;if(typeof document!=='undefined'&&document.currentScript!==null){script_src=new URL("UNHANDLED",location.href).toString()}let wasm=undefined;let cachedUint8Memory0=null;function getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1,1)>>>0;getUint8Memory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr}__exports.init_pagefind=function(metadata_bytes){const ptr0=passArray8ToWasm0(metadata_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.init_pagefind(ptr0,len0);return ret>>>0};const cachedTextEncoder=(typeof TextEncoder!=='undefined'?new TextEncoder('utf-8'):{encode:()=>{throw Error('TextEncoder not available')}});const encodeString=(typeof cachedTextEncoder.encodeInto==='function'?function(arg,view){return cachedTextEncoder.encodeInto(arg,view)}:function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length}});function passStringToWasm0(arg,malloc,realloc){if(realloc===undefined){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length,1)>>>0;getUint8Memory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr}let len=arg.length;let ptr=malloc(len,1)>>>0;const mem=getUint8Memory0();let offset=0;for(;offset0x7F)break;mem[ptr+offset]=code}if(offset!==len){if(offset!==0){arg=arg.slice(offset)}ptr=realloc(ptr,len,len=offset+arg.length*3,1)>>>0;const view=getUint8Memory0().subarray(ptr+offset,ptr+len);const ret=encodeString(arg,view);offset+=ret.written;ptr=realloc(ptr,len,offset,1)>>>0}WASM_VECTOR_LEN=offset;return ptr}__exports.set_ranking_weights=function(ptr,weights){const ptr0=passStringToWasm0(weights,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.set_ranking_weights(ptr,ptr0,len0);return ret>>>0};__exports.load_index_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_index_chunk(ptr,ptr0,len0);return ret>>>0};__exports.load_filter_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_filter_chunk(ptr,ptr0,len0);return ret>>>0};__exports.add_synthetic_filter=function(ptr,filter){const ptr0=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.add_synthetic_filter(ptr,ptr0,len0);return ret>>>0};let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}const cachedTextDecoder=(typeof TextDecoder!=='undefined'?new TextDecoder('utf-8',{ignoreBOM:true,fatal:true}):{decode:()=>{throw Error('TextDecoder not available')}});if(typeof TextDecoder!=='undefined'){cachedTextDecoder.decode()};function getStringFromWasm0(ptr,len){ptr=ptr>>>0;return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr,ptr+len))}__exports.request_indexes=function(ptr,query){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_filter_indexes=function(ptr,filters){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(filters,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_filter_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_all_filter_indexes=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.request_all_filter_indexes(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.filters=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.filters(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.search=function(ptr,query,filter,sort,exact){let deferred4_0;let deferred4_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ptr1=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;const ptr2=passStringToWasm0(sort,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len2=WASM_VECTOR_LEN;wasm.search(retptr,ptr,ptr0,len0,ptr1,len1,ptr2,len2,exact);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred4_0=r0;deferred4_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred4_0,deferred4_1,1)}};async function __wbg_load(module,imports){if(typeof Response==='function'&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==='function'){try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){if(module.headers.get('Content-Type')!='application/wasm'){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}else{throw e}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance,module}}else{return instance}}}function __wbg_get_imports(){const imports={};imports.wbg={};return imports}function __wbg_init_memory(imports,maybe_memory){}function __wbg_finalize_init(instance,module){wasm=instance.exports;__wbg_init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){if(wasm!==undefined)return wasm;const imports=__wbg_get_imports();__wbg_init_memory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module)}async function __wbg_init(input){if(wasm!==undefined)return wasm;if(typeof input==='undefined'&&typeof script_src!=='undefined'){input=script_src.replace(/\.js$/,'_bg.wasm')}const imports=__wbg_get_imports();if(typeof input==='string'||(typeof Request==='function'&&input instanceof Request)||(typeof URL==='function'&&input instanceof URL)){input=fetch(input)}__wbg_init_memory(imports);const{instance,module}=await __wbg_load(await input,imports);return __wbg_finalize_init(instance,module)}wasm_bindgen=Object.assign(__wbg_init,{initSync},__exports)})();var u8=Uint8Array;var u16=Uint16Array;var u32=Uint32Array;var fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]);var fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]);var clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var freb=function(eb,start){var b=new u16(31);for(var i2=0;i2<31;++i2){b[i2]=start+=1<>>1|(i&21845)<<1;x=(x&52428)>>>2|(x&13107)<<2;x=(x&61680)>>>4|(x&3855)<<4;rev[i]=((x&65280)>>>8|(x&255)<<8)>>>1}var x;var i;var hMap=function(cd,mb,r){var s=cd.length;var i2=0;var l=new u16(mb);for(;i2>>rvb]=sv}}}}else{co=new u16(s);for(i2=0;i2>>15-cd[i2]}}}return co};var flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;var i;for(i=144;i<256;++i)flt[i]=9;var i;for(i=256;i<280;++i)flt[i]=7;var i;for(i=280;i<288;++i)flt[i]=8;var i;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var i;var flrm=hMap(flt,9,1);var fdrm=hMap(fdt,5,1);var max=function(a){var m=a[0];for(var i2=1;i2m)m=a[i2]}return m};var bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m};var bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7)};var shft=function(p){return(p+7)/8|0};var slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;var n=new(v.BYTES_PER_ELEMENT==2?u16:v.BYTES_PER_ELEMENT==4?u32:u8)(e-s);n.set(v.subarray(s,e));return n};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e};var inflt=function(dat,buf,st){var sl=dat.length;if(!sl||st&&st.f&&!st.l)return buf||new u8(0);var noBuf=!buf||st;var noSt=!st||st.i;if(!st)st={};if(!buf)buf=new u8(sl*3);var cbuf=function(l2){var bl=buf.length;if(l2>bl){var nbuf=new u8(Math.max(bl*2,l2));nbuf.set(buf);buf=nbuf}};var final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;var tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);pos+=3;if(!type){var s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break}if(noBuf)cbuf(bt+l);buf.set(dat.subarray(s,t),bt);st.b=bt+=l,st.p=pos=t*8,st.f=final;continue}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;var ldt=new u8(tl);var clt=new u8(19);for(var i2=0;i2>>4;if(s<16){ldt[i2++]=s}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i2-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i2++]=c}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt);dbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1)}else err(1);if(pos>tbts){if(noSt)err(0);break}}if(noBuf)cbuf(bt+131072);var lms=(1<>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i2=sym-257,b=fleb[i2];add=bits(dat,pos,(1<>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<tbts){if(noSt)err(0);break}if(noBuf)cbuf(bt+131072);var end=bt+add;for(;bt>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2)};var gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0};function gunzipSync(data,out){return inflt(data.subarray(gzs(data),-8),out||new u8(gzl(data)))}var td=typeof TextDecoder!="undefined"&&new TextDecoder();var tds=0;try{td.decode(et,{stream:true});tds=1}catch(e){}var gz_default=gunzipSync;var calculate_excerpt_region=(word_positions,excerpt_length)=>{if(word_positions.length===0){return 0}let words=[];for(const word of word_positions){words[word.location]=words[word.location]||0;words[word.location]+=word.balanced_score}if(words.length<=excerpt_length){return 0}let densest=words.slice(0,excerpt_length).reduce((partialSum,a)=>partialSum+a,0);let working_sum=densest;let densest_at=[0];for(let i2=0;i2densest){densest=working_sum;densest_at=[i2]}else if(working_sum===densest&&densest_at[densest_at.length-1]===i2-1){densest_at.push(i2)}}let midpoint=densest_at[Math.floor(densest_at.length/2)];return midpoint};var build_excerpt=(content,start,length,locations,not_before,not_from)=>{let is_zws_delimited=content.includes("\u200B");let fragment_words=[];if(is_zws_delimited){fragment_words=content.split("\u200B")}else{fragment_words=content.split(/[\r\n\s]+/g)}for(let word of locations){if(fragment_words[word]?.startsWith(``)){continue}fragment_words[word]=`${fragment_words[word]}`}let endcap=not_from??fragment_words.length;let startcap=not_before??0;if(endcap-startcapendcap){start=endcap-length}if(start{const anchors=fragment.anchors.filter((a)=>/h\d/i.test(a.element)&&a.text?.length&&/\S/.test(a.text)).sort((a,b)=>a.location-b.location);const results=[];let current_anchor_position=0;let current_anchor={title:fragment.meta["title"],url:fragment.url,weighted_locations:[],locations:[],excerpt:""};const add_result=(end_range)=>{if(current_anchor.locations.length){const relative_weighted_locations=current_anchor.weighted_locations.map((l)=>{return{weight:l.weight,balanced_score:l.balanced_score,location:l.location-current_anchor_position}});const excerpt_start=calculate_excerpt_region(relative_weighted_locations,desired_excerpt_length)+current_anchor_position;const excerpt_length=end_range?Math.min(end_range-excerpt_start,desired_excerpt_length):desired_excerpt_length;current_anchor.excerpt=build_excerpt(fragment.raw_content??"",excerpt_start,excerpt_length,current_anchor.locations,current_anchor_position,end_range);results.push(current_anchor)}};for(let word of fragment.weighted_locations){if(!anchors.length||word.location=anchors[0].location){next_anchor=anchors.shift()}let anchored_url=fragment.url;try{const url_is_fq=/^((https?:)?\/\/)/.test(anchored_url);if(url_is_fq){let fq_url=new URL(anchored_url);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString()}else{if(!/^\//.test(anchored_url)){anchored_url=`/${anchored_url}`}let fq_url=new URL(`https://example.com${anchored_url}`);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString().replace(/^https:\/\/example.com/,"")}}catch(e){console.error(`Pagefind: Couldn't process ${anchored_url} for a search result`)}current_anchor_position=next_anchor.location;current_anchor={title:next_anchor.text,url:anchored_url,anchor:next_anchor,weighted_locations:[word],locations:[word.location],excerpt:""}}}add_result(anchors[0]?.location);return results};var asyncSleep=async(ms=100)=>{return new Promise((r)=>setTimeout(r,ms))};var PagefindInstance=class{constructor(opts={}){this.version=pagefind_version;this.backend=wasm_bindgen;this.decoder=new TextDecoder("utf-8");this.wasm=null;this.basePath=opts.basePath||"/pagefind/";this.primary=opts.primary||false;if(this.primary&&!opts.basePath){this.initPrimary()}if(/[^\/]$/.test(this.basePath)){this.basePath=`${this.basePath}/`}if(window?.location?.origin&&this.basePath.startsWith(window.location.origin)){this.basePath=this.basePath.replace(window.location.origin,"")}this.baseUrl=opts.baseUrl||this.defaultBaseUrl();if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`}this.indexWeight=opts.indexWeight??1;this.excerptLength=opts.excerptLength??30;this.mergeFilter=opts.mergeFilter??{};this.ranking=opts.ranking;this.highlightParam=opts.highlightParam??null;this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.searchMeta=null;this.languages=null}initPrimary(){let derivedBasePath=import.meta.url.match(/^(.*\/)pagefind.js.*$/)?.[1];if(derivedBasePath){this.basePath=derivedBasePath}else{console.warn(["Pagefind couldn't determine the base of the bundle from the import path. Falling back to the default.","Set a basePath option when initialising Pagefind to ignore this message."].join("\n"))}}defaultBaseUrl(){let default_base=this.basePath.match(/^(.*\/)_?pagefind/)?.[1];return default_base||"/"}async options(options2){const opts=["basePath","baseUrl","indexWeight","excerptLength","mergeFilter","highlightParam","ranking"];for(const[k,v]of Object.entries(options2)){if(k==="mergeFilter"){let filters2=this.stringifyFilters(v);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}else if(k==="ranking"){await this.set_ranking(options2.ranking)}else if(opts.includes(k)){if(k==="basePath"&&typeof v==="string")this.basePath=v;if(k==="baseUrl"&&typeof v==="string")this.baseUrl=v;if(k==="indexWeight"&&typeof v==="number")this.indexWeight=v;if(k==="excerptLength"&&typeof v==="number")this.excerptLength=v;if(k==="mergeFilter"&&typeof v==="object")this.mergeFilter=v;if(k==="highlightParam"&&typeof v==="string")this.highlightParam=v}else{console.warn(`Unknown Pagefind option ${k}. Allowed options: [${opts.join(", ")}]`)}}}decompress(data,file="unknown file"){if(this.decoder.decode(data.slice(0,12))==="pagefind_dcd"){return data.slice(12)}data=gz_default(data);if(this.decoder.decode(data.slice(0,12))!=="pagefind_dcd"){console.error(`Decompressing ${file} appears to have failed: Missing signature`);return data}return data.slice(12)}async set_ranking(ranking){if(!ranking)return;let rankingWeights={term_similarity:ranking.termSimilarity??null,page_length:ranking.pageLength??null,term_saturation:ranking.termSaturation??null,term_frequency:ranking.termFrequency??null};let ptr=await this.getPtr();this.raw_ptr=this.backend.set_ranking_weights(ptr,JSON.stringify(rankingWeights))}async init(language,opts){await this.loadEntry();let index=this.findIndex(language);let lang_wasm=index.wasm?index.wasm:"unknown";let resources=[this.loadMeta(index.hash)];if(opts.load_wasm===true){resources.push(this.loadWasm(lang_wasm))}await Promise.all(resources);this.raw_ptr=this.backend.init_pagefind(new Uint8Array(this.searchMeta));if(Object.keys(this.mergeFilter)?.length){let filters2=this.stringifyFilters(this.mergeFilter);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}if(this.ranking){await this.set_ranking(this.ranking)}}async loadEntry(){try{let entry_response=await fetch(`${this.basePath}pagefind-entry.json?ts=${Date.now()}`);let entry_json=await entry_response.json();this.languages=entry_json.languages;if(entry_json.version!==this.version){if(this.primary){console.warn(["Pagefind JS version doesn't match the version in your search index.",`Pagefind JS: ${this.version}. Pagefind index: ${entry_json.version}`,"If you upgraded Pagefind recently, you likely have a cached pagefind.js file.","If you encounter any search errors, try clearing your cache."].join("\n"))}else{console.warn(["Merging a Pagefind index from a different version than the main Pagefind instance.",`Main Pagefind JS: ${this.version}. Merged index (${this.basePath}): ${entry_json.version}`,"If you encounter any search errors, make sure that both sites are running the same version of Pagefind."].join("\n"))}}}catch(e){console.error(`Failed to load Pagefind metadata: -${e?.toString()}`);throw new Error("Failed to load Pagefind metadata")}}findIndex(language){if(this.languages){let index=this.languages[language];if(index)return index;index=this.languages[language.split("-")[0]];if(index)return index;let topLang=Object.values(this.languages).sort((a,b)=>b.page_count-a.page_count);if(topLang[0])return topLang[0]}throw new Error("Pagefind Error: No language indexes found.")}async loadMeta(index){try{let compressed_resp=await fetch(`${this.basePath}pagefind.${index}.pf_meta`);let compressed_meta=await compressed_resp.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata")}catch(e){console.error(`Failed to load the meta index: -${e?.toString()}`)}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await fetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression")}this.wasm=await this.backend(final_wasm)}catch(e){console.error(`Failed to load the Pagefind WASM: -${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM: -${e?.toString()}`)}}async _loadGenericChunk(url,method){try{let compressed_resp=await fetch(url);let compressed_chunk=await compressed_resp.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk)}catch(e){console.error(`Failed to load the index chunk ${url}: -${e?.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return await this.loaded_chunks[hash]}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return await this.loaded_filters[hash]}async _loadFragment(hash){let compressed_resp=await fetch(`${this.basePath}fragment/${hash}.pf_fragment`);let compressed_fragment=await compressed_resp.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment))}async loadFragment(hash,weighted_locations=[],search_term){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash)}let fragment=await this.loaded_fragments[hash];fragment.weighted_locations=weighted_locations;fragment.locations=weighted_locations.map((l)=>l.location);if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,">");fragment.content=fragment.content.replace(/\u200B/g,"")}if(!fragment.raw_url){fragment.raw_url=fragment.url}fragment.url=this.processedUrl(fragment.raw_url,search_term);const excerpt_start=calculate_excerpt_region(weighted_locations,this.excerptLength);fragment.excerpt=build_excerpt(fragment.raw_content,excerpt_start,this.excerptLength,fragment.locations);fragment.sub_results=calculate_sub_results(fragment,this.excerptLength);return fragment}fullUrl(raw){if(/^(https?:)?\/\//.test(raw)){return raw}return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/")}processedUrl(url,search_term){const normalized=this.fullUrl(url);if(this.highlightParam===null){return normalized}let individual_terms=search_term.split(/\s+/);try{let processed=new URL(normalized);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString()}catch(e){try{let processed=new URL(`https://example.com${normalized}`);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString().replace(/^https:\/\/example\.com/,"")}catch(e2){return normalized}}}async getPtr(){while(this.raw_ptr===null){await asyncSleep(50)}if(!this.raw_ptr){console.error("Pagefind: WASM Error (No pointer)");throw new Error("Pagefind: WASM Error (No pointer)")}return this.raw_ptr}parseFilters(str){let output={};if(!str)return output;for(const block of str.split("__PF_FILTER_DELIM__")){let[filter,values]=block.split(/:(.*)$/);output[filter]={};if(values){for(const valueBlock of values.split("__PF_VALUE_DELIM__")){if(valueBlock){let extract=valueBlock.match(/^(.*):(\d+)$/);if(extract){let[,value,count]=extract;output[filter][value]=parseInt(count)??count}}}}}return output}stringifyFilters(obj={}){return JSON.stringify(obj)}stringifySorts(obj={}){let sorts=Object.entries(obj);for(let[sort,direction]of sorts){if(sorts.length>1){console.warn(`Pagefind was provided multiple sort options in this search, but can only operate on one. Using the ${sort} sort.`)}if(direction!=="asc"&&direction!=="desc"){console.warn(`Pagefind was provided a sort with unknown direction ${direction}. Supported: [asc, desc]`)}return`${sort}:${direction}`}return``}async filters(){let ptr=await this.getPtr();let filters2=this.backend.request_all_filter_indexes(ptr);let filter_chunks=filters2.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...filter_chunks]);ptr=await this.getPtr();let results=this.backend.filters(ptr);return this.parseFilters(results)}async preload(term,options2={}){await this.search(term,{...options2,preload:true})}async search(term,options2={}){options2={verbose:false,filters:{},sort:{},...options2};const log=(str)=>{if(options2.verbose)console.log(str)};log(`Starting search on ${this.basePath}`);let start=Date.now();let ptr=await this.getPtr();let filter_only=term===null;term=term??"";let exact_search=/^\s*".+"\s*$/.test(term);if(exact_search){log(`Running an exact search`)}term=term.toLowerCase().trim().replace(/[\.`~!@#\$%\^&\*\(\)\{\}\[\]\\\|:;'",<>\/\?\-]/g,"").replace(/\s{2,}/g," ").trim();log(`Normalized search term to ${term}`);if(!term?.length&&!filter_only){return{results:[],unfilteredResultCount:0,filters:{},totalFilters:{},timings:{preload:Date.now()-start,search:Date.now()-start,total:Date.now()-start}}}let sort_list=this.stringifySorts(options2.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options2.filters);log(`Stringified filters to ${filter_list}`);let index_resp=this.backend.request_indexes(ptr,term);let filter_resp=this.backend.request_filter_indexes(ptr,filter_list);let chunks=index_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadChunk(chunk));let filter_chunks=filter_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options2.preload){log(`Preload \u2014 bailing out of search operation now.`);return null}ptr=await this.getPtr();let searchStart=Date.now();let result=this.backend.search(ptr,term,filter_list,sort_list,exact_search);log(`Got the raw search result: ${result}`);let[unfilteredResultCount,all_results,filters2,totalFilters]=result.split(/:([^:]*):(.*)__PF_UNFILTERED_DELIM__(.*)$/);let filterObj=this.parseFilters(filters2);let totalFilterObj=this.parseFilters(totalFilters);log(`Remaining filters: ${JSON.stringify(result)}`);let results=all_results.length?all_results.split(" "):[];let resultsInterface=results.map((result2)=>{let[hash,score,all_locations]=result2.split("@");log(`Processing result: - hash:${hash} - score:${score} - locations:${all_locations}`);let weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await this.loadFragment(hash,weighted_locations,term)}});const searchTime=Date.now()-searchStart;const realTime=Date.now()-start;log(`Found ${results.length} result${results.length == 1 ? "" : "s"} for "${term}" in ${Date.now() - searchStart}ms (${Date.now() - start}ms realtime)`);return{results:resultsInterface,unfilteredResultCount:parseInt(unfilteredResultCount),filters:filterObj,totalFilters:totalFilterObj,timings:{preload:realTime-searchTime,search:searchTime,total:realTime}}}};var Pagefind=class{constructor(options2={}){this.backend=wasm_bindgen;this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({...options2,primary:true});this.instances=[this.primary];this.init(options2?.language)}async options(options2){await this.primary.options(options2)}async init(overrideLanguage){if(document?.querySelector){const langCode=document.querySelector("html")?.getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase()}await this.primary.init(overrideLanguage?overrideLanguage:this.primaryLanguage,{load_wasm:true})}async mergeIndex(indexPath,options2={}){if(this.primary.basePath.startsWith(indexPath)){console.warn(`Skipping mergeIndex ${indexPath} that appears to be the same as the primary index (${this.primary.basePath})`);return}let newInstance=new PagefindInstance({primary:false,basePath:indexPath});this.instances.push(newInstance);while(this.primary.wasm===null){await asyncSleep(50)}await newInstance.init(options2.language||this.primaryLanguage,{load_wasm:false});delete options2["language"];await newInstance.options(options2)}mergeFilters(filters2){const merged={};for(const searchFilter of filters2){for(const[filterKey,values]of Object.entries(searchFilter)){if(!merged[filterKey]){merged[filterKey]=values;continue}else{const filter=merged[filterKey];for(const[valueKey,count]of Object.entries(values)){filter[valueKey]=(filter[valueKey]||0)+count}}}}return merged}async filters(){let filters2=await Promise.all(this.instances.map((i2)=>i2.filters()));return this.mergeFilters(filters2)}async preload(term,options2={}){await Promise.all(this.instances.map((i2)=>i2.preload(term,options2)))}async debouncedSearch(term,options2,debounceTimeoutMs){const thisSearchID=++this.searchID;this.preload(term,options2);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null}const searchResult=await this.search(term,options2);if(thisSearchID!==this.searchID){return null}return searchResult}async search(term,options2={}){let search2=await Promise.all(this.instances.map((i2)=>i2.search(term,options2)));const filters2=this.mergeFilters(search2.map((s)=>s.filters));const totalFilters=this.mergeFilters(search2.map((s)=>s.totalFilters));const results=search2.map((s)=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search2.map((s)=>s.timings);const unfilteredResultCount=search2.reduce((sum,s)=>sum+s.unfilteredResultCount,0);return{results,unfilteredResultCount,filters:filters2,totalFilters,timings}}};var pagefind=void 0;var initial_options=void 0;var init_pagefind=()=>{if(!pagefind){pagefind=new Pagefind(initial_options??{})}};var options=async(new_options)=>{if(pagefind){await pagefind.options(new_options)}else{initial_options=new_options}};var init=async()=>{init_pagefind()};var destroy=async()=>{pagefind=void 0;initial_options=void 0};var mergeIndex=async(indexPath,options2)=>{init_pagefind();return await pagefind.mergeIndex(indexPath,options2)};var search=async(term,options2)=>{init_pagefind();return await pagefind.search(term,options2)};var debouncedSearch=async(term,options2,debounceTimeoutMs=300)=>{init_pagefind();return await pagefind.debouncedSearch(term,options2,debounceTimeoutMs)};var preload=async(term,options2)=>{init_pagefind();return await pagefind.preload(term,options2)};var filters=async()=>{init_pagefind();return await pagefind.filters()};export{debouncedSearch,destroy,filters,init,mergeIndex,options,preload,search} \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/wasm.en.pagefind b/shepherd/blueprints/staticroutes/docs/pagefind/wasm.en.pagefind deleted file mode 100644 index 56073e8..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/wasm.en.pagefind and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/pagefind/wasm.unknown.pagefind b/shepherd/blueprints/staticroutes/docs/pagefind/wasm.unknown.pagefind deleted file mode 100644 index 4dbac6e..0000000 Binary files a/shepherd/blueprints/staticroutes/docs/pagefind/wasm.unknown.pagefind and /dev/null differ diff --git a/shepherd/blueprints/staticroutes/docs/programming/enabling-and-disabling-power/index.html b/shepherd/blueprints/staticroutes/docs/programming/enabling-and-disabling-power/index.html deleted file mode 100644 index 0580e05..0000000 --- a/shepherd/blueprints/staticroutes/docs/programming/enabling-and-disabling-power/index.html +++ /dev/null @@ -1,105 +0,0 @@ - Toggling 12v and 5v power | RoboCon Docs - - Skip to content

    Toggling 12v and 5v power

    Output power at both 12v and 5v can be toggled on and off using your code. This can be done in a couple different ways.

    -

    Toggling 12v power

    -

    The BrainBox provides 12v power to the Aux 12v port on the side of the BrainBox next to the motors. In your code you can toggle whether this power is being supplied using the R.enable_12v property as shown below:

    -
    import robot
    R = robot.Robot()
    -
    # ...Your code
    -
    R.enable_12v = False
    -
    # ...Rest of your code
    -

    This will disable the Aux 12v port until you re-enable it using R.enable_12v = True. -You can also check whether the 12v is currently enabled or disabled.

    -
    import robot
    R = robot.Robot()
    -
    R.enable_12v = False
    print(R.enable_12v) # Outputs "False"
    -

    Toggling 5v power

    -

    The BrainBox supplied 5v power to multiple outputs. These are the Servos (all 0-3), as well as the 5v GPIO pin. You can disable these similarly to the 12v power by using the following code:

    -
    import robot
    R = robot.Robot()
    -
    # ...Your code
    -
    R.enable_5v = False
    -
    # ...Rest of your code
    -

    This will disable the Servo ports as well as the 5v GPIO pin until you re-enable them using R.enable_5v = True. -You can also check whether the 5v is currently enabled or disabled.

    -
    import robot
    R = robot.Robot()
    -
    R.enable_5v = False
    print(R.enable_5v) # Outputs "False"
    -

    Enabling or disabling power by default.

    -

    You can set the BrainBox to have 5v and 12v disabled by default using the following code:

    -
    import robot
    R = robot.Robot(start_enable_5v=False, start_enable_12v=False)
    -

    You can set both to false as in the example, or alternatively only set one. This will disable the power immediately when the brain loads to blinky, rather than you manually disabling it when the code starts execution.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/programming/gpio/index.html b/shepherd/blueprints/staticroutes/docs/programming/gpio/index.html deleted file mode 100644 index 773a536..0000000 --- a/shepherd/blueprints/staticroutes/docs/programming/gpio/index.html +++ /dev/null @@ -1,142 +0,0 @@ - GPIO | RoboCon Docs - - Skip to content

    GPIO

    The GPIO (General Purpose Input Output) allows you to turn on LEDs, react to button presses, or do just about anything.

    -

    Our BrainBox has 4 GPIO pins that you can control. Before you do anything with a pin, you must first set its’ mode.

    -

    There are 4 modes:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ModePythonDescription
    Digital Outputrobot.OUTPUTAllows you to write a high or low signal
    Digital Inputrobot.INPUTAllows you to read a high or low signal
    Analog Inputrobot.INPUT_ANALOGAllows you to read a voltage, like a voltmeter
    Pullup Inputrobot.INPUT_PULLUPLike input, but uses a weak pullup resistor
    - -

    Python

    -

    To write a digital signal on pin 0:

    -
    R.gpio[0].mode = robot.OUTPUT
    R.gpio[0].digital = True
    -

    To read a digital signal on pin 1:

    -
    R.gpio[1].mode = robot.INPUT
    print(R.gpio[1].digital)
    -

    To read an analog signal on pin 2:

    -
    R.gpio[2].mode = robot.INPUT_ANALOG
    print(R.gpio[2].analog)
    -

    To read a pullup signal on pin 3

    -
    R.gpio[3].mode = robot.INPUT_PULLUP
    print(R.gpio[3].digital) # Note that this output will be inverted - True when the connnection is open, and False when closed.
    - -

    Here’s a more complete example:

    -
    import robot
    import time
    -
    R = robot.Robot()
    -
    R.gpio[0].mode = robot.INPUT
    R.gpio[1].mode = robot.INPUT_ANALOG
    R.gpio[2].mode = robot.OUTPUT
    R.gpio[3].mode = robot.INPUT_PULLUP
    -
    outputState = False
    -
    while True:
    # Read the values of 0 and 1
    print(R.gpio[0].digital)
    print(R.gpio[1].analog)
    -
    # Switch output state and send it to 2
    outputState = !outputState
    R.gpio[2].digital = outputState
    -
    # Read the value of 3
    print(R.gpio[3].digital)
    -
    # Pause for 2 seconds
    time.sleep(2)
    -

    Blockly

    -

    The GPIO blocks can be found in the GPIO section, and function similarly to the python.

    -

    Pull-ups

    -

    The BrainBox possesses the ability to enable a built-in pull-up resistor on any input pin. This takes a small amount of explanation.

    -

    Normally, input pins are not connected to anything - known as “floating”. In this state, they might read high or low, or different values depending on their environment (due to anything from cosmic rays to the wiring in the building). This is obviously not good for consistent control.

    -

    Many pieces of off-the-shelf electronics that have some form of standard I/O output will connect this pin to 5V (high) and 0V (low) when required, so this is not a problem. However, for simple electronics, a microswitch for example, you would normally be required to connect a resistor between the input pin and 5V (a pull-up resistor), or between the input pin and 0V (a pull-down resistor) to keep the input in a known state until the switch overrides it by connecting directly to the opposite state.

    -

    However, the built-in pull-up resistor alleviates this need. It essentially wires in a resistor connected to 5V, meaning that when this option is enabled, an input pin will “default” to being high. This means you can simply connect a switch between the input pin and a ground pin without any need of resistors - when the switch is open, the pin will read high; when closed, it will read low.

    -

    An example weak pull up

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/programming/init-robot/index.html b/shepherd/blueprints/staticroutes/docs/programming/init-robot/index.html deleted file mode 100644 index c037967..0000000 --- a/shepherd/blueprints/staticroutes/docs/programming/init-robot/index.html +++ /dev/null @@ -1,86 +0,0 @@ - Initialising the Robot | RoboCon Docs - - Skip to content

    Initialising the Robot

    When using Python to program your robot, you must remember to initialise the robot. If you’re using Blockly, this is done automatically.

    -

    All of the code required to control the Robot is located in the robot python module. -To import the module, and initialise the robot use the following code:

    - -
    import robot
    R = robot.Robot()
    -

    When you initialise the robot with robot.Robot(), your code will be paused until the hardware start button or Shepherd run button is pressed. When the Robot is waiting for either of these buttons to be pressed, the blue status LED will flash on and off.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/programming/learning-python/index.html b/shepherd/blueprints/staticroutes/docs/programming/learning-python/index.html deleted file mode 100644 index 791e9c7..0000000 --- a/shepherd/blueprints/staticroutes/docs/programming/learning-python/index.html +++ /dev/null @@ -1,92 +0,0 @@ - Learning Python | RoboCon Docs - - Skip to content

    Learning Python

    Python is an interpreted high-level programming language for general-purpose programming. First released in 1991, Python has a design philosophy that emphasises code readability, notably using significant whitespace.

    - -

    There are many resources online for learning Python, here are a few good ones that we would recommend:

    -
      -
    • Student Robotics’ tutorial has a tutorial called Python: a whirlwind tour. This was written for Student Robotics competitors (a similar competition to the one you are taking part in), and explains the basics while trying not to overwhelm you.
    • -
    • CSNewbs has a very comprehensive tutorial, that takes you through from the basics to the slightly more advanced. The later chapters cover things like File Handling and UIs - you shouldn’t be using these on your brains, but go wild on your own devices!
    • -
    • The Official Python Tutorial can be pretty handy - the good stuff starts at chapter 3, but you should at least skim the stuff before it; there is a lot there and it may be a little overwhelming.
    • -
    • A number of tutorials for beginners are linked to from here.
    • -
    • Learn X in Y minutes is quite nice if you’ve programmed before in another language and just want to learn the syntax. (Tip: If you’re trying to complete the challenges, here’s where we say you can learn Python in “Y” minutes)
    • -
    • The Official Docs can be handy, but a little dense! Give them a shot, but don’t worry if you can’t find what you are looking for.
    • -
    -

    Running code on your brain may have unintended side effects if it does not call import robot, and doesn’t create a robot object (R = robot.Robot()). Its best to leave those lines in, even if you don’t need to run anything related to the hardware on the brain.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/programming/libraries/index.html b/shepherd/blueprints/staticroutes/docs/programming/libraries/index.html deleted file mode 100644 index 9c185f9..0000000 --- a/shepherd/blueprints/staticroutes/docs/programming/libraries/index.html +++ /dev/null @@ -1,161 +0,0 @@ - Libraries | RoboCon Docs - - Skip to content

    Libraries

    -

    the following libraries are installed on your robot.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PackageVersion
    chardet2018.8.24
    entrypoints0.3
    gevent21.8.0
    gpiozero1.6.2
    greenlet1.1.1
    keyrings17.1.1
    numpy1.21.2
    picamera1.13
    pillow8.3.2
    pluggy1.0.0
    pycairo1.20.1
    pygobject3.30.4
    pyserial3.5
    rpi.gpio0.7.0
    scipy1.7.1
    smbus20.4.1
    spidev3.5
    -

    Documentation might not align with used version, please verify documentation is set to the specified version as that is what is installed on the robot

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/programming/markers/index.html b/shepherd/blueprints/staticroutes/docs/programming/markers/index.html deleted file mode 100644 index 1437eca..0000000 --- a/shepherd/blueprints/staticroutes/docs/programming/markers/index.html +++ /dev/null @@ -1,87 +0,0 @@ - Markers | RoboCon Docs - - Skip to content

    Markers

    You can access (and print) this year’s markers here.

    -
      -
    • Supply crates markers are on page 1-24
    • -
    • Supply drop markers are on pages 25-32
    • -
    • Tree markers are on pages 33-48
    • -
    • Arena wall markers are from page 48 onwards
    • -
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/programming/motors/index.html b/shepherd/blueprints/staticroutes/docs/programming/motors/index.html deleted file mode 100644 index 67912a6..0000000 --- a/shepherd/blueprints/staticroutes/docs/programming/motors/index.html +++ /dev/null @@ -1,99 +0,0 @@ - Motors | RoboCon Docs - - Skip to content

    Motors

    Motors can be used for all sorts of things, besides just moving your robot. For instance, they could also be used as part of a mechanism to collect cubes. However you decide to use them, they’re really simple to control.

    -

    When you control motors, you can choose how much power you want to give them. This is expressed as a percentage, so 0% means a stopped motor and 100% means a motor at full power.

    - -

    If you want to spin your motors in reverse, just stick a negative sign in front of your percentage.

    -

    Python

    -

    You can control motors using the motors property of the Robot object. To set the power of the first motor to 60% use:

    -
    R.motors[0] = 60
    -

    Remember that indexes start at 0; To control the second motor instead, replace motors[0] with motors[1].

    -

    To stop both motors:

    -
    R.motors[0] = 0
    R.motors[1] = 0
    -

    Here’s a more complete example:

    -
    import robot
    -
    R = robot.Robot()
    -
    # set motor 1 to 60% power
    R.motors[0] = 60
    -
    # set motor 2 to 60% power in the backwards direction
    R.motors[1] = -60
    -
    # turn both motors off
    R.motors[0] = 0
    R.motors[1] = 0
    - -

    Blockly

    -

    Blocks for controlling motors can be found in the Movement section. It follows a similar structure to how the python is layed out, with motors being set to a value between -100 and 100 to control their rotation speed.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/programming/servos/index.html b/shepherd/blueprints/staticroutes/docs/programming/servos/index.html deleted file mode 100644 index 7b9ac57..0000000 --- a/shepherd/blueprints/staticroutes/docs/programming/servos/index.html +++ /dev/null @@ -1,98 +0,0 @@ - Servos | RoboCon Docs - - Skip to content

    Servos

    Servos are a bit like motors, except their position is fixed. This is useful for building an arm mechanism that grabs cubes, or anything else that has fixed states that it needs to be in.

    -

    Similarly to motors, the position of a servo is expressed as a percentage. This can be negative.

    -

    Servos are plugged into the Servo ports on the BrainBox. The numbers present on each port correspond to the index used in your code.

    -

    Python

    -

    You can control servos using the servos property of the Robot object. To set the servo 0 to the 50% position use:

    -
    R.servos[0].mode = robot.PWM_SERVO
    R.servos[0] = 50
    - -

    Here’s a more complete example, controlling servos 0 and 1:

    -
    import robot
    import time
    -
    R = robot.Robot()
    R.servos[0].mode = robot.PWM_SERVO
    R.servos[1].mode = robot.PWM_SERVO
    -
    # set servo 0 to the 50% position
    R.servos[0] = 50
    -
    # wait for the servo to finish moving
    time.sleep(1)
    -
    # set servo 1 to the -100% position
    R.servos[1] = -100
    -
    time.sleep(1)
    -
    # set servos 0 & 1 to the default positions
    R.servos[0] = 0
    R.servos[1] = 0
    - -

    Blockly

    -

    Blocks for controlling servos can be found in the Movement section.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/programming/vision/index.html b/shepherd/blueprints/staticroutes/docs/programming/vision/index.html deleted file mode 100644 index 641fee3..0000000 --- a/shepherd/blueprints/staticroutes/docs/programming/vision/index.html +++ /dev/null @@ -1,380 +0,0 @@ - Vision | RoboCon Docs - - Skip to content

    Vision

    Computer Vision allows your robots to understand their environment. For the competition, this is used to locate markers. It will give you information about the type of the marker, the distance/angle to the marker, etc.

    -

    Python

    -

    To look for markers call see():

    -
    markers = R.see()
    -
    print(markers)
    -

    markers is a Python list of “marker objects”, which each look like the following:

    -
    [target Marker 0: 0.856m @0.754 degrees
    {
    info.type = TARGET
    info.id = 50
    info.target_type = TARGET_TYPE.SUPPLY_CRATE
    dist = 0.856
    bearing.y = 0.754
    bearing.x = 1.03e+02
    rotation.y = 5.1
    rotation.x = -11.4
    rotation.z = 9.47
    info = TOO BIG TO PRINT
    detection = TOO BIG TO PRINT
    }
    ]
    -

    Full reference of the properties are further below but some useful properties are:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PropertyDescription
    marker.distDistance to the marker in metres
    marker.bearing.yThe angle your robot needs to turn to get to the marker in degrees
    marker.info.idNumeric code of the marker
    marker.info.typeReturns ARENA for a wall marker and trees, or TARGET for supply crates and supply drop markers.
    marker.info.target_typeReturns if the marker is a Supply create or Supply drop marker. If it’s none of these, NONE will be returned. For example, a supply crate marker would return TARGET_TYPE.SUPPLY_CRATE. However a tree marker would return NONE.
    -

    Codes

    - -

    Every april tag has a code:

    -
      -
    • -

      April tags 0-31 will be used for supplies. Although only 4 supply crates and 4 supply drops used in each round, there are another 19 supply crates and 3 supply drops spare in case some get damaged.

      -
    • -
    • -

      April tags 100+ will be around the arena on the walls. See the rules for -specifics on where around the rules they will be placed

      -
    • -
    • -

      You do not need to use the marker numbers, and can instead use marker.type and marker.owning_team

      -
    • -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FunctionCodes
    Supply crates0 - 23
    Supply drops24 - 31
    Trees76 - 91
    Arena walls Marker100 - 123
    -

    Blockly

    -

    Blocks for vision can be found in the Vision section.

    - -

    Here’s an example of a Blockly program that does some basic vision:

    - - -

    Example

    -

    After reading the motors documentation you should be able to create a function which moves your robot by a number of meters as well as turn. We can then use this to write some code where a robot:

    -
      -
    • -

      Looks for a marker

      -
    • -
    • -

      If it can see a marker:

      -
        -
      • Turn so that it is facing the marker
      • -
      • Drive the distance to the marker
      • -
      -
    • -
    • -

      If there is no marker in sight turn a bit and look again, maybe there is a marker out of view.

      -
    • -
    -
    import robot
    -
    R = robot.Robot()
    -
    def move(distance):
    """The robot drives `distance` meters forwards"""
    print("PUT YOUR MOVE CODE HERE")
    -
    def turn(rotation):
    """The robot turns `rotation` degrees"""
    print("PUT YOUR TURN CODE HERE")
    -
    while True:
    for marker in R.see():
    turn(marker.bearing.y) # Face the marker
    move(marker.dist) # Drive to the marker
    else:
    turn(20) # The robot didn't see anything and so we turn and maybe see
    # another marker
    -

    The Marker object

    -

    Details about the markers can be accessed using the following syntax:

    -
    markers = R.see() # returns list of markers which the robot can see
    -
    for marker in markers:
    print(marker.dist) # The distance to the marker in meters
    print(marker.bearing.y) # The rotation the robot would need to turn to
    # face the marker
    print(marker.info.id) # The number of the marker
    else:
    print("The robot didn't see any markers and skipped the for loop!")
    -

    A Marker object contains information about a detected marker. It has the following attributes:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    AttributeWhat it does
    distThe distance to the Marker from the camera in meters.
    bearingHow far the BrainBox would have to rotate to face that Marker in degrees
    bearing.xThe up/down bearing. 0 is vertically bellow the camera
    bearing.yThe left/right bearing. 0 is straight ahead from the camera
    rotationHow much the Marker would need to be rotated to face the BrainBox. (0,0,0) Is if the marker was facing the BrainBox in the upright position
    rotation.xThe roll of the marker
    rotation.yThe pitch of the marker
    rotation.zThe yaw of the marker
    infoAn object with various information about the marker
    info.idThe ID number of the marker
    info.sizeThe length of the black edge of the marker in meters
    info.typeReturns ARENA for a wall marker and a tree marker, or TARGET for supply crates and supply drop markers.
    info.target_typeReturns if the marker is a Supply create or Supply drop marker. If it’s none of these, NONE will be returned. For example, a supply crate marker would return TARGET_TYPE.SUPPLY_CRATE. However a tree marker would return NONE.
    info.bounding_box_colourA tuple describing the colour which is drawn around the marker in the preview image (Blue, Red, Green)
    detectionTechnical information which has been inferred from the image.
    detection.tag_familyThe family of AprilTag which is detected. RoboCon currently only uses tag36h11.
    detection.tag_idThe ID number of the detected marker. Aliased by marker.info.id.
    detection.hammingThe number of bits which were corrected. The detector cannon detect tags with a hamming distance greater than 2.
    detection.decision_marginA measure of the quality of the binary decoding process; the average difference between the intensity of a data bit versus the decision threshold. Higher numbers roughly indicate better decodes. Only effective for tags which appear small.
    detection.homographyThe 3x3 homography matrix describing the projection from an “ideal” tag (with corners at (-1,1), (1,1), (1,-1), and (-1, -1)) to pixels in the image.
    detection.centerThe image pixel coordinates of the center of the marker.
    detection.cornersThe image pixel coordinates of corners of the detected marker
    detection.pose_RThe 3x3 Rotational matrix which describes the rotation of the marker relative to the origin.
    detection.pose_TThe 1x3 translation vector of the marker in meters.
    detection.pose_errThe uncertainty of the detection in meters. This number can vary massively between detections depending on if local minima were bypassed. See Apriltag: A robust and flexible visual fiducial system
    dectection.distThe distance to the marker in meters.
    detection.rotationHow much the Marker would need to be rotated to face the BrainBox. (0,0,0) Is if the marker was facing the BrainBox in the upright position.
    detection.bearingHow far the BrainBox would have to rotate to face that Marker in degrees.
    - - -

    The Camera object

    -

    An interface to the camera is provided incase you want to do additional computer vision.

    -

    Changing the resolution

    -

    By default the camera takes pictures at a resolution of 640x480px. You can change this by setting the res parameter.

    -
    import robot
    -
    R = robot.Robot()
    -
    print(f"The current res is set to {R.camera.res}")
    R.camera.res = (1920, 1440)
    print(f"The current res is set to {R.camera.res}")
    -

    You must use one of the following resolutions:

    -
      -
    • (640, 480) (default)
    • -
    • (1296, 736)
    • -
    • (1296, 976)
    • -
    • (1920, 1088)
    • -
    • (1920, 1440)
    • -
    - - -

    Get data straight from the camera

    -

    If you wish to do your own computer vision you can capture frames directly from the camera using robot.camera.capture().

    -
    import robot
    -
    R = robot.Robot()
    -
    image = R.camera.capture()
    -
    image.grey_frame # A 2d numpy array of the image data uint8
    image.colour_frame # A 3d numpy array of the image data
    image.colour_type # The encoding method used to store the colour_frame defaults to 8 bit RGB.
    image.time # A `datetime` object representing approximately the capture time.
    -

    Using USB cameras

    -

    The built-in Pi Camera inside your brain should be great for your robot, however if you would like to use your own USB Camera (perhaps you want to put a camera somewhere else on your robot), you can!

    -

    USB cameras can have slightly different functionality than the built-in Pi Camera, so they’ll need some fine tuning before you can use them. The basic steps outlined below should get you up and running.

    -

    Please turn your robot off before plugging in your USB Camera of choice.

    -

    To use a USB camera you will need to initialize the Robot with something which inherits from robot.vision.Camera. Then just call R.see() as you would normally.

    -
    import robot
    from robot.vision import RoboConUSBCamera
    -
    R = robot.Robot(camera=RoboConUSBCamera)
    -
    print(R.see())
    -

    Setting the resolution

    -

    You may now wish to change the resolution of your camera, this can be done the same as before with R.camera.res = (width,height).

    - -

    For example, to set a USB Camera’s resolution to 800x600:

    -
    import robot
    from robot.vision import RoboConUSBCamera
    -
    R = robot.Robot(camera=RoboConUSBCamera)
    -
    R.camera.res = (800, 600)
    print(R.see())
    -

    Calibrating the camera

    -

    You will then need to calibrate your USB camera as the distance that it reports will not be accurate. You can do this by changing the value in the R.camera.focal_lengths dictionary up or down. By default, the robot will use the focal lengths for a “Logitech C270” camera, it’s unlikely this is your camera - so see the steps below on how to calibrate it.

    - -
      -
    • Place a marker exactly 1m away from the camera (measure this distance). Make sure there are no other markers in sight of the camera.
    • -
    • Copy and paste the following code into your editor. Please set the resolution value to a resolution you wish to use.
    • -
    -
    import robot
    from robot.vision import RoboConUSBCamera
    R = robot.Robot(camera=RoboConUSBCamera)
    -
    resolution = (640, 480)
    -
    R.camera.focal_lengths[resolution] = (120, 120) # set the focal lengths to a known bad value
    R.camera.res = resolution # set resolution
    -
    marker = R.see()[0] # get first marker
    d = marker.dist
    focal_length = 120 / d # focal length = focal length / distance
    print("Focal length is around:",focal_length)
    print("Use this in your code to set the correct focal length: R.camera.focal_lengths[resolution] = ("+str(focal_length)+", "+str(focal_length)+")")
    -

    It’s worth noting that this is only an average value.

    -

    The code above will output a focal length value which you should use before setting R.camera.res or R.see(). You can also copy the line of code it produces and paste that into your code to set the focal lengths.

    -

    For example, if your focal length was 123 at the resolution of 800x600, you should use the following lines of code, in the same order:

    -
    import robot
    from robot.vision import RoboConUSBCamera
    R = robot.Robot(camera=RoboConUSBCamera)
    -
    R.camera.focal_lengths[resolution] = (123, 123)
    R.camera.res = resolution
    -
    marker = R.see()[0]
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/programming/zones/index.html b/shepherd/blueprints/staticroutes/docs/programming/zones/index.html deleted file mode 100644 index a888c2e..0000000 --- a/shepherd/blueprints/staticroutes/docs/programming/zones/index.html +++ /dev/null @@ -1,119 +0,0 @@ - Zones | RoboCon Docs - - Skip to content

    Zones

    Your code will probably need to look for different markers depending on the zone your robot starts in. Whilst you could have different files for each zone, there’s also a property on the robot object for this.

    -

    Python

    -

    R.zone will be equal to the the start zone of the robot, and will be equal to one of the teams.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TeamCode
    Redrobot.SECTOR.RED
    Bluerobot.SECTOR.BLUE
    Greenrobot.SECTOR.GREEN
    Yellowrobot.SECTOR.YELLOW
    Here’s an example:
    -
    import robot
    -
    R = robot.Robot()
    -
    if R.zone == robot.SECTOR.RED:
    print("Do something!")
    else:
    print("Do something else!")
    -

    This code checks if the first marker in the list belongs to the current robot.

    -

    Blockly

    -

    You can find the zone block in the Movement section.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tools/brainbox-crashed-fix/index.html b/shepherd/blueprints/staticroutes/docs/tools/brainbox-crashed-fix/index.html deleted file mode 100644 index 35e2427..0000000 --- a/shepherd/blueprints/staticroutes/docs/tools/brainbox-crashed-fix/index.html +++ /dev/null @@ -1,85 +0,0 @@ - If the Brainbox has crashed... | RoboCon Docs - - Skip to content

    If the Brainbox has crashed...

    Symptoms

    -

    The BrainBox appears to power up, but I can’t connect to the website and the blue LED lights but never starts flashing.

    -

    Solution

    -

    This can happen if erroneous code which does not start with R = robot.Robot() is uploaded to The BrainBox. If you think this may have happened, download this file and place it on a USB stick. Put the USB stick into The BrainBox and turn the robot on normally. Wait 5 minutes, if you do not at this point get the flashing blue light, please contact us!

    -
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tools/collecting-images-and-raw-analysis/index.html b/shepherd/blueprints/staticroutes/docs/tools/collecting-images-and-raw-analysis/index.html deleted file mode 100644 index 7a2c727..0000000 --- a/shepherd/blueprints/staticroutes/docs/tools/collecting-images-and-raw-analysis/index.html +++ /dev/null @@ -1,89 +0,0 @@ - Collecting Images and Raw Analysis | RoboCon Docs - - Skip to content

    Collecting Images and Raw Analysis

    Every time the robot takes a picture it is updated on the web interface, during development it is occasionally useful to be able to also keep a log of pictures that have been analysed to check the camera focus, motion blur etc.

    -

    Gathering Data

    -
      -
    1. Add a file with the name “collect_images.txt” to the USB stick to collect the images
    2. -
    3. Add a file with the name “log_markers.txt” to the USB stick to collect analysis of images
    4. -
    5. Insert the USB stick before turning the robot on
    6. -
    7. Remember to fully shut down the robot before removing the USB stick
    8. -
    -
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tools/connecting/index.html b/shepherd/blueprints/staticroutes/docs/tools/connecting/index.html deleted file mode 100644 index 4e73e2e..0000000 --- a/shepherd/blueprints/staticroutes/docs/tools/connecting/index.html +++ /dev/null @@ -1,93 +0,0 @@ - Connecting | RoboCon Docs - - Skip to content

    Connecting

      -
    1. Turn on the robot by following the instructions here.
    2. -
    3. Turn on your computer and wait until you reach the Windows desktop.
    4. -
    5. Click on the WiFi icon in the bottom right and connect to RoboConYYYY-TeamXX where YYYY is the competition year and XX is your team number. Your WiFi password should be on the bottom of your BrainBox, underneath its network name.
    6. -
    7. Navigate to http://robot.local in your web browser of choice (Chrome or Firefox is recommended). You should see an interface similar to this:
    8. -
    -

    The Interface

    -

    From now on, this will be referred to as the Shepherd Homepage.

    -

    Next Steps

    -
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tools/editor/index.html b/shepherd/blueprints/staticroutes/docs/tools/editor/index.html deleted file mode 100644 index 50e127a..0000000 --- a/shepherd/blueprints/staticroutes/docs/tools/editor/index.html +++ /dev/null @@ -1,125 +0,0 @@ - Using the Editor | RoboCon Docs - - Skip to content

    Using the Editor

    We recommend you use the code editor that’s included with Shepherd to program your robot. You can either program in Python or use Blockly, a powerful Scratch-like programming tool.

    -

    Assuming you’ve connected to your robot, head to http://robot.local/editor or click the orange -editor button on the Shepherd homepage.

    -

    Upload Button

    -

    The Editor Interface

    -

    You should now see the editor interface. (yours will look slightly different to this)

    -

    Annotated Editor Interface

    -

    The green sidebar is the projects panel. This is where you can access or -export your existing projects, and create or import new ones. Clicking on a project in this list will open it in the -editor.

    -
      -
    • The orange button is the import button. This lets you load a saved project -into the editor.
    • -
    • The blue button is the create project button. This is how you -create a project.
    • -
    • The red button is the export button. This allows you to save the project -to your computer as a backup.
    • -
    • The pink button is the delete project button. This will allow you to -delete a project if you don’t want it. There is no way to undo this action.
    • -
    -

    The yellow toolbar is the tab list. This is where you can find all your open -projects. If your project has a white circle at the end of the tab, it means you have unsaved content. Projects are -auto-saved after you stop editing them or when you run your project, but you can also manually save by pressing the CTRL -and S keys simultaneously.

    -

    The teal sidebar is the logs panel. This is where you can see the output -from your robot when you run your program.

    -
      -
    • The dark green button is the run button. Pressing this will prompt you to -save your project to your computer, just as a backup, and then run your code on the robot.
    • -
    • The dark red button is the stop button. Pressing this will force the robot -to stop what it’s doing, useful if your robot is out of control.
    • -
    -

    The main section in the middle is the editor. This will be different depending on whether you’re editing a Python or a -Blockly project.

    -

    Creating a new project

    -

    Click on the create project button (marked in blue in the above screenshot). -The create project dialog will appear:

    -

    Create Project Interface

    -

    Give your project a name, then select the type of project you would like. Choose either Python or Blockly. Then click the create button.

    -

    Your new project will open in the editor. See the sections below for more information on Python and -Blockly projects. Once you’ve read these, why not start learning how to program your robot.

    -

    Python Projects

    -

    Python projects provide a powerful development tool with syntax highlighting and code completion for the standard Python libraries and also the robot module. If you are interested, it uses the text editor that powers Visual Studio Code.

    -

    Blockly Projects

    -

    Google’s Blockly is a programming environment similar to Scratch that allows you to program your robot with blocks. You still have access to all the features of the robot so you are not disadvantaged if you decide to use this over Python.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tools/patching-the-robot/index.html b/shepherd/blueprints/staticroutes/docs/tools/patching-the-robot/index.html deleted file mode 100644 index 588f557..0000000 --- a/shepherd/blueprints/staticroutes/docs/tools/patching-the-robot/index.html +++ /dev/null @@ -1,123 +0,0 @@ - Patching the Robot | RoboCon Docs - - Skip to content

    Patching the Robot

    An important part of looking after your robot is making sure its software is up to date. Over time RoboCon may release patches that allow you to update your robot. Follow the steps below to bring your robot up to date.

    -

    Steps to Patch

    -
      -
    1. -

      Download the patch from the email we sent, or our blog, onto the computer you will be connecting your BrainBox to. 

      -
    2. -
    3. -

      Turn on and connect to your robot. 

      -
    4. -
    5. -

      Navigate to the editor by visiting http://robot.local/ and clicking the orange button 

      -
    6. -
    7. -

      Click the upload button (indicated below). 

      -

      -
    8. -
    9. -

      Navigate to where you have saved the patch and click OK. 

      -
    10. -
    11. -

      Select the patch file in the left-hand panel. The patch will show on the code view as Base64 encoded data (random-looking text characters). 

      -
    12. -
    13. -

      Click the “Run” button (green arrow on the right-hand panel). 

      -

      -
    14. -
    15. -

      After a few moments, your BrainBox should reboot, and the LED will either turn off or remain on. You will lose connection with it while it does this. Do not turn off your BrainBox - the LED may stay off for a couple minutes.

      -
    16. -
    17. -

      The BrainBox LED will eventually start flashing again to show it has rebooted successfully. 

      -
    18. -
    19. -

      If your PC has not automatically connected, connect to it using the WiFi. Once reconnected, refresh your browser and open a project from the left-hand side of the editor. Check that the patch version is correct in the right-hand panel.  

      -
    20. -
    21. -

      If you have any issues, please contact us

      -
    22. -
    - -

    This patch’s passphrase is:

    -

    Why are dragons good at music? -They know lots of scales

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tools/running-code-from-a-usb/index.html b/shepherd/blueprints/staticroutes/docs/tools/running-code-from-a-usb/index.html deleted file mode 100644 index 46bfff5..0000000 --- a/shepherd/blueprints/staticroutes/docs/tools/running-code-from-a-usb/index.html +++ /dev/null @@ -1,127 +0,0 @@ - USB Tricks | RoboCon Docs - - Skip to content

    USB Tricks

    USB Stick

    - - -

    Running your code from a USB:

    -

    When started, using the start button the robot will default to running the last piece of code written in the editor. In some cases at the competition it can be useful to be able to run code from a USB stick.

    -
      -
    1. Place a file called main.py or code.zip (which must include a file called main.py) in the root directory of the USB stick on another computer.
    2. -
    3. Turn on the robot using the red power button.
    4. -
    5. The file will be automatically copied from the USB stick
    6. -
    7. Press the black start button
    8. -
    - -

    Getting Logs

    -

    When running your robot code you can see the logs from the robot in the editor. Sometimes it’s useful to be able to view the logs later to analyse what happened.

    - -
      -
    1. Insert a USB stick in the robot before turning it on.
    2. -
    3. The log file will be automatically written to the USB stick as logs.txt
    4. -
    5. Remember to fully power down the robot before removing the USB stick
    6. -
    - -
    Exception in thread Thread-2:
    Traceback (most recent call last):
    File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
    File "/usr/lib/python2.7/threading.py", line 754, in run
    self.\_\_target(\*self.\_\_args, \**self.__kwargs)
    File "/root/.local/share/virtualenvs/shepherd2-rSdGMoSR/local/lib/python2.7/site
    self.run()
    File "/usr/lib/python2.7/threading.py", line 754, in run
    self.\_\_target(\*self.\_\_args, \**self.__kwargs)
    -packages/robot/wrapper.py", line 251, in wait_start_blink
    self._internal.set_status_led(v)
    File "/root/.local/share/virtualenvs/shepherd2-rSdGMoSR/local/lib/python2.7/site-packages/robot/greengiant.py", line 87, in set_status_led
    self._bus.write_byte_data(_GG_I2C_ADDR, _GG_STATUS, int(on))
    File "/root/.local/share/virtualenvs/shepherd2-rSdGMoSR/local/lib/python2.7/site-packages/smbus2/smbus2.py", line 377, in write_byte_data
    ioctl(self.fd, I2C_SMBUS, msg)
    IOError: \[Errno 121] Remote I/O error
    -

    These can safely be ignored unless you also see them on the web interface.

    -

    Collecting images and raw analysis

    -

    Every time the robot takes a picture it is updated on the web interface, during development it is occasionally useful to be able to also keep a log of pictures that have been analysed to check camera focus, motion blur etc.

    -
      -
    1. Add a file with the name “collect_images.txt” to the USB stick to collect the images
    2. -
    3. Add a file with the name “log_markers.txt” to the USB stick to collect analysis of images
    4. -
    5. Insert the stick before turning the robot on
    6. -
    7. Remember to fully shut down the robot before removing the USB stick -WARNING: Collecting all images may slow down the processing time from your robot - Use with care!
    8. -
    -

    Updating your team image

    -

    When the robot boots, it loads a default image which is displayed until the robot takes a picture, in the arena these images are displayed on an overhead projector. You can change the default image.

    -
      -
    1. Save your Image as 440x330 pixels in jpeg format onto the USB stick as “team_logo.jpg”
    2. -
    3. Boot the robot once to install the image
    4. -
    5. Fully shut down the robot
    6. -
    7. The image will be used from the next time the robot is booted
    8. -
    -
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tools/troubleshooting/index.html b/shepherd/blueprints/staticroutes/docs/tools/troubleshooting/index.html deleted file mode 100644 index b0589dc..0000000 --- a/shepherd/blueprints/staticroutes/docs/tools/troubleshooting/index.html +++ /dev/null @@ -1,109 +0,0 @@ - Troubleshooting | RoboCon Docs - - Skip to content

    Troubleshooting

    Here are a few common issues you might have and some solutions to them. Student Robotics has a similar section on their website which is also relevant.

    -

    I’ve connected a battery and the power switch to the black connector but never get any lights on The BrainBox.

    -

    Unless the battery is really very low the front led will blink very briefly when the switch is first pressed. If this happens you need to charge the battery. The BrainBox will not switch on at all when the voltage of the battery is very low. If the battery is freshly charged, it’s possible that the switch has failed or become internally disconnected. For testing purposes, you can swap the power switch for a single piece of wire. NOTE: at the competition, you must have a red power switch to control your robot as per the rules. Finally - in exceptional circumstances the fuse in the cable may have failed, if this has happened then there must have been some terminal problem internal to the BrainBox - contact us for instructions.

    -

    The BrainBox appears to power up, but I can’t connect to the website and the blue LED lights up but never starts flashing.

    -

    This can happen if erroneous code which does not start with R = robot.Robot() is uploaded to The BrainBox. If you think this may have happened, download this file and place it on a USB stick. Put the USB stick into The BrainBox and turn the robot on normally. Wait 5 minutes, if you do not at this point get the flashing blue light, contact us.

    - -

    I’ve connected a battery and the power switch to the black connector but never get any lights on the Brainbox

    -

    If the battery is fresh, it’s possible that the switch has failed or become internally disconnected. For testing purposes, you can swap the power switch for a single piece of wire. NOTE: at the competition, you must have a red power switch to control your robot as per the rules. Finally - in exceptional circumstances the fuse in the cable may have failed, if this has happened then there must have been some terminal problem internal to the BrainBox - contact us for instructions.

    -

    The BrainBox appears to power up, the blue LED light flashes but I cannot connect to it using the WiFi.

    -

    We apologise for the poor choice of font, zeroes and capital-o’s can be confused as can capital-i’s and number ones. Try swapping these. If this does not help, or the status LEDs stop behaving as expected, try restarting your brain. If the issue persists, contact us for further advice.

    -

    The BrainBox appears to power up, I can connect to it with WiFi, but am unable to reach the web interface.

    -

    Some modern browsers default to a web search if they do not understand the web address. Try putting http:// in front of the address, e.g. http://robot.local instead of robot.local. If this does not help, or the status LEDs stop behaving as expected, try restarting your brain. If the issue persists, contact us for further advice.

    -

    I’ve connected to the web interface and can run code, but my motors never turn on.

    -

    The BrainBox will automatically cut power to the 12V socket and the motor outputs if it detects a current surge exceeding 20A. When this happens, the centre LED (“Error/Wait”) next to where the battery LEDS are will flash red. First disconnect the motors and power cycle the BrainBox to see if this resolves the problem. If it does, then your motors are probably too large.

    -

    It is possible to enable/disable this power output from software. When the output is disabled, there will be no light at all visible through this hole. If you can see no light through the hole when the robot is running code check that you have not disabled the motor output by uploading a simple file and running it.

    -

    I’m trying to read an analog value from GPIOs, but I’m getting strange values.

    -

    Check you’re actually reading the pin you’re trying to read. R.gpio[0] is Pin 0, R.gpio[3] is Pin 3, etc. If everything’s connected correctly, try setting the other pins to output and writing False to them.

    -

    R.see() doesn’t seem to work.

    -

    When you call R.see() the camera preview in the top right should show you what the camera can see. If this image is consistently blurred, incorrect looking, or not loading, try placing some markers in front of the camera and try:

    -
    print(R.see())
    -

    If this prints out the markers you placed in front of the robot in the debug console, the issue is most likely just with the editor’s camera preview. Contact us if the issue persists, but this shouldn’t prevent your robot from running the code. -However, if the robot cannot find markers, then the camera itself is most likely having problems. Contact us about changing the focus of the camera. Note that the robot being in motion may add blur to the images taken, and prevent the marker detection system from functioning.

    - -

    Can you post a kit to or from Hills Road

    -

    We can post kits from Hills Road however you will need to cover the costs of shipping. To return kits, see Kit List of Parts.

    -

    What is the patch and how do I install it?

    -

    The patch is an update which improve your BrainBox, by adding more docs, more blocks to blocky, faster boot times and more! To patch your robot please follow the instructions here.

    -

    Why is the time wrong

    -

    The Raspberry Pi does not keep time when it is off and so has no way of knowing how much time has passed since it was turned off. This should not affect your code.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tools/uploading/index.html b/shepherd/blueprints/staticroutes/docs/tools/uploading/index.html deleted file mode 100644 index e97d77e..0000000 --- a/shepherd/blueprints/staticroutes/docs/tools/uploading/index.html +++ /dev/null @@ -1,109 +0,0 @@ - Uploading and Running Code | RoboCon Docs - - Skip to content

    Uploading and Running Code

    -

    If you’ve written code outside of the editor environment, you’ll want to upload and run it on your robot. You can use the steps below to do this, -but we strongly recommend using the editor.

    - -

    Upload

    - -

    Assuming you’ve connected to your robot, head to http://robot.go/upload

    -

    You should now see the upload interface.

    -

    Upload Interface

    -

    Click on the Choose file button and select either:

    -
      -
    • A single Python 3 source file
    • -
    • A zip file containing one or more Python 2 source files. The file must contain a file named main.py in the root of -the archive. This should be the entry point for the program.
    • -
    -

    Now click the Upload button to upload the selected file.

    - -

    Run

    -

    If you’re on the Upload page, click the run it from this page link. Otherwise, you can access the run page at -http://robot.go/run or by clicking the green run button on the Shepherd homepage (note upload button has been removed to simplify the UI).

    -

    Run Button

    -

    You should now see the run interface.

    -

    Run Interface

    -

    Choose the zone you’d like the robot to think it’s in and then choose the mode. Development mode has no round timer -meaning your code can run for as long as you need it to. Competition mode stops your code after 3 minutes, like it -would in the arena.

    - -

    When you’re ready, press the big Start button.

    -

    You’ll now be able to see what the robot sees and the output of your program below.

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tutorials/hello-challenges/index.html b/shepherd/blueprints/staticroutes/docs/tutorials/hello-challenges/index.html deleted file mode 100644 index f5c0952..0000000 --- a/shepherd/blueprints/staticroutes/docs/tutorials/hello-challenges/index.html +++ /dev/null @@ -1,93 +0,0 @@ - Hello Challenges | RoboCon Docs - - Skip to content

    Hello Challenges

    The following are challenges for you to attempt and might give you a some help for the competition…

    -
      -
    1. Create a program that turns a LED on when a button is pressed.
    2. -
    3. Create a program that makes the robot move a given distance.
    4. -
    5. Create a program that makes a robot turn towards the first marker it sees.
    6. -
    7. Create a program that makes the robot move towards the first marker it sees.
    8. -
    -

    More challenges

    -

    At the launch, we gave teams a PDF of challenges to complete. You can find a -copy of that here. -Note that quite a few of these require input from the red shirts, so you may have to adapt them to suit what you have available!

    -

    Next Steps

    -

    You are now familiar with the RoboCon kit! We recomend that you now start thinking about your strategy for how you will win. Design your robot in little steps, and test along the way - getting a prototype up and rolling is the best way to ensure your robot will be achieving your goals by the time the competition rolls around! So best of luck, and don’t delay - you’ve got some engineering to do…

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tutorials/hello-gpio/index.html b/shepherd/blueprints/staticroutes/docs/tutorials/hello-gpio/index.html deleted file mode 100644 index e839035..0000000 --- a/shepherd/blueprints/staticroutes/docs/tutorials/hello-gpio/index.html +++ /dev/null @@ -1,111 +0,0 @@ - Hello GPIO | RoboCon Docs - - Skip to content

    Hello GPIO

    GPIO, or General Purpose Input Output, is the main way you’ll interface with simple or obscure bits of hardware. This tutorial will introduce the GPIO system and how to use it.

    -

    GPIO Pins

    -

    On the side of your BrainBox, there are 4 regular pins and a “+5V” and ”-” pin. The top of the BrainBox labels which pin corresponds to which number. Different devices need to be plugged into different pins.

    -

    LED Output

    - -

    If you want to put an LED on your robot, for testing or just for looks, you’ll need to plug the short leg of the LED into the - (ground) pin, and the long leg of the LED into any regular pin (such as 1). Then, use the following code to set up the pin in OUTPUT mode and turn the LED on:

    -
    import robot
    R = robot.Robot()
    -
    # If you're not using GPIO pin 1, change this number to whatever pin you're using.
    R.gpio[0].mode = robot.OUTPUT
    R.gpio[0].digital = True
    -

    Try using a loop to make the light turn on and off every 2 seconds. You’ll need the time library from the motors exercise.

    -

    Buttons

    -

    While your robot hopefully won’t be colliding with much, buttons are a good way for a robot to know if it’s driven into something. Buttons should be plugged into the - pin and a regular pin (such as 0). Using the INPUT_PULLUP mode, you can detect when a button is pressed.

    -
    import robot
    import time
    R = robot.Robot()
    -
    # If you're not using GPIO pin 0, change this number to whatever pin you're using.
    R.gpio[0].mode = robot.INPUT_PULLUP
    -
    while True:
    if not R.gpio[0].digital:
    print("Pressed")
    else:
    print("Not Pressed")
    time.sleep(0.1)
    -

    Note that INPUT_PULLUP returns inverted values - True when it isn’t pressed and False when it is. This means we use not to invert the output we get back to something more sensible for our use.

    -

    Try making a light turn on or off depending on if a button is pressed. An explanation of why it is needed to use INPUT_PULLUP can be found in the GPIO documentation.

    -

    Potentiometers

    -

    Another form of input is a potentiometer or a variable resistor. Potentiometers should be plugged into the +5V, a regular pin (such as 3) and the - pin. Using INPUT_ANALOG mode, you can read the voltage output of the resistor (between 0V and 5V).

    -
    import robot
    -
    R = robot.Robot()
    -
    POT_PIN = 3
    -
    R.gpio[POT_PIN].mode = robot.INPUT_ANALOG
    -
    while True:
    print(R.gpio[POT_PIN].analog)
    -

    Using sensors with retroreflective tape

    -

    You can also use retroreflective sensors with your robot’s GPIO. This can be configured in the code as follows:

    -
    import robot
    import time
    -
    R = robot.Robot()
    -
    R.gpio[0].mode = robot.INPUT
    -
    while True:
    if not R.gpio[0].digital:
    print("Reflecting!")
    time.sleep(1)
    -

    This is a piece of code, that when run, should detect things very close to the sensor, or reflective objects further away (such as the retroreflective tape in the arena).
    -Note that the detector also returns False when it detects something, so not is used. Retroreflective tape is used in the arena to mark the borders of each quadrant. Using a sensor like this facing downwards can allow your robot to detect when it passes into a new quadrant. This could be used for a whole variety of helpful tasks when navigating the arena. We look forward to seeing your creativity!

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tutorials/hello-motors/index.html b/shepherd/blueprints/staticroutes/docs/tutorials/hello-motors/index.html deleted file mode 100644 index 4c7b041..0000000 --- a/shepherd/blueprints/staticroutes/docs/tutorials/hello-motors/index.html +++ /dev/null @@ -1,117 +0,0 @@ - Hello Motors | RoboCon Docs - - Skip to content

    Hello Motors

    Your robot is unlikely to score many points if it doesn’t go anywhere. This tutorial will show you how to access and turn the motors on your robot.

    -

    Getting Ready

    -

    First things first, make sure that your robot is not about to drive off a table. Even if you’re planning on turning on the spot, it’s best to put your robot on the floor in case it does something unexpected.

    -

    Next, you’ll need to initialise the robot. For this exercise, you’ll also need the “time” Python library - remember that we used this last chapter to help our camera code along.

    -
    import time
    import robot
    R = robot.Robot()
    -

    Driving Around

    - -

    Now that everything is set up, it’s time to set the motors. All the motors are stored in a list inside the Robot variable - to access the first motor, you can use R.motors[0], the second motor is found with R.motors[1].

    -

    Changing the speed of the motor is easy - just set the motor to a number from -100 to 100. Immediately setting the power to 100 can have unwanted side effects, so we’ll start by setting them to half power:

    -
    import time
    import robot
    R = robot.Robot()
    -
    R.motors[0] = 50
    R.motors[1] = 50
    -

    Running this program will either make you move forwards or make your robot turn on the spot, depending on how you have set up the motors. If your motor is spinning, try setting one of the motors to the negative value, spinning it in the other direction, and swap which one is negative until your robot drives forwards in a way you are happy with.

    -

    The issue with this code is that unfortunately, it will never tell it to stop moving forwards, so hopefully you put it on the floor and it hasn’t driven off the table.
    -To fix this we can set the power of the motors to 0 after a couple of seconds:

    -
    import time
    import robot
    R = robot.Robot()
    -
    R.motors[0] = 50
    R.motors[1] = 50
    -
    time.sleep(2)
    -
    R.motors[0] = 0
    R.motors[1] = 0
    -

    This is where sleep() becomes handy. It pauses the execution of your code with the motors still at 50, and so they stay running until we stop them after the sleep() call ends.

    -

    To turn the robot, you just need to set one motor going forwards and the second motor going backwards. The following program makes the robot do a little dance - try it out! (Note that if your robot had inverted motors from earlier, you may have differing results)

    -
    import time
    import robot
    R = robot.Robot()
    -
    speed = 50
    -
    R.motors[0] = speed
    R.motors[1] = speed
    -
    time.sleep(2)
    -
    R.motors[0] = speed
    R.motors[1] = -speed
    -
    time.sleep(2)
    -
    R.motors[0] = -speed
    R.motors[1] = -speed
    -
    time.sleep(2)
    -
    R.motors[0] = -speed
    R.motors[1] = speed
    -
    time.sleep(2)
    -
    R.motors[0] = 0
    R.motors[1] = 0
    -

    A final note, even if you set both motors the same power, your robot probably won’t drive in a perfectly straight line. This is due to defects in the motors, and unless you get specialised motors, no two motors will have the same offset. How your robot deals with this is up to you!

    -

    Troubleshooting and Further Reading

    -

    Connecting to the robot
    -Uploading and running code
    -Using the editor
    -Motors

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tutorials/hello-servos/index.html b/shepherd/blueprints/staticroutes/docs/tutorials/hello-servos/index.html deleted file mode 100644 index 5b99391..0000000 --- a/shepherd/blueprints/staticroutes/docs/tutorials/hello-servos/index.html +++ /dev/null @@ -1,88 +0,0 @@ - Hello Servos | RoboCon Docs - - Skip to content

    Hello Servos

    Servos are a type of motor with internal feedback they can move to a set position. The type of servo you will come across most frequently have a set range of motion, but with precise position control you can do a whole manner of actions within the mechanics of your robot! Servo motors (or anything else you connect to the servo ports of your BrainBox) are controlled by accessing R.servos[], similar to how motors are accessed.

    -
    import robot
    import time
    -
    R = robot.Robot()
    R.servos[0].mode = robot.PWM_SERVO
    -
    R.servos[0] = 50
    -
    time.sleep(1)
    -

    However, where the value of a motor determines the speed it turns, the value of a servo controls the position it is at on its rotation, with a range of -100 to 100. Try it out on your robot to see which values correspond to each position!

    -

    Servos take a moment to move into their new positions, so it’s a good idea to add a delay after setting positions (use time.sleep) if it might affect your robot later.

    -
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tutorials/hello-vision/index.html b/shepherd/blueprints/staticroutes/docs/tutorials/hello-vision/index.html deleted file mode 100644 index bd0e8fb..0000000 --- a/shepherd/blueprints/staticroutes/docs/tutorials/hello-vision/index.html +++ /dev/null @@ -1,105 +0,0 @@ - Hello Vision | RoboCon Docs - - Skip to content

    Hello Vision

    Your robot can use its camera to see markers to identify tokens and walls. This tutorial will help you make a program that makes the robot output the number of cubes it can see.

    -

    Initialising the Robot

    -

    Create a new script called “VisionTest”.

    -

    Unlike in the previous tutorial, Hello World, the use of the first couple lines of code is important here. So let’s break them down:

    -
    import robot
    R = robot.Robot()
    -

    This creates a “Robot” object, and places it inside the variable “R”. This allows us to use robot functions through the R variable, such as R.See(). If you are using Blockly, the robot is initialised automatically.

    -

    Here is a basic introduction into what Object Oriented Programming is.

    -

    Counting Markers

    -

    To make the robot “see” what is in front of it we have to call the function R.see() and assign the result to a variable. This will set that variable to a list of every marker the robot can see:

    -
    markers = R.see()
    -

    Every item in the list contains information about the type of the marker, the distance/angle to the marker, and more! For now all we want to do is to find the number of markers the robot can see, so we just need to print the length of the list:

    -
    print(len(markers))
    # len gets the length of something,
    # in this case a list of all the markers we can see
    -

    If we run this code as it is, it will output the number of markers it can see once and then stop. To make it continue looking we need to put it in a while True loop, so it will repeat our program forever (or until we turn it off).

    -

    The complete code is as follows:

    -
    import robot
    import time
    R = robot.Robot()
    -
    while True:
    markers = R.see()
    print(len(markers))
    time.sleep(2)
    -

    You’ll notice some new lines we snuck in there - an import time and a time.sleep(2). The first of these adds another toolset to our code, the time library. This most notably adds the sleep function we used just now, which pauses the code’s execution for the number of seconds specified - in this case two.

    - -

    Running the code

    -

    Place a few markers infront of the camera on the robot about 10-20cm away and run the code. In the logs the number of markers visible will be outputted, and in addition to the logs, the raw images taken by the camera can be seen, which can be useful for working out if something is blocking the camera.

    -

    Troubleshooting and Further Reading

    -

    Connecting to the robot
    -Initalising the robot
    -Using the editor
    -Vision Code

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tutorials/hello-world/index.html b/shepherd/blueprints/staticroutes/docs/tutorials/hello-world/index.html deleted file mode 100644 index 8521617..0000000 --- a/shepherd/blueprints/staticroutes/docs/tutorials/hello-world/index.html +++ /dev/null @@ -1,117 +0,0 @@ - Hello World | RoboCon Docs - - Skip to content

    Hello World

    Welcome to the RoboCon tutorials!
    -Following each of the tasks in this category will start you on your way to getting your robot doing stuff.

    -

    Ready? Let’s go!

    -
    -

    These tutorials will always assume that you have connected to the robot, started on the homepage and completed the previous tutorials. To find out how to connect to your robot click here

    -
    -

    Creating your first program

    -

    As this is the first program that your robot will run we’ll make it as simple and clichéd as it can get:
    -We’re going to make the robot write “Hello World!” into the output logs!

    -

    Create a new file

    -

    Run Button

    -
      -
    1. On the main page click the “Editor” button.
    2. -
    3. On the tabs click new file and name it something (e.g. “HelloWorld”)
    4. -
    -

    Writing the Code

    -

    There are two ways to go about writing code for the robot:

    -
      -
    1. Python - The main language used to program robots with the BrainBox.
    2. -
    3. Blockly - A Scratch-like language that allows you to write programs connecting blocks. This will automatically produce a python script that can be run in the robot.
    4. -
    -

    Both can be used to program a winning robot for the competition and it is up to you which one you develop your robot with. However for the following tutorials, Python will be used.

    -

    Details on both these methods can be found in the programming section of the documentation.

    -

    If you are running into problems using the editor, more details can be found here.

    -

    In the editor window write:

    -
    import robot
    -
    R = robot.Robot()
    -
    print("Hello World!")
    -

    You don’t need to know much about what the first couple lines do - they are covered in later chapters, and do setup for the robot to be able to run. The important bit for you to understand is the last bit - the print() statement.

    -

    Running the code

    -

    Click on the green run button in the top right corner:

    -

    Run Button

    -

    The logs should then appear with a friendly “Hello World!”

    -

    Troubleshooting and Further Reading

    -

    Connecting to the robot
    -Uploading and running code
    -Using the editor

    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/docs/tutorials/turning-everything-on/index.html b/shepherd/blueprints/staticroutes/docs/tutorials/turning-everything-on/index.html deleted file mode 100644 index d46af3f..0000000 --- a/shepherd/blueprints/staticroutes/docs/tutorials/turning-everything-on/index.html +++ /dev/null @@ -1,86 +0,0 @@ - Turning everything on | RoboCon Docs - - Skip to content

    Turning everything on

    The BrainBox is the core of the kit which we provide. In it is all of the electronics and software you need to power a robot. Lets start by turning it on. Take a battery from the kit and plug the yellow end into the corresponding port on the brain box (Labelled “Battery”), ensuring that it is the right way round. Then take a red “power button” and connect that to the black connector along the top of the BrainBox. Using the green ended button provided will not work, as this button is momentary and will not maintain power to the BrainBox.

    -

    Diagram showing the pinout of the top of the BrainBox

    -

    Pressing the start button will cause the blue status LED on the front of the BrainBox to turn on. When the light starts flashing your BrainBox is ready to run code. You can now turn on your tablet by pressing the power button on the left-hand side and connect to your robot. The status LED will go solid while code is running.

    -

    How to turn everything off

    -

    When you are done for the day, press the power button, the status LED will flash rapidly. When this has turned off you may unplug the battery.

    -
    \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/0.bundle.js b/shepherd/blueprints/staticroutes/editor/0.bundle.js deleted file mode 100644 index 1c05526..0000000 --- a/shepherd/blueprints/staticroutes/editor/0.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{565:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return i})),t.d(n,"language",(function(){return r}));var i={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},r={defaultToken:"",tokenPostfix:".cpp",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/(.*)(\))(?:([^ ()\\\t]*))(\")/,{cases:{"$3==$S2":["string.raw","string.raw.end","string.raw.end",{token:"string.raw.end",next:"@pop"}],"@default":["string.raw","string.raw","string.raw","string.raw"]}}],[/.*/,"string.raw"]],include:[[/(\s*)(<)([^<>]*)(>)/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]],[/(\s*)(")([^"]*)(")/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/10.bundle.js b/shepherd/blueprints/staticroutes/editor/10.bundle.js deleted file mode 100644 index ed92154..0000000 --- a/shepherd/blueprints/staticroutes/editor/10.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{568:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return r})),n.d(t,"language",(function(){return i}));var r={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},i={defaultToken:"",tokenPostfix:".css",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/11.bundle.js b/shepherd/blueprints/staticroutes/editor/11.bundle.js deleted file mode 100644 index 6ac5dd7..0000000 --- a/shepherd/blueprints/staticroutes/editor/11.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{569:function(e,n,s){"use strict";s.r(n),s.d(n,"conf",(function(){return t})),s.d(n,"language",(function(){return o}));var t={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={defaultToken:"",tokenPostfix:".dockerfile",instructions:/FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT/,instructionAfter:/ONBUILD/,variableAfter:/ENV/,variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(@instructionAfter)(\s+)/,["keyword",{token:"",next:"@instructions"}]],["","keyword","@instructions"]],instructions:[[/(@variableAfter)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(@instructions)/,"keyword","@arguments"]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/12.bundle.js b/shepherd/blueprints/staticroutes/editor/12.bundle.js deleted file mode 100644 index 300d535..0000000 --- a/shepherd/blueprints/staticroutes/editor/12.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{570:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return s})),t.d(n,"language",(function(){return o}));var s={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},o={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/13.bundle.js b/shepherd/blueprints/staticroutes/editor/13.bundle.js deleted file mode 100644 index eee0f7b..0000000 --- a/shepherd/blueprints/staticroutes/editor/13.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{571:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return s}));var t={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/14.bundle.js b/shepherd/blueprints/staticroutes/editor/14.bundle.js deleted file mode 100644 index 9f6e43c..0000000 --- a/shepherd/blueprints/staticroutes/editor/14.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{572:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return i})),n.d(t,"language",(function(){return m}));var a="undefined"==typeof monaco?self.monaco:monaco,r=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],i={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+r.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:a.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+r.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:a.languages.IndentAction.Indent}}]},m={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],handlebarsInSimpleState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3"}],{include:"handlebarsRoot"}],handlebarsInEmbeddedState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"handlebarsRoot"}],handlebarsRoot:[[/[#/][^\s}]+/,"keyword.helper.handlebars"],[/else\b/,"keyword.helper.handlebars"],[/[\s]+/],[/[^}]/,"variable.parameter.handlebars"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/15.bundle.js b/shepherd/blueprints/staticroutes/editor/15.bundle.js deleted file mode 100644 index 746e201..0000000 --- a/shepherd/blueprints/staticroutes/editor/15.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{573:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return r})),n.d(t,"language",(function(){return d}));var i="undefined"==typeof monaco?self.monaco:monaco,o=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+o.join("|")+"))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:i.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+o.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:i.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#endregion\\b.*--\x3e")}}},d={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/16.bundle.js b/shepherd/blueprints/staticroutes/editor/16.bundle.js deleted file mode 100644 index 8607fc5..0000000 --- a/shepherd/blueprints/staticroutes/editor/16.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{574:function(e,n,s){"use strict";s.r(n),s.d(n,"conf",(function(){return o})),s.d(n,"language",(function(){return t}));var o={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},t={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/17.bundle.js b/shepherd/blueprints/staticroutes/editor/17.bundle.js deleted file mode 100644 index 4fff031..0000000 --- a/shepherd/blueprints/staticroutes/editor/17.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{575:function(e,t,o){"use strict";o.r(t),o.d(t,"conf",(function(){return n})),o.d(t,"language",(function(){return s}));var n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},s={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/18.bundle.js b/shepherd/blueprints/staticroutes/editor/18.bundle.js deleted file mode 100644 index b2c14c0..0000000 --- a/shepherd/blueprints/staticroutes/editor/18.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{577:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return i})),n.d(t,"language",(function(){return r}));var i={wordPattern:/(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},r={defaultToken:"",tokenPostfix:".less",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",identifierPlus:"-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@nestedJSBegin"},["[ \\t\\r\\n]+",""],{include:"@comments"},{include:"@keyword"},{include:"@strings"},{include:"@numbers"},["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))","attribute.name","@attribute"],["url(\\-prefix)?\\(",{token:"tag",next:"@urldeclaration"}],["[{}()\\[\\]]","@brackets"],["[,:;]","delimiter"],["#@identifierPlus","tag.id"],["&","tag"],["\\.@identifierPlus(?=\\()","tag.class","@attribute"],["\\.@identifierPlus","tag.class"],["@identifierPlus","tag"],{include:"@operators"},["@(@identifier(?=[:,\\)]))","variable","@attribute"],["@(@identifier)","variable"],["@","key","@atRules"]],nestedJSBegin:[["``","delimiter.backtick"],["`",{token:"delimiter.backtick",next:"@nestedJSEnd",nextEmbedded:"text/javascript"}]],nestedJSEnd:[["`",{token:"delimiter.backtick",next:"@pop",nextEmbedded:"@pop"}]],operators:[["[<>=\\+\\-\\*\\/\\^\\|\\~]","operator"]],keyword:[["(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b","keyword"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"tag",next:"@pop"}]],attribute:[{include:"@nestedJSBegin"},{include:"@comments"},{include:"@strings"},{include:"@numbers"},{include:"@keyword"},["[a-zA-Z\\-]+(?=\\()","attribute.value","@attribute"],[">","operator","@pop"],["@identifier","attribute.value"],{include:"@operators"},["@(@identifier)","variable"],["[)\\}]","@brackets","@pop"],["[{}()\\[\\]>]","@brackets"],["[;]","delimiter","@pop"],["[,=:]","delimiter"],["\\s",""],[".","attribute.value"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],strings:[['~?"',{token:"string.delimiter",next:"@stringsEndDoubleQuote"}],["~?'",{token:"string.delimiter",next:"@stringsEndQuote"}]],stringsEndDoubleQuote:[['\\\\"',"string"],['"',{token:"string.delimiter",next:"@popall"}],[".","string"]],stringsEndQuote:[["\\\\'","string"],["'",{token:"string.delimiter",next:"@popall"}],[".","string"]],atRules:[{include:"@comments"},{include:"@strings"},["[()]","delimiter"],["[\\{;]","delimiter","@pop"],[".","key"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/19.bundle.js b/shepherd/blueprints/staticroutes/editor/19.bundle.js deleted file mode 100644 index 41fad52..0000000 --- a/shepherd/blueprints/staticroutes/editor/19.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{578:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return s}));var t={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:o.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:o.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:o.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:o.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},r={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","as","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","package","private","protected","public","readonly","require","global","return","set","static","super","switch","symbol","this","throw","true","try","type","typeof","unique","var","void","while","with","yield","async","await","of"],typeKeywords:["any","boolean","number","object","string","undefined"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)/,"number.hex"],[/0(@octaldigits)/,"number.octal"],[/0[bB](@binarydigits)/,"number.binary"],[/(@digits)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],["/",{token:"regexp",bracket:"@close"},"@pop"]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,"@brackets.regexp.escape.control","@pop"]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}},576:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return i})),t.d(n,"language",(function(){return r}));var o=t(562),i=("undefined"==typeof monaco?self.monaco:monaco,o.conf),r={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:o.language.operators,symbols:o.language.symbols,escapes:o.language.escapes,digits:o.language.digits,octaldigits:o.language.octaldigits,binarydigits:o.language.binarydigits,hexdigits:o.language.hexdigits,regexpctl:o.language.regexpctl,regexpesc:o.language.regexpesc,tokenizer:o.language.tokenizer}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/20.bundle.js b/shepherd/blueprints/staticroutes/editor/20.bundle.js deleted file mode 100644 index 2021330..0000000 --- a/shepherd/blueprints/staticroutes/editor/20.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{579:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return c}));var s="attribute.name.html";var o={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},c={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+)\s*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"variable.source",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{[^}]+\}/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)\s*>/,{token:"tag"}],[//,"comment","@pop"],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],phpInSimpleState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3"}],{include:"phpRoot"}],phpInEmbeddedState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"phpRoot"}],phpRoot:[[/[a-zA-Z_]\w*/,{cases:{"@phpKeywords":{token:"keyword.php"},"@phpCompileTimeConstants":{token:"constant.php"},"@default":"identifier.php"}}],[/[$a-zA-Z_]\w*/,{cases:{"@phpPreDefinedVariables":{token:"variable.predefined.php"},"@default":"variable.php"}}],[/[{}]/,"delimiter.bracket.php"],[/[\[\]]/,"delimiter.array.php"],[/[()]/,"delimiter.parenthesis.php"],[/[ \t\r\n]+/],[/#/,"comment.php","@phpLineComment"],[/\/\//,"comment.php","@phpLineComment"],[/\/\*/,"comment.php","@phpComment"],[/"/,"string.php","@phpDoubleQuoteString"],[/'/,"string.php","@phpSingleQuoteString"],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,\@]/,"delimiter.php"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.php"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.php"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.php"],[/0[0-7']*[0-7]/,"number.octal.php"],[/0[bB][0-1']*[0-1]/,"number.binary.php"],[/\d[\d']*/,"number.php"],[/\d/,"number.php"]],phpComment:[[/\*\//,"comment.php","@pop"],[/[^*]+/,"comment.php"],[/./,"comment.php"]],phpLineComment:[[/\?>/,{token:"@rematch",next:"@pop"}],[/.$/,"comment.php","@pop"],[/[^?]+$/,"comment.php","@pop"],[/[^?]+/,"comment.php"],[/./,"comment.php"]],phpDoubleQuoteString:[[/[^\\"]+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/"/,"string.php","@pop"]],phpSingleQuoteString:[[/[^\\']+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/'/,"string.php","@pop"]]},phpKeywords:["abstract","and","array","as","break","callable","case","catch","cfunction","class","clone","const","continue","declare","default","do","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","false","final","for","foreach","function","global","goto","if","implements","interface","instanceof","insteadof","namespace","new","null","object","old_function","or","private","protected","public","resource","static","switch","throw","trait","try","true","use","var","while","xor","die","echo","empty","exit","eval","include","include_once","isset","list","require","require_once","return","print","unset","yield","__construct"],phpCompileTimeConstants:["__CLASS__","__DIR__","__FILE__","__LINE__","__NAMESPACE__","__METHOD__","__FUNCTION__","__TRAIT__"],phpPreDefinedVariables:["$GLOBALS","$_SERVER","$_GET","$_POST","$_FILES","$_REQUEST","$_SESSION","$_ENV","$_COOKIE","$php_errormsg","$HTTP_RAW_POST_DATA","$http_response_header","$argc","$argv"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/27.bundle.js b/shepherd/blueprints/staticroutes/editor/27.bundle.js deleted file mode 100644 index 93a689c..0000000 --- a/shepherd/blueprints/staticroutes/editor/27.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{585:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return i})),n.d(t,"language",(function(){return o}));var i={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},o={tokenPostfix:".pats",defaultToken:"invalid",keywords:["abstype","abst0ype","absprop","absview","absvtype","absviewtype","absvt0ype","absviewt0ype","as","and","assume","begin","classdec","datasort","datatype","dataprop","dataview","datavtype","dataviewtype","do","end","extern","extype","extvar","exception","fn","fnx","fun","prfn","prfun","praxi","castfn","if","then","else","ifcase","in","infix","infixl","infixr","prefix","postfix","implmnt","implement","primplmnt","primplement","import","let","local","macdef","macrodef","nonfix","symelim","symintr","overload","of","op","rec","sif","scase","sortdef","sta","stacst","stadef","static","staload","dynload","try","tkindef","typedef","propdef","viewdef","vtypedef","viewtypedef","prval","var","prvar","when","where","with","withtype","withprop","withview","withvtype","withviewtype"],keywords_dlr:["$delay","$ldelay","$arrpsz","$arrptrsize","$d2ctype","$effmask","$effmask_ntm","$effmask_exn","$effmask_ref","$effmask_wrt","$effmask_all","$extern","$extkind","$extype","$extype_struct","$extval","$extfcall","$extmcall","$literal","$myfilename","$mylocation","$myfunction","$lst","$lst_t","$lst_vt","$list","$list_t","$list_vt","$rec","$rec_t","$rec_vt","$record","$record_t","$record_vt","$tup","$tup_t","$tup_vt","$tuple","$tuple_t","$tuple_vt","$break","$continue","$raise","$showtype","$vcopyenv_v","$vcopyenv_vt","$tempenver","$solver_assert","$solver_verify"],keywords_srp:["#if","#ifdef","#ifndef","#then","#elif","#elifdef","#elifndef","#else","#endif","#error","#prerr","#print","#assert","#undef","#define","#include","#require","#pragma","#codegen2","#codegen3"],irregular_keyword_list:["val+","val-","val","case+","case-","case","addr@","addr","fold@","free@","fix@","fix","lam@","lam","llam@","llam","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","view+","view-","view@","view","type+","type-","type","vtype+","vtype-","vtype","vt@ype+","vt@ype-","vt@ype","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","prop+","prop-","prop","type+","type-","type","t@ype","t@ype+","t@ype-","abst@ype","abstype","absviewt@ype","absvt@ype","for*","for","while*","while"],keywords_types:["bool","double","byte","int","short","char","void","unit","long","float","string","strptr"],keywords_effects:["0","fun","clo","prf","funclo","cloptr","cloref","ref","ntm","1"],operators:["@","!","|","`",":","$",".","=","#","~","..","...","=>","=<>","=/=>","=>>","=/=>>","<",">","><",".<",">.",".<>.","->","-<>"],brackets:[{open:",(",close:")",token:"delimiter.parenthesis"},{open:"`(",close:")",token:"delimiter.parenthesis"},{open:"%(",close:")",token:"delimiter.parenthesis"},{open:"'(",close:")",token:"delimiter.parenthesis"},{open:"'{",close:"}",token:"delimiter.parenthesis"},{open:"@(",close:")",token:"delimiter.parenthesis"},{open:"@{",close:"}",token:"delimiter.brace"},{open:"@[",close:"]",token:"delimiter.square"},{open:"#[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],symbols:/[=>]/,digit:/[0-9]/,digitseq0:/@digit*/,xdigit:/[0-9A-Za-z]/,xdigitseq0:/@xdigit*/,INTSP:/[lLuU]/,FLOATSP:/[fFlL]/,fexponent:/[eE][+-]?[0-9]+/,fexponent_bin:/[pP][+-]?[0-9]+/,deciexp:/\.[0-9]*@fexponent?/,hexiexp:/\.[0-9a-zA-Z]*@fexponent_bin?/,irregular_keywords:/val[+-]?|case[+-]?|addr\@?|fold\@|free\@|fix\@?|lam\@?|llam\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\*?|while\*?/,ESCHAR:/[ntvbrfa\\\?'"\(\[\{]/,start:"root",tokenizer:{root:[{regex:/[ \t\r\n]+/,action:{token:""}},{regex:/\(\*\)/,action:{token:"invalid"}},{regex:/\(\*/,action:{token:"comment",next:"lexing_COMMENT_block_ml"}},{regex:/\(/,action:"@brackets"},{regex:/\)/,action:"@brackets"},{regex:/\[/,action:"@brackets"},{regex:/\]/,action:"@brackets"},{regex:/\{/,action:"@brackets"},{regex:/\}/,action:"@brackets"},{regex:/,\(/,action:"@brackets"},{regex:/,/,action:{token:"delimiter.comma"}},{regex:/;/,action:{token:"delimiter.semicolon"}},{regex:/@\(/,action:"@brackets"},{regex:/@\[/,action:"@brackets"},{regex:/@\{/,action:"@brackets"},{regex:/:/,action:{token:"@rematch",next:"@pop"}}],lexing_EXTCODE:[{regex:/^%}/,action:{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}},{regex:/[^%]+/,action:""}],lexing_DQUOTE:[{regex:/"/,action:{token:"string.quote",next:"@pop"}},{regex:/(\{\$)(@IDENTFST@IDENTRST*)(\})/,action:[{token:"string.escape"},{token:"identifier"},{token:"string.escape"}]},{regex:/\\$/,action:{token:"string.escape"}},{regex:/\\(@ESCHAR|[xX]@xdigit+|@digit+)/,action:{token:"string.escape"}},{regex:/[^\\"]+/,action:{token:"string"}}]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/28.bundle.js b/shepherd/blueprints/staticroutes/editor/28.bundle.js deleted file mode 100644 index 490e08b..0000000 --- a/shepherd/blueprints/staticroutes/editor/28.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{586:function(e,t,a){"use strict";a.r(t),a.d(t,"conf",(function(){return n})),a.d(t,"language",(function(){return i}));var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment","identifier"]},{open:"[",close:"]",notIn:["string","comment","identifier"]},{open:"(",close:")",notIn:["string","comment","identifier"]},{open:"{",close:"}",notIn:["string","comment","identifier"]}]},i={defaultToken:"",tokenPostfix:".pq",ignoreCase:!1,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],operatorKeywords:["and","not","or"],keywords:["as","each","else","error","false","if","in","is","let","meta","otherwise","section","shared","then","true","try","type"],constructors:["#binary","#date","#datetime","#datetimezone","#duration","#table","#time"],constants:["#infinity","#nan","#sections","#shared"],typeKeywords:["action","any","anynonnull","none","null","logical","number","time","date","datetime","datetimezone","duration","text","binary","list","record","table","function"],builtinFunctions:["Access.Database","Action.Return","Action.Sequence","Action.Try","ActiveDirectory.Domains","AdoDotNet.DataSource","AdoDotNet.Query","AdobeAnalytics.Cubes","AnalysisServices.Database","AnalysisServices.Databases","AzureStorage.BlobContents","AzureStorage.Blobs","AzureStorage.Tables","Binary.Buffer","Binary.Combine","Binary.Compress","Binary.Decompress","Binary.End","Binary.From","Binary.FromList","Binary.FromText","Binary.InferContentType","Binary.Length","Binary.ToList","Binary.ToText","BinaryFormat.7BitEncodedSignedInteger","BinaryFormat.7BitEncodedUnsignedInteger","BinaryFormat.Binary","BinaryFormat.Byte","BinaryFormat.ByteOrder","BinaryFormat.Choice","BinaryFormat.Decimal","BinaryFormat.Double","BinaryFormat.Group","BinaryFormat.Length","BinaryFormat.List","BinaryFormat.Null","BinaryFormat.Record","BinaryFormat.SignedInteger16","BinaryFormat.SignedInteger32","BinaryFormat.SignedInteger64","BinaryFormat.Single","BinaryFormat.Text","BinaryFormat.Transform","BinaryFormat.UnsignedInteger16","BinaryFormat.UnsignedInteger32","BinaryFormat.UnsignedInteger64","Byte.From","Character.FromNumber","Character.ToNumber","Combiner.CombineTextByDelimiter","Combiner.CombineTextByEachDelimiter","Combiner.CombineTextByLengths","Combiner.CombineTextByPositions","Combiner.CombineTextByRanges","Comparer.Equals","Comparer.FromCulture","Comparer.Ordinal","Comparer.OrdinalIgnoreCase","Csv.Document","Cube.AddAndExpandDimensionColumn","Cube.AddMeasureColumn","Cube.ApplyParameter","Cube.AttributeMemberId","Cube.AttributeMemberProperty","Cube.CollapseAndRemoveColumns","Cube.Dimensions","Cube.DisplayFolders","Cube.Measures","Cube.Parameters","Cube.Properties","Cube.PropertyKey","Cube.ReplaceDimensions","Cube.Transform","Currency.From","DB2.Database","Date.AddDays","Date.AddMonths","Date.AddQuarters","Date.AddWeeks","Date.AddYears","Date.Day","Date.DayOfWeek","Date.DayOfWeekName","Date.DayOfYear","Date.DaysInMonth","Date.EndOfDay","Date.EndOfMonth","Date.EndOfQuarter","Date.EndOfWeek","Date.EndOfYear","Date.From","Date.FromText","Date.IsInCurrentDay","Date.IsInCurrentMonth","Date.IsInCurrentQuarter","Date.IsInCurrentWeek","Date.IsInCurrentYear","Date.IsInNextDay","Date.IsInNextMonth","Date.IsInNextNDays","Date.IsInNextNMonths","Date.IsInNextNQuarters","Date.IsInNextNWeeks","Date.IsInNextNYears","Date.IsInNextQuarter","Date.IsInNextWeek","Date.IsInNextYear","Date.IsInPreviousDay","Date.IsInPreviousMonth","Date.IsInPreviousNDays","Date.IsInPreviousNMonths","Date.IsInPreviousNQuarters","Date.IsInPreviousNWeeks","Date.IsInPreviousNYears","Date.IsInPreviousQuarter","Date.IsInPreviousWeek","Date.IsInPreviousYear","Date.IsInYearToDate","Date.IsLeapYear","Date.Month","Date.MonthName","Date.QuarterOfYear","Date.StartOfDay","Date.StartOfMonth","Date.StartOfQuarter","Date.StartOfWeek","Date.StartOfYear","Date.ToRecord","Date.ToText","Date.WeekOfMonth","Date.WeekOfYear","Date.Year","DateTime.AddZone","DateTime.Date","DateTime.FixedLocalNow","DateTime.From","DateTime.FromFileTime","DateTime.FromText","DateTime.IsInCurrentHour","DateTime.IsInCurrentMinute","DateTime.IsInCurrentSecond","DateTime.IsInNextHour","DateTime.IsInNextMinute","DateTime.IsInNextNHours","DateTime.IsInNextNMinutes","DateTime.IsInNextNSeconds","DateTime.IsInNextSecond","DateTime.IsInPreviousHour","DateTime.IsInPreviousMinute","DateTime.IsInPreviousNHours","DateTime.IsInPreviousNMinutes","DateTime.IsInPreviousNSeconds","DateTime.IsInPreviousSecond","DateTime.LocalNow","DateTime.Time","DateTime.ToRecord","DateTime.ToText","DateTimeZone.FixedLocalNow","DateTimeZone.FixedUtcNow","DateTimeZone.From","DateTimeZone.FromFileTime","DateTimeZone.FromText","DateTimeZone.LocalNow","DateTimeZone.RemoveZone","DateTimeZone.SwitchZone","DateTimeZone.ToLocal","DateTimeZone.ToRecord","DateTimeZone.ToText","DateTimeZone.ToUtc","DateTimeZone.UtcNow","DateTimeZone.ZoneHours","DateTimeZone.ZoneMinutes","Decimal.From","Diagnostics.ActivityId","Diagnostics.Trace","DirectQueryCapabilities.From","Double.From","Duration.Days","Duration.From","Duration.FromText","Duration.Hours","Duration.Minutes","Duration.Seconds","Duration.ToRecord","Duration.ToText","Duration.TotalDays","Duration.TotalHours","Duration.TotalMinutes","Duration.TotalSeconds","Embedded.Value","Error.Record","Excel.CurrentWorkbook","Excel.Workbook","Exchange.Contents","Expression.Constant","Expression.Evaluate","Expression.Identifier","Facebook.Graph","File.Contents","Folder.Contents","Folder.Files","Function.From","Function.Invoke","Function.InvokeAfter","Function.IsDataSource","GoogleAnalytics.Accounts","Guid.From","HdInsight.Containers","HdInsight.Contents","HdInsight.Files","Hdfs.Contents","Hdfs.Files","Informix.Database","Int16.From","Int32.From","Int64.From","Int8.From","ItemExpression.From","Json.Document","Json.FromValue","Lines.FromBinary","Lines.FromText","Lines.ToBinary","Lines.ToText","List.Accumulate","List.AllTrue","List.Alternate","List.AnyTrue","List.Average","List.Buffer","List.Combine","List.Contains","List.ContainsAll","List.ContainsAny","List.Count","List.Covariance","List.DateTimeZones","List.DateTimes","List.Dates","List.Difference","List.Distinct","List.Durations","List.FindText","List.First","List.FirstN","List.Generate","List.InsertRange","List.Intersect","List.IsDistinct","List.IsEmpty","List.Last","List.LastN","List.MatchesAll","List.MatchesAny","List.Max","List.MaxN","List.Median","List.Min","List.MinN","List.Mode","List.Modes","List.NonNullCount","List.Numbers","List.PositionOf","List.PositionOfAny","List.Positions","List.Product","List.Random","List.Range","List.RemoveFirstN","List.RemoveItems","List.RemoveLastN","List.RemoveMatchingItems","List.RemoveNulls","List.RemoveRange","List.Repeat","List.ReplaceMatchingItems","List.ReplaceRange","List.ReplaceValue","List.Reverse","List.Select","List.Single","List.SingleOrDefault","List.Skip","List.Sort","List.StandardDeviation","List.Sum","List.Times","List.Transform","List.TransformMany","List.Union","List.Zip","Logical.From","Logical.FromText","Logical.ToText","MQ.Queue","MySQL.Database","Number.Abs","Number.Acos","Number.Asin","Number.Atan","Number.Atan2","Number.BitwiseAnd","Number.BitwiseNot","Number.BitwiseOr","Number.BitwiseShiftLeft","Number.BitwiseShiftRight","Number.BitwiseXor","Number.Combinations","Number.Cos","Number.Cosh","Number.Exp","Number.Factorial","Number.From","Number.FromText","Number.IntegerDivide","Number.IsEven","Number.IsNaN","Number.IsOdd","Number.Ln","Number.Log","Number.Log10","Number.Mod","Number.Permutations","Number.Power","Number.Random","Number.RandomBetween","Number.Round","Number.RoundAwayFromZero","Number.RoundDown","Number.RoundTowardZero","Number.RoundUp","Number.Sign","Number.Sin","Number.Sinh","Number.Sqrt","Number.Tan","Number.Tanh","Number.ToText","OData.Feed","Odbc.DataSource","Odbc.Query","OleDb.DataSource","OleDb.Query","Oracle.Database","Percentage.From","PostgreSQL.Database","RData.FromBinary","Record.AddField","Record.Combine","Record.Field","Record.FieldCount","Record.FieldNames","Record.FieldOrDefault","Record.FieldValues","Record.FromList","Record.FromTable","Record.HasFields","Record.RemoveFields","Record.RenameFields","Record.ReorderFields","Record.SelectFields","Record.ToList","Record.ToTable","Record.TransformFields","Replacer.ReplaceText","Replacer.ReplaceValue","RowExpression.Column","RowExpression.From","Salesforce.Data","Salesforce.Reports","SapBusinessWarehouse.Cubes","SapHana.Database","SharePoint.Contents","SharePoint.Files","SharePoint.Tables","Single.From","Soda.Feed","Splitter.SplitByNothing","Splitter.SplitTextByAnyDelimiter","Splitter.SplitTextByDelimiter","Splitter.SplitTextByEachDelimiter","Splitter.SplitTextByLengths","Splitter.SplitTextByPositions","Splitter.SplitTextByRanges","Splitter.SplitTextByRepeatedLengths","Splitter.SplitTextByWhitespace","Sql.Database","Sql.Databases","SqlExpression.SchemaFrom","SqlExpression.ToExpression","Sybase.Database","Table.AddColumn","Table.AddIndexColumn","Table.AddJoinColumn","Table.AddKey","Table.AggregateTableColumn","Table.AlternateRows","Table.Buffer","Table.Column","Table.ColumnCount","Table.ColumnNames","Table.ColumnsOfType","Table.Combine","Table.CombineColumns","Table.Contains","Table.ContainsAll","Table.ContainsAny","Table.DemoteHeaders","Table.Distinct","Table.DuplicateColumn","Table.ExpandListColumn","Table.ExpandRecordColumn","Table.ExpandTableColumn","Table.FillDown","Table.FillUp","Table.FilterWithDataTable","Table.FindText","Table.First","Table.FirstN","Table.FirstValue","Table.FromColumns","Table.FromList","Table.FromPartitions","Table.FromRecords","Table.FromRows","Table.FromValue","Table.Group","Table.HasColumns","Table.InsertRows","Table.IsDistinct","Table.IsEmpty","Table.Join","Table.Keys","Table.Last","Table.LastN","Table.MatchesAllRows","Table.MatchesAnyRows","Table.Max","Table.MaxN","Table.Min","Table.MinN","Table.NestedJoin","Table.Partition","Table.PartitionValues","Table.Pivot","Table.PositionOf","Table.PositionOfAny","Table.PrefixColumns","Table.Profile","Table.PromoteHeaders","Table.Range","Table.RemoveColumns","Table.RemoveFirstN","Table.RemoveLastN","Table.RemoveMatchingRows","Table.RemoveRows","Table.RemoveRowsWithErrors","Table.RenameColumns","Table.ReorderColumns","Table.Repeat","Table.ReplaceErrorValues","Table.ReplaceKeys","Table.ReplaceMatchingRows","Table.ReplaceRelationshipIdentity","Table.ReplaceRows","Table.ReplaceValue","Table.ReverseRows","Table.RowCount","Table.Schema","Table.SelectColumns","Table.SelectRows","Table.SelectRowsWithErrors","Table.SingleRow","Table.Skip","Table.Sort","Table.SplitColumn","Table.ToColumns","Table.ToList","Table.ToRecords","Table.ToRows","Table.TransformColumnNames","Table.TransformColumnTypes","Table.TransformColumns","Table.TransformRows","Table.Transpose","Table.Unpivot","Table.UnpivotOtherColumns","Table.View","Table.ViewFunction","TableAction.DeleteRows","TableAction.InsertRows","TableAction.UpdateRows","Tables.GetRelationships","Teradata.Database","Text.AfterDelimiter","Text.At","Text.BeforeDelimiter","Text.BetweenDelimiters","Text.Clean","Text.Combine","Text.Contains","Text.End","Text.EndsWith","Text.Format","Text.From","Text.FromBinary","Text.Insert","Text.Length","Text.Lower","Text.Middle","Text.NewGuid","Text.PadEnd","Text.PadStart","Text.PositionOf","Text.PositionOfAny","Text.Proper","Text.Range","Text.Remove","Text.RemoveRange","Text.Repeat","Text.Replace","Text.ReplaceRange","Text.Select","Text.Split","Text.SplitAny","Text.Start","Text.StartsWith","Text.ToBinary","Text.ToList","Text.Trim","Text.TrimEnd","Text.TrimStart","Text.Upper","Time.EndOfHour","Time.From","Time.FromText","Time.Hour","Time.Minute","Time.Second","Time.StartOfHour","Time.ToRecord","Time.ToText","Type.AddTableKey","Type.ClosedRecord","Type.Facets","Type.ForFunction","Type.ForRecord","Type.FunctionParameters","Type.FunctionRequiredParameters","Type.FunctionReturn","Type.Is","Type.IsNullable","Type.IsOpenRecord","Type.ListItem","Type.NonNullable","Type.OpenRecord","Type.RecordFields","Type.ReplaceFacets","Type.ReplaceTableKeys","Type.TableColumn","Type.TableKeys","Type.TableRow","Type.TableSchema","Type.Union","Uri.BuildQueryString","Uri.Combine","Uri.EscapeDataString","Uri.Parts","Value.Add","Value.As","Value.Compare","Value.Divide","Value.Equals","Value.Firewall","Value.FromText","Value.Is","Value.Metadata","Value.Multiply","Value.NativeQuery","Value.NullableEquals","Value.RemoveMetadata","Value.ReplaceMetadata","Value.ReplaceType","Value.Subtract","Value.Type","ValueAction.NativeStatement","ValueAction.Replace","Variable.Value","Web.Contents","Web.Page","WebAction.Request","Xml.Document","Xml.Tables"],builtinConstants:["BinaryEncoding.Base64","BinaryEncoding.Hex","BinaryOccurrence.Optional","BinaryOccurrence.Repeating","BinaryOccurrence.Required","ByteOrder.BigEndian","ByteOrder.LittleEndian","Compression.Deflate","Compression.GZip","CsvStyle.QuoteAfterDelimiter","CsvStyle.QuoteAlways","Culture.Current","Day.Friday","Day.Monday","Day.Saturday","Day.Sunday","Day.Thursday","Day.Tuesday","Day.Wednesday","ExtraValues.Error","ExtraValues.Ignore","ExtraValues.List","GroupKind.Global","GroupKind.Local","JoinAlgorithm.Dynamic","JoinAlgorithm.LeftHash","JoinAlgorithm.LeftIndex","JoinAlgorithm.PairwiseHash","JoinAlgorithm.RightHash","JoinAlgorithm.RightIndex","JoinAlgorithm.SortMerge","JoinKind.FullOuter","JoinKind.Inner","JoinKind.LeftAnti","JoinKind.LeftOuter","JoinKind.RightAnti","JoinKind.RightOuter","JoinSide.Left","JoinSide.Right","MissingField.Error","MissingField.Ignore","MissingField.UseNull","Number.E","Number.Epsilon","Number.NaN","Number.NegativeInfinity","Number.PI","Number.PositiveInfinity","Occurrence.All","Occurrence.First","Occurrence.Last","Occurrence.Optional","Occurrence.Repeating","Occurrence.Required","Order.Ascending","Order.Descending","Precision.Decimal","Precision.Double","QuoteStyle.Csv","QuoteStyle.None","RelativePosition.FromEnd","RelativePosition.FromStart","RoundingMode.AwayFromZero","RoundingMode.Down","RoundingMode.ToEven","RoundingMode.TowardZero","RoundingMode.Up","SapHanaDistribution.All","SapHanaDistribution.Connection","SapHanaDistribution.Off","SapHanaDistribution.Statement","SapHanaRangeOperator.Equals","SapHanaRangeOperator.GreaterThan","SapHanaRangeOperator.GreaterThanOrEquals","SapHanaRangeOperator.LessThan","SapHanaRangeOperator.LessThanOrEquals","SapHanaRangeOperator.NotEquals","TextEncoding.Ascii","TextEncoding.BigEndianUnicode","TextEncoding.Unicode","TextEncoding.Utf16","TextEncoding.Utf8","TextEncoding.Windows","TraceLevel.Critical","TraceLevel.Error","TraceLevel.Information","TraceLevel.Verbose","TraceLevel.Warning","WebMethod.Delete","WebMethod.Get","WebMethod.Head","WebMethod.Patch","WebMethod.Post","WebMethod.Put"],builtinTypes:["Action.Type","Any.Type","Binary.Type","BinaryEncoding.Type","BinaryOccurrence.Type","Byte.Type","ByteOrder.Type","Character.Type","Compression.Type","CsvStyle.Type","Currency.Type","Date.Type","DateTime.Type","DateTimeZone.Type","Day.Type","Decimal.Type","Double.Type","Duration.Type","ExtraValues.Type","Function.Type","GroupKind.Type","Guid.Type","Int16.Type","Int32.Type","Int64.Type","Int8.Type","JoinAlgorithm.Type","JoinKind.Type","JoinSide.Type","List.Type","Logical.Type","MissingField.Type","None.Type","Null.Type","Number.Type","Occurrence.Type","Order.Type","Password.Type","Percentage.Type","Precision.Type","QuoteStyle.Type","Record.Type","RelativePosition.Type","RoundingMode.Type","SapHanaDistribution.Type","SapHanaRangeOperator.Type","Single.Type","Table.Type","Text.Type","TextEncoding.Type","Time.Type","TraceLevel.Type","Type.Type","Uri.Type","WebMethod.Type"],tokenizer:{root:[[/#"[\w \.]+"/,"identifier.quote"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+([eE][\-+]?\d+)?/,"number"],[/(#?[a-z]+)\b/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@constants":"constant","@constructors":"constructor","@operatorKeywords":"operators","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.Type)\b/,{cases:{"@builtinTypes":"type","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,{cases:{"@builtinFunctions":"keyword.function","@builtinConstants":"constant","@default":"identifier"}}],[/\b([a-zA-Z_][\w\.]*)\b/,"identifier"],{include:"@whitespace"},{include:"@comments"},{include:"@strings"},[/[{}()\[\]]/,"@brackets"],[/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/,"operators"],[/[,;]/,"delimiter"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],strings:[['"',"string","@string"]],string:[['""',"string.escape"],['"',"string","@pop"],[".","string"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/29.bundle.js b/shepherd/blueprints/staticroutes/editor/29.bundle.js deleted file mode 100644 index 32dcde0..0000000 --- a/shepherd/blueprints/staticroutes/editor/29.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{587:function(e,n,s){"use strict";s.r(n),s.d(n,"conf",(function(){return t})),s.d(n,"language",(function(){return o}));var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"#",blockComment:["<#","#>"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},o={defaultToken:"",ignoreCase:!0,tokenPostfix:".ps1",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["begin","break","catch","class","continue","data","define","do","dynamicparam","else","elseif","end","exit","filter","finally","for","foreach","from","function","if","in","param","process","return","switch","throw","trap","try","until","using","var","while","workflow","parallel","sequence","inlinescript","configuration"],helpKeywords:/SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,symbols:/[=>/,"comment","@pop"],[/(\.)(@helpKeywords)(?!\w)/,{token:"comment.keyword.$2"}],[/[\.#]/,"comment"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/3.bundle.js b/shepherd/blueprints/staticroutes/editor/3.bundle.js deleted file mode 100644 index 8cfe487..0000000 --- a/shepherd/blueprints/staticroutes/editor/3.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{610:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return i}));var o={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},s=[];["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"].forEach((function(e){s.push(e),s.push(e.toUpperCase()),s.push(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(e))}));var i={defaultToken:"",tokenPostfix:".apex",keywords:s,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/30.bundle.js b/shepherd/blueprints/staticroutes/editor/30.bundle.js deleted file mode 100644 index e5f8aef..0000000 --- a/shepherd/blueprints/staticroutes/editor/30.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{588:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return a}));var o={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}],folding:{offSide:!0}},a={defaultToken:"",tokenPostfix:".pug",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["append","block","case","default","doctype","each","else","extends","for","if","in","include","mixin","typeof","unless","var","when"],tags:["a","abbr","acronym","address","area","article","aside","audio","b","base","basefont","bdi","bdo","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","keygen","kbd","label","li","link","map","mark","menu","meta","meter","nav","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","tracks","tt","u","ul","video","wbr"],symbols:/[\+\-\*\%\&\|\!\=\/\.\,\:]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)([a-zA-Z_-][\w-]*)/,{cases:{"$2@tags":{cases:{"@eos":["","tag"],"@default":["",{token:"tag",next:"@tag.$1"}]}},"$2@keywords":["",{token:"keyword.$2"}],"@default":["",""]}}],[/^(\s*)(#[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.id"],"@default":["",{token:"tag.id",next:"@tag.$1"}]}}],[/^(\s*)(\.[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.class"],"@default":["",{token:"tag.class",next:"@tag.$1"}]}}],[/^(\s*)(\|.*)$/,""],{include:"@whitespace"},[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":""}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d+/,"number"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],tag:[[/(\.)(\s*$)/,[{token:"delimiter",next:"@blockText.$S2."},""]],[/\s+/,{token:"",next:"@simpleText"}],[/#[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.id",next:"@pop"},"@default":"tag.id"}}],[/\.[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.class",next:"@pop"},"@default":"tag.class"}}],[/\(/,{token:"delimiter.parenthesis",next:"@attributeList"}]],simpleText:[[/[^#]+$/,{token:"",next:"@popall"}],[/[^#]+/,{token:""}],[/(#{)([^}]*)(})/,{cases:{"@eos":["interpolation.delimiter","interpolation",{token:"interpolation.delimiter",next:"@popall"}],"@default":["interpolation.delimiter","interpolation","interpolation.delimiter"]}}],[/#$/,{token:"",next:"@popall"}],[/#/,""]],attributeList:[[/\s+/,""],[/(\w+)(\s*=\s*)("|')/,["attribute.name","delimiter",{token:"attribute.value",next:"@value.$3"}]],[/\w+/,"attribute.name"],[/,/,{cases:{"@eos":{token:"attribute.delimiter",next:"@popall"},"@default":"attribute.delimiter"}}],[/\)$/,{token:"delimiter.parenthesis",next:"@popall"}],[/\)/,{token:"delimiter.parenthesis",next:"@pop"}]],whitespace:[[/^(\s*)(\/\/.*)$/,{token:"comment",next:"@blockText.$1.comment"}],[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],razorInSimpleState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3"}]],razorInEmbeddedState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],razorBlockCommentTopLevel:[[/\*@/,"@rematch","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorBlockComment:[[/\*@/,"comment.cs","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorRootTopLevel:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/[})]/,"@rematch","@pop"],{include:"razorCommon"}],razorRoot:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/\}/,"delimiter.bracket.cs","@pop"],[/\)/,"delimiter.parenthesis.cs","@pop"],{include:"razorCommon"}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:"keyword.cs"},"@default":"identifier.cs"}}],[/[\[\]]/,"delimiter.array.cs"],[/[ \t\r\n]+/],[/\/\/.*$/,"comment.cs"],[/@\*/,"comment.cs","@razorBlockComment"],[/"([^"]*)"/,"string.cs"],[/'([^']*)'/,"string.cs"],[/(<)(\w+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(\w+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<\/)(\w+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,"delimiter.cs"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.cs"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.cs"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.cs"],[/0[0-7']*[0-7]/,"number.octal.cs"],[/0[bB][0-1']*[0-1]/,"number.binary.cs"],[/\d[\d']*/,"number.cs"],[/\d/,"number.cs"]]},razorKeywords:["abstract","as","async","await","base","bool","break","by","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","descending","explicit","event","extern","else","enum","false","finally","fixed","float","for","foreach","from","goto","group","if","implicit","in","int","interface","internal","into","is","lock","long","nameof","new","null","namespace","object","operator","out","override","orderby","params","private","protected","public","readonly","ref","return","switch","struct","sbyte","sealed","short","sizeof","stackalloc","static","string","select","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","var","virtual","volatile","void","when","while","where","yield","model","inject"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/34.bundle.js b/shepherd/blueprints/staticroutes/editor/34.bundle.js deleted file mode 100644 index a11761a..0000000 --- a/shepherd/blueprints/staticroutes/editor/34.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{592:function(E,S,e){"use strict";e.r(S),e.d(S,"conf",(function(){return T})),e.d(S,"language",(function(){return R}));var T={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},R={defaultToken:"",tokenPostfix:".redis",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["APPEND","AUTH","BGREWRITEAOF","BGSAVE","BITCOUNT","BITFIELD","BITOP","BITPOS","BLPOP","BRPOP","BRPOPLPUSH","CLIENT","KILL","LIST","GETNAME","PAUSE","REPLY","SETNAME","CLUSTER","ADDSLOTS","COUNT-FAILURE-REPORTS","COUNTKEYSINSLOT","DELSLOTS","FAILOVER","FORGET","GETKEYSINSLOT","INFO","KEYSLOT","MEET","NODES","REPLICATE","RESET","SAVECONFIG","SET-CONFIG-EPOCH","SETSLOT","SLAVES","SLOTS","COMMAND","COUNT","GETKEYS","CONFIG","GET","REWRITE","SET","RESETSTAT","DBSIZE","DEBUG","OBJECT","SEGFAULT","DECR","DECRBY","DEL","DISCARD","DUMP","ECHO","EVAL","EVALSHA","EXEC","EXISTS","EXPIRE","EXPIREAT","FLUSHALL","FLUSHDB","GEOADD","GEOHASH","GEOPOS","GEODIST","GEORADIUS","GEORADIUSBYMEMBER","GETBIT","GETRANGE","GETSET","HDEL","HEXISTS","HGET","HGETALL","HINCRBY","HINCRBYFLOAT","HKEYS","HLEN","HMGET","HMSET","HSET","HSETNX","HSTRLEN","HVALS","INCR","INCRBY","INCRBYFLOAT","KEYS","LASTSAVE","LINDEX","LINSERT","LLEN","LPOP","LPUSH","LPUSHX","LRANGE","LREM","LSET","LTRIM","MGET","MIGRATE","MONITOR","MOVE","MSET","MSETNX","MULTI","PERSIST","PEXPIRE","PEXPIREAT","PFADD","PFCOUNT","PFMERGE","PING","PSETEX","PSUBSCRIBE","PUBSUB","PTTL","PUBLISH","PUNSUBSCRIBE","QUIT","RANDOMKEY","READONLY","READWRITE","RENAME","RENAMENX","RESTORE","ROLE","RPOP","RPOPLPUSH","RPUSH","RPUSHX","SADD","SAVE","SCARD","SCRIPT","FLUSH","LOAD","SDIFF","SDIFFSTORE","SELECT","SETBIT","SETEX","SETNX","SETRANGE","SHUTDOWN","SINTER","SINTERSTORE","SISMEMBER","SLAVEOF","SLOWLOG","SMEMBERS","SMOVE","SORT","SPOP","SRANDMEMBER","SREM","STRLEN","SUBSCRIBE","SUNION","SUNIONSTORE","SWAPDB","SYNC","TIME","TOUCH","TTL","TYPE","UNSUBSCRIBE","UNLINK","UNWATCH","WAIT","WATCH","ZADD","ZCARD","ZCOUNT","ZINCRBY","ZINTERSTORE","ZLEXCOUNT","ZRANGE","ZRANGEBYLEX","ZREVRANGEBYLEX","ZRANGEBYSCORE","ZRANK","ZREM","ZREMRANGEBYLEX","ZREMRANGEBYRANK","ZREMRANGEBYSCORE","ZREVRANGE","ZREVRANGEBYSCORE","ZREVRANK","ZSCORE","ZUNIONSTORE","SCAN","SSCAN","HSCAN","ZSCAN"],operators:[],builtinFunctions:[],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],scopes:[]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/35.bundle.js b/shepherd/blueprints/staticroutes/editor/35.bundle.js deleted file mode 100644 index 8735008..0000000 --- a/shepherd/blueprints/staticroutes/editor/35.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{593:function(e,_,t){"use strict";t.r(_),t.d(_,"conf",(function(){return r})),t.d(_,"language",(function(){return i}));var r={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},i={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BLANKSASNULL","BOTH","BYTEDICT","BZIP2","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CREDENTIALS","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURRENT_USER_ID","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DELTA","DELTA32K","DESC","DISABLE","DISTINCT","DO","ELSE","EMPTYASNULL","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","END","EXCEPT","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GRANT","GROUP","GZIP","HAVING","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","LZO","LZOP","MINUS","MOSTLY13","MOSTLY32","MOSTLY8","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","OR","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RAW","READRATIO","RECOVER","REFERENCES","RESPECT","REJECTLOG","RESORT","RESTORE","RIGHT","SELECT","SESSION_USER","SIMILAR","SNAPSHOT","SOME","SYSDATE","SYSTEM","TABLE","TAG","TDES","TEXT255","TEXT32K","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","TRUNCATECOLUMNS","UNION","UNIQUE","USER","USING","VERBOSE","WALLET","WHEN","WHERE","WITH","WITHOUT"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["current_schema","current_schemas","has_database_privilege","has_schema_privilege","has_table_privilege","age","current_time","current_timestamp","localtime","isfinite","now","ascii","get_bit","get_byte","set_bit","set_byte","to_ascii","approximate percentile_disc","avg","count","listagg","max","median","min","percentile_cont","stddev_samp","stddev_pop","sum","var_samp","var_pop","bit_and","bit_or","bool_and","bool_or","cume_dist","first_value","lag","last_value","lead","nth_value","ratio_to_report","dense_rank","ntile","percent_rank","rank","row_number","case","coalesce","decode","greatest","least","nvl","nvl2","nullif","add_months","at time zone","convert_timezone","current_date","date_cmp","date_cmp_timestamp","date_cmp_timestamptz","date_part_year","dateadd","datediff","date_part","date_trunc","extract","getdate","interval_cmp","last_day","months_between","next_day","sysdate","timeofday","timestamp_cmp","timestamp_cmp_date","timestamp_cmp_timestamptz","timestamptz_cmp","timestamptz_cmp_date","timestamptz_cmp_timestamp","timezone","to_timestamp","trunc","abs","acos","asin","atan","atan2","cbrt","ceil","ceiling","checksum","cos","cot","degrees","dexp","dlog1","dlog10","exp","floor","ln","log","mod","pi","power","radians","random","round","sin","sign","sqrt","tan","to_hex","bpcharcmp","btrim","bttext_pattern_cmp","char_length","character_length","charindex","chr","concat","crc32","func_sha1","initcap","left and rights","len","length","lower","lpad and rpads","ltrim","md5","octet_length","position","quote_ident","quote_literal","regexp_count","regexp_instr","regexp_replace","regexp_substr","repeat","replace","replicate","reverse","rtrim","split_part","strpos","strtol","substring","textlen","translate","trim","upper","cast","convert","to_char","to_date","to_number","json_array_length","json_extract_array_element_text","json_extract_path_text","current_setting","pg_cancel_backend","pg_terminate_backend","set_config","current_database","current_user","current_user_id","pg_backend_pid","pg_last_copy_count","pg_last_copy_id","pg_last_query_id","pg_last_unload_count","session_user","slice_num","user","version","abbrev","acosd","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","asind","atan2d","atand","bit","bit_length","bound_box","box","brin_summarize_new_values","broadcast","cardinality","center","circle","clock_timestamp","col_description","concat_ws","convert_from","convert_to","corr","cosd","cotd","covar_pop","covar_samp","current_catalog","current_query","current_role","currval","cursor_to_xml","diameter","div","encode","enum_first","enum_last","enum_range","every","family","format","format_type","generate_series","generate_subscripts","get_current_ts_config","gin_clean_pending_list","grouping","has_any_column_privilege","has_column_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_sequence_privilege","has_server_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","isclosed","isempty","isopen","json_agg","json_object","json_object_agg","json_populate_record","json_populate_recordset","json_to_record","json_to_recordset","jsonb_agg","jsonb_object_agg","justify_days","justify_hours","justify_interval","lastval","left","line","localtimestamp","lower_inc","lower_inf","lpad","lseg","make_date","make_interval","make_time","make_timestamp","make_timestamptz","masklen","mode","netmask","network","nextval","npoints","num_nonnulls","num_nulls","numnode","obj_description","overlay","parse_ident","path","pclose","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backup_start_time","pg_blocking_pids","pg_client_encoding","pg_collation_is_visible","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_xlog_replay_paused","pg_last_committed_xact","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_dir","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_postmaster_start_time","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_rotate_logfile","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_start_backup","pg_stat_file","pg_stop_backup","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_xact_commit_timestamp","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","plainto_tsquery","point","polygon","popen","pqserverversion","query_to_xml","querytree","quote_nullable","radius","range_merge","regexp_matches","regexp_split_to_array","regexp_split_to_table","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","right","row_security_active","row_to_json","rpad","scale","set_masklen","setseed","setval","setweight","shobj_description","sind","sprintf","statement_timestamp","stddev","string_agg","string_to_array","strip","substr","table_to_xml","table_to_xml_and_xmlschema","tand","text","to_json","to_regclass","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_tsquery","to_tsvector","transaction_timestamp","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_visible_in_snapshot","unnest","upper_inc","upper_inf","variance","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/36.bundle.js b/shepherd/blueprints/staticroutes/editor/36.bundle.js deleted file mode 100644 index c5441ae..0000000 --- a/shepherd/blueprints/staticroutes/editor/36.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{594:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return r})),n.d(t,"language",(function(){return o}));var r={comments:{lineComment:"#",blockComment:["=begin","=end"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={tokenPostfix:".ruby",keywords:["__LINE__","__ENCODING__","__FILE__","BEGIN","END","alias","and","begin","break","case","class","def","defined?","do","else","elsif","end","ensure","for","false","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield"],keywordops:["::","..","...","?",":","=>"],builtins:["require","public","private","include","extend","attr_reader","protected","private_class_method","protected_class_method","new"],declarations:["module","class","def","case","do","begin","for","if","while","until","unless"],linedecls:["def","case","do","begin","for","if","while","until","unless"],operators:["^","&","|","<=>","==","===","!~","=~",">",">=","<","<=","<<",">>","+","-","*","/","%","**","~","+@","-@","[]","[]=","`","+=","-=","*=","**=","/=","^=","%=","<<=",">>=","&=","&&=","||=","|="],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],symbols:/[=>"}],[/%([qws])(@delim)/,{token:"string.$1.delim",switchTo:"@qstring.$1.$2.$2"}],[/%r\(/,{token:"regexp.delim",switchTo:"@pregexp.(.)"}],[/%r\[/,{token:"regexp.delim",switchTo:"@pregexp.[.]"}],[/%r\{/,{token:"regexp.delim",switchTo:"@pregexp.{.}"}],[/%r"}],[/%r(@delim)/,{token:"regexp.delim",switchTo:"@pregexp.$1.$1"}],[/%(x|W|Q?)\(/,{token:"string.$1.delim",switchTo:"@qqstring.$1.(.)"}],[/%(x|W|Q?)\[/,{token:"string.$1.delim",switchTo:"@qqstring.$1.[.]"}],[/%(x|W|Q?)\{/,{token:"string.$1.delim",switchTo:"@qqstring.$1.{.}"}],[/%(x|W|Q?)"}],[/%(x|W|Q?)(@delim)/,{token:"string.$1.delim",switchTo:"@qqstring.$1.$2.$2"}],[/%([rqwsxW]|Q?)./,{token:"invalid",next:"@pop"}],[/./,{token:"invalid",next:"@pop"}]],qstring:[[/\\$/,"string.$S2.escape"],[/\\./,"string.$S2.escape"],[/./,{cases:{"$#==$S4":{token:"string.$S2.delim",next:"@pop"},"$#==$S3":{token:"string.$S2.delim",next:"@push"},"@default":"string.$S2"}}]],qqstring:[[/#/,"string.$S2.escape","@interpolated"],{include:"@qstring"}],whitespace:[[/[ \t\r\n]+/,""],[/^\s*=begin\b/,"comment","@comment"],[/#.*$/,"comment"]],comment:[[/[^=]+/,"comment"],[/^\s*=begin\b/,"comment.invalid"],[/^\s*=end\b.*/,"comment","@pop"],[/[=]/,"comment"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/37.bundle.js b/shepherd/blueprints/staticroutes/editor/37.bundle.js deleted file mode 100644 index 35c484d..0000000 --- a/shepherd/blueprints/staticroutes/editor/37.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{595:function(e,t,o){"use strict";o.r(t),o.d(t,"conf",(function(){return n})),o.d(t,"language",(function(){return s}));var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},s={tokenPostfix:".rust",defaultToken:"invalid",keywords:["as","box","break","const","continue","crate","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","static","struct","super","trait","true","type","unsafe","use","where","while","catch","default","union","static","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield"],typeKeywords:["Self","m32","m64","m128","f80","f16","f128","int","uint","float","char","bool","u8","u16","u32","u64","f32","f64","i8","i16","i32","i64","str","Option","Either","c_float","c_double","c_void","FILE","fpos_t","DIR","dirent","c_char","c_schar","c_uchar","c_short","c_ushort","c_int","c_uint","c_long","c_ulong","size_t","ptrdiff_t","clock_t","time_t","c_longlong","c_ulonglong","intptr_t","uintptr_t","off_t","dev_t","ino_t","pid_t","mode_t","ssize_t"],constants:["true","false","Some","None","Left","Right","Ok","Err"],supportConstants:["EXIT_FAILURE","EXIT_SUCCESS","RAND_MAX","EOF","SEEK_SET","SEEK_CUR","SEEK_END","_IOFBF","_IONBF","_IOLBF","BUFSIZ","FOPEN_MAX","FILENAME_MAX","L_tmpnam","TMP_MAX","O_RDONLY","O_WRONLY","O_RDWR","O_APPEND","O_CREAT","O_EXCL","O_TRUNC","S_IFIFO","S_IFCHR","S_IFBLK","S_IFDIR","S_IFREG","S_IFMT","S_IEXEC","S_IWRITE","S_IREAD","S_IRWXU","S_IXUSR","S_IWUSR","S_IRUSR","F_OK","R_OK","W_OK","X_OK","STDIN_FILENO","STDOUT_FILENO","STDERR_FILENO"],supportMacros:["format!","print!","println!","panic!","format_args!","unreachable!","write!","writeln!"],operators:["!","!=","%","%=","&","&=","&&","*","*=","+","+=","-","-=","->",".","..","...","/","/=",":",";","<<","<<=","<","<=","=","==","=>",">",">=",">>",">>=","@","^","^=","|","|=","||","_","?","#"],escapes:/\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,delimiters:/[,]/,symbols:/[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,intSuffixes:/[iu](8|16|32|64|128|size)/,floatSuffixes:/f(32|64)/,tokenizer:{root:[[/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,{cases:{"@typeKeywords":"keyword.type","@keywords":"keyword","@supportConstants":"keyword","@supportMacros":"keyword","@constants":"keyword","@default":"identifier"}}],[/\$/,"identifier"],[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/,"identifier"],[/'\S'/,"string.byteliteral"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],{include:"@numbers"},{include:"@whitespace"},[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}],[/[{}()\[\]<>]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],numbers:[[/(0o[0-7_]+)(@intSuffixes)?/,{token:"number"}],[/(0b[0-1_]+)(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/,{token:"number"}],[/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/,{token:"number"}],[/(0x[\da-fA-F]+)_?(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(@intSuffixes?)?/,{token:"number"}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/38.bundle.js b/shepherd/blueprints/staticroutes/editor/38.bundle.js deleted file mode 100644 index 5e29f46..0000000 --- a/shepherd/blueprints/staticroutes/editor/38.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{596:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return r}));var t={comments:{lineComment:"'"},brackets:[["(",")"],["[","]"],["If","EndIf"],["While","EndWhile"],["For","EndFor"],["Sub","EndSub"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]}]},r={defaultToken:"",tokenPostfix:".sb",ignoreCase:!0,brackets:[{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"keyword.tag-if",open:"If",close:"EndIf"},{token:"keyword.tag-while",open:"While",close:"EndWhile"},{token:"keyword.tag-for",open:"For",close:"EndFor"},{token:"keyword.tag-sub",open:"Sub",close:"EndSub"}],keywords:["Else","ElseIf","EndFor","EndIf","EndSub","EndWhile","For","Goto","If","Step","Sub","Then","To","While"],tagwords:["If","Sub","While","For"],operators:[">","<","<>","<=",">=","And","Or","+","-","*","/","="],identifier:/[a-zA-Z_][\w]*/,symbols:/[=><:+\-*\/%\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/(@identifier)(?=[.])/,"type"],[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@operators":"operator","@default":"variable.name"}}],[/([.])(@identifier)/,{cases:{$2:["delimiter","type.member"],"@default":""}}],[/\d*\.\d+/,"number.float"],[/\d+/,"number"],[/[()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/(\').*$/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"C?/,"string","@pop"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/39.bundle.js b/shepherd/blueprints/staticroutes/editor/39.bundle.js deleted file mode 100644 index 0778fae..0000000 --- a/shepherd/blueprints/staticroutes/editor/39.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{605:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return s}));var t={comments:{lineComment:";",blockComment:["#|","|#"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".scheme",brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],keywords:["case","do","let","loop","if","else","when","cons","car","cdr","cond","lambda","lambda*","syntax-rules","format","set!","quote","eval","append","list","list?","member?","load"],constants:["#t","#f"],operators:["eq?","eqv?","equal?","and","or","not","null?"],tokenizer:{root:[[/#[xXoObB][0-9a-fA-F]+/,"number.hex"],[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/,"number.float"],[/(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/,["keyword","white","variable"]],{include:"@whitespace"},{include:"@strings"},[/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/,{cases:{"@keywords":"keyword","@constants":"constant","@operators":"operators","@default":"identifier"}}]],comment:[[/[^\|#]+/,"comment"],[/#\|/,"comment","@push"],[/\|#/,"comment","@pop"],[/[\|#]/,"comment"]],whitespace:[[/[ \t\r\n]+/,"white"],[/#\|/,"comment","@comment"],[/;.*$/,"comment"]],strings:[[/"$/,"string","@popall"],[/"(?=.)/,"string","@multiLineString"]],multiLineString:[[/\\./,"string.escape"],[/"/,"string","@popall"],[/.(?=.*")/,"string"],[/.*\\$/,"string"],[/.*$/,"string","@popall"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/4.bundle.js b/shepherd/blueprints/staticroutes/editor/4.bundle.js deleted file mode 100644 index faff620..0000000 --- a/shepherd/blueprints/staticroutes/editor/4.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{609:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return s}));var o={comments:{lineComment:"#"}},s={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/40.bundle.js b/shepherd/blueprints/staticroutes/editor/40.bundle.js deleted file mode 100644 index 0fd8d79..0000000 --- a/shepherd/blueprints/staticroutes/editor/40.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{597:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return i}));var o={wordPattern:/(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},i={defaultToken:"",tokenPostfix:".scss",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@variabledeclaration"},{include:"@warndebug"},["[@](include)",{token:"keyword",next:"@includedeclaration"}],["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["[@](function)",{token:"keyword",next:"@functiondeclaration"}],["[@](mixin)",{token:"keyword",next:"@mixindeclaration"}],["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@controlstatement"},{include:"@selectorname"},["[&\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.curly",next:"@selectorbody"}]],selectorbody:[["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],{include:"@selector"},["[@](extend)",{token:"keyword",next:"@extendbody"}],["[@](return)",{token:"keyword",next:"@declarationbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],selectorname:[["#{",{token:"meta",next:"@variableinterpolation"}],["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@functioninvocation"},{include:"@numbers"},{include:"@strings"},{include:"@variablereference"},["(and\\b|or\\b|not\\b)","operator"],{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","operator"],[",","delimiter"],["!default","literal"],["\\(",{token:"delimiter.parenthesis",next:"@parenthizedterm"}]],rulevalue:[{include:"@term"},["!important","literal"],[";","delimiter","@pop"],["{",{token:"delimiter.curly",switchTo:"@nestedproperty"}],["(?=})",{token:"",next:"@pop"}]],nestedproperty:[["[*_]?@identifier@ws:","attribute.name","@rulevalue"],{include:"@comments"},["}",{token:"delimiter.curly",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],variabledeclaration:[["\\$@identifier@ws:","variable.decl","@declarationbody"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"meta",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],extendbody:[{include:"@selectorname"},["!optional","literal"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],variablereference:[["\\$@identifier","variable.ref"],["\\.\\.\\.","operator"],["#{",{token:"meta",next:"@variableinterpolation"}]],variableinterpolation:[{include:"@variablereference"},["}",{token:"meta",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],name:[["@identifier","attribute.value"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","number.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","number","@pop"]],functiondeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["{",{token:"delimiter.curly",switchTo:"@functionbody"}]],mixindeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],parameterdeclaration:[["\\$@identifier@ws:","variable.decl"],["\\.\\.\\.","operator"],[",","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],includedeclaration:[{include:"@functioninvocation"},["@identifier","meta"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],keyframedeclaration:[["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.curly",next:"@selectorbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],controlstatement:[["[@](if|else|for|while|each|media)",{token:"keyword.flow",next:"@controlstatementdeclaration"}]],controlstatementdeclaration:[["(in|from|through|if|to)\\b",{token:"keyword.flow"}],{include:"@term"},["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],functionbody:[["[@](return)",{token:"keyword"}],{include:"@variabledeclaration"},{include:"@term"},{include:"@controlstatement"},[";","delimiter"],["}",{token:"delimiter.curly",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"meta",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],strings:[['~?"',{token:"string.delimiter",next:"@stringenddoublequote"}],["~?'",{token:"string.delimiter",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string.delimiter",next:"@pop"}],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string.delimiter",next:"@pop"}],[".","string"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/41.bundle.js b/shepherd/blueprints/staticroutes/editor/41.bundle.js deleted file mode 100644 index 8d4db3c..0000000 --- a/shepherd/blueprints/staticroutes/editor/41.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{607:function(e,s,o){"use strict";o.r(s),o.d(s,"conf",(function(){return n})),o.d(s,"language",(function(){return t}));var n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},t={defaultToken:"",ignoreCase:!0,tokenPostfix:".shell",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],builtins:["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"],symbols:/[=>"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},f={defaultToken:"",tokenPostfix:".sol",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["pragma","solidity","contract","library","using","struct","function","modifier","address","string","bool","Int","Uint","Byte","Fixed","Ufixed","int","int8","int16","int24","int32","int40","int48","int56","int64","int72","int80","int88","int96","int104","int112","int120","int128","int136","int144","int152","int160","int168","int176","int184","int192","int200","int208","int216","int224","int232","int240","int248","int256","uint","uint8","uint16","uint24","uint32","uint40","uint48","uint56","uint64","uint72","uint80","uint88","uint96","uint104","uint112","uint120","uint128","uint136","uint144","uint152","uint160","uint168","uint176","uint184","uint192","uint200","uint208","uint216","uint224","uint232","uint240","uint248","uint256","byte","bytes","bytes1","bytes2","bytes3","bytes4","bytes5","bytes6","bytes7","bytes8","bytes9","bytes10","bytes11","bytes12","bytes13","bytes14","bytes15","bytes16","bytes17","bytes18","bytes19","bytes20","bytes21","bytes22","bytes23","bytes24","bytes25","bytes26","bytes27","bytes28","bytes29","bytes30","bytes31","bytes32","fixed","fixed0x8","fixed0x16","fixed0x24","fixed0x32","fixed0x40","fixed0x48","fixed0x56","fixed0x64","fixed0x72","fixed0x80","fixed0x88","fixed0x96","fixed0x104","fixed0x112","fixed0x120","fixed0x128","fixed0x136","fixed0x144","fixed0x152","fixed0x160","fixed0x168","fixed0x176","fixed0x184","fixed0x192","fixed0x200","fixed0x208","fixed0x216","fixed0x224","fixed0x232","fixed0x240","fixed0x248","fixed0x256","fixed8x8","fixed8x16","fixed8x24","fixed8x32","fixed8x40","fixed8x48","fixed8x56","fixed8x64","fixed8x72","fixed8x80","fixed8x88","fixed8x96","fixed8x104","fixed8x112","fixed8x120","fixed8x128","fixed8x136","fixed8x144","fixed8x152","fixed8x160","fixed8x168","fixed8x176","fixed8x184","fixed8x192","fixed8x200","fixed8x208","fixed8x216","fixed8x224","fixed8x232","fixed8x240","fixed8x248","fixed16x8","fixed16x16","fixed16x24","fixed16x32","fixed16x40","fixed16x48","fixed16x56","fixed16x64","fixed16x72","fixed16x80","fixed16x88","fixed16x96","fixed16x104","fixed16x112","fixed16x120","fixed16x128","fixed16x136","fixed16x144","fixed16x152","fixed16x160","fixed16x168","fixed16x176","fixed16x184","fixed16x192","fixed16x200","fixed16x208","fixed16x216","fixed16x224","fixed16x232","fixed16x240","fixed24x8","fixed24x16","fixed24x24","fixed24x32","fixed24x40","fixed24x48","fixed24x56","fixed24x64","fixed24x72","fixed24x80","fixed24x88","fixed24x96","fixed24x104","fixed24x112","fixed24x120","fixed24x128","fixed24x136","fixed24x144","fixed24x152","fixed24x160","fixed24x168","fixed24x176","fixed24x184","fixed24x192","fixed24x200","fixed24x208","fixed24x216","fixed24x224","fixed24x232","fixed32x8","fixed32x16","fixed32x24","fixed32x32","fixed32x40","fixed32x48","fixed32x56","fixed32x64","fixed32x72","fixed32x80","fixed32x88","fixed32x96","fixed32x104","fixed32x112","fixed32x120","fixed32x128","fixed32x136","fixed32x144","fixed32x152","fixed32x160","fixed32x168","fixed32x176","fixed32x184","fixed32x192","fixed32x200","fixed32x208","fixed32x216","fixed32x224","fixed40x8","fixed40x16","fixed40x24","fixed40x32","fixed40x40","fixed40x48","fixed40x56","fixed40x64","fixed40x72","fixed40x80","fixed40x88","fixed40x96","fixed40x104","fixed40x112","fixed40x120","fixed40x128","fixed40x136","fixed40x144","fixed40x152","fixed40x160","fixed40x168","fixed40x176","fixed40x184","fixed40x192","fixed40x200","fixed40x208","fixed40x216","fixed48x8","fixed48x16","fixed48x24","fixed48x32","fixed48x40","fixed48x48","fixed48x56","fixed48x64","fixed48x72","fixed48x80","fixed48x88","fixed48x96","fixed48x104","fixed48x112","fixed48x120","fixed48x128","fixed48x136","fixed48x144","fixed48x152","fixed48x160","fixed48x168","fixed48x176","fixed48x184","fixed48x192","fixed48x200","fixed48x208","fixed56x8","fixed56x16","fixed56x24","fixed56x32","fixed56x40","fixed56x48","fixed56x56","fixed56x64","fixed56x72","fixed56x80","fixed56x88","fixed56x96","fixed56x104","fixed56x112","fixed56x120","fixed56x128","fixed56x136","fixed56x144","fixed56x152","fixed56x160","fixed56x168","fixed56x176","fixed56x184","fixed56x192","fixed56x200","fixed64x8","fixed64x16","fixed64x24","fixed64x32","fixed64x40","fixed64x48","fixed64x56","fixed64x64","fixed64x72","fixed64x80","fixed64x88","fixed64x96","fixed64x104","fixed64x112","fixed64x120","fixed64x128","fixed64x136","fixed64x144","fixed64x152","fixed64x160","fixed64x168","fixed64x176","fixed64x184","fixed64x192","fixed72x8","fixed72x16","fixed72x24","fixed72x32","fixed72x40","fixed72x48","fixed72x56","fixed72x64","fixed72x72","fixed72x80","fixed72x88","fixed72x96","fixed72x104","fixed72x112","fixed72x120","fixed72x128","fixed72x136","fixed72x144","fixed72x152","fixed72x160","fixed72x168","fixed72x176","fixed72x184","fixed80x8","fixed80x16","fixed80x24","fixed80x32","fixed80x40","fixed80x48","fixed80x56","fixed80x64","fixed80x72","fixed80x80","fixed80x88","fixed80x96","fixed80x104","fixed80x112","fixed80x120","fixed80x128","fixed80x136","fixed80x144","fixed80x152","fixed80x160","fixed80x168","fixed80x176","fixed88x8","fixed88x16","fixed88x24","fixed88x32","fixed88x40","fixed88x48","fixed88x56","fixed88x64","fixed88x72","fixed88x80","fixed88x88","fixed88x96","fixed88x104","fixed88x112","fixed88x120","fixed88x128","fixed88x136","fixed88x144","fixed88x152","fixed88x160","fixed88x168","fixed96x8","fixed96x16","fixed96x24","fixed96x32","fixed96x40","fixed96x48","fixed96x56","fixed96x64","fixed96x72","fixed96x80","fixed96x88","fixed96x96","fixed96x104","fixed96x112","fixed96x120","fixed96x128","fixed96x136","fixed96x144","fixed96x152","fixed96x160","fixed104x8","fixed104x16","fixed104x24","fixed104x32","fixed104x40","fixed104x48","fixed104x56","fixed104x64","fixed104x72","fixed104x80","fixed104x88","fixed104x96","fixed104x104","fixed104x112","fixed104x120","fixed104x128","fixed104x136","fixed104x144","fixed104x152","fixed112x8","fixed112x16","fixed112x24","fixed112x32","fixed112x40","fixed112x48","fixed112x56","fixed112x64","fixed112x72","fixed112x80","fixed112x88","fixed112x96","fixed112x104","fixed112x112","fixed112x120","fixed112x128","fixed112x136","fixed112x144","fixed120x8","fixed120x16","fixed120x24","fixed120x32","fixed120x40","fixed120x48","fixed120x56","fixed120x64","fixed120x72","fixed120x80","fixed120x88","fixed120x96","fixed120x104","fixed120x112","fixed120x120","fixed120x128","fixed120x136","fixed128x8","fixed128x16","fixed128x24","fixed128x32","fixed128x40","fixed128x48","fixed128x56","fixed128x64","fixed128x72","fixed128x80","fixed128x88","fixed128x96","fixed128x104","fixed128x112","fixed128x120","fixed128x128","fixed136x8","fixed136x16","fixed136x24","fixed136x32","fixed136x40","fixed136x48","fixed136x56","fixed136x64","fixed136x72","fixed136x80","fixed136x88","fixed136x96","fixed136x104","fixed136x112","fixed136x120","fixed144x8","fixed144x16","fixed144x24","fixed144x32","fixed144x40","fixed144x48","fixed144x56","fixed144x64","fixed144x72","fixed144x80","fixed144x88","fixed144x96","fixed144x104","fixed144x112","fixed152x8","fixed152x16","fixed152x24","fixed152x32","fixed152x40","fixed152x48","fixed152x56","fixed152x64","fixed152x72","fixed152x80","fixed152x88","fixed152x96","fixed152x104","fixed160x8","fixed160x16","fixed160x24","fixed160x32","fixed160x40","fixed160x48","fixed160x56","fixed160x64","fixed160x72","fixed160x80","fixed160x88","fixed160x96","fixed168x8","fixed168x16","fixed168x24","fixed168x32","fixed168x40","fixed168x48","fixed168x56","fixed168x64","fixed168x72","fixed168x80","fixed168x88","fixed176x8","fixed176x16","fixed176x24","fixed176x32","fixed176x40","fixed176x48","fixed176x56","fixed176x64","fixed176x72","fixed176x80","fixed184x8","fixed184x16","fixed184x24","fixed184x32","fixed184x40","fixed184x48","fixed184x56","fixed184x64","fixed184x72","fixed192x8","fixed192x16","fixed192x24","fixed192x32","fixed192x40","fixed192x48","fixed192x56","fixed192x64","fixed200x8","fixed200x16","fixed200x24","fixed200x32","fixed200x40","fixed200x48","fixed200x56","fixed208x8","fixed208x16","fixed208x24","fixed208x32","fixed208x40","fixed208x48","fixed216x8","fixed216x16","fixed216x24","fixed216x32","fixed216x40","fixed224x8","fixed224x16","fixed224x24","fixed224x32","fixed232x8","fixed232x16","fixed232x24","fixed240x8","fixed240x16","fixed248x8","ufixed","ufixed0x8","ufixed0x16","ufixed0x24","ufixed0x32","ufixed0x40","ufixed0x48","ufixed0x56","ufixed0x64","ufixed0x72","ufixed0x80","ufixed0x88","ufixed0x96","ufixed0x104","ufixed0x112","ufixed0x120","ufixed0x128","ufixed0x136","ufixed0x144","ufixed0x152","ufixed0x160","ufixed0x168","ufixed0x176","ufixed0x184","ufixed0x192","ufixed0x200","ufixed0x208","ufixed0x216","ufixed0x224","ufixed0x232","ufixed0x240","ufixed0x248","ufixed0x256","ufixed8x8","ufixed8x16","ufixed8x24","ufixed8x32","ufixed8x40","ufixed8x48","ufixed8x56","ufixed8x64","ufixed8x72","ufixed8x80","ufixed8x88","ufixed8x96","ufixed8x104","ufixed8x112","ufixed8x120","ufixed8x128","ufixed8x136","ufixed8x144","ufixed8x152","ufixed8x160","ufixed8x168","ufixed8x176","ufixed8x184","ufixed8x192","ufixed8x200","ufixed8x208","ufixed8x216","ufixed8x224","ufixed8x232","ufixed8x240","ufixed8x248","ufixed16x8","ufixed16x16","ufixed16x24","ufixed16x32","ufixed16x40","ufixed16x48","ufixed16x56","ufixed16x64","ufixed16x72","ufixed16x80","ufixed16x88","ufixed16x96","ufixed16x104","ufixed16x112","ufixed16x120","ufixed16x128","ufixed16x136","ufixed16x144","ufixed16x152","ufixed16x160","ufixed16x168","ufixed16x176","ufixed16x184","ufixed16x192","ufixed16x200","ufixed16x208","ufixed16x216","ufixed16x224","ufixed16x232","ufixed16x240","ufixed24x8","ufixed24x16","ufixed24x24","ufixed24x32","ufixed24x40","ufixed24x48","ufixed24x56","ufixed24x64","ufixed24x72","ufixed24x80","ufixed24x88","ufixed24x96","ufixed24x104","ufixed24x112","ufixed24x120","ufixed24x128","ufixed24x136","ufixed24x144","ufixed24x152","ufixed24x160","ufixed24x168","ufixed24x176","ufixed24x184","ufixed24x192","ufixed24x200","ufixed24x208","ufixed24x216","ufixed24x224","ufixed24x232","ufixed32x8","ufixed32x16","ufixed32x24","ufixed32x32","ufixed32x40","ufixed32x48","ufixed32x56","ufixed32x64","ufixed32x72","ufixed32x80","ufixed32x88","ufixed32x96","ufixed32x104","ufixed32x112","ufixed32x120","ufixed32x128","ufixed32x136","ufixed32x144","ufixed32x152","ufixed32x160","ufixed32x168","ufixed32x176","ufixed32x184","ufixed32x192","ufixed32x200","ufixed32x208","ufixed32x216","ufixed32x224","ufixed40x8","ufixed40x16","ufixed40x24","ufixed40x32","ufixed40x40","ufixed40x48","ufixed40x56","ufixed40x64","ufixed40x72","ufixed40x80","ufixed40x88","ufixed40x96","ufixed40x104","ufixed40x112","ufixed40x120","ufixed40x128","ufixed40x136","ufixed40x144","ufixed40x152","ufixed40x160","ufixed40x168","ufixed40x176","ufixed40x184","ufixed40x192","ufixed40x200","ufixed40x208","ufixed40x216","ufixed48x8","ufixed48x16","ufixed48x24","ufixed48x32","ufixed48x40","ufixed48x48","ufixed48x56","ufixed48x64","ufixed48x72","ufixed48x80","ufixed48x88","ufixed48x96","ufixed48x104","ufixed48x112","ufixed48x120","ufixed48x128","ufixed48x136","ufixed48x144","ufixed48x152","ufixed48x160","ufixed48x168","ufixed48x176","ufixed48x184","ufixed48x192","ufixed48x200","ufixed48x208","ufixed56x8","ufixed56x16","ufixed56x24","ufixed56x32","ufixed56x40","ufixed56x48","ufixed56x56","ufixed56x64","ufixed56x72","ufixed56x80","ufixed56x88","ufixed56x96","ufixed56x104","ufixed56x112","ufixed56x120","ufixed56x128","ufixed56x136","ufixed56x144","ufixed56x152","ufixed56x160","ufixed56x168","ufixed56x176","ufixed56x184","ufixed56x192","ufixed56x200","ufixed64x8","ufixed64x16","ufixed64x24","ufixed64x32","ufixed64x40","ufixed64x48","ufixed64x56","ufixed64x64","ufixed64x72","ufixed64x80","ufixed64x88","ufixed64x96","ufixed64x104","ufixed64x112","ufixed64x120","ufixed64x128","ufixed64x136","ufixed64x144","ufixed64x152","ufixed64x160","ufixed64x168","ufixed64x176","ufixed64x184","ufixed64x192","ufixed72x8","ufixed72x16","ufixed72x24","ufixed72x32","ufixed72x40","ufixed72x48","ufixed72x56","ufixed72x64","ufixed72x72","ufixed72x80","ufixed72x88","ufixed72x96","ufixed72x104","ufixed72x112","ufixed72x120","ufixed72x128","ufixed72x136","ufixed72x144","ufixed72x152","ufixed72x160","ufixed72x168","ufixed72x176","ufixed72x184","ufixed80x8","ufixed80x16","ufixed80x24","ufixed80x32","ufixed80x40","ufixed80x48","ufixed80x56","ufixed80x64","ufixed80x72","ufixed80x80","ufixed80x88","ufixed80x96","ufixed80x104","ufixed80x112","ufixed80x120","ufixed80x128","ufixed80x136","ufixed80x144","ufixed80x152","ufixed80x160","ufixed80x168","ufixed80x176","ufixed88x8","ufixed88x16","ufixed88x24","ufixed88x32","ufixed88x40","ufixed88x48","ufixed88x56","ufixed88x64","ufixed88x72","ufixed88x80","ufixed88x88","ufixed88x96","ufixed88x104","ufixed88x112","ufixed88x120","ufixed88x128","ufixed88x136","ufixed88x144","ufixed88x152","ufixed88x160","ufixed88x168","ufixed96x8","ufixed96x16","ufixed96x24","ufixed96x32","ufixed96x40","ufixed96x48","ufixed96x56","ufixed96x64","ufixed96x72","ufixed96x80","ufixed96x88","ufixed96x96","ufixed96x104","ufixed96x112","ufixed96x120","ufixed96x128","ufixed96x136","ufixed96x144","ufixed96x152","ufixed96x160","ufixed104x8","ufixed104x16","ufixed104x24","ufixed104x32","ufixed104x40","ufixed104x48","ufixed104x56","ufixed104x64","ufixed104x72","ufixed104x80","ufixed104x88","ufixed104x96","ufixed104x104","ufixed104x112","ufixed104x120","ufixed104x128","ufixed104x136","ufixed104x144","ufixed104x152","ufixed112x8","ufixed112x16","ufixed112x24","ufixed112x32","ufixed112x40","ufixed112x48","ufixed112x56","ufixed112x64","ufixed112x72","ufixed112x80","ufixed112x88","ufixed112x96","ufixed112x104","ufixed112x112","ufixed112x120","ufixed112x128","ufixed112x136","ufixed112x144","ufixed120x8","ufixed120x16","ufixed120x24","ufixed120x32","ufixed120x40","ufixed120x48","ufixed120x56","ufixed120x64","ufixed120x72","ufixed120x80","ufixed120x88","ufixed120x96","ufixed120x104","ufixed120x112","ufixed120x120","ufixed120x128","ufixed120x136","ufixed128x8","ufixed128x16","ufixed128x24","ufixed128x32","ufixed128x40","ufixed128x48","ufixed128x56","ufixed128x64","ufixed128x72","ufixed128x80","ufixed128x88","ufixed128x96","ufixed128x104","ufixed128x112","ufixed128x120","ufixed128x128","ufixed136x8","ufixed136x16","ufixed136x24","ufixed136x32","ufixed136x40","ufixed136x48","ufixed136x56","ufixed136x64","ufixed136x72","ufixed136x80","ufixed136x88","ufixed136x96","ufixed136x104","ufixed136x112","ufixed136x120","ufixed144x8","ufixed144x16","ufixed144x24","ufixed144x32","ufixed144x40","ufixed144x48","ufixed144x56","ufixed144x64","ufixed144x72","ufixed144x80","ufixed144x88","ufixed144x96","ufixed144x104","ufixed144x112","ufixed152x8","ufixed152x16","ufixed152x24","ufixed152x32","ufixed152x40","ufixed152x48","ufixed152x56","ufixed152x64","ufixed152x72","ufixed152x80","ufixed152x88","ufixed152x96","ufixed152x104","ufixed160x8","ufixed160x16","ufixed160x24","ufixed160x32","ufixed160x40","ufixed160x48","ufixed160x56","ufixed160x64","ufixed160x72","ufixed160x80","ufixed160x88","ufixed160x96","ufixed168x8","ufixed168x16","ufixed168x24","ufixed168x32","ufixed168x40","ufixed168x48","ufixed168x56","ufixed168x64","ufixed168x72","ufixed168x80","ufixed168x88","ufixed176x8","ufixed176x16","ufixed176x24","ufixed176x32","ufixed176x40","ufixed176x48","ufixed176x56","ufixed176x64","ufixed176x72","ufixed176x80","ufixed184x8","ufixed184x16","ufixed184x24","ufixed184x32","ufixed184x40","ufixed184x48","ufixed184x56","ufixed184x64","ufixed184x72","ufixed192x8","ufixed192x16","ufixed192x24","ufixed192x32","ufixed192x40","ufixed192x48","ufixed192x56","ufixed192x64","ufixed200x8","ufixed200x16","ufixed200x24","ufixed200x32","ufixed200x40","ufixed200x48","ufixed200x56","ufixed208x8","ufixed208x16","ufixed208x24","ufixed208x32","ufixed208x40","ufixed208x48","ufixed216x8","ufixed216x16","ufixed216x24","ufixed216x32","ufixed216x40","ufixed224x8","ufixed224x16","ufixed224x24","ufixed224x32","ufixed232x8","ufixed232x16","ufixed232x24","ufixed240x8","ufixed240x16","ufixed248x8","event","enum","let","mapping","private","public","external","inherited","payable","true","false","var","import","constant","if","else","for","else","for","while","do","break","continue","throw","returns","return","suicide","new","is","this","super"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/43.bundle.js b/shepherd/blueprints/staticroutes/editor/43.bundle.js deleted file mode 100644 index 6cd995e..0000000 --- a/shepherd/blueprints/staticroutes/editor/43.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{599:function(E,T,R){"use strict";R.r(T),R.d(T,"conf",(function(){return A})),R.d(T,"language",(function(){return I}));var A={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},I={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ABORT_AFTER_WAIT","ABSENT","ABSOLUTE","ACCENT_SENSITIVITY","ACTION","ACTIVATION","ACTIVE","ADD","ADDRESS","ADMIN","AES","AES_128","AES_192","AES_256","AFFINITY","AFTER","AGGREGATE","ALGORITHM","ALL_CONSTRAINTS","ALL_ERRORMSGS","ALL_INDEXES","ALL_LEVELS","ALL_SPARSE_COLUMNS","ALLOW_CONNECTIONS","ALLOW_MULTIPLE_EVENT_LOSS","ALLOW_PAGE_LOCKS","ALLOW_ROW_LOCKS","ALLOW_SINGLE_EVENT_LOSS","ALLOW_SNAPSHOT_ISOLATION","ALLOWED","ALTER","ANONYMOUS","ANSI_DEFAULTS","ANSI_NULL_DEFAULT","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_NULLS","ANSI_PADDING","ANSI_WARNINGS","APPEND","APPLICATION","APPLICATION_LOG","ARITHABORT","ARITHIGNORE","AS","ASC","ASSEMBLY","ASYMMETRIC","ASYNCHRONOUS_COMMIT","AT","ATOMIC","ATTACH","ATTACH_REBUILD_LOG","AUDIT","AUDIT_GUID","AUTHENTICATION","AUTHORIZATION","AUTO","AUTO_CLEANUP","AUTO_CLOSE","AUTO_CREATE_STATISTICS","AUTO_SHRINK","AUTO_UPDATE_STATISTICS","AUTO_UPDATE_STATISTICS_ASYNC","AUTOMATED_BACKUP_PREFERENCE","AUTOMATIC","AVAILABILITY","AVAILABILITY_MODE","BACKUP","BACKUP_PRIORITY","BASE64","BATCHSIZE","BEGIN","BEGIN_DIALOG","BIGINT","BINARY","BINDING","BIT","BLOCKERS","BLOCKSIZE","BOUNDING_BOX","BREAK","BROKER","BROKER_INSTANCE","BROWSE","BUCKET_COUNT","BUFFER","BUFFERCOUNT","BULK","BULK_LOGGED","BY","CACHE","CALL","CALLED","CALLER","CAP_CPU_PERCENT","CASCADE","CASE","CATALOG","CATCH","CELLS_PER_OBJECT","CERTIFICATE","CHANGE_RETENTION","CHANGE_TRACKING","CHANGES","CHAR","CHARACTER","CHECK","CHECK_CONSTRAINTS","CHECK_EXPIRATION","CHECK_POLICY","CHECKALLOC","CHECKCATALOG","CHECKCONSTRAINTS","CHECKDB","CHECKFILEGROUP","CHECKIDENT","CHECKPOINT","CHECKTABLE","CLASSIFIER_FUNCTION","CLEANTABLE","CLEANUP","CLEAR","CLOSE","CLUSTER","CLUSTERED","CODEPAGE","COLLATE","COLLECTION","COLUMN","COLUMN_SET","COLUMNS","COLUMNSTORE","COLUMNSTORE_ARCHIVE","COMMIT","COMMITTED","COMPATIBILITY_LEVEL","COMPRESSION","COMPUTE","CONCAT","CONCAT_NULL_YIELDS_NULL","CONFIGURATION","CONNECT","CONSTRAINT","CONTAINMENT","CONTENT","CONTEXT","CONTINUE","CONTINUE_AFTER_ERROR","CONTRACT","CONTRACT_NAME","CONTROL","CONVERSATION","COOKIE","COPY_ONLY","COUNTER","CPU","CREATE","CREATE_NEW","CREATION_DISPOSITION","CREDENTIAL","CRYPTOGRAPHIC","CUBE","CURRENT","CURRENT_DATE","CURSOR","CURSOR_CLOSE_ON_COMMIT","CURSOR_DEFAULT","CYCLE","DATA","DATA_COMPRESSION","DATA_PURITY","DATABASE","DATABASE_DEFAULT","DATABASE_MIRRORING","DATABASE_SNAPSHOT","DATAFILETYPE","DATE","DATE_CORRELATION_OPTIMIZATION","DATEFIRST","DATEFORMAT","DATETIME","DATETIME2","DATETIMEOFFSET","DAY","DAYOFYEAR","DAYS","DB_CHAINING","DBCC","DBREINDEX","DDL_DATABASE_LEVEL_EVENTS","DEADLOCK_PRIORITY","DEALLOCATE","DEC","DECIMAL","DECLARE","DECRYPTION","DEFAULT","DEFAULT_DATABASE","DEFAULT_FULLTEXT_LANGUAGE","DEFAULT_LANGUAGE","DEFAULT_SCHEMA","DEFINITION","DELAY","DELAYED_DURABILITY","DELETE","DELETED","DENSITY_VECTOR","DENY","DEPENDENTS","DES","DESC","DESCRIPTION","DESX","DHCP","DIAGNOSTICS","DIALOG","DIFFERENTIAL","DIRECTORY_NAME","DISABLE","DISABLE_BROKER","DISABLED","DISK","DISTINCT","DISTRIBUTED","DOCUMENT","DOUBLE","DROP","DROP_EXISTING","DROPCLEANBUFFERS","DUMP","DURABILITY","DYNAMIC","EDITION","ELEMENTS","ELSE","EMERGENCY","EMPTY","EMPTYFILE","ENABLE","ENABLE_BROKER","ENABLED","ENCRYPTION","END","ENDPOINT","ENDPOINT_URL","ERRLVL","ERROR","ERROR_BROKER_CONVERSATIONS","ERRORFILE","ESCAPE","ESTIMATEONLY","EVENT","EVENT_RETENTION_MODE","EXEC","EXECUTABLE","EXECUTE","EXIT","EXPAND","EXPIREDATE","EXPIRY_DATE","EXPLICIT","EXTENDED_LOGICAL_CHECKS","EXTENSION","EXTERNAL","EXTERNAL_ACCESS","FAIL_OPERATION","FAILOVER","FAILOVER_MODE","FAILURE_CONDITION_LEVEL","FALSE","FAN_IN","FAST","FAST_FORWARD","FETCH","FIELDTERMINATOR","FILE","FILEGROUP","FILEGROWTH","FILELISTONLY","FILENAME","FILEPATH","FILESTREAM","FILESTREAM_ON","FILETABLE_COLLATE_FILENAME","FILETABLE_DIRECTORY","FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME","FILETABLE_NAMESPACE","FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME","FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME","FILLFACTOR","FILTERING","FIRE_TRIGGERS","FIRST","FIRSTROW","FLOAT","FMTONLY","FOLLOWING","FOR","FORCE","FORCE_FAILOVER_ALLOW_DATA_LOSS","FORCE_SERVICE_ALLOW_DATA_LOSS","FORCED","FORCEPLAN","FORCESCAN","FORCESEEK","FOREIGN","FORMATFILE","FORMSOF","FORWARD_ONLY","FREE","FREEPROCCACHE","FREESESSIONCACHE","FREESYSTEMCACHE","FROM","FULL","FULLSCAN","FULLTEXT","FUNCTION","GB","GEOGRAPHY_AUTO_GRID","GEOGRAPHY_GRID","GEOMETRY_AUTO_GRID","GEOMETRY_GRID","GET","GLOBAL","GO","GOTO","GOVERNOR","GRANT","GRIDS","GROUP","GROUP_MAX_REQUESTS","HADR","HASH","HASHED","HAVING","HEADERONLY","HEALTH_CHECK_TIMEOUT","HELP","HIERARCHYID","HIGH","HINT","HISTOGRAM","HOLDLOCK","HONOR_BROKER_PRIORITY","HOUR","HOURS","IDENTITY","IDENTITY_INSERT","IDENTITY_VALUE","IDENTITYCOL","IF","IGNORE_CONSTRAINTS","IGNORE_DUP_KEY","IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX","IGNORE_TRIGGERS","IMAGE","IMMEDIATE","IMPERSONATE","IMPLICIT_TRANSACTIONS","IMPORTANCE","INCLUDE","INCREMENT","INCREMENTAL","INDEX","INDEXDEFRAG","INFINITE","INFLECTIONAL","INIT","INITIATOR","INPUT","INPUTBUFFER","INSENSITIVE","INSERT","INSERTED","INSTEAD","INT","INTEGER","INTO","IO","IP","ISABOUT","ISOLATION","JOB","KB","KEEP","KEEP_CDC","KEEP_NULLS","KEEP_REPLICATION","KEEPDEFAULTS","KEEPFIXED","KEEPIDENTITY","KEEPNULLS","KERBEROS","KEY","KEY_SOURCE","KEYS","KEYSET","KILL","KILOBYTES_PER_BATCH","LABELONLY","LANGUAGE","LAST","LASTROW","LEVEL","LEVEL_1","LEVEL_2","LEVEL_3","LEVEL_4","LIFETIME","LIMIT","LINENO","LIST","LISTENER","LISTENER_IP","LISTENER_PORT","LOAD","LOADHISTORY","LOB_COMPACTION","LOCAL","LOCAL_SERVICE_NAME","LOCK_ESCALATION","LOCK_TIMEOUT","LOGIN","LOGSPACE","LOOP","LOW","MANUAL","MARK","MARK_IN_USE_FOR_REMOVAL","MASTER","MAX_CPU_PERCENT","MAX_DISPATCH_LATENCY","MAX_DOP","MAX_DURATION","MAX_EVENT_SIZE","MAX_FILES","MAX_IOPS_PER_VOLUME","MAX_MEMORY","MAX_MEMORY_PERCENT","MAX_QUEUE_READERS","MAX_ROLLOVER_FILES","MAX_SIZE","MAXDOP","MAXERRORS","MAXLENGTH","MAXRECURSION","MAXSIZE","MAXTRANSFERSIZE","MAXVALUE","MB","MEDIADESCRIPTION","MEDIANAME","MEDIAPASSWORD","MEDIUM","MEMBER","MEMORY_OPTIMIZED","MEMORY_OPTIMIZED_DATA","MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT","MEMORY_PARTITION_MODE","MERGE","MESSAGE","MESSAGE_FORWARD_SIZE","MESSAGE_FORWARDING","MICROSECOND","MILLISECOND","MIN_CPU_PERCENT","MIN_IOPS_PER_VOLUME","MIN_MEMORY_PERCENT","MINUTE","MINUTES","MINVALUE","MIRROR","MIRROR_ADDRESS","MODIFY","MONEY","MONTH","MOVE","MULTI_USER","MUST_CHANGE","NAME","NANOSECOND","NATIONAL","NATIVE_COMPILATION","NCHAR","NEGOTIATE","NESTED_TRIGGERS","NEW_ACCOUNT","NEW_BROKER","NEW_PASSWORD","NEWNAME","NEXT","NO","NO_BROWSETABLE","NO_CHECKSUM","NO_COMPRESSION","NO_EVENT_LOSS","NO_INFOMSGS","NO_TRUNCATE","NO_WAIT","NOCHECK","NOCOUNT","NOEXEC","NOEXPAND","NOFORMAT","NOINDEX","NOINIT","NOLOCK","NON","NON_TRANSACTED_ACCESS","NONCLUSTERED","NONE","NORECOMPUTE","NORECOVERY","NORESEED","NORESET","NOREWIND","NORMAL","NOSKIP","NOTIFICATION","NOTRUNCATE","NOUNLOAD","NOWAIT","NTEXT","NTLM","NUMANODE","NUMERIC","NUMERIC_ROUNDABORT","NVARCHAR","OBJECT","OF","OFF","OFFLINE","OFFSET","OFFSETS","OLD_ACCOUNT","OLD_PASSWORD","ON","ON_FAILURE","ONLINE","ONLY","OPEN","OPEN_EXISTING","OPENTRAN","OPTIMISTIC","OPTIMIZE","OPTION","ORDER","OUT","OUTPUT","OUTPUTBUFFER","OVER","OVERRIDE","OWNER","OWNERSHIP","PAD_INDEX","PAGE","PAGE_VERIFY","PAGECOUNT","PAGLOCK","PARAMETERIZATION","PARSEONLY","PARTIAL","PARTITION","PARTITIONS","PARTNER","PASSWORD","PATH","PER_CPU","PER_NODE","PERCENT","PERMISSION_SET","PERSISTED","PHYSICAL_ONLY","PLAN","POISON_MESSAGE_HANDLING","POOL","POPULATION","PORT","PRECEDING","PRECISION","PRIMARY","PRIMARY_ROLE","PRINT","PRIOR","PRIORITY","PRIORITY_LEVEL","PRIVATE","PRIVILEGES","PROC","PROCCACHE","PROCEDURE","PROCEDURE_NAME","PROCESS","PROFILE","PROPERTY","PROPERTY_DESCRIPTION","PROPERTY_INT_ID","PROPERTY_SET_GUID","PROVIDER","PROVIDER_KEY_NAME","PUBLIC","PUT","QUARTER","QUERY","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUEUE_DELAY","QUOTED_IDENTIFIER","RAISERROR","RANGE","RAW","RC2","RC4","RC4_128","READ","READ_COMMITTED_SNAPSHOT","READ_ONLY","READ_ONLY_ROUTING_LIST","READ_ONLY_ROUTING_URL","READ_WRITE","READ_WRITE_FILEGROUPS","READCOMMITTED","READCOMMITTEDLOCK","READONLY","READPAST","READTEXT","READUNCOMMITTED","READWRITE","REAL","REBUILD","RECEIVE","RECOMPILE","RECONFIGURE","RECOVERY","RECURSIVE","RECURSIVE_TRIGGERS","REFERENCES","REGENERATE","RELATED_CONVERSATION","RELATED_CONVERSATION_GROUP","RELATIVE","REMOTE","REMOTE_PROC_TRANSACTIONS","REMOTE_SERVICE_NAME","REMOVE","REORGANIZE","REPAIR_ALLOW_DATA_LOSS","REPAIR_FAST","REPAIR_REBUILD","REPEATABLE","REPEATABLEREAD","REPLICA","REPLICATION","REQUEST_MAX_CPU_TIME_SEC","REQUEST_MAX_MEMORY_GRANT_PERCENT","REQUEST_MEMORY_GRANT_TIMEOUT_SEC","REQUIRED","RESAMPLE","RESEED","RESERVE_DISK_SPACE","RESET","RESOURCE","RESTART","RESTORE","RESTRICT","RESTRICTED_USER","RESULT","RESUME","RETAINDAYS","RETENTION","RETURN","RETURNS","REVERT","REVOKE","REWIND","REWINDONLY","ROBUST","ROLE","ROLLBACK","ROLLUP","ROOT","ROUTE","ROW","ROWCOUNT","ROWGUIDCOL","ROWLOCK","ROWS","ROWS_PER_BATCH","ROWTERMINATOR","ROWVERSION","RSA_1024","RSA_2048","RSA_512","RULE","SAFE","SAFETY","SAMPLE","SAVE","SCHEDULER","SCHEMA","SCHEMA_AND_DATA","SCHEMA_ONLY","SCHEMABINDING","SCHEME","SCROLL","SCROLL_LOCKS","SEARCH","SECOND","SECONDARY","SECONDARY_ONLY","SECONDARY_ROLE","SECONDS","SECRET","SECURITY_LOG","SECURITYAUDIT","SELECT","SELECTIVE","SELF","SEND","SENT","SEQUENCE","SERIALIZABLE","SERVER","SERVICE","SERVICE_BROKER","SERVICE_NAME","SESSION","SESSION_TIMEOUT","SET","SETS","SETUSER","SHOW_STATISTICS","SHOWCONTIG","SHOWPLAN","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SHRINKDATABASE","SHRINKFILE","SHUTDOWN","SID","SIGNATURE","SIMPLE","SINGLE_BLOB","SINGLE_CLOB","SINGLE_NCLOB","SINGLE_USER","SINGLETON","SIZE","SKIP","SMALLDATETIME","SMALLINT","SMALLMONEY","SNAPSHOT","SORT_IN_TEMPDB","SOURCE","SPARSE","SPATIAL","SPATIAL_WINDOW_MAX_CELLS","SPECIFICATION","SPLIT","SQL","SQL_VARIANT","SQLPERF","STANDBY","START","START_DATE","STARTED","STARTUP_STATE","STAT_HEADER","STATE","STATEMENT","STATIC","STATISTICAL_SEMANTICS","STATISTICS","STATISTICS_INCREMENTAL","STATISTICS_NORECOMPUTE","STATS","STATS_STREAM","STATUS","STATUSONLY","STOP","STOP_ON_ERROR","STOPAT","STOPATMARK","STOPBEFOREMARK","STOPLIST","STOPPED","SUBJECT","SUBSCRIPTION","SUPPORTED","SUSPEND","SWITCH","SYMMETRIC","SYNCHRONOUS_COMMIT","SYNONYM","SYSNAME","SYSTEM","TABLE","TABLERESULTS","TABLESAMPLE","TABLOCK","TABLOCKX","TAKE","TAPE","TARGET","TARGET_RECOVERY_TIME","TB","TCP","TEXT","TEXTIMAGE_ON","TEXTSIZE","THEN","THESAURUS","THROW","TIES","TIME","TIMEOUT","TIMER","TIMESTAMP","TINYINT","TO","TOP","TORN_PAGE_DETECTION","TRACEOFF","TRACEON","TRACESTATUS","TRACK_CAUSALITY","TRACK_COLUMNS_UPDATED","TRAN","TRANSACTION","TRANSFER","TRANSFORM_NOISE_WORDS","TRIGGER","TRIPLE_DES","TRIPLE_DES_3KEY","TRUE","TRUNCATE","TRUNCATEONLY","TRUSTWORTHY","TRY","TSQL","TWO_DIGIT_YEAR_CUTOFF","TYPE","TYPE_WARNING","UNBOUNDED","UNCHECKED","UNCOMMITTED","UNDEFINED","UNIQUE","UNIQUEIDENTIFIER","UNKNOWN","UNLIMITED","UNLOAD","UNSAFE","UPDATE","UPDATETEXT","UPDATEUSAGE","UPDLOCK","URL","USE","USED","USER","USEROPTIONS","USING","VALID_XML","VALIDATION","VALUE","VALUES","VARBINARY","VARCHAR","VARYING","VERIFYONLY","VERSION","VIEW","VIEW_METADATA","VIEWS","VISIBILITY","WAIT_AT_LOW_PRIORITY","WAITFOR","WEEK","WEIGHT","WELL_FORMED_XML","WHEN","WHERE","WHILE","WINDOWS","WITH","WITHIN","WITHOUT","WITNESS","WORK","WORKLOAD","WRITETEXT","XACT_ABORT","XLOCK","XMAX","XMIN","XML","XMLDATA","XMLNAMESPACES","XMLSCHEMA","XQUERY","XSINIL","YEAR","YMAX","YMIN"],operators:["ALL","AND","ANY","BETWEEN","EXISTS","IN","LIKE","NOT","OR","SOME","EXCEPT","INTERSECT","UNION","APPLY","CROSS","FULL","INNER","JOIN","LEFT","OUTER","RIGHT","CONTAINS","FREETEXT","IS","NULL","PIVOT","UNPIVOT","MATCHED"],builtinFunctions:["AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","SUM","STDEV","STDEVP","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","COLLATE","COLLATIONPROPERTY","TERTIARY_WEIGHTS","FEDERATION_FILTERING_VALUE","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","CURRENT_TIMESTAMP","DATEADD","DATEDIFF","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","CHOOSE","COALESCE","IIF","NULLIF","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASE_PRINCIPAL_ID","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHAR","CHARINDEX","CONCAT","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STUFF","SUBSTRING","UNICODE","UPPER","BINARY_CHECKSUM","CHECKSUM","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","ERROR_LINE","ERROR_NUMBER","ERROR_MESSAGE","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GETANSINULL","GET_FILESTREAM_TRANSACTION_CONTEXT","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","XACT_STATE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","CHANGETABLE","CHANGE_TRACKING_CONTEXT","CHANGE_TRACKING_CURRENT_VERSION","CHANGE_TRACKING_IS_COLUMN_IN_MASK","CHANGE_TRACKING_MIN_VALID_VERSION","CONTAINSTABLE","FREETEXTTABLE","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","FILETABLEROOTPATH","GETFILENAMESPACEPATH","GETPATHLOCATOR","PATHNAME","GET_TRANSMISSION_STATUS"],builtinVariables:["@@DATEFIRST","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","@@CURSOR_ROWS","@@FETCH_STATUS","@@DATEFIRST","@@PROCID","@@ERROR","@@IDENTITY","@@ROWCOUNT","@@TRANCOUNT","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACKET_ERRORS","@@PACK_RECEIVED","@@PACK_SENT","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE"],pseudoColumns:["$ACTION","$IDENTITY","$ROWGUID","$PARTITION"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,"keyword"],[/BEGIN\s+TRY\b/i,{token:"keyword.try"}],[/END\s+TRY\b/i,{token:"keyword.try"}],[/BEGIN\s+CATCH\b/i,{token:"keyword.catch"}],[/END\s+CATCH\b/i,{token:"keyword.catch"}],[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/44.bundle.js b/shepherd/blueprints/staticroutes/editor/44.bundle.js deleted file mode 100644 index 19482c1..0000000 --- a/shepherd/blueprints/staticroutes/editor/44.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{600:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return r}));var t={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["var","end_var"],["var_input","end_var"],["var_output","end_var"],["var_in_out","end_var"],["var_temp","end_var"],["var_global","end_var"],["var_access","end_var"],["var_external","end_var"],["type","end_type"],["struct","end_struct"],["program","end_program"],["function","end_function"],["function_block","end_function_block"],["action","end_action"],["step","end_step"],["initial_step","end_step"],["transaction","end_transaction"],["configuration","end_configuration"],["tcp","end_tcp"],["recource","end_recource"],["channel","end_channel"],["library","end_library"],["folder","end_folder"],["binaries","end_binaries"],["includes","end_includes"],["sources","end_sources"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"/*",close:"*/"},{open:"'",close:"'",notIn:["string_sq"]},{open:'"',close:'"',notIn:["string_dq"]},{open:"var",close:"end_var"},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"var",close:"end_var"},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},r={defaultToken:"",tokenPostfix:".st",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","end_if","elsif","else","case","of","to","do","with","by","while","repeat","end_while","end_repeat","end_case","for","end_for","task","retain","non_retain","constant","with","at","exit","return","interval","priority","address","port","on_channel","then","iec","file","uses","version","packagetype","displayname","copyright","summary","vendor","common_source","from"],constant:["false","true","null"],defineKeywords:["var","var_input","var_output","var_in_out","var_temp","var_global","var_access","var_external","end_var","type","end_type","struct","end_struct","program","end_program","function","end_function","function_block","end_function_block","configuration","end_configuration","tcp","end_tcp","recource","end_recource","channel","end_channel","library","end_library","folder","end_folder","binaries","end_binaries","includes","end_includes","sources","end_sources","action","end_action","step","initial_step","end_step","transaction","end_transaction"],typeKeywords:["int","sint","dint","lint","usint","uint","udint","ulint","real","lreal","time","date","time_of_day","date_and_time","string","bool","byte","world","dworld","array","pointer","lworld"],operators:["=",">","<",":",":=","<=",">=","<>","&","+","-","*","**","MOD","^","or","and","not","xor","abs","acos","asin","atan","cos","exp","expt","ln","log","sin","sqrt","tan","sel","max","min","limit","mux","shl","shr","rol","ror","indexof","sizeof","adr","adrinst","bitadr","is_valid"],builtinVariables:[],builtinFunctions:["sr","rs","tp","ton","tof","eq","ge","le","lt","ne","round","trunc","ctd","сtu","ctud","r_trig","f_trig","move","concat","delete","find","insert","left","len","replace","right","rtc"],symbols:/[=>`?!+*\\\/]/,operatorstart:/[\/=\-+!*%<>&|^~?\u00A1-\u00A7\u00A9\u00AB\u00AC\u00AE\u00B0-\u00B1\u00B6\u00BB\u00BF\u00D7\u00F7\u2016-\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001-\u3003\u3008-\u3030]/,operatorend:/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\uE0100-\uE01EF]/,operators:/(@operatorstart)((@operatorstart)|(@operatorend))*/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@comment"},{include:"@attribute"},{include:"@literal"},{include:"@keyword"},{include:"@invokedmethod"},{include:"@symbol"}],symbol:[[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/[.]/,"delimiter"],[/@operators/,"operator"],[/@symbols/,"operator"]],comment:[[/\/\/\/.*$/,"comment.doc"],[/\/\*\*/,"comment.doc","@commentdocbody"],[/\/\/.*$/,"comment"],[/\/\*/,"comment","@commentbody"]],commentdocbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment.doc","@pop"],[/\:[a-zA-Z]+\:/,"comment.doc.param"],[/./,"comment.doc"]],commentbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment","@pop"],[/./,"comment"]],attribute:[[/\@@identifier/,{cases:{"@attributes":"keyword.control","@default":""}}]],literal:[[/"/,{token:"string.quote",next:"@stringlit"}],[/0[b]([01]_?)+/,"number.binary"],[/0[o]([0-7]_?)+/,"number.octal"],[/0[x]([0-9a-fA-F]_?)+([pP][\-+](\d_?)+)?/,"number.hex"],[/(\d_?)*\.(\d_?)+([eE][\-+]?(\d_?)+)?/,"number.float"],[/(\d_?)+/,"number"]],stringlit:[[/\\\(/,{token:"operator",next:"@interpolatedexpression"}],[/@escapes/,"string"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}],[/./,"string"]],interpolatedexpression:[[/\(/,{token:"operator",next:"@interpolatedexpression"}],[/\)/,{token:"operator",next:"@pop"}],{include:"@literal"},{include:"@keyword"},{include:"@symbol"}],keyword:[[/`/,{token:"operator",next:"@escapedkeyword"}],[/@identifier/,{cases:{"@keywords":"keyword","[A-Z][a-zA-Z0-9$]*":"type.identifier","@default":"identifier"}}]],escapedkeyword:[[/`/,{token:"operator",next:"@pop"}],[/./,"identifier"]],invokedmethod:[[/([.])(@identifier)/,{cases:{$2:["delimeter","type.identifier"],"@default":""}}]]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/46.bundle.js b/shepherd/blueprints/staticroutes/editor/46.bundle.js deleted file mode 100644 index 067ba3b..0000000 --- a/shepherd/blueprints/staticroutes/editor/46.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{562:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return r})),t.d(n,"language",(function(){return i}));var o="undefined"==typeof monaco?self.monaco:monaco,r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:o.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:o.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:o.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:o.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},i={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","as","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","package","private","protected","public","readonly","require","global","return","set","static","super","switch","symbol","this","throw","true","try","type","typeof","unique","var","void","while","with","yield","async","await","of"],typeKeywords:["any","boolean","number","object","string","undefined"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)/,"number.hex"],[/0(@octaldigits)/,"number.octal"],[/0[bB](@binarydigits)/,"number.binary"],[/(@digits)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],["/",{token:"regexp",bracket:"@close"},"@pop"]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,"@brackets.regexp.escape.control","@pop"]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}}}]); \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/47.bundle.js b/shepherd/blueprints/staticroutes/editor/47.bundle.js deleted file mode 100644 index 75aca6e..0000000 --- a/shepherd/blueprints/staticroutes/editor/47.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{602:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return r}));var t={comments:{lineComment:"'",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"],["addhandler","end addhandler"],["class","end class"],["enum","end enum"],["event","end event"],["function","end function"],["get","end get"],["if","end if"],["interface","end interface"],["module","end module"],["namespace","end namespace"],["operator","end operator"],["property","end property"],["raiseevent","end raiseevent"],["removehandler","end removehandler"],["select","end select"],["set","end set"],["structure","end structure"],["sub","end sub"],["synclock","end synclock"],["try","end try"],["while","end while"],["with","end with"],["using","end using"],["do","loop"],["for","next"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"<",close:">",notIn:["string","comment"]}],folding:{markers:{start:new RegExp("^\\s*#Region\\b"),end:new RegExp("^\\s*#End Region\\b")}}},r={defaultToken:"",tokenPostfix:".vb",ignoreCase:!0,brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.angle",open:"<",close:">"},{token:"keyword.tag-addhandler",open:"addhandler",close:"end addhandler"},{token:"keyword.tag-class",open:"class",close:"end class"},{token:"keyword.tag-enum",open:"enum",close:"end enum"},{token:"keyword.tag-event",open:"event",close:"end event"},{token:"keyword.tag-function",open:"function",close:"end function"},{token:"keyword.tag-get",open:"get",close:"end get"},{token:"keyword.tag-if",open:"if",close:"end if"},{token:"keyword.tag-interface",open:"interface",close:"end interface"},{token:"keyword.tag-module",open:"module",close:"end module"},{token:"keyword.tag-namespace",open:"namespace",close:"end namespace"},{token:"keyword.tag-operator",open:"operator",close:"end operator"},{token:"keyword.tag-property",open:"property",close:"end property"},{token:"keyword.tag-raiseevent",open:"raiseevent",close:"end raiseevent"},{token:"keyword.tag-removehandler",open:"removehandler",close:"end removehandler"},{token:"keyword.tag-select",open:"select",close:"end select"},{token:"keyword.tag-set",open:"set",close:"end set"},{token:"keyword.tag-structure",open:"structure",close:"end structure"},{token:"keyword.tag-sub",open:"sub",close:"end sub"},{token:"keyword.tag-synclock",open:"synclock",close:"end synclock"},{token:"keyword.tag-try",open:"try",close:"end try"},{token:"keyword.tag-while",open:"while",close:"end while"},{token:"keyword.tag-with",open:"with",close:"end with"},{token:"keyword.tag-using",open:"using",close:"end using"},{token:"keyword.tag-do",open:"do",close:"loop"},{token:"keyword.tag-for",open:"for",close:"next"}],keywords:["AddHandler","AddressOf","Alias","And","AndAlso","As","Async","Boolean","ByRef","Byte","ByVal","Call","Case","Catch","CBool","CByte","CChar","CDate","CDbl","CDec","Char","CInt","Class","CLng","CObj","Const","Continue","CSByte","CShort","CSng","CStr","CType","CUInt","CULng","CUShort","Date","Decimal","Declare","Default","Delegate","Dim","DirectCast","Do","Double","Each","Else","ElseIf","End","EndIf","Enum","Erase","Error","Event","Exit","False","Finally","For","Friend","Function","Get","GetType","GetXMLNamespace","Global","GoSub","GoTo","Handles","If","Implements","Imports","In","Inherits","Integer","Interface","Is","IsNot","Let","Lib","Like","Long","Loop","Me","Mod","Module","MustInherit","MustOverride","MyBase","MyClass","NameOf","Namespace","Narrowing","New","Next","Not","Nothing","NotInheritable","NotOverridable","Object","Of","On","Operator","Option","Optional","Or","OrElse","Out","Overloads","Overridable","Overrides","ParamArray","Partial","Private","Property","Protected","Public","RaiseEvent","ReadOnly","ReDim","RemoveHandler","Resume","Return","SByte","Select","Set","Shadows","Shared","Short","Single","Static","Step","Stop","String","Structure","Sub","SyncLock","Then","Throw","To","True","Try","TryCast","TypeOf","UInteger","ULong","UShort","Using","Variant","Wend","When","While","Widening","With","WithEvents","WriteOnly","Xor"],tagwords:["If","Sub","Select","Try","Class","Enum","Function","Get","Interface","Module","Namespace","Operator","Set","Structure","Using","While","With","Do","Loop","For","Next","Property","Continue","AddHandler","RemoveHandler","Event","RaiseEvent","SyncLock"],symbols:/[=>"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},o={defaultToken:"",tokenPostfix:".xml",ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,t.html=h(t.html,"i").replace("comment",t._comment).replace("tag",t._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),t.paragraph=h(t.paragraph).replace("hr",t.hr).replace("heading",t.heading).replace("lheading",t.lheading).replace("tag",t._tag).getRegex(),t.blockquote=h(t.blockquote).replace("paragraph",t.paragraph).getRegex(),t.normal=m({},t),t.gfm=m({},t.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),t.gfm.paragraph=h(t.paragraph).replace("(?!","(?!"+t.gfm.fences.source.replace("\\1","\\2")+"|"+t.list.source.replace("\\1","\\3")+"|").getRegex(),t.tables=m({},t.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),t.pedantic=m({},t.normal,{html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",t._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),o.rules=t,o.lex=function(e,t){return new o(t).lex(e)},o.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},o.prototype.token=function(e,o){var n,i,r,s,a,l,u,c,h,d,g,p,f;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e))e=e.substring(r[0].length),r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?r:y(r,"\n")});else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if(o&&(r=this.rules.nptable.exec(e))&&(l={type:"table",header:_(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(r[0].length),c=0;c ?/gm,""),this.token(r,o),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),g=(s=r[2]).length>1,this.tokens.push({type:"list_start",ordered:g,start:g?+s:""}),n=!1,d=(r=r[0].match(this.rules.item)).length,c=0;c1&&a.length>1||(e=r.slice(c+1).join("\n")+e,c=d-1)),i=n||/\n\n(?!\s*$)/.test(l),c!==d-1&&(n="\n"===l.charAt(l.length-1),i||(i=n)),f=void 0,(p=/^\[[ xX]\] /.test(l))&&(f=" "!==l[1],l=l.replace(/^\[[ xX]\] +/,"")),this.tokens.push({type:i?"loose_item_start":"list_item_start",task:p,checked:f}),this.token(l,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(r=this.rules.html.exec(e))e=e.substring(r[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===r[1]||"script"===r[1]||"style"===r[1]),text:r[0]});else if(o&&(r=this.rules.def.exec(e)))e=e.substring(r[0].length),r[3]&&(r[3]=r[3].substring(1,r[3].length-1)),h=r[1].toLowerCase().replace(/\s+/g," "),this.tokens.links[h]||(this.tokens.links[h]={href:r[2],title:r[3]});else if(o&&(r=this.rules.table.exec(e))&&(l={type:"table",header:_(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/(?: *\| *)?\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(r[0].length),c=0;c?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:f,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)|^__([^\s])__(?!_)|^\*\*([^\s])\*\*(?!\*)/,em:/^_([^\s][\s\S]*?[^\s_])_(?!_)|^_([^\s_][\s\S]*?[^\s])_(?!_)|^\*([^\s][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*][\s\S]*?[^\s])\*(?!\*)|^_([^\s_])_(?!_)|^\*([^\s*])\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:f,text:/^[\s\S]+?(?=[\\/g,">").replace(/"/g,""").replace(/'/g,"'")}function c(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}function h(e,t){return e=e.source||e,t=t||"",{replace:function(t,o){return o=(o=o.source||o).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(t,o),this},getRegex:function(){return new RegExp(e,t)}}}function d(e,t){return g[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?g[" "+e]=e+"/":g[" "+e]=y(e,"/",!0)),e=g[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}i._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=h(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,i.tag=h(i.tag).replace("comment",t._comment).replace("attribute",i._attribute).getRegex(),i._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/,i._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f()\\]*\)|[^\s\x00-\x1f()\\])*?)/,i._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,i.link=h(i.link).replace("label",i._label).replace("href",i._href).replace("title",i._title).getRegex(),i.reflink=h(i.reflink).replace("label",i._label).getRegex(),i.normal=m({},i),i.pedantic=m({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:h(/^!?\[(label)\]\((.*?)\)/).replace("label",i._label).getRegex(),reflink:h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",i._label).getRegex()}),i.gfm=m({},i.normal,{escape:h(i.escape).replace("])","~|])").getRegex(),url:h(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",i._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:h(i.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),i.breaks=m({},i.gfm,{br:h(i.br).replace("{2,}","*").getRegex(),text:h(i.gfm.text).replace("{2,}","*").getRegex()}),r.rules=i,r.output=function(e,t,o){return new r(t,o).output(e)},r.prototype.output=function(e){for(var t,o,n,i,s,a="";e;)if(s=this.rules.escape.exec(e))e=e.substring(s[0].length),a+=s[1];else if(s=this.rules.autolink.exec(e))e=e.substring(s[0].length),n="@"===s[2]?"mailto:"+(o=u(this.mangle(s[1]))):o=u(s[1]),a+=this.renderer.link(n,null,o);else if(this.inLink||!(s=this.rules.url.exec(e))){if(s=this.rules.tag.exec(e))!this.inLink&&/^/i.test(s[0])&&(this.inLink=!1),e=e.substring(s[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):u(s[0]):s[0];else if(s=this.rules.link.exec(e))e=e.substring(s[0].length),this.inLink=!0,n=s[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n))?(n=t[1],i=t[3]):i="":i=s[3]?s[3].slice(1,-1):"",n=n.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(s,{href:r.escapes(n),title:r.escapes(i)}),this.inLink=!1;else if((s=this.rules.reflink.exec(e))||(s=this.rules.nolink.exec(e))){if(e=e.substring(s[0].length),t=(s[2]||s[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=s[0].charAt(0),e=s[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(s,t),this.inLink=!1}else if(s=this.rules.strong.exec(e))e=e.substring(s[0].length),a+=this.renderer.strong(this.output(s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.em.exec(e))e=e.substring(s[0].length),a+=this.renderer.em(this.output(s[6]||s[5]||s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.code.exec(e))e=e.substring(s[0].length),a+=this.renderer.codespan(u(s[2].trim(),!0));else if(s=this.rules.br.exec(e))e=e.substring(s[0].length),a+=this.renderer.br();else if(s=this.rules.del.exec(e))e=e.substring(s[0].length),a+=this.renderer.del(this.output(s[1]));else if(s=this.rules.text.exec(e))e=e.substring(s[0].length),a+=this.renderer.text(u(this.smartypants(s[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else s[0]=this.rules._backpedal.exec(s[0])[0],e=e.substring(s[0].length),"@"===s[2]?n="mailto:"+(o=u(s[0])):(o=u(s[0]),n="www."===s[1]?"http://"+o:o),a+=this.renderer.link(n,null,o);return a},r.escapes=function(e){return e?e.replace(r.rules._escapes,"$1"):e},r.prototype.outputLink=function(e,t){var o=t.href,n=t.title?u(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(o,n,this.output(e[1])):this.renderer.image(o,n,u(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,o="",n=e.length,i=0;i.5&&(t="x"+t.toString(16)),o+="&#"+t+";";return o},s.prototype.code=function(e,t,o){if(this.options.highlight){var n=this.options.highlight(e,t);null!=n&&n!==e&&(o=!0,e=n)}return t?'
    '+(o?e:u(e,!0))+"
    \n":"
    "+(o?e:u(e,!0))+"
    "},s.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},s.prototype.html=function(e){return e},s.prototype.heading=function(e,t,o){return this.options.headerIds?"'+e+"\n":""+e+"\n"},s.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},s.prototype.list=function(e,t,o){var n=t?"ol":"ul";return"<"+n+(t&&1!==o?' start="'+o+'"':"")+">\n"+e+"\n"},s.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},s.prototype.checkbox=function(e){return" "},s.prototype.paragraph=function(e){return"

    "+e+"

    \n"},s.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},s.prototype.tablerow=function(e){return"\n"+e+"\n"},s.prototype.tablecell=function(e,t){var o=t.header?"th":"td";return(t.align?"<"+o+' align="'+t.align+'">':"<"+o+">")+e+"\n"},s.prototype.strong=function(e){return""+e+""},s.prototype.em=function(e){return""+e+""},s.prototype.codespan=function(e){return""+e+""},s.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},s.prototype.del=function(e){return""+e+""},s.prototype.link=function(e,t,o){if(this.options.sanitize){try{var n=decodeURIComponent(c(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return o}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return o}this.options.baseUrl&&!p.test(e)&&(e=d(this.options.baseUrl,e));try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return o}var i='
    "},s.prototype.image=function(e,t,o){this.options.baseUrl&&!p.test(e)&&(e=d(this.options.baseUrl,e));var n=''+o+'":">"},s.prototype.text=function(e){return e},a.prototype.strong=a.prototype.em=a.prototype.codespan=a.prototype.del=a.prototype.text=function(e){return e},a.prototype.link=a.prototype.image=function(e,t,o){return""+o},a.prototype.br=function(){return""},l.parse=function(e,t){return new l(t).parse(e)},l.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,m({},this.options,{renderer:new a})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},l.prototype.next=function(){return this.token=this.tokens.pop()},l.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},l.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},l.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,o,n,i="",r="";for(o="",e=0;e=0&&"\\"===o[i];)n=!n;return n?"|":" |"})).split(/ \|/),n=0;if(o.length>t)o.splice(t);else for(;o.lengthAn error occurred:

    "+u(e.message+"",!0)+"
    ";throw e}}f.exec=f,v.options=v.setOptions=function(e){return m(v.defaults,e),v},v.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new s,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},v.defaults=v.getDefaults(),v.Parser=l,v.parser=l.parse,v.Renderer=s,v.TextRenderer=a,v.Lexer=o,v.lexer=o.lex,v.InlineLexer=r,v.inlineLexer=r.output,v.parse=v,n=v}).call(void 0);var l=n;n.Parser,n.parser,n.Renderer,n.TextRenderer,n.Lexer,n.lexer,n.InlineLexer,n.inlineLexer,n.parse;function u(e){var t=e.inline?"span":"div",o=document.createElement(t);return e.className&&(o.className=e.className),o}function c(e,t){void 0===t&&(t={});var o=u(t);return o.textContent=e,o}function h(e,t){void 0===t&&(t={});var o=u(t);return function e(t,o,n){var r;if(2===o.type)r=document.createTextNode(o.content);else if(3===o.type)r=document.createElement("b");else if(4===o.type)r=document.createElement("i");else if(5===o.type&&n){var s=document.createElement("a");s.href="#",n.disposeables.push(i.j(s,"click",(function(e){n.callback(String(o.index),e)}))),r=s}else 7===o.type?r=document.createElement("br"):1===o.type&&(r=t);t!==r&&t.appendChild(r);Array.isArray(o.children)&&o.children.forEach((function(t){e(r,t,n)}))}(o,function(e){var t={type:1,children:[]},o=0,n=t,i=[],r=new g(e);for(;!r.eos();){var s=r.next(),a="\\"===s&&0!==p(r.peek());if(a&&(s=r.next()),a||0===p(s)||s!==r.peek())if("\n"===s)2===n.type&&(n=i.pop()),n.children.push({type:7});else if(2!==n.type){var l={type:2,content:s};n.children.push(l),i.push(n),n=l}else n.content+=s;else{r.advance(),2===n.type&&(n=i.pop());var u=p(s);if(n.type===u||5===n.type&&6===u)n=i.pop();else{var c={type:u,children:[]};5===u&&(c.index=o,o++),n.children.push(c),i.push(n),n=c}}}2===n.type&&(n=i.pop());i.length;return t}(e),t.actionHandler),o}function d(e,t){void 0===t&&(t={});var o,n=u(t),c=new Promise((function(e){return o=e})),h=new l.Renderer;h.image=function(e,t,o){var n=[];if(e){var i=e.split("|").map((function(e){return e.trim()}));e=i[0];var r=i[1];if(r){var s=/height=(\d+)/.exec(r),a=/width=(\d+)/.exec(r),l=s&&s[1],u=a&&a[1],c=isFinite(parseInt(u)),h=isFinite(parseInt(l));c&&n.push('width="'+u+'"'),h&&n.push('height="'+l+'"')}}var d=[];return e&&d.push('src="'+e+'"'),o&&d.push('alt="'+o+'"'),t&&d.push('title="'+t+'"'),n.length&&(d=d.concat(n)),""},h.link=function(t,o,n){return t===n&&(n=Object(a.d)(n)),o=Object(a.d)(o),!(t=Object(a.d)(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted?n:'
    '+n+""},h.paragraph=function(e){return"

    "+e+"

    "},t.codeBlockRenderer&&(h.code=function(e,o){var i=t.codeBlockRenderer(o,e),a=r.b.nextId(),l=Promise.all([i,c]).then((function(e){var t=e[0],o=n.querySelector('div[data-code="'+a+'"]');o&&(o.innerHTML=t)})).catch((function(e){}));return t.codeBlockRenderCallback&&l.then(t.codeBlockRenderCallback),'
    '+Object(s.escape)(e)+"
    "}),t.actionHandler&&t.actionHandler.disposeables.push(i.j(n,"click",(function(e){var o=e.target;if("A"===o.tagName||(o=o.parentElement)&&"A"===o.tagName){var n=o.dataset.href;n&&t.actionHandler.callback(n,e)}})));var d={sanitize:!0,renderer:h};return n.innerHTML=l(e.value,d),o(),n}o.d(t,"c",(function(){return c})),o.d(t,"a",(function(){return h})),o.d(t,"b",(function(){return d}));var g=function(){function e(e){this.source=e,this.index=0}return e.prototype.eos=function(){return this.index>=this.source.length},e.prototype.next=function(){var e=this.peek();return this.advance(),e},e.prototype.peek=function(){return this.source[this.index]},e.prototype.advance=function(){this.index++},e}();function p(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=function(){function e(e,t,o){this.from=0|e,this.to=0|t,this.colorId=0|o}return e.compare=function(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId},e}(),i=function(){function e(e,t,o){this.startLineNumber=e,this.endLineNumber=t,this.color=o,this._colorZone=null}return e.compare=function(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.coloro&&(g=o-p);var f=u.color,m=this._color2Id[f];m||(m=++this._lastAssignedId,this._color2Id[f]=m,this._id2Color[m]=f);var _=new n(g-p,g+p,m);u.setColorZone(_),s.push(_)}return this._colorZonesInvalid=!1,s.sort(n.compare),s},e}()},function(e,t,o){"use strict";for(var n=o(65),i=o(127),r=o(182),s=o(100),a=new Array(256),l=0;l<256;l++)a[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;a[254]=a[254]=1;function u(){s.call(this,"utf-8 decode"),this.leftOver=null}function c(){s.call(this,"utf-8 encode")}t.utf8encode=function(e){return i.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,o,n,r,s,a=e.length,l=0;for(r=0;r>>6,t[s++]=128|63&o):o<65536?(t[s++]=224|o>>>12,t[s++]=128|o>>>6&63,t[s++]=128|63&o):(t[s++]=240|o>>>18,t[s++]=128|o>>>12&63,t[s++]=128|o>>>6&63,t[s++]=128|63&o);return t}(e)},t.utf8decode=function(e){return i.nodebuffer?n.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,o,i,r,s=e.length,l=new Array(2*s);for(o=0,t=0;t4)l[o++]=65533,t+=r-1;else{for(i&=2===r?31:3===r?15:7;r>1&&t1?l[o++]=65533:i<65536?l[o++]=i:(i-=65536,l[o++]=55296|i>>10&1023,l[o++]=56320|1023&i)}return l.length!==o&&(l.subarray?l=l.subarray(0,o):l.length=o),n.applyFromCharCode(l)}(e=n.transformTo(i.uint8array?"uint8array":"array",e))},n.inherits(u,s),u.prototype.processChunk=function(e){var o=n.transformTo(i.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var r=o;(o=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),o.set(r,this.leftOver.length)}else o=this.leftOver.concat(o);this.leftOver=null}var s=function(e,t){var o;for((t=t||e.length)>e.length&&(t=e.length),o=t-1;o>=0&&128==(192&e[o]);)o--;return o<0?t:0===o?t:o+a[e[o]]>t?o:t}(o),l=o;s!==o.length&&(i.uint8array?(l=o.subarray(0,s),this.leftOver=o.subarray(s,o.length)):(l=o.slice(0,s),this.leftOver=o.slice(s,o.length))),this.push({data:t.utf8decode(l),meta:e.meta})},u.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:t.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},t.Utf8DecodeWorker=u,n.inherits(c,s),c.prototype.processChunk=function(e){this.push({data:t.utf8encode(e.data),meta:e.meta})},t.Utf8EncodeWorker=c},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var o=function(){};o.prototype=t.prototype,e.prototype=new o,e.prototype.constructor=e}}},function(e,t,o){(function(e){var n=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function r(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new r(i.call(setTimeout,n,arguments),clearTimeout)},t.setInterval=function(){return new r(i.call(setInterval,n,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(n,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},o(335),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,o(80))},function(e,t,o){"use strict";function n(e,t,o){var n=o?" !== ":" === ",i=o?" || ":" && ",r=o?"!":"",s=o?"":"!";switch(e){case"null":return t+n+"null";case"array":return r+"Array.isArray("+t+")";case"object":return"("+r+t+i+"typeof "+t+n+'"object"'+i+s+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+n+'"number"'+i+s+"("+t+" % 1)"+i+t+n+t+")";default:return"typeof "+t+n+'"'+e+'"'}}e.exports={copy:function(e,t){for(var o in t=t||{},e)t[o]=e[o];return t},checkDataType:n,checkDataTypes:function(e,t){switch(e.length){case 1:return n(e[0],t,!0);default:var o="",i=r(e);for(var s in i.array&&i.object&&(o=i.null?"(":"(!"+t+" || ",o+="typeof "+t+' !== "object")',delete i.null,delete i.array,delete i.object),i.number&&delete i.integer,i)o+=(o?" && ":"")+n(s,t,!0);return o}},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var o=[],n=0;n=t)throw new Error("Cannot access property/index "+n+" levels up, current level is "+t);return o[t-n]}if(n>t)throw new Error("Cannot access data "+n+" levels up, current level is "+t);if(r="data"+(t-n||""),!i)return r}for(var a=r,u=i.split("/"),c=0;c0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},s=this&&this.__spread||function(){for(var e=[],t=0;t=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var l=o(109),u=o(101),c=o(525),h=o(526),d=o(138),g=o(527),p=o(152);!function(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}(o(101));var f,m,_=function(){function e(){}return e.prototype.error=function(e){console.error(e)},e.prototype.warn=function(e){console.warn(e)},e.prototype.info=function(e){console.info(e)},e.prototype.log=function(e){console.log(e)},e}();!function(e){e[e.Continue=1]="Continue",e[e.Shutdown=2]="Shutdown"}(f=t.ErrorAction||(t.ErrorAction={})),function(e){e[e.DoNotRestart=1]="DoNotRestart",e[e.Restart=2]="Restart"}(m=t.CloseAction||(t.CloseAction={}));var y,v,b,E=function(){function e(e){this.name=e,this.restarts=[]}return e.prototype.error=function(e,t,o){return o&&o<=3?f.Continue:f.Shutdown},e.prototype.closed=function(){return this.restarts.push(Date.now()),this.restarts.length<5?m.Restart:this.restarts[this.restarts.length-1]-this.restarts[0]<=18e4?(l.window.showErrorMessage("The "+this.name+" server crashed 5 times in the last 3 minutes. The server will not be restarted."),m.DoNotRestart):(this.restarts.shift(),m.Restart)},e}();!function(e){e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error",e[e.Never=4]="Never"}(y=t.RevealOutputChannelOn||(t.RevealOutputChannelOn={})),function(e){e[e.Stopped=1]="Stopped",e[e.Running=2]="Running"}(v=t.State||(t.State={})),function(e){e[e.Initial=0]="Initial",e[e.Starting=1]="Starting",e[e.StartFailed=2]="StartFailed",e[e.Running=3]="Running",e[e.Stopping=4]="Stopping",e[e.Stopped=5]="Stopped"}(b||(b={}));var C,S=[u.SymbolKind.File,u.SymbolKind.Module,u.SymbolKind.Namespace,u.SymbolKind.Package,u.SymbolKind.Class,u.SymbolKind.Method,u.SymbolKind.Property,u.SymbolKind.Field,u.SymbolKind.Constructor,u.SymbolKind.Enum,u.SymbolKind.Interface,u.SymbolKind.Function,u.SymbolKind.Variable,u.SymbolKind.Constant,u.SymbolKind.String,u.SymbolKind.Number,u.SymbolKind.Boolean,u.SymbolKind.Array,u.SymbolKind.Object,u.SymbolKind.Key,u.SymbolKind.Null,u.SymbolKind.EnumMember,u.SymbolKind.Struct,u.SymbolKind.Event,u.SymbolKind.Operator,u.SymbolKind.TypeParameter],T=[u.CompletionItemKind.Text,u.CompletionItemKind.Method,u.CompletionItemKind.Function,u.CompletionItemKind.Constructor,u.CompletionItemKind.Field,u.CompletionItemKind.Variable,u.CompletionItemKind.Class,u.CompletionItemKind.Interface,u.CompletionItemKind.Module,u.CompletionItemKind.Property,u.CompletionItemKind.Unit,u.CompletionItemKind.Value,u.CompletionItemKind.Enum,u.CompletionItemKind.Keyword,u.CompletionItemKind.Snippet,u.CompletionItemKind.Color,u.CompletionItemKind.File,u.CompletionItemKind.Reference,u.CompletionItemKind.Folder,u.CompletionItemKind.EnumMember,u.CompletionItemKind.Constant,u.CompletionItemKind.Struct,u.CompletionItemKind.Event,u.CompletionItemKind.Operator,u.CompletionItemKind.TypeParameter];function w(e,t){return void 0===e[t]&&(e[t]={}),e[t]}!function(e){e.is=function(e){var t=e;return t&&d.func(t.register)&&d.func(t.unregister)&&d.func(t.dispose)&&void 0!==t.messages}}(C||(C={}));var k=function(){function e(e,t,o,n,i,r){this._client=e,this._event=t,this._type=o,this._middleware=n,this._createParams=i,this._selectorFilter=r,this._selectors=new Map}return e.textDocumentFilter=function(e,t){var o,n;try{for(var i=a(e),r=i.next();!r.done;r=i.next()){var s=r.value;if(l.languages.match(s,t))return!0}}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return!1},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=this._event(this.callback,this)),this._selectors.set(t.id,t.registerOptions.documentSelector))},e.prototype.callback=function(e){var t=this;this._selectorFilter&&!this._selectorFilter(this._selectors.values(),e)||(this._middleware?this._middleware(e,(function(e){return t._client.sendNotification(t._type,t._createParams(e))})):this._client.sendNotification(this._type,this._createParams(e)),this.notificationSent(e))},e.prototype.notificationSent=function(e){},e.prototype.unregister=function(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._selectors.clear(),this._listener&&this._listener.dispose()},e}(),O=function(e){function t(t,o){var n=e.call(this,t,l.workspace.onDidOpenTextDocument,u.DidOpenTextDocumentNotification.type,t.clientOptions.middleware.didOpen,(function(e){return t.code2ProtocolConverter.asOpenTextDocumentParams(e)}),k.textDocumentFilter)||this;return n._syncedDocuments=o,n}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidOpenTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.openClose&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t.prototype.register=function(t,o){var n=this;if(e.prototype.register.call(this,t,o),o.registerOptions.documentSelector){var i=o.registerOptions.documentSelector;l.workspace.textDocuments.forEach((function(e){var t=e.uri.toString();if(!n._syncedDocuments.has(t)&&l.languages.match(i,e)){var o=n._client.clientOptions.middleware,r=function(e){n._client.sendNotification(n._type,n._createParams(e))};o.didOpen?o.didOpen(e,r):r(e),n._syncedDocuments.set(t,e)}}))}},t.prototype.notificationSent=function(t){e.prototype.notificationSent.call(this,t),this._syncedDocuments.set(t.uri.toString(),t)},t}(k),R=function(e){function t(t,o){var n=e.call(this,t,l.workspace.onDidCloseTextDocument,u.DidCloseTextDocumentNotification.type,t.clientOptions.middleware.didClose,(function(e){return t.code2ProtocolConverter.asCloseTextDocumentParams(e)}),k.textDocumentFilter)||this;return n._syncedDocuments=o,n}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidCloseTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.openClose&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t.prototype.notificationSent=function(t){e.prototype.notificationSent.call(this,t),this._syncedDocuments.delete(t.uri.toString())},t.prototype.unregister=function(t){var o=this,n=this._selectors.get(t);e.prototype.unregister.call(this,t);var i=this._selectors.values();this._syncedDocuments.forEach((function(e){if(l.languages.match(n,e)&&!o._selectorFilter(i,e)){var t=o._client.clientOptions.middleware,r=function(e){o._client.sendNotification(o._type,o._createParams(e))};o._syncedDocuments.delete(e.uri.toString()),t.didClose?t.didClose(e,r):r(e)}}))},t}(k),N=function(){function e(e){this._client=e,this._changeData=new Map,this._forcingDelivery=!1}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeTextDocumentNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},e.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&void 0!==o.change&&o.change!==u.TextDocumentSyncKind.None&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{syncKind:o.change})})},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=l.workspace.onDidChangeTextDocument(this.callback,this)),this._changeData.set(t.id,{documentSelector:t.registerOptions.documentSelector,syncKind:t.registerOptions.syncKind}))},e.prototype.callback=function(e){var t,o,n=this;if(0!==e.contentChanges.length){var i=function(t){if(l.languages.match(t.documentSelector,e.document)){var o=r._client.clientOptions.middleware;if(t.syncKind===u.TextDocumentSyncKind.Incremental){var i=r._client.code2ProtocolConverter.asChangeTextDocumentParams(e);o.didChange?o.didChange(e,(function(){return n._client.sendNotification(u.DidChangeTextDocumentNotification.type,i)})):r._client.sendNotification(u.DidChangeTextDocumentNotification.type,i)}else if(t.syncKind===u.TextDocumentSyncKind.Full){var s=function(e){n._changeDelayer?(n._changeDelayer.uri!==e.document.uri.toString()&&(n.forceDelivery(),n._changeDelayer.uri=e.document.uri.toString()),n._changeDelayer.delayer.trigger((function(){n._client.sendNotification(u.DidChangeTextDocumentNotification.type,n._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document))}))):(n._changeDelayer={uri:e.document.uri.toString(),delayer:new g.Delayer(200)},n._changeDelayer.delayer.trigger((function(){n._client.sendNotification(u.DidChangeTextDocumentNotification.type,n._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document))}),-1))};o.didChange?o.didChange(e,s):s(e)}}},r=this;try{for(var s=a(this._changeData.values()),c=s.next();!c.done;c=s.next()){i(c.value)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(t)throw t.error}}}},e.prototype.unregister=function(e){this._changeData.delete(e),0===this._changeData.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._changeDelayer=void 0,this._forcingDelivery=!1,this._changeData.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.forceDelivery=function(){if(!this._forcingDelivery&&this._changeDelayer)try{this._forcingDelivery=!0,this._changeDelayer.delayer.forceDelivery()}finally{this._forcingDelivery=!1}},e}(),I=function(e){function t(t){return e.call(this,t,l.workspace.onWillSaveTextDocument,u.WillSaveTextDocumentNotification.type,t.clientOptions.middleware.willSave,(function(e){return t.code2ProtocolConverter.asWillSaveTextDocumentParams(e)}),(function(e,t){return k.textDocumentFilter(e,t.document)}))||this}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.WillSaveTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").willSave=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.willSave&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t}(k),L=function(){function e(e){this._client=e,this._selectors=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.WillSaveTextDocumentWaitUntilRequest.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").willSaveWaitUntil=!0},e.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.willSaveWaitUntil&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=l.workspace.onWillSaveTextDocument(this.callback,this)),this._selectors.set(t.id,t.registerOptions.documentSelector))},e.prototype.callback=function(e){var t=this;if(k.textDocumentFilter(this._selectors.values(),e.document)){var o=this._client.clientOptions.middleware,n=function(e){return t._client.sendRequest(u.WillSaveTextDocumentWaitUntilRequest.type,t._client.code2ProtocolConverter.asWillSaveTextDocumentParams(e)).then((function(e){var o=t._client.protocol2CodeConverter.asTextEdits(e);return void 0===o?[]:o}))};e.waitUntil(o.willSaveWaitUntil?o.willSaveWaitUntil(e,n):n(e))}},e.prototype.unregister=function(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)},e}(),D=function(e){function t(t){var o=e.call(this,t,l.workspace.onDidSaveTextDocument,u.DidSaveTextDocumentNotification.type,t.clientOptions.middleware.didSave,(function(e){return t.code2ProtocolConverter.asSaveTextDocumentParams(e,o._includeText)}),k.textDocumentFilter)||this;return o}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidSaveTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").didSave=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.save&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{includeText:!!o.save.includeText})})},t.prototype.register=function(t,o){this._includeText=!!o.registerOptions.includeText,e.prototype.register.call(this,t,o)},t}(k),A=function(){function e(e,t){this._client=e,this._notifyFileEvent=t,this._watchers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeWatchedFilesNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"didChangeWatchedFiles").dynamicRegistration=!0},e.prototype.initialize=function(e,t){},e.prototype.register=function(e,t){var o,n;if(Array.isArray(t.registerOptions.watchers)){var i=[];try{for(var r=a(t.registerOptions.watchers),s=r.next();!s.done;s=r.next()){var c=s.value;if(d.string(c.globPattern)){var h=!0,g=!0,p=!0;void 0!==c.kind&&null!==c.kind&&(h=0!=(c.kind&u.WatchKind.Create),g=0!=(c.kind&u.WatchKind.Change),p=0!=(c.kind&u.WatchKind.Delete));var f=l.workspace.createFileSystemWatcher(c.globPattern,!h,!g,!p);this.hookListeners(f,h,g,p),i.push(f)}}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}this._watchers.set(t.id,i)}},e.prototype.registerRaw=function(e,t){var o,n,i=[];try{for(var r=a(t),s=r.next();!s.done;s=r.next()){var l=s.value;this.hookListeners(l,!0,!0,!0,i)}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}this._watchers.set(e,i)},e.prototype.hookListeners=function(e,t,o,n,i){var r=this;t&&e.onDidCreate((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Created})}),null,i),o&&e.onDidChange((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Changed})}),null,i),n&&e.onDidDelete((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Deleted})}),null,i)},e.prototype.unregister=function(e){var t,o,n=this._watchers.get(e);if(n)try{for(var i=a(n),r=i.next();!r.done;r=i.next()){r.value.dispose()}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}},e.prototype.dispose=function(){this._watchers.forEach((function(e){var t,o;try{for(var n=a(e),i=n.next();!i.done;i=n.next()){i.value.dispose()}}catch(e){t={error:e}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(t)throw t.error}}})),this._watchers.clear()},e}(),P=function(){function e(e,t){this._client=e,this._message=t,this._providers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._message},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){if(e.method!==this.messages.method)throw new Error("Register called on wrong feature. Requested "+e.method+" but reached feature "+this.messages.method);if(t.registerOptions.documentSelector){var o=this.registerLanguageProvider(t.registerOptions);o&&this._providers.set(t.id,o)}},e.prototype.unregister=function(e){var t=this._providers.get(e);t&&t.dispose()},e.prototype.dispose=function(){this._providers.forEach((function(e){e.dispose()})),this._providers.clear()},e}();t.TextDocumentFeature=P;var x=function(){function e(e,t){this._client=e,this._message=t,this._providers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._message},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){if(e.method!==this.messages.method)throw new Error("Register called on wron feature. Requested "+e.method+" but reached feature "+this.messages.method);var o=this.registerLanguageProvider(t.registerOptions);o&&this._providers.set(t.id,o)},e.prototype.unregister=function(e){var t=this._providers.get(e);t&&t.dispose()},e.prototype.dispose=function(){this._providers.forEach((function(e){e.dispose()})),this._providers.clear()},e}(),M=function(e){function t(t){return e.call(this,t,u.CompletionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"completion");t.dynamicRegistration=!0,t.contextSupport=!0,t.completionItem={snippetSupport:!0,commitCharactersSupport:!0,documentationFormat:[u.MarkupKind.Markdown,u.MarkupKind.PlainText],deprecatedSupport:!0,preselectSupport:!0},t.completionItemKind={valueSet:T}},t.prototype.initialize=function(e,t){e.completionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.completionProvider)})},t.prototype.registerLanguageProvider=function(e){var t=e.triggerCharacters||[],o=this._client,n=function(e,t,n,i){return o.sendRequest(u.CompletionRequest.type,o.code2ProtocolConverter.asCompletionParams(e,t,n),i).then(o.protocol2CodeConverter.asCompletionResult,(function(e){return o.logFailedRequest(u.CompletionRequest.type,e),Promise.resolve([])}))},i=function(e,t){return o.sendRequest(u.CompletionResolveRequest.type,o.code2ProtocolConverter.asCompletionItem(e),t).then(o.protocol2CodeConverter.asCompletionItem,(function(t){return o.logFailedRequest(u.CompletionResolveRequest.type,t),Promise.resolve(e)}))},r=this._client.clientOptions.middleware;return l.languages.registerCompletionItemProvider.apply(l.languages,s([e.documentSelector,{provideCompletionItems:function(e,t,o,i){return r.provideCompletionItem?r.provideCompletionItem(e,t,i,o,n):n(e,t,i,o)},resolveCompletionItem:e.resolveProvider?function(e,t){return r.resolveCompletionItem?r.resolveCompletionItem(e,t,i):i(e,t)}:void 0}],t))},t}(P),B=function(e){function t(t){return e.call(this,t,u.HoverRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"hover");t.dynamicRegistration=!0,t.contentFormat=[u.MarkupKind.Markdown,u.MarkupKind.PlainText]},t.prototype.initialize=function(e,t){e.hoverProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.HoverRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asHover,(function(e){return t.logFailedRequest(u.HoverRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return l.languages.registerHoverProvider(e.documentSelector,{provideHover:function(e,t,i){return n.provideHover?n.provideHover(e,t,i,o):o(e,t,i)}})},t}(P),F=function(e){function t(t){return e.call(this,t,u.SignatureHelpRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"signatureHelp");t.dynamicRegistration=!0,t.signatureInformation={documentationFormat:[u.MarkupKind.Markdown,u.MarkupKind.PlainText]}},t.prototype.initialize=function(e,t){e.signatureHelpProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.signatureHelpProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.SignatureHelpRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asSignatureHelp,(function(e){return t.logFailedRequest(u.SignatureHelpRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware,i=e.triggerCharacters||[];return l.languages.registerSignatureHelpProvider.apply(l.languages,s([e.documentSelector,{provideSignatureHelp:function(e,t,i){return n.provideSignatureHelp?n.provideSignatureHelp(e,t,i,o):o(e,t,i)}}],i))},t}(P),H=function(e){function t(t){return e.call(this,t,u.DefinitionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"definition").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.definitionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.DefinitionRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(u.DefinitionRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return l.languages.registerDefinitionProvider(e.documentSelector,{provideDefinition:function(e,t,i){return n.provideDefinition?n.provideDefinition(e,t,i,o):o(e,t,i)}})},t}(P),U=function(e){function t(t){return e.call(this,t,u.ReferencesRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"references").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.referencesProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){return t.sendRequest(u.ReferencesRequest.type,t.code2ProtocolConverter.asReferenceParams(e,o,n),i).then(t.protocol2CodeConverter.asReferences,(function(e){return t.logFailedRequest(u.ReferencesRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerReferenceProvider(e.documentSelector,{provideReferences:function(e,t,i,r){return n.provideReferences?n.provideReferences(e,t,i,r,o):o(e,t,i,r)}})},t}(P),V=function(e){function t(t){return e.call(this,t,u.DocumentHighlightRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"documentHighlight").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentHighlightProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.DocumentHighlightRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDocumentHighlights,(function(e){return t.logFailedRequest(u.DocumentHighlightRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentHighlightProvider(e.documentSelector,{provideDocumentHighlights:function(e,t,i){return n.provideDocumentHighlights?n.provideDocumentHighlights(e,t,i,o):o(e,t,i)}})},t}(P),W=function(e){function t(t){return e.call(this,t,u.DocumentSymbolRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"documentSymbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:S},t.hierarchicalDocumentSymbolSupport=!0},t.prototype.initialize=function(e,t){e.documentSymbolProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.DocumentSymbolRequest.type,t.code2ProtocolConverter.asDocumentSymbolParams(e),o).then((function(e){if(null!==e){if(0===e.length)return[];var o=e[0];return u.DocumentSymbol.is(o)?t.protocol2CodeConverter.asDocumentSymbols(e):t.protocol2CodeConverter.asSymbolInformations(e)}}),(function(e){return t.logFailedRequest(u.DocumentSymbolRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentSymbolProvider(e.documentSelector,{provideDocumentSymbols:function(e,t){return n.provideDocumentSymbols?n.provideDocumentSymbols(e,t,o):o(e,t)}})},t}(P),j=function(e){function t(t){return e.call(this,t,u.WorkspaceSymbolRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"workspace"),"symbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:S}},t.prototype.initialize=function(e){e.workspaceSymbolProvider&&this.register(this.messages,{id:p.generateUuid(),registerOptions:void 0})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.WorkspaceSymbolRequest.type,{query:e},o).then(t.protocol2CodeConverter.asSymbolInformations,(function(e){return t.logFailedRequest(u.WorkspaceSymbolRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerWorkspaceSymbolProvider({provideWorkspaceSymbols:function(e,t){return n.provideWorkspaceSymbols?n.provideWorkspaceSymbols(e,t,o):o(e,t)}})},t}(x),G=function(e){function t(t){return e.call(this,t,u.CodeActionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"codeAction");t.dynamicRegistration=!0,t.codeActionLiteralSupport={codeActionKind:{valueSet:["",u.CodeActionKind.QuickFix,u.CodeActionKind.Refactor,u.CodeActionKind.RefactorExtract,u.CodeActionKind.RefactorInline,u.CodeActionKind.RefactorRewrite,u.CodeActionKind.Source,u.CodeActionKind.SourceOrganizeImports]}}},t.prototype.initialize=function(e,t){e.codeActionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),range:t.code2ProtocolConverter.asRange(o),context:t.code2ProtocolConverter.asCodeActionContext(n)};return t.sendRequest(u.CodeActionRequest.type,r,i).then((function(e){var o,n;if(null!==e){var i=[];try{for(var r=a(e),s=r.next();!s.done;s=r.next()){var l=s.value;u.Command.is(l)?i.push(t.protocol2CodeConverter.asCommand(l)):i.push(t.protocol2CodeConverter.asCodeAction(l))}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}}),(function(e){return t.logFailedRequest(u.CodeActionRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerCodeActionsProvider(e.documentSelector,{provideCodeActions:function(e,t,i,r){return n.provideCodeActions?n.provideCodeActions(e,t,i,r,o):o(e,t,i,r)}})},t}(P),z=function(e){function t(t){return e.call(this,t,u.CodeLensRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"codeLens").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.codeLensProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.codeLensProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.CodeLensRequest.type,t.code2ProtocolConverter.asCodeLensParams(e),o).then(t.protocol2CodeConverter.asCodeLenses,(function(e){return t.logFailedRequest(u.CodeLensRequest.type,e),Promise.resolve([])}))},n=function(e,o){return t.sendRequest(u.CodeLensResolveRequest.type,t.code2ProtocolConverter.asCodeLens(e),o).then(t.protocol2CodeConverter.asCodeLens,(function(o){return t.logFailedRequest(u.CodeLensResolveRequest.type,o),e}))},i=t.clientOptions.middleware;return l.languages.registerCodeLensProvider(e.documentSelector,{provideCodeLenses:function(e,t){return i.provideCodeLenses?i.provideCodeLenses(e,t,o):o(e,t)},resolveCodeLens:e.resolveProvider?function(e,t){return i.resolveCodeLens?i.resolveCodeLens(e,t,n):n(e,t)}:void 0})},t}(P),K=function(e){function t(t){return e.call(this,t,u.DocumentFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"formatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){var i={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),options:t.code2ProtocolConverter.asFormattingOptions(o)};return t.sendRequest(u.DocumentFormattingRequest.type,i,n).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentFormattingRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentFormattingEditProvider(e.documentSelector,{provideDocumentFormattingEdits:function(e,t,i){return n.provideDocumentFormattingEdits?n.provideDocumentFormattingEdits(e,t,i,o):o(e,t,i)}})},t}(P),Y=function(e){function t(t){return e.call(this,t,u.DocumentRangeFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"rangeFormatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentRangeFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),range:t.code2ProtocolConverter.asRange(o),options:t.code2ProtocolConverter.asFormattingOptions(n)};return t.sendRequest(u.DocumentRangeFormattingRequest.type,r,i).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentRangeFormattingRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentRangeFormattingEditProvider(e.documentSelector,{provideDocumentRangeFormattingEdits:function(e,t,i,r){return n.provideDocumentRangeFormattingEdits?n.provideDocumentRangeFormattingEdits(e,t,i,r,o):o(e,t,i,r)}})},t}(P),X=function(e){function t(t){return e.call(this,t,u.DocumentOnTypeFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"onTypeFormatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentOnTypeFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.documentOnTypeFormattingProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=e.moreTriggerCharacter||[],n=function(e,o,n,i,r){var s={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),position:t.code2ProtocolConverter.asPosition(o),ch:n,options:t.code2ProtocolConverter.asFormattingOptions(i)};return t.sendRequest(u.DocumentOnTypeFormattingRequest.type,s,r).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentOnTypeFormattingRequest.type,e),Promise.resolve([])}))},i=t.clientOptions.middleware;return l.languages.registerOnTypeFormattingEditProvider.apply(l.languages,s([e.documentSelector,{provideOnTypeFormattingEdits:function(e,t,o,r,s){return i.provideOnTypeFormattingEdits?i.provideOnTypeFormattingEdits(e,t,o,r,s,n):n(e,t,o,r,s)}},e.firstTriggerCharacter],o))},t}(P),q=function(e){function t(t){return e.call(this,t,u.RenameRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"rename").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.renameProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),position:t.code2ProtocolConverter.asPosition(o),newName:n};return t.sendRequest(u.RenameRequest.type,r,i).then(t.protocol2CodeConverter.asWorkspaceEdit,(function(e){return t.logFailedRequest(u.RenameRequest.type,e),Promise.reject(new Error(e.message))}))},n=t.clientOptions.middleware;return l.languages.registerRenameProvider(e.documentSelector,{provideRenameEdits:function(e,t,i,r){return n.provideRenameEdits?n.provideRenameEdits(e,t,i,r,o):o(e,t,i,r)}})},t}(P),$=function(e){function t(t){return e.call(this,t,u.DocumentLinkRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"documentLink").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentLinkProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.documentLinkProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.DocumentLinkRequest.type,t.code2ProtocolConverter.asDocumentLinkParams(e),o).then(t.protocol2CodeConverter.asDocumentLinks,(function(e){t.logFailedRequest(u.DocumentLinkRequest.type,e),Promise.resolve(new Error(e.message))}))},n=function(e,o){return t.sendRequest(u.DocumentLinkResolveRequest.type,t.code2ProtocolConverter.asDocumentLink(e),o).then(t.protocol2CodeConverter.asDocumentLink,(function(e){t.logFailedRequest(u.DocumentLinkResolveRequest.type,e),Promise.resolve(new Error(e.message))}))},i=t.clientOptions.middleware;return l.languages.registerDocumentLinkProvider(e.documentSelector,{provideDocumentLinks:function(e,t){return i.provideDocumentLinks?i.provideDocumentLinks(e,t,o):o(e,t)},resolveDocumentLink:e.resolveProvider?function(e,t){return i.resolveDocumentLink?i.resolveDocumentLink(e,t,n):n(e,t)}:void 0})},t}(P),J=function(){function e(e){this._client=e,this._listeners=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeConfigurationNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"didChangeConfiguration").dynamicRegistration=!0},e.prototype.initialize=function(){var e=this._client.clientOptions.synchronize.configurationSection;void 0!==e&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{section:e}})},e.prototype.register=function(e,t){var o=this,n=l.workspace.onDidChangeConfiguration((function(e){o.onDidChangeConfiguration(t.registerOptions.section,e)}));this._listeners.set(t.id,n),void 0!==t.registerOptions.section&&this.onDidChangeConfiguration(t.registerOptions.section,void 0)},e.prototype.unregister=function(e){var t=this._listeners.get(e);t&&(this._listeners.delete(e),t.dispose())},e.prototype.dispose=function(){var e,t;try{for(var o=a(this._listeners.values()),n=o.next();!n.done;n=o.next()){n.value.dispose()}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}this._listeners.clear()},e.prototype.onDidChangeConfiguration=function(e,t){var o,n=this;if(void 0!==(o=d.string(e)?[e]:e)&&void 0!==t&&!o.some((function(e){return t.affectsConfiguration(e)})))return;var i=function(e){void 0!==e?n._client.sendNotification(u.DidChangeConfigurationNotification.type,{settings:n.extractSettingsInformation(e)}):n._client.sendNotification(u.DidChangeConfigurationNotification.type,{settings:null})},r=this.getMiddleware();r?r(o,i):i(o)},e.prototype.extractSettingsInformation=function(e){function t(e,t){for(var o=e,n=0;n=0?l.workspace.getConfiguration(r.substr(0,s),o).get(r.substr(s+1)):l.workspace.getConfiguration(r,o)){var u=e[i].split(".");t(n,u)[u[u.length-1]]=a}}return n},e.prototype.getMiddleware=function(){var e=this._client.clientOptions.middleware;return e.workspace&&e.workspace.didChangeConfiguration?e.workspace.didChangeConfiguration:void 0},e}(),Z=function(){function e(e){this._client=e,this._commands=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.ExecuteCommandRequest.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"executeCommand").dynamicRegistration=!0},e.prototype.initialize=function(e){e.executeCommandProvider&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},e.executeCommandProvider)})},e.prototype.register=function(e,t){var o,n,i=this._client;if(t.registerOptions.commands){var r=[],s=function(e){r.push(l.commands.registerCommand(e,(function(){for(var t=[],o=0;o=0){var h=i.get(c.textDocument.uri);if(h&&h.version!==c.textDocument.version){r=!0;break}}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(o=s.return)&&o.call(s)}finally{if(t)throw t.error}}return r?Promise.resolve({applied:!1}):l.workspace.applyEdit(this._p2c.asWorkspaceEdit(e.edit)).then((function(e){return{applied:e}}))},t.prototype.logFailedRequest=function(e,t){t instanceof u.ResponseError&&t.code===u.ErrorCodes.RequestCancelled||this.error("Request "+e.method+" failed.",t)},t}();t.BaseLanguageClient=Q}).call(this,o(108))},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this._value=e}return e.prototype.asHex=function(){return this._value},e.prototype.equals=function(e){return this.asHex()===e.asHex()},e}(),s=function(e){function t(){return e.call(this,[t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-","4",t._randomHex(),t._randomHex(),t._randomHex(),"-",t._oneOf(t._timeHighBits),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex()].join(""))||this}return i(t,e),t._oneOf=function(e){return e[Math.floor(e.length*Math.random())]},t._randomHex=function(){return t._oneOf(t._chars)},t._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],t._timeHighBits=["8","9","a","b"],t}(r);function a(){return new s}t.empty=new r("00000000-0000-0000-0000-000000000000"),t.v4=a;var l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function u(e){return l.test(e)}t.isUUID=u,t.parse=function(e){if(!u(e))throw new Error("invalid uuid");return new r(e)},t.generateUuid=function(){return a().asHex()}},function(e,t,o){"use strict";o.r(t),o.d(t,"ToggleTabFocusModeAction",(function(){return l}));var n,i=o(0),r=o(3),s=o(131),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){return e.call(this,{id:t.ID,label:i.a({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),alias:"Toggle Tab Key Moves Focus",precondition:null,kbOpts:{kbExpr:null,primary:2091,mac:{primary:1323},weight:100}})||this}return a(t,e),t.prototype.run=function(e,t){var o=s.b.getTabFocusMode();s.b.setTabFocusMode(!o)},t.ID="editor.action.toggleTabFocusMode",t}(r.b);Object(r.f)(l)},function(e,t,o){"use strict";o.r(t),o.d(t,"DefinitionActionConfig",(function(){return C})),o.d(t,"DefinitionAction",(function(){return S})),o.d(t,"GoToDefinitionAction",(function(){return w})),o.d(t,"OpenDefinitionToSideAction",(function(){return k})),o.d(t,"PeekDefinitionAction",(function(){return O})),o.d(t,"ImplementationAction",(function(){return R})),o.d(t,"GoToImplementationAction",(function(){return N})),o.d(t,"PeekImplementationAction",(function(){return I})),o.d(t,"TypeDefinitionAction",(function(){return L})),o.d(t,"GoToTypeDefinitionAction",(function(){return D})),o.d(t,"PeekTypeDefinitionAction",(function(){return A}));var n,i=o(0),r=o(59),s=o(39),a=o(15),l=o(36),u=o(2),c=o(3),h=o(164),d=o(99),g=o(56),p=o(113),f=o(12),m=o(142),_=o(5),y=o(129),v=o(45),b=o(17),E=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),C=function(e,t,o,n){void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===o&&(o=!0),void 0===n&&(n=!0),this.openToSide=e,this.openInPeek=t,this.filterCurrent=o,this.showMessage=n},S=function(e){function t(t,o){var n=e.call(this,o)||this;return n._configuration=t,n}return E(t,e),t.prototype.run=function(e,t){var o=this,n=e.get(v.a),i=e.get(l.a),r=e.get(y.a),s=t.getModel(),a=t.getPosition(),c=this._getDeclarationsAtPosition(s,a).then((function(e){if(!s.isDisposed()&&t.getModel()===s){for(var n=-1,r=[],l=0;l1&&i.a("meta.title"," – {0} definitions",e.references.length)},t.prototype._onResult=function(e,t,o){var n=this,i=o.getAriaMessage();if(Object(r.a)(i),this._configuration.openInPeek)this._openInPeek(e,t,o);else{var s=o.nearestReference(t.getModel().uri,t.getPosition());this._openReference(t,e,s,this._configuration.openToSide).then((function(t){t&&o.references.length>1?n._openInPeek(e,t,o):o.dispose()}))}},t.prototype._openReference=function(e,t,o,n){var i=o.uri,r=o.range;return t.openCodeEditor({resource:i,options:{selection:u.a.collapseToStart(r),revealIfOpened:!0,revealInCenterIfOutsideViewport:!0}},e,n)},t.prototype._openInPeek=function(e,t,o){var n=this,i=d.a.get(t);i?i.toggleWidget(t.getSelection(),Object(b.i)((function(e){return Promise.resolve(o)})),{getMetaTitle:function(e){return n._getMetaTitle(e)},onGoto:function(o){return i.closeWidget(),n._openReference(t,e,o,!1)}}):o.dispose()},t}(c.b),T=a.f?2118:70,w=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:f.d.and(_.a.hasDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:T,weight:100},menuOpts:{group:"navigation",order:1.1}})||this}return E(t,e),t.ID="editor.action.goToDeclaration",t}(S),k=function(e){function t(){return e.call(this,new C(!0),{id:t.ID,label:i.a("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:f.d.and(_.a.hasDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:Object(s.a)(2089,T),weight:100}})||this}return E(t,e),t.ID="editor.action.openDeclarationToTheSide",t}(S),O=function(e){function t(){return e.call(this,new C(void 0,!0,!1),{id:"editor.action.previewDeclaration",label:i.a("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:f.d.and(_.a.hasDefinitionProvider,p.a.notInPeekEditor,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menuOpts:{group:"navigation",order:1.2}})||this}return E(t,e),t}(S),R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return Object(h.b)(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?i.a("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):i.a("goToImplementation.generic.noResults","No implementation found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&i.a("meta.implementations.title"," – {0} implementations",e.references.length)},t}(S),N=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToImplementation.label","Go to Implementation"),alias:"Go to Implementation",precondition:f.d.and(_.a.hasImplementationProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:2118,weight:100}})||this}return E(t,e),t.ID="editor.action.goToImplementation",t}(R),I=function(e){function t(){return e.call(this,new C(!1,!0,!1),{id:t.ID,label:i.a("actions.peekImplementation.label","Peek Implementation"),alias:"Peek Implementation",precondition:f.d.and(_.a.hasImplementationProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:3142,weight:100}})||this}return E(t,e),t.ID="editor.action.peekImplementation",t}(R),L=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return Object(h.c)(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?i.a("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):i.a("goToTypeDefinition.generic.noResults","No type definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&i.a("meta.typeDefinitions.title"," – {0} type definitions",e.references.length)},t}(S),D=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:f.d.and(_.a.hasTypeDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:0,weight:100},menuOpts:{group:"navigation",order:1.4}})||this}return E(t,e),t.ID="editor.action.goToTypeDefinition",t}(L),A=function(e){function t(){return e.call(this,new C(!1,!0,!1),{id:t.ID,label:i.a("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:f.d.and(_.a.hasTypeDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:0,weight:100}})||this}return E(t,e),t.ID="editor.action.peekTypeDefinition",t}(L);Object(c.f)(w),Object(c.f)(k),Object(c.f)(O),Object(c.f)(N),Object(c.f)(I),Object(c.f)(D),Object(c.f)(A)},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return i}));var n=function(){function e(e){this._prefix=e,this._lastId=0}return e.prototype.nextId=function(){return this._prefix+ ++this._lastId},e}(),i=new n("id#")},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("IWorkspaceEditService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return f}));var n,i=o(31),r=o(22),s=o(37),a=o(12),l=o(36),u=o(140),c=o(19),h=o(45),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},p=function(e,t){return function(o,n){t(o,n,e)}},f=function(e){function t(t,o,n,i,r,s,a,l,u){var c=e.call(this,t,n.getRawConfiguration(),{},i,r,s,a,l,u)||this;return c._parentEditor=n,c._overwriteOptions=o,e.prototype.updateOptions.call(c,c._overwriteOptions),c._register(n.onDidChangeConfiguration((function(e){return c._onParentConfigurationChanged(e)}))),c}return d(t,e),t.prototype.getParentEditor=function(){return this._parentEditor},t.prototype._onParentConfigurationChanged=function(t){e.prototype.updateOptions.call(this,this._parentEditor.getRawConfiguration()),e.prototype.updateOptions.call(this,this._overwriteOptions)},t.prototype.updateOptions=function(t){i.g(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=g([p(3,r.a),p(4,l.a),p(5,s.b),p(6,a.e),p(7,c.c),p(8,h.a)],t)}(u.a)},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s}));var n=o(92),i=function(e,t){this.index=e,this.remainder=t},r=function(){function e(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValues=function(e,t){e=Object(n.b)(e);var o=this.values,i=this.prefixSum,r=t.length;return 0!==r&&(this.values=new Uint32Array(o.length+r),this.values.set(o.subarray(0,e),0),this.values.set(o.subarray(e),e+r),this.values.set(t,e),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=Object(n.b)(e),t=Object(n.b)(t),this.values[e]!==t&&(this.values[e]=t,e-1=o.length)return!1;var r=o.length-e;return t>=r&&(t=r),0!==t&&(this.values=new Uint32Array(o.length-t),this.values.set(o.subarray(0,e),0),this.values.set(o.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=Object(n.b)(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var o=t;o<=e;o++)this.prefixSum[o]=this.prefixSum[o-1]+this.values[o];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t,o,n,r=0,s=this.values.length-1;r<=s;)if(t=r+(s-r)/2|0,e<(n=(o=this.prefixSum[t])-this.values[t]))s=t-1;else{if(!(e>=o))break;r=t+1}return new i(t,e-n)},e}(),s=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new r(e),this._bustCache()}return e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(var o=0;o=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},g=function(e,t){return function(o,n){t(o,n,e)}},p=function(){function e(e,t,o){void 0===o&&(o=i.b),this._editor=e,this._modeService=t,this._openerService=o,this._onDidRenderCodeBlock=new c.a,this.onDidRenderCodeBlock=this._onDidRenderCodeBlock.event}return e.prototype.getOptions=function(e){var t=this;return{codeBlockRenderer:function(e,o){var n=e?t._modeService.getModeIdForLanguageName(e):t._editor.getModel().getLanguageIdentifier().language;return t._modeService.getOrCreateMode(n).then((function(e){return Object(l.b)(o,n)})).then((function(e){return''+e+""}))},codeBlockRenderCallback:function(){return t._onDidRenderCodeBlock.fire()},actionHandler:{callback:function(e){t._openerService.open(s.a.parse(e)).then(void 0,a.e)},disposeables:e}}},e.prototype.render=function(e){var t=[];return{element:e?Object(n.b)(e,this.getOptions(t)):document.createElement("span"),dispose:function(){return Object(h.d)(t)}}},e=d([g(1,r.a),g(2,Object(u.d)(i.a))],e)}()},function(e,t,o){"use strict";o(477);var n,i,r=o(0),s=o(10),a=o(15),l=o(21),u=o(13),c=o(97),h=function(){function e(e){this.modelProvider=Object(l.e)(e.getModel)?e:{getModel:function(){return e}}}return e.prototype.getId=function(e,t){if(!t)return null;var o=this.modelProvider.getModel();return o===t?"__root__":o.dataSource.getId(t)},e.prototype.hasChildren=function(e,t){var o=this.modelProvider.getModel();return o&&o===t&&o.entries.length>0},e.prototype.getChildren=function(e,t){var o=this.modelProvider.getModel();return s.b.as(o===t?o.entries:[])},e.prototype.getParent=function(e,t){return s.b.as(null)},e}(),d=function(){function e(e){this.modelProvider=e}return e.prototype.getAriaLabel=function(e,t){var o=this.modelProvider.getModel();return o.accessibilityProvider&&o.accessibilityProvider.getAriaLabel(t)},e.prototype.getPosInSet=function(e,t){var o=this.modelProvider.getModel();return String(o.entries.indexOf(t)+1)},e.prototype.getSetSize=function(){var e=this.modelProvider.getModel();return String(e.entries.length)},e}(),g=function(){function e(e){this.modelProvider=e}return e.prototype.isVisible=function(e,t){var o=this.modelProvider.getModel();return!o.filter||o.filter.isVisible(t)},e}(),p=function(){function e(e,t){this.modelProvider=e,this.styles=t}return e.prototype.updateStyles=function(e){this.styles=e},e.prototype.getHeight=function(e,t){return this.modelProvider.getModel().renderer.getHeight(t)},e.prototype.getTemplateId=function(e,t){return this.modelProvider.getModel().renderer.getTemplateId(t)},e.prototype.renderTemplate=function(e,t,o){return this.modelProvider.getModel().renderer.renderTemplate(t,o,this.styles)},e.prototype.renderElement=function(e,t,o,n){this.modelProvider.getModel().renderer.renderElement(t,o,n,this.styles)},e.prototype.disposeTemplate=function(e,t,o){this.modelProvider.getModel().renderer.disposeTemplate(t,o)},e}(),f=o(34),m=o(162),_=o(212),y=(o(478),o(1)),v=o(6),b=o(14),E=o(31),C=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),S={progressBarBackground:b.a.fromHex("#0E70C0")},T=function(e){function t(t,o){var n=e.call(this)||this;return n.options=o||Object.create(null),Object(E.g)(n.options,S,!1),n.workedVal=0,n.progressBarBackground=n.options.progressBarBackground,n.create(t),n}return C(t,e),t.prototype.create=function(e){var t=this;Object(f.a)(e).div({class:"monaco-progress-container"},(function(e){t.element=e.clone(),e.div({class:"progress-bit"}).on([y.d.ANIMATION_START,y.d.ANIMATION_END,y.d.ANIMATION_ITERATION],(function(e){switch(e.type){case y.d.ANIMATION_ITERATION:t.animationStopToken&&t.animationStopToken(null)}}),t.toDispose),t.bit=e.getHTMLElement()})),this.applyStyles()},t.prototype.off=function(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.removeClass("active"),this.element.removeClass("infinite"),this.element.removeClass("discrete"),this.workedVal=0,this.totalWork=void 0},t.prototype.stop=function(){return this.doDone(!1)},t.prototype.doDone=function(e){var t=this;return this.element.addClass("done"),this.element.hasClass("infinite")?(this.bit.style.opacity="0",e?s.b.timeout(200).then((function(){return t.off()})):this.off()):(this.bit.style.width="inherit",e?s.b.timeout(200).then((function(){return t.off()})):this.off()),this},t.prototype.hide=function(){this.element.hide()},t.prototype.style=function(e){this.progressBarBackground=e.progressBarBackground,this.applyStyles()},t.prototype.applyStyles=function(){if(this.bit){var e=this.progressBarBackground?this.progressBarBackground.toString():null;this.bit.style.backgroundColor=e}},t}(v.a),w=o(51),k=o(75),O=o(42),R=o(41),N=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return N(t,e),t.prototype.onContextMenu=function(t,o,n){return a.d?this.onLeftClick(t,o,n):e.prototype.onContextMenu.call(this,t,o,n)},t}(k.c);!function(e){e[e.ELEMENT_SELECTED=0]="ELEMENT_SELECTED",e[e.FOCUS_LOST=1]="FOCUS_LOST",e[e.CANCELED=2]="CANCELED"}(i||(i={}));var L={background:b.a.fromHex("#1E1E1E"),foreground:b.a.fromHex("#CCCCCC"),pickerGroupForeground:b.a.fromHex("#0097FB"),pickerGroupBorder:b.a.fromHex("#3F3F46"),widgetShadow:b.a.fromHex("#000000"),progressBarBackground:b.a.fromHex("#0E70C0")},D=r.a("quickOpenAriaLabel","Quick picker. Type to narrow down results."),A=function(e){function t(t,o,n){var i=e.call(this)||this;return i.isDisposed=!1,i.container=t,i.callbacks=o,i.options=n,i.styles=n||Object.create(null),Object(E.g)(i.styles,L,!1),i.model=null,i}return N(t,e),t.prototype.getModel=function(){return this.model},t.prototype.create=function(){var e=this;return this.builder=Object(f.a)().div((function(t){t.on(y.d.KEY_DOWN,(function(t){var o=new w.a(t);if(9===o.keyCode)y.c.stop(t,!0),e.hide(i.CANCELED);else if(2===o.keyCode&&!o.altKey&&!o.ctrlKey&&!o.metaKey){var n=t.currentTarget.querySelectorAll("input, .monaco-tree, .monaco-tree-row.focused .action-label.icon");o.shiftKey&&o.target===n[0]?(y.c.stop(t,!0),n[n.length-1].focus()):o.shiftKey||o.target!==n[n.length-1]||(y.c.stop(t,!0),n[0].focus())}})).on(y.d.CONTEXT_MENU,(function(e){return y.c.stop(e,!0)})).on(y.d.FOCUS,(function(t){return e.gainingFocus()}),null,!0).on(y.d.BLUR,(function(t){return e.loosingFocus(t)}),null,!0),e.progressBar=e._register(new T(t.clone(),{progressBarBackground:e.styles.progressBarBackground})),e.progressBar.hide(),t.div({class:"quick-open-input"},(function(t){e.inputContainer=t,e.inputBox=e._register(new m.b(t.getHTMLElement(),null,{placeholder:e.options.inputPlaceHolder||"",ariaLabel:D,inputBackground:e.styles.inputBackground,inputForeground:e.styles.inputForeground,inputBorder:e.styles.inputBorder,inputValidationInfoBackground:e.styles.inputValidationInfoBackground,inputValidationInfoBorder:e.styles.inputValidationInfoBorder,inputValidationWarningBackground:e.styles.inputValidationWarningBackground,inputValidationWarningBorder:e.styles.inputValidationWarningBorder,inputValidationErrorBackground:e.styles.inputValidationErrorBackground,inputValidationErrorBorder:e.styles.inputValidationErrorBorder})),e.inputElement=e.inputBox.inputElement,e.inputElement.setAttribute("role","combobox"),e.inputElement.setAttribute("aria-haspopup","false"),e.inputElement.setAttribute("aria-autocomplete","list"),y.g(e.inputBox.inputElement,y.d.KEY_DOWN,(function(t){var o=new w.a(t),n=e.shouldOpenInBackground(o);if(2!==o.keyCode)if(18===o.keyCode||16===o.keyCode||12===o.keyCode||11===o.keyCode)y.c.stop(t,!0),e.navigateInTree(o.keyCode,o.shiftKey),e.inputBox.inputElement.selectionStart===e.inputBox.inputElement.selectionEnd&&(e.inputBox.inputElement.selectionStart=e.inputBox.value.length);else if(3===o.keyCode||n){y.c.stop(t,!0);var i=e.tree.getFocus();i&&e.elementSelected(i,t,n?c.a.OPEN_IN_BACKGROUND:c.a.OPEN)}})),y.g(e.inputBox.inputElement,y.d.INPUT,(function(t){e.onType()}))})),e.resultCount=t.div({class:"quick-open-result-count","aria-live":"polite"}).clone(),e.treeContainer=t.div({class:"quick-open-tree"},(function(t){var o=e.options.treeCreator||function(e,t,o){return new _.a(e,t,o)};e.tree=e._register(o(t.getHTMLElement(),{dataSource:new h(e),controller:new I({clickBehavior:k.a.ON_MOUSE_UP,keyboardSupport:e.options.keyboardSupport}),renderer:e.renderer=new p(e,e.styles),filter:new g(e),accessibilityProvider:new d(e)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:O.b.Visible,horizontalScrollMode:O.b.Hidden,ariaLabel:r.a("treeAriaLabel","Quick Picker"),keyboardSupport:e.options.keyboardSupport,preventRootFocus:!1})),e.treeElement=e.tree.getHTMLElement(),e._register(e.tree.onDidChangeFocus((function(t){e.elementFocused(t.focus,t)}))),e._register(e.tree.onDidChangeSelection((function(t){if(t.selection&&t.selection.length>0){var o=t.payload&&t.payload.originalEvent instanceof R.b?t.payload.originalEvent:void 0,n=!!o&&e.shouldOpenInBackground(o);e.elementSelected(t.selection[0],t,n?c.a.OPEN_IN_BACKGROUND:c.a.OPEN)}})))})).on(y.d.KEY_DOWN,(function(t){var o=new w.a(t);e.quickNavigateConfiguration&&(18!==o.keyCode&&16!==o.keyCode&&12!==o.keyCode&&11!==o.keyCode||(y.c.stop(t,!0),e.navigateInTree(o.keyCode)))})).on(y.d.KEY_UP,(function(t){var o=new w.a(t),n=o.keyCode;if(e.quickNavigateConfiguration){var i=e.quickNavigateConfiguration.keybindings;if(3===n||i.some((function(e){var t=e.getParts(),i=t[0];return!t[1]&&(i.shiftKey&&4===n?!(o.ctrlKey||o.altKey||o.metaKey):!(!i.altKey||6!==n)||(!(!i.ctrlKey||5!==n)||!(!i.metaKey||57!==n)))}))){var r=e.tree.getFocus();r&&e.elementSelected(r,t)}}})).clone()})).addClass("monaco-quick-open-widget").build(this.container),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),y.g(this.treeContainer.getHTMLElement(),y.d.KEY_DOWN,(function(t){var o=new w.a(t);e.quickNavigateConfiguration||18!==o.keyCode&&16!==o.keyCode&&12!==o.keyCode&&11!==o.keyCode||(y.c.stop(t,!0),e.navigateInTree(o.keyCode,o.shiftKey),e.treeElement.focus())})),this.builder.getHTMLElement()},t.prototype.style=function(e){this.styles=e,this.applyStyles()},t.prototype.applyStyles=function(){if(this.builder){var e=this.styles.foreground?this.styles.foreground.toString():null,t=this.styles.background?this.styles.background.toString():null,o=this.styles.borderColor?this.styles.borderColor.toString():null,n=this.styles.widgetShadow?this.styles.widgetShadow.toString():null;this.builder.style("color",e),this.builder.style("background-color",t),this.builder.style("border-color",o),this.builder.style("border-width",o?"1px":null),this.builder.style("border-style",o?"solid":null),this.builder.style("box-shadow",n?"0 5px 8px "+n:null)}this.progressBar&&this.progressBar.style({progressBarBackground:this.styles.progressBarBackground}),this.inputBox&&this.inputBox.style({inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder}),this.tree&&!this.options.treeCreator&&this.tree.style(this.styles),this.renderer&&this.renderer.updateStyles(this.styles)},t.prototype.shouldOpenInBackground=function(e){if(e instanceof w.a){if(17!==e.keyCode)return!1;if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;var t=this.inputBox.inputElement;return t.selectionEnd===this.inputBox.value.length&&t.selectionStart===t.selectionEnd}return e.middleButton},t.prototype.onType=function(){var e=this.inputBox.value;this.helpText&&(e?this.helpText.hide():this.helpText.show()),this.callbacks.onType(e)},t.prototype.navigateInTree=function(e,t){var o=this.tree.getInput(),n=o?o.entries:[],i=this.tree.getFocus();switch(e){case 18:this.tree.focusNext();break;case 16:this.tree.focusPrevious();break;case 12:this.tree.focusNextPage();break;case 11:this.tree.focusPreviousPage();break;case 2:t?this.tree.focusPrevious():this.tree.focusNext()}var r=this.tree.getFocus();n.length>1&&i===r&&(16===e||2===e&&t?this.tree.focusLast():(18===e||2===e&&!t)&&this.tree.focusFirst()),(r=this.tree.getFocus())&&this.tree.reveal(r).done(null,u.e)},t.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){this.inputElement.setAttribute("aria-activedescendant",this.treeElement.getAttribute("aria-activedescendant"));var o={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,c.a.PREVIEW,o)}},t.prototype.elementSelected=function(e,t,o){var n=!0;if(this.isVisible()){var r=o||c.a.OPEN,s={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};n=this.model.runner.run(e,r,s)}n&&this.hide(i.ELEMENT_SELECTED)},t.prototype.extractKeyMods=function(e){return{ctrlCmd:e&&(e.ctrlKey||e.metaKey||e.payload&&e.payload.originalEvent&&(e.payload.originalEvent.ctrlKey||e.payload.originalEvent.metaKey)),alt:e&&(e.altKey||e.payload&&e.payload.originalEvent&&e.payload.originalEvent.altKey)}},t.prototype.show=function(e,t){this.visible=!0,this.isLoosingFocus=!1,this.quickNavigateConfiguration=t?t.quickNavigateConfiguration:void 0,this.quickNavigateConfiguration?(this.inputContainer.hide(),this.builder.show(),this.tree.domFocus()):(this.inputContainer.show(),this.builder.show(),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||l.h(e)?this.helpText.hide():this.helpText.show()),l.h(e)?this.doShowWithPrefix(e):this.doShowWithInput(e,t&&t.autoFocus?t.autoFocus:{}),t&&t.inputSelection&&!this.quickNavigateConfiguration&&this.inputBox.select(t.inputSelection),this.callbacks.onShow&&this.callbacks.onShow()},t.prototype.doShowWithPrefix=function(e){this.inputBox.value=e,this.callbacks.onType(e)},t.prototype.doShowWithInput=function(e,t){this.setInput(e,t)},t.prototype.setInputAndLayout=function(e,t){var o=this;this.treeContainer.style({height:this.getHeight(e)+"px"}),this.tree.setInput(null).then((function(){return o.model=e,o.inputElement.setAttribute("aria-haspopup",String(e&&e.entries&&e.entries.length>0)),o.tree.setInput(e)})).done((function(){o.tree.layout();var n=e?e.entries.filter((function(t){return o.isElementVisible(e,t)})):[];o.updateResultCount(n.length),n.length&&o.autoFocus(e,n,t)}),u.e)},t.prototype.isElementVisible=function(e,t){return!e.filter||e.filter.isVisible(t)},t.prototype.autoFocus=function(e,t,o){if(void 0===o&&(o={}),o.autoFocusPrefixMatch){for(var n=void 0,i=void 0,r=o.autoFocusPrefixMatch,s=r.toLowerCase(),a=0;ao.autoFocusIndex&&(this.tree.focusNth(o.autoFocusIndex),this.tree.reveal(this.tree.getFocus()).done(null,u.e)):o.autoFocusSecondEntry?t.length>1&&this.tree.focusNth(1):o.autoFocusLastEntry&&t.length>1&&this.tree.focusLast()},t.prototype.getHeight=function(e){var o=this,n=e.renderer;if(!e){var i=n.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*i:0}var r,s=0;this.layoutDimensions&&this.layoutDimensions.height&&(r=.4*(this.layoutDimensions.height-50)),(!r||r>t.MAX_ITEMS_HEIGHT)&&(r=t.MAX_ITEMS_HEIGHT);for(var a=e.entries.filter((function(t){return o.isElementVisible(e,t)})),l=this.options.maxItemsToShow||a.length,u=0;u=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},j=function(e,t){return function(o,n){t(o,n,e)}},G=function(){function e(e,t){this.themeService=t,this.editor=e}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.widget&&(this.widget.destroy(),this.widget=null)},e.prototype.run=function(e){var t=this;this.widget&&(this.widget.destroy(),this.widget=null);var o=function(e){t.clearDecorations(),e&&t.lastKnownEditorSelection&&(t.editor.setSelection(t.lastKnownEditorSelection),t.editor.revealRangeInCenterIfOutsideViewport(t.lastKnownEditorSelection,0)),t.lastKnownEditorSelection=null,t.editor.focus()};this.widget=new B(this.editor,(function(){return o(!1)}),(function(){return o(!0)}),(function(o){t.widget.setInput(e.getModel(o),e.getAutoFocus(o))}),{inputAriaLabel:e.inputAriaLabel},this.themeService),this.lastKnownEditorSelection||(this.lastKnownEditorSelection=this.editor.getSelection()),this.widget.show("")},e.prototype.decorateLine=function(t,o){var n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId),this.rangeHighlightDecorationId=null);var i=[{range:t,options:e._RANGE_HIGHLIGHT_DECORATION}],r=o.deltaDecorations(n,i);this.rangeHighlightDecorationId=r[0]},e.prototype.clearDecorations=function(){this.rangeHighlightDecorationId&&(this.editor.deltaDecorations([this.rangeHighlightDecorationId],[]),this.rangeHighlightDecorationId=null)},e.ID="editor.controller.quickOpenController",e._RANGE_HIGHLIGHT_DECORATION=U.a.register({className:"rangeHighlight",isWholeLine:!0}),e=W([j(1,H.c)],e)}(),z=function(e){function t(t,o){var n=e.call(this,o)||this;return n._inputAriaLabel=t,n}return V(t,e),t.prototype.getController=function(e){return G.get(e)},t.prototype._show=function(e,t){e.run({inputAriaLabel:this._inputAriaLabel,getModel:function(e){return t.getModel(e)},getAutoFocus:function(e){return t.getAutoFocus(e)}})},t}(F.b);Object(F.h)(G)},function(e,t,o){"use strict";o(443);var n=o(0),i=o(24),r=o(1),s=o(144),a=o(59),l=o(74),u=o(205),c=o(4),h=o(60),d=o(14),g=o(31),p=o(112),f=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=10),this._initialize(e),this._limit=t,this._onChange()}return e.prototype.add=function(e){this._history.delete(e),this._history.add(e),this._onChange()},e.prototype.next=function(){return this._navigator.next()},e.prototype.previous=function(){return this._navigator.previous()},e.prototype.current=function(){return this._navigator.current()},e.prototype.parent=function(){return null},e.prototype.first=function(){return this._navigator.first()},e.prototype.last=function(){return this._navigator.last()},e.prototype.has=function(e){return this._history.has(e)},e.prototype._onChange=function(){this._reduceToLimit(),this._navigator=new p.b(this._elements,0,this._elements.length,this._elements.length)},e.prototype._reduceToLimit=function(){var e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))},e.prototype._initialize=function(e){this._history=new Set;for(var t=0,o=e;t0||this.m_modifiedCount>0)&&this.m_changes.push(new n(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),u=function(){function e(e,t,o){void 0===o&&(o=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=o,this.m_forwardHistory=[],this.m_reverseHistory=[]}return e.prototype.ElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.OriginalElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.OriginalSequence.getElementAtIndex(t)},e.prototype.ModifiedElementsAreEqual=function(e,t){return this.ModifiedSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.ComputeDiff=function(e){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1,e)},e.prototype._ComputeDiff=function(e,t,o,n,i){var r=this.ComputeDiffRecursive(e,t,o,n,[!1]);return i?this.ShiftChanges(r):r},e.prototype.ComputeDiffRecursive=function(e,t,o,i,r){for(r[0]=!1;e<=t&&o<=i&&this.ElementsAreEqual(e,o);)e++,o++;for(;t>=e&&i>=o&&this.ElementsAreEqual(t,i);)t--,i--;if(e>t||o>i){var a=void 0;return o<=i?(s.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a=[new n(e,0,o,i-o+1)]):e<=t?(s.Assert(o===i+1,"modifiedStart should only be one more than modifiedEnd"),a=[new n(e,t-e+1,o,0)]):(s.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s.Assert(o===i+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}var l=[0],u=[0],c=this.ComputeRecursionPoint(e,t,o,i,l,u,r),h=l[0],d=u[0];if(null!==c)return c;if(!r[0]){var g=this.ComputeDiffRecursive(e,h,o,d,r),p=[];return p=r[0]?[new n(h+1,t-(h+1)+1,d+1,i-(d+1)+1)]:this.ComputeDiffRecursive(h+1,t,d+1,i,r),this.ConcatenateChanges(g,p)}return[new n(e,t-e+1,o,i-o+1)]},e.prototype.WALKTRACE=function(e,t,o,i,r,s,a,u,c,h,d,g,p,f,m,_,y,v){var b,E,C=null,S=new l,T=t,w=o,k=p[0]-_[0]-i,O=Number.MIN_VALUE,R=this.m_forwardHistory.length-1;do{(E=k+e)===T||E=0&&(e=(c=this.m_forwardHistory[R])[0],T=1,w=c.length-1)}while(--R>=-1);if(b=S.getReverseChanges(),v[0]){var N=p[0]+1,I=_[0]+1;if(null!==b&&b.length>0){var L=b[b.length-1];N=Math.max(N,L.getOriginalEnd()),I=Math.max(I,L.getModifiedEnd())}C=[new n(N,g-N+1,I,m-I+1)]}else{S=new l,T=s,w=a,k=p[0]-_[0]-u,O=Number.MAX_VALUE,R=y?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(E=k+r)===T||E=h[E+1]?(f=(d=h[E+1]-1)-k-u,d>O&&S.MarkNextChange(),O=d+1,S.AddOriginalElement(d+1,f+1),k=E+1-r):(f=(d=h[E-1])-k-u,d>O&&S.MarkNextChange(),O=d,S.AddModifiedElement(d+1,f+1),k=E-1-r),R>=0&&(r=(h=this.m_reverseHistory[R])[0],T=1,w=h.length-1)}while(--R>=-1);C=S.getChanges()}return this.ConcatenateChanges(b,C)},e.prototype.ComputeRecursionPoint=function(e,t,o,i,r,s,l){var u,c,h,d=0,g=0,p=0,f=0;e--,o--,r[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var m,_,y=t-e+(i-o),v=y+1,b=new Array(v),E=new Array(v),C=i-o,S=t-e,T=e-o,w=t-i,k=(S-C)%2==0;for(b[C]=e,E[S]=t,l[0]=!1,h=1;h<=y/2+1;h++){var O=0,R=0;for(d=this.ClipDiagonalBound(C-h,h,C,v),g=this.ClipDiagonalBound(C+h,h,C,v),m=d;m<=g;m+=2){for(c=(u=m===d||mO+R&&(O=u,R=c),!k&&Math.abs(m-S)<=h-1&&u>=E[m])return r[0]=u,s[0]=c,_<=E[m]&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):null}var N=(O-e+(R-o)-h)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(O,this.OriginalSequence,N))return l[0]=!0,r[0]=O,s[0]=R,N>0&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):[new n(++e,t-e+1,++o,i-o+1)];for(p=this.ClipDiagonalBound(S-h,h,S,v),f=this.ClipDiagonalBound(S+h,h,S,v),m=p;m<=f;m+=2){for(c=(u=m===p||m=E[m+1]?E[m+1]-1:E[m-1])-(m-S)-w,_=u;u>e&&c>o&&this.ElementsAreEqual(u,c);)u--,c--;if(E[m]=u,k&&Math.abs(m-C)<=h&&u<=b[m])return r[0]=u,s[0]=c,_>=b[m]&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):null}if(h<=1447){var I=new Array(g-d+2);I[0]=C-d+1,a.Copy(b,d,I,1,g-d+1),this.m_forwardHistory.push(I),(I=new Array(f-p+2))[0]=S-p+1,a.Copy(E,p,I,1,f-p+1),this.m_reverseHistory.push(I)}}return this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l)},e.prototype.ShiftChanges=function(e){var t;do{t=!1;for(var o=0;o0,a=n.modifiedLength>0;n.originalStart+n.originalLength=0;o--){n=e[o],i=0,r=0;if(o>0){var c=e[o-1];c.originalLength>0&&(i=c.originalStart+c.originalLength),c.modifiedLength>0&&(r=c.modifiedStart+c.modifiedLength)}s=n.originalLength>0,a=n.modifiedLength>0;for(var h=0,d=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),g=1;;g++){var p=n.originalStart-g,f=n.modifiedStart-g;if(pd&&(d=m,h=g)}n.originalStart-=h,n.modifiedStart-=h}return e},e.prototype._OriginalIsBoundary=function(e){if(e<=0||e>=this.OriginalSequence.getLength()-1)return!0;var t=this.OriginalSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var o=e+t;if(this._OriginalIsBoundary(o-1)||this._OriginalIsBoundary(o))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){if(e<=0||e>=this.ModifiedSequence.getLength()-1)return!0;var t=this.ModifiedSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._ModifiedRegionIsBoundary=function(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var o=e+t;if(this._ModifiedIsBoundary(o-1)||this._ModifiedIsBoundary(o))return!0}return!1},e.prototype._boundaryScore=function(e,t,o,n){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(o,n)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var o=[],n=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],o)?(n=new Array(e.length+t.length-1),a.Copy(e,0,n,0,e.length-1),n[e.length-1]=o[0],a.Copy(t,1,n,e.length,t.length-1),n):(n=new Array(e.length+t.length),a.Copy(e,0,n,0,e.length),a.Copy(t,0,n,e.length,t.length),n)},e.prototype.ChangesOverlap=function(e,t,o){if(s.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),s.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){var i=e.originalStart,r=e.originalLength,a=e.modifiedStart,l=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(r=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(l=t.modifiedStart+t.modifiedLength-e.modifiedStart),o[0]=new n(i,r,a,l),!0}return o[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,o,n){if(e>=0&&e1,p=void 0;if(p=Object(l.c)(u.uri,e,!a.c)?"":Object(i.h)(Object(r.ltrim)(e.path.substr(u.uri.path.length),i.i),!0),c){var f=u&&u.name?u.name:Object(i.a)(u.uri.fsPath);p=p?f+" • "+p:f}return p}if(e.scheme!==s.a.file&&e.scheme!==s.a.untitled)return e.with({query:null,fragment:null}).toString(!0);if(h(e.fsPath))return Object(i.h)(d(e.fsPath),!0);var m=Object(i.h)(e.fsPath,!0);return!a.g&&t&&(m=function(e,t){if(a.g||!e||!t)return e;var o=g.original===t?g.normalized:void 0;o||(o=""+Object(r.rtrim)(t,i.i)+i.i,g={original:t,normalized:o});(a.c?Object(r.startsWith)(e,o):Object(r.startsWithIgnoreCase)(e,o))&&(e="~/"+e.substr(o.length));return e}(m,t.userHome)),m}function c(e){if(!e)return null;"string"==typeof e&&(e=n.a.file(e));var t=Object(i.a)(e.path)||(e.scheme===s.a.file?e.fsPath:e.path);return h(t)?d(t):t}function h(e){return a.g&&e&&":"===e[1]}function d(e){return h(e)?e.charAt(0).toUpperCase()+e.slice(1):e}var g=Object.create(null)},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0}),n(o(185)),n(o(121)),n(o(521)),n(o(522)),n(o(313)),n(o(314)),n(o(315)),n(o(316)),n(o(535)),n(o(317))},function(e,t,o){(function(e){function o(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===o(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]"===o(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===o(e)},t.isError=function(e){return"[object Error]"===o(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,o(120).Buffer)},function(e,t,o){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:o(343),e.exports={Promise:n}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.prototype.toString;function i(e){return"[object String]"===n.call(e)}function r(e){return Array.isArray(e)}t.boolean=function(e){return!0===e||!1===e},t.string=i,t.number=function(e){return"[object Number]"===n.call(e)},t.error=function(e){return"[object Error]"===n.call(e)},t.func=function(e){return"[object Function]"===n.call(e)},t.array=r,t.stringArray=function(e){return r(e)&&e.every((function(e){return i(e)}))}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.create=function(e){return{dispose:e}}}(t.Disposable||(t.Disposable={})),function(e){var t={dispose:function(){}};e.None=function(){return t}}(t.Event||(t.Event={}));var n=function(){function e(){}return e.prototype.add=function(e,t,o){var n=this;void 0===t&&(t=null),this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(o)&&o.push({dispose:function(){return n.remove(e,t)}})},e.prototype.remove=function(e,t){if(void 0===t&&(t=null),this._callbacks){for(var o=!1,n=0,i=this._callbacks.length;nn(e))}},function(e,t,o){"use strict";o.r(t);var n=o(14);function i(e,t){switch(void 0===t&&(t=0),typeof e){case"object":return null===e?r(349,t):Array.isArray(e)?(o=e,n=r(104579,n=t),o.reduce((function(e,t){return i(t,e)}),n)):function(e,t){return t=r(181387,t),Object.keys(e).sort().reduce((function(t,o){return t=s(o,t),i(e[o],t)}),t)}(e,t);case"string":return s(e,t);case"boolean":return function(e,t){return r(e?433:863,t)}(e,t);case"number":return r(e,t);case"undefined":return r(e,937);default:return r(e,617)}var o,n}function r(e,t){return(t<<5)-t+e|0}function s(e,t){t=r(149417,t);for(var o=0,n=e.length;o=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(){function e(e,t,o){var n=this;this._editor=e,this._codeEditorService=t,this._configurationService=o,this._globalToDispose=[],this._localToDispose=[],this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=[],this._decorationsTypes={},this._globalToDispose.push(e.onDidChangeModel((function(e){n._isEnabled=n.isEnabled(),n.onModelChanged()}))),this._globalToDispose.push(e.onDidChangeModelLanguage((function(e){return n.onModelChanged()}))),this._globalToDispose.push(c.d.onDidChange((function(e){return n.onModelChanged()}))),this._globalToDispose.push(e.onDidChangeConfiguration((function(e){var t=n._isEnabled;n._isEnabled=n.isEnabled(),t!==n._isEnabled&&(n._isEnabled?n.onModelChanged():n.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}return e.prototype.isEnabled=function(){var e=this._editor.getModel();if(!e)return!1;var t=e.getLanguageIdentifier(),o=this._configurationService.getValue(t.language);if(o){var n=o.colorDecorators;if(n&&void 0!==n.enable&&!n.enable)return n.enable}return this._editor.getConfiguration().contribInfo.colorDecorators},e.prototype.getId=function(){return e.ID},e.get=function(e){return e.getContribution(this.ID)},e.prototype.dispose=function(){this.stop(),this.removeAllDecorations(),this._globalToDispose=Object(a.d)(this._globalToDispose)},e.prototype.onModelChanged=function(){var t=this;if(this.stop(),this._isEnabled){var o=this._editor.getModel();c.d.has(o)&&(this._localToDispose.push(this._editor.onDidChangeModelContent((function(o){t._timeoutTimer||(t._timeoutTimer=new f.f,t._timeoutTimer.cancelAndSet((function(){t._timeoutTimer=null,t.beginCompute()}),e.RECOMPUTE_TIME))}))),this.beginCompute())}},e.prototype.beginCompute=function(){var e=this;this._computePromise=Object(f.i)((function(t){return Object(d.b)(e._editor.getModel(),t)})),this._computePromise.then((function(t){e.updateDecorations(t),e.updateColorDecorators(t),e._computePromise=null}),m.e)},e.prototype.stop=function(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose=Object(a.d)(this._localToDispose)},e.prototype.updateDecorations=function(e){var t=this,o=e.map((function(e){return{range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:p.a.EMPTY}}));this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,o),this._colorDatas=new Map,this._decorationsIds.forEach((function(o,n){return t._colorDatas.set(o,e[n])}))},e.prototype.updateColorDecorators=function(e){for(var t=[],o={},r=0;r1){var m=o.getLineContent(f.lineNumber),_=a.firstNonWhitespaceIndex(m),y=-1===_?m.length+1:_+1;if(f.column<=y){var v=i.a.visibleColumnFromColumn2(t,o,f),b=i.a.prevTabStop(v,t.tabSize),E=i.a.columnFromVisibleColumn2(t,o,f.lineNumber,b);p=new r.a(f.lineNumber,E,f.lineNumber,f.column)}else p=new r.a(f.lineNumber,f.column-1,f.lineNumber,f.column)}else{var C=s.a.left(t,o,f.lineNumber,f.column);p=new r.a(C.lineNumber,C.column,f.lineNumber,f.column)}}p.isEmpty()?u[h]=null:(p.startLineNumber!==p.endLineNumber&&(c=!0),u[h]=new n.a(p,""))}return[c,u]},e.cut=function(e,t,o){for(var s=[],a=0,l=o.length;a1?(h=c.lineNumber-1,d=t.getLineMaxColumn(c.lineNumber-1),g=c.lineNumber,p=t.getLineMaxColumn(c.lineNumber)):(h=c.lineNumber,d=1,g=c.lineNumber,p=t.getLineMaxColumn(c.lineNumber));var f=new r.a(h,d,g,p);f.isEmpty()?s[a]=null:s[a]=new n.a(f,"")}else s[a]=null;else s[a]=new n.a(u,"")}return new i.e(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("clipboardService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"c",(function(){return s})),o.d(t,"b",(function(){return a}));var n=o(40),i=o(8);function r(e){return n.a(e.path)||e.authority}function s(e,t,o){return!(e!==t)||!(!e||!t)&&(o?Object(i.equalsIgnoreCase)(e.toString(),t.toString()):e.toString()===t.toString())}function a(e){var t=n.b(e.path);return e.authority&&t&&!n.d(t)?null:e.with({path:t})}},function(e,t,o){"use strict";o.d(t,"b",(function(){return r})),o.d(t,"a",(function(){return s}));var n=o(0),i=function(){function e(e,t,o){void 0===o&&(o=t),this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=o}return e.prototype.toLabel=function(e,t,o,n,i){return null===t&&null===n?null:function(e,t,o,n,i){var r=a(e,t,i);null!==n&&(r+=" ",r+=a(o,n,i));return r}(e,t,o,n,this.modifierLabels[i])},e}(),r=new i({ctrlKey:"⌃",shiftKey:"⇧",altKey:"⌥",metaKey:"⌘",separator:""},{ctrlKey:n.a({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:n.a({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"windowsKey",comment:["This is the short form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:n.a({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"superKey",comment:["This is the short form for the Super key on the keyboard"]},"Super"),separator:"+"}),s=new i({ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"cmdKey.long",comment:["This is the long form for the Command key on the keyboard"]},"Command"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"windowsKey.long",comment:["This is the long form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"superKey.long",comment:["This is the long form for the Super key on the keyboard"]},"Super"),separator:"+"});function a(e,t,o){if(null===t)return"";var n=[];return e.ctrlKey&&n.push(o.ctrlKey),e.shiftKey&&n.push(o.shiftKey),e.altKey&&n.push(o.altKey),e.metaKey&&n.push(o.metaKey),n.push(t),n.join(o.separator)}},function(e,t,o){"use strict";(function(t){void 0===t||!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,o,n,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var r,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick((function(){e.call(null,o)}));case 3:return t.nextTick((function(){e.call(null,o,n)}));case 4:return t.nextTick((function(){e.call(null,o,n,i)}));default:for(r=new Array(a-1),s=0;s=o.length)o.copy(this.buffer,this.index,0,o.length);else{var r=(Math.ceil((this.index+o.length)/a)+1)*a;0===this.index?(this.buffer=new e(r),o.copy(this.buffer,0,0,o.length)):this.buffer=e.concat([this.buffer.slice(0,this.index),o],r)}this.index+=o.length},t.prototype.tryReadHeaders=function(){for(var e=void 0,t=0;t+3=this.index)return e;e=Object.create(null),this.buffer.toString("ascii",0,t).split("\r\n").forEach((function(t){var o=t.indexOf(":");if(-1===o)throw new Error("Message header must separate key and value using :");var n=t.substr(0,o),i=t.substr(o+1).trim();e[n]=i}));var o=t+4;return this.buffer=this.buffer.slice(o),this.index=this.index-o,e},t.prototype.tryReadContent=function(e){if(this.index0&&t.doWriteMessage(t.queue.shift())})))}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}},t}(a);t.IPCMessageWriter=u;var c=function(t){function o(e,o){void 0===o&&(o="utf8");var n=t.call(this)||this;return n.socket=e,n.queue=[],n.sending=!1,n.encoding=o,n.errorCount=0,n.socket.on("error",(function(e){return n.fireError(e)})),n.socket.on("close",(function(){return n.fireClose()})),n}return i(o,t),o.prototype.write=function(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)},o.prototype.doWriteMessage=function(t){var o=this,n=JSON.stringify(t),i=["Content-Length: ",e.byteLength(n,this.encoding).toString(),"\r\n","\r\n"];try{this.sending=!0,this.socket.write(i.join(""),"ascii",(function(e){e&&o.handleError(e,t);try{o.socket.write(n,o.encoding,(function(e){o.sending=!1,e?o.handleError(e,t):o.errorCount=0,o.queue.length>0&&o.doWriteMessage(o.queue.shift())}))}catch(e){o.handleError(e,t)}}))}catch(e){this.handleError(e,t)}},o.prototype.handleError=function(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)},o}(a);t.SocketMessageWriter=c}).call(this,o(120).Buffer)},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(121);t.Disposable=n.Disposable;var i=function(){function e(){this.disposables=[]}return e.prototype.dispose=function(){for(;0!==this.disposables.length;)this.disposables.pop().dispose()},e.prototype.push=function(e){var t=this.disposables;return t.push(e),{dispose:function(){var o=t.indexOf(e);-1!==o&&t.splice(o,1)}}},e}();t.DisposableCollection=i},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.create=function(e){return{dispose:e}}}(t.Disposable||(t.Disposable={})),function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class n{add(e,t=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(o)&&o.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(this._callbacks){for(var o=!1,n=0,i=this._callbacks.length;n{let r;return this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t),r={dispose:()=>{this._callbacks.remove(e,t),r.dispose=i._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)}},Array.isArray(o)&&o.push(r),r}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}i._noop=function(){},t.Emitter=i},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","title":"JSON schema for Block definitions files","type":"object","additionalProperties":false,"properties":{"requires":{"description":"Files to be included in the code archive","type":"array","items":{"type":"string"}},"header":{"description":"Code placed at the beginning of generated code","type":"string"},"footer":{"description":"Code placed at the end of generated code","type":"string"},"blocks":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","definition","template"],"properties":{"id":{"type":"string"},"definition":{"type":["string","array"],"items":{"type":["string","object"],"additionalProperties":false,"required":["id","type","default"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["number","boolean","angle","text"]},"default":{}}}},"template":{"type":"string"}}}}}}')},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=function(e){this.element=e},i=function(){function e(){}return e.prototype.isEmpty=function(){return!this._first},e.prototype.unshift=function(e){return this.insert(e,!1)},e.prototype.push=function(e){return this.insert(e,!0)},e.prototype.insert=function(e,t){var o=this,i=new n(e);if(this._first)if(t){var r=this._last;this._last=i,i.prev=r,r.next=i}else{var s=this._first;this._first=i,i.next=s,s.prev=i}else this._first=i,this._last=i;return function(){for(var e=o._first;e instanceof n;e=e.next)if(e===i){if(e.prev&&e.next){var t=e.prev;t.next=e.next,e.next.prev=t}else e.prev||e.next?e.next?e.prev||(o._first=o._first.next,o._first.prev=void 0):(o._last=o._last.prev,o._last.next=void 0):(o._first=void 0,o._last=void 0);break}}},e.prototype.iterator=function(){var e={done:void 0,value:void 0},t=this._first;return{next:function(){return t?(e.done=!1,e.value=t.element,t=t.next):(e.done=!0,e.value=void 0),e}}},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return R}));var n=o(25),i=o(8),r=o(40),s=o(79),a=o(10),l="**",u="/",c="[/\\\\]",h="[^/\\\\]",d=/\//g;function g(e){switch(e){case 0:return"";case 1:return h+"*?";default:return"(?:"+c+"|"+h+"+"+c+"|"+c+h+"+)*?"}}function p(e,t){if(!e)return[];for(var o,n=[],i=!1,r=!1,s="",a=0;a0;o--){var r=e.charCodeAt(o-1);if(47===r||92===r)break}t=e.substr(o)}var s=i.indexOf(t);return-1!==s?n[s]:null};a.basenames=i,a.patterns=n,a.allBasenames=i;var l=e.filter((function(e){return!e.basenames}));return l.push(a),l}},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return c}));o(444);var n,i,r,s=o(34),a=o(1),l=o(6);function u(e,t,o){var n=o.offset+o.size;return o.position===r.Before?t<=e-n?n:t<=o.offset?o.offset-t:Math.max(e-t,0):t<=o.offset?o.offset-t:t<=e-n?n:0}!function(e){e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT"}(n||(n={})),function(e){e[e.BELOW=0]="BELOW",e[e.ABOVE=1]="ABOVE"}(i||(i={})),function(e){e[e.Before=0]="Before",e[e.After=1]="After"}(r||(r={}));var c=function(){function e(e){var t=this;this.$view=Object(s.a)(".context-view").hide(),this.setContainer(e),this.toDispose=[Object(l.f)((function(){t.setContainer(null)}))],this.toDisposeOnClean=null}return e.prototype.setContainer=function(t){var o=this;this.$container&&(this.$container.getHTMLElement().removeChild(this.$view.getHTMLElement()),this.$container.off(e.BUBBLE_UP_EVENTS),this.$container.off(e.BUBBLE_DOWN_EVENTS,!0),this.$container=null),t&&(this.$container=Object(s.a)(t),this.$view.appendTo(this.$container),this.$container.on(e.BUBBLE_UP_EVENTS,(function(e){o.onDOMEvent(e,document.activeElement,!1)})),this.$container.on(e.BUBBLE_DOWN_EVENTS,(function(e){o.onDOMEvent(e,document.activeElement,!0)}),null,!0))},e.prototype.show=function(e){this.isVisible()&&this.hide(),this.$view.setClass("context-view").empty().style({top:"0px",left:"0px"}).show(),this.toDisposeOnClean=e.render(this.$view.getHTMLElement()),this.delegate=e,this.doLayout()},e.prototype.layout=function(){this.isVisible()&&(!1!==this.delegate.canRelayout?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())},e.prototype.doLayout=function(){var e,t=this.delegate.getAnchor();if(a.C(t)){var o=a.u(t);e={top:o.top,left:o.left,width:o.width,height:o.height}}else{var s=t;e={top:s.y,left:s.x,width:s.width||0,height:s.height||0}}var l,c=this.$view.getTotalSize(),h=this.delegate.anchorPosition||i.BELOW,d=this.delegate.anchorAlignment||n.LEFT,g={offset:e.top,size:e.height,position:h===i.BELOW?r.Before:r.After};l=d===n.LEFT?{offset:e.left,size:0,position:r.Before}:{offset:e.left+e.width,size:0,position:r.After};var p=a.u(this.$container.getHTMLElement()),f=u(window.innerHeight,c.height,g)-p.top,m=u(window.innerWidth,c.width,l)-p.left;this.$view.removeClass("top","bottom","left","right"),this.$view.addClass(h===i.BELOW?"bottom":"top"),this.$view.addClass(d===n.LEFT?"left":"right"),this.$view.style({top:f+"px",left:m+"px",width:"initial"})},e.prototype.hide=function(e){this.delegate&&this.delegate.onHide&&this.delegate.onHide(e),this.delegate=null,this.toDisposeOnClean&&(this.toDisposeOnClean.dispose(),this.toDisposeOnClean=null),this.$view.hide()},e.prototype.isVisible=function(){return!!this.delegate},e.prototype.onDOMEvent=function(e,t,o){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):o&&!a.B(e.target,this.$container.getHTMLElement())&&this.hide())},e.prototype.dispose=function(){this.hide(),this.toDispose=Object(l.d)(this.toDispose)},e.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],e.BUBBLE_DOWN_EVENTS=["click"],e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return d}));o(451);var n,i=o(1),r=o(125),s=o(40),a=o(165),l=o(6),u=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),c=function(){function e(e){this._element=e}return Object.defineProperty(e.prototype,"element",{get:function(){return this._element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textContent",{set:function(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"className",{set:function(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{set:function(e){this.disposed||e===this._title||(this._title=e,this._title?this._element.title=e:this._element.removeAttribute("title"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"empty",{set:function(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":null)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposed=!0},e}(),h=function(e){function t(t,o){var n=e.call(this)||this;return n.domNode=n._register(new c(i.k(t,i.a(".monaco-icon-label")))),n.labelDescriptionContainer=n._register(new c(i.k(n.domNode.element,i.a(".monaco-icon-label-description-container")))),o&&o.supportHighlights?n.labelNode=n._register(new r.a(i.k(n.labelDescriptionContainer.element,i.a("a.label-name")))):n.labelNode=n._register(new c(i.k(n.labelDescriptionContainer.element,i.a("a.label-name")))),o&&o.supportDescriptionHighlights?n.descriptionNodeFactory=function(){return n._register(new r.a(i.k(n.labelDescriptionContainer.element,i.a("span.label-description"))))}:n.descriptionNodeFactory=function(){return n._register(new c(i.k(n.labelDescriptionContainer.element,i.a("span.label-description"))))},n}return u(t,e),t.prototype.setValue=function(e,t,o){var n=["monaco-icon-label"];o&&(o.extraClasses&&n.push.apply(n,o.extraClasses),o.italic&&n.push("italic")),this.domNode.className=n.join(" "),this.domNode.title=o&&o.title?o.title:"",this.labelNode instanceof r.a?this.labelNode.set(e||"",o?o.matches:void 0):this.labelNode.textContent=e||"",(t||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof r.a?(this.descriptionNode.set(t||"",o?o.descriptionMatches:void 0),o&&o.descriptionTitle?this.descriptionNode.element.title=o.descriptionTitle:this.descriptionNode.element.removeAttribute("title")):(this.descriptionNode.textContent=t||"",this.descriptionNode.title=o&&o.descriptionTitle?o.descriptionTitle:"",this.descriptionNode.empty=!t))},t}(l.a),d=function(e){function t(t,o,n,i){var r=e.call(this,t)||this;return r.setFile(o,n,i),r}return u(t,e),t.prototype.setFile=function(e,t,o){var n=s.b(e.fsPath);this.setValue(Object(a.a)(e),n&&"."!==n?Object(a.b)(n,o,t):"",{title:e.fsPath})},t}(h)},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l}));var n=o(8),i=o(11),r=o(69),s=o(87);function a(e,t){return function(e,t){for(var o='
    ',i=e.split(/\r\n|\r|\n/),r=t.getInitialState(),a=0,l=i.length;a0&&(o+="
    ");var c=t.tokenize2(u,r,0);s.a.convertToEndOffset(c.tokens,u.length);for(var h=new s.a(c.tokens,u).inflate(),d=0,g=0,p=h.getCount();g'+n.escape(u.substring(d,m))+"",d=m}r=c.endState}return o+="
    "}(e,function(e){var t=i.y.get(e);if(t)return t;return{getInitialState:function(){return r.c},tokenize:void 0,tokenize2:function(e,t,o){return Object(r.e)(0,e,t,o)}}}(t))}function l(e,t,o,n,i,r){for(var s="
    ",a=n,l=0,u=0,c=t.getCount();u0;)d+=" ",p--;break;case 60:d+="<";break;case 62:d+=">";break;case 38:d+="&";break;case 0:d+="�";break;case 65279:case 8232:d+="�";break;case 13:d+="​";break;default:d+=String.fromCharCode(g)}}if(s+=''+d+"",h>i||a>=i)break}}return s+="
    "}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(10),i=function(){function e(e,t,o,n,i,r){this.id=e,this.label=t,this.alias=o,this._precondition=n,this._run=i,this._contextKeyService=r}return e.prototype.isSupported=function(){return this._contextKeyService.contextMatchesRules(this._precondition)},e.prototype.run=function(){if(!this.isSupported())return n.b.as(void 0);var e=this._run();return e||n.b.as(void 0)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return _}));o(472);var n=o(6),i=o(31),r=o(1),s=o(93),a=o(2),l=o(14),u=o(26),c=o(155),h=o(18),d=new l.a(new l.c(0,122,204)),g={showArrow:!0,showFrame:!0,className:"",frameColor:d,arrowColor:d,keepEditorSelection:!1},p=function(){function e(e,t,o,n,i,r){this.domNode=e,this.afterLineNumber=t,this.afterColumn=o,this.heightInLines=n,this._onDomNodeTop=i,this._onComputedHeight=r}return e.prototype.onDomNodeTop=function(e){this._onDomNodeTop(e)},e.prototype.onComputedHeight=function(e){this._onComputedHeight(e)},e}(),f=function(){function e(e,t){this._id=e,this._domNode=t}return e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return null},e}(),m=function(){function e(t){this._editor=t,this._ruleName=e._IdGenerator.nextId(),this._decorations=[]}return e.prototype.dispose=function(){this.hide(),r.F(this._ruleName)},Object.defineProperty(e.prototype,"color",{set:function(e){this._color!==e&&(this._color=e,this._updateStyle())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{set:function(e){this._height!==e&&(this._height=e,this._updateStyle())},enumerable:!0,configurable:!0}),e.prototype._updateStyle=function(){r.F(this._ruleName),r.n(".monaco-editor "+this._ruleName,"border-style: solid; border-color: transparent; border-bottom-color: "+this._color+"; border-width: "+this._height+"px; bottom: -"+this._height+"px; margin-left: -"+this._height+"px; ")},e.prototype.show=function(e){this._decorations=this._editor.deltaDecorations(this._decorations,[{range:a.a.fromPositions(e),options:{className:this._ruleName,stickiness:h.h.NeverGrowsWhenTypingAtEdges}}])},e.prototype.hide=function(){this._editor.deltaDecorations(this._decorations,[])},e._IdGenerator=new c.a(".arrow-decoration-"),e}(),_=function(){function e(e,t){void 0===t&&(t={});var o=this;this._positionMarkerId=[],this._disposables=[],this._isShowing=!1,this.editor=e,this.options=i.c(t),i.g(this.options,g,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.push(this.editor.onDidLayoutChange((function(e){var t=o._getWidth(e);o.domNode.style.width=t+"px",o.domNode.style.left=o._getLeft(e)+"px",o._onWidth(t)})))}return e.prototype.dispose=function(){var e=this;Object(n.d)(this._disposables),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((function(t){t.removeZone(e._viewZone.id),e._viewZone=null})),this.editor.deltaDecorations(this._positionMarkerId,[]),this._positionMarkerId=[]},e.prototype.create=function(){r.f(this.domNode,"zone-widget"),r.f(this.domNode,this.options.className),this.container=document.createElement("div"),r.f(this.container,"zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new m(this.editor),this._disposables.push(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()},e.prototype.style=function(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()},e.prototype._applyStyles=function(){if(this.container){var e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow){var t=this.options.arrowColor.toString();this._arrow.color=t}},e.prototype._getWidth=function(e){return e.width-e.minimapWidth-e.verticalScrollbarWidth},e.prototype._getLeft=function(e){return e.minimapWidth>0&&0===e.minimapLeft?e.minimapWidth:0},e.prototype._onViewZoneTop=function(e){this.domNode.style.top=e+"px"},e.prototype._onViewZoneHeight=function(e){this.domNode.style.height=e+"px";var t=e-this._decoratingElementsHeight();this.container.style.height=t+"px";var o=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(o)),this._resizeSash.layout()},Object.defineProperty(e.prototype,"position",{get:function(){var e=this._positionMarkerId[0];if(e){var t=this.editor.getModel().getDecorationRange(e);if(t)return t.getStartPosition()}},enumerable:!0,configurable:!0}),e.prototype.show=function(e,t){var o=a.a.isIRange(e)?e:new a.a(e.lineNumber,e.column,e.lineNumber,e.column);this._isShowing=!0,this._showImpl(o,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:o,options:u.a.EMPTY}])},e.prototype.hide=function(){var e=this;this._viewZone&&(this.editor.changeViewZones((function(t){t.removeZone(e._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()},e.prototype._decoratingElementsHeight=function(){var e=this.editor.getConfiguration().lineHeight,t=0;this.options.showArrow&&(t+=2*Math.round(e/3));this.options.showFrame&&(t+=2*Math.round(e/9));return t},e.prototype._showImpl=function(e,t){var o=this,n={lineNumber:e.startLineNumber,column:e.startColumn},i=this.editor.getLayoutInfo(),r=this._getWidth(i);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(i)+"px";var s=document.createElement("div");s.style.overflow="hidden";var a=this.editor.getConfiguration().lineHeight,l=this.editor.getLayoutInfo().height/a*.8;t>=l&&(t=l);var u=0,c=0;if(this.options.showArrow&&(u=Math.round(a/3),this._arrow.height=u,this._arrow.show(n)),this.options.showFrame&&(c=Math.round(a/9)),this.editor.changeViewZones((function(e){o._viewZone&&e.removeZone(o._viewZone.id),o._overlayWidget&&(o.editor.removeOverlayWidget(o._overlayWidget),o._overlayWidget=null),o.domNode.style.top="-1000px",o._viewZone=new p(s,n.lineNumber,n.column,t,(function(e){return o._onViewZoneTop(e)}),(function(e){return o._onViewZoneHeight(e)})),o._viewZone.id=e.addZone(o._viewZone),o._overlayWidget=new f("vs.editor.contrib.zoneWidget"+o._viewZone.id,o.domNode),o.editor.addOverlayWidget(o._overlayWidget)})),this.options.showFrame){var h=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=h+"px",this.container.style.borderBottomWidth=h+"px"}var d=t*a-this._decoratingElementsHeight();this.container.style.top=u+"px",this.container.style.height=d+"px",this.container.style.overflow="hidden",this._doLayout(d,r),this.options.keepEditorSelection||this.editor.setSelection(e);var g=Math.min(this.editor.getModel().getLineCount(),Math.max(1,e.endLineNumber+1));this.revealLine(g)},e.prototype.revealLine=function(e){this.editor.revealLine(e,0)},e.prototype.setCssClass=function(e,t){t&&this.container.classList.remove(t),r.f(this.container,e)},e.prototype._onWidth=function(e){},e.prototype._doLayout=function(e,t){},e.prototype._relayout=function(e){var t=this;this._viewZone.heightInLines!==e&&this.editor.changeViewZones((function(o){t._viewZone.heightInLines=e,o.layoutZone(t._viewZone.id)}))},e.prototype._initSash=function(){var e,t=this;this._resizeSash=new s.b(this.domNode,this,{orientation:s.a.HORIZONTAL}),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.state=s.c.Disabled),this._disposables.push(this._resizeSash.onDidStart((function(o){t._viewZone&&(e={startY:o.startY,heightInLines:t._viewZone.heightInLines})}))),this._disposables.push(this._resizeSash.onDidEnd((function(){e=void 0}))),this._disposables.push(this._resizeSash.onDidChange((function(o){if(e){var n=(o.currentY-e.startY)/t.editor.getConfiguration().lineHeight,i=n<0?Math.ceil(n):Math.floor(n),r=e.heightInLines+i;r>5&&r<35&&t._relayout(r)}})))},e.prototype.getHorizontalSashLeft=function(){return 0},e.prototype.getHorizontalSashTop=function(){return parseInt(this.domNode.style.height)-this._decoratingElementsHeight()/2},e.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("uriDisplay")},function(e,t,o){"use strict";o.d(t,"a",(function(){return p}));o(301);var n,i=o(24),r=o(6),s=o(4),a=o(15),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function u(e,t){return!!e[t]}var c=function(e,t){this.target=e.target,this.hasTriggerModifier=u(e.event,t.triggerModifier),this.hasSideBySideModifier=u(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=i.k||e.event.detail<=1},h=function(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=u(e,t.triggerModifier)},d=function(){function e(e,t,o,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=o,this.triggerSideBySideModifier=n}return e.prototype.equals=function(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier},e}();function g(e){return"altKey"===e?a.d?new d(57,"metaKey",6,"altKey"):new d(5,"ctrlKey",6,"altKey"):a.d?new d(6,"altKey",57,"metaKey"):new d(6,"altKey",5,"ctrlKey")}var p=function(e){function t(t){var o=e.call(this)||this;return o._onMouseMoveOrRelevantKeyDown=o._register(new s.a),o.onMouseMoveOrRelevantKeyDown=o._onMouseMoveOrRelevantKeyDown.event,o._onExecute=o._register(new s.a),o.onExecute=o._onExecute.event,o._onCancel=o._register(new s.a),o.onCancel=o._onCancel.event,o._editor=t,o._opts=g(o._editor.getConfiguration().multiCursorModifier),o.lastMouseMoveEvent=null,o.hasTriggerKeyOnMouseDown=!1,o._register(o._editor.onDidChangeConfiguration((function(e){if(e.multiCursorModifier){var t=g(o._editor.getConfiguration().multiCursorModifier);if(o._opts.equals(t))return;o._opts=t,o.lastMouseMoveEvent=null,o.hasTriggerKeyOnMouseDown=!1,o._onCancel.fire()}}))),o._register(o._editor.onMouseMove((function(e){return o.onEditorMouseMove(new c(e,o._opts))}))),o._register(o._editor.onMouseDown((function(e){return o.onEditorMouseDown(new c(e,o._opts))}))),o._register(o._editor.onMouseUp((function(e){return o.onEditorMouseUp(new c(e,o._opts))}))),o._register(o._editor.onKeyDown((function(e){return o.onEditorKeyDown(new h(e,o._opts))}))),o._register(o._editor.onKeyUp((function(e){return o.onEditorKeyUp(new h(e,o._opts))}))),o._register(o._editor.onMouseDrag((function(){return o.resetHandler()}))),o._register(o._editor.onDidChangeCursorSelection((function(e){return o.onDidChangeCursorSelection(e)}))),o._register(o._editor.onDidChangeModel((function(e){return o.resetHandler()}))),o._register(o._editor.onDidChangeModelContent((function(){return o.resetHandler()}))),o._register(o._editor.onDidScrollChange((function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&o.resetHandler()}))),o}return l(t,e),t.prototype.onDidChangeCursorSelection=function(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this.resetHandler()},t.prototype.onEditorMouseMove=function(e){this.lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])},t.prototype.onEditorMouseDown=function(e){this.hasTriggerKeyOnMouseDown=e.hasTriggerModifier},t.prototype.onEditorMouseUp=function(e){this.hasTriggerKeyOnMouseDown&&this._onExecute.fire(e)},t.prototype.onEditorKeyDown=function(e){this.lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this.lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()},t.prototype.onEditorKeyUp=function(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()},t.prototype.resetHandler=function(){this.lastMouseMoveEvent=null,this.hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()},t}(r.a)},function(e,t,o){"use strict";o(473);var n,i,r,s=o(75),a=o(76),l=o(13),u=o(6),c=o(10),h=o(4),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g=function(){function e(e){this._onDispose=new h.a,this.onDispose=this._onDispose.event,this._item=e}return Object.defineProperty(e.prototype,"item",{get:function(){return this._item},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose&&(this._onDispose.fire(),this._onDispose.dispose(),this._onDispose=null)},e}(),p=function(){function e(){this.locks=Object.create({})}return e.prototype.isLocked=function(e){return!!this.locks[e.id]},e.prototype.run=function(e,t){var o,n,i=this,r=this.getLock(e);return r?new c.b((function(n,s){o=Object(h.k)(r.onDispose)((function(){return i.run(e,t).then(n,s)}))}),(function(){o.dispose()})):new c.b((function(o,r){if(e.isDisposed())return r(new Error("Item is disposed."));var s=i.locks[e.id]=new g(e);return n=t().then((function(t){return delete i.locks[e.id],s.dispose(),t})).then(o,r)}),(function(){return n.cancel()}))},e.prototype.getLock=function(e){var t;for(t in this.locks){var o=this.locks[t];if(e.intersects(o.item))return o}return null},e}(),f=function(){function e(){this._isDisposed=!1,this._onDidRevealItem=new h.d,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new h.d,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new h.d,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new h.d,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new h.d,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new h.d,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new h.d,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new h.d,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new h.d,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new h.d,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new h.d,this.onDidDisposeItem=this._onDidDisposeItem.event,this.items={}}return e.prototype.register=function(e){a.a(!this.isRegistered(e.id),"item already registered: "+e.id);var t=Object(u.c)([this._onDidRevealItem.add(e.onDidReveal),this._onExpandItem.add(e.onExpand),this._onDidExpandItem.add(e.onDidExpand),this._onCollapseItem.add(e.onCollapse),this._onDidCollapseItem.add(e.onDidCollapse),this._onDidAddTraitItem.add(e.onDidAddTrait),this._onDidRemoveTraitItem.add(e.onDidRemoveTrait),this._onDidRefreshItem.add(e.onDidRefresh),this._onRefreshItemChildren.add(e.onRefreshChildren),this._onDidRefreshItemChildren.add(e.onDidRefreshChildren),this._onDidDisposeItem.add(e.onDidDispose)]);this.items[e.id]={item:e,disposable:t}},e.prototype.deregister=function(e){a.a(this.isRegistered(e.id),"item not registered: "+e.id),this.items[e.id].disposable.dispose(),delete this.items[e.id]},e.prototype.isRegistered=function(e){return this.items.hasOwnProperty(e)},e.prototype.getItem=function(e){var t=this.items[e];return t?t.item:null},e.prototype.dispose=function(){this.items=null,this._onDidRevealItem.dispose(),this._onExpandItem.dispose(),this._onDidExpandItem.dispose(),this._onCollapseItem.dispose(),this._onDidCollapseItem.dispose(),this._onDidAddTraitItem.dispose(),this._onDidRemoveTraitItem.dispose(),this._onDidRefreshItem.dispose(),this._onRefreshItemChildren.dispose(),this._onDidRefreshItemChildren.dispose(),this._isDisposed=!0},e.prototype.isDisposed=function(){return this._isDisposed},e}(),m=function(){function e(e,t,o,n,i){this._onDidCreate=new h.a,this._onDidReveal=new h.a,this.onDidReveal=this._onDidReveal.event,this._onExpand=new h.a,this.onExpand=this._onExpand.event,this._onDidExpand=new h.a,this.onDidExpand=this._onDidExpand.event,this._onCollapse=new h.a,this.onCollapse=this._onCollapse.event,this._onDidCollapse=new h.a,this.onDidCollapse=this._onDidCollapse.event,this._onDidAddTrait=new h.a,this.onDidAddTrait=this._onDidAddTrait.event,this._onDidRemoveTrait=new h.a,this.onDidRemoveTrait=this._onDidRemoveTrait.event,this._onDidRefresh=new h.a,this.onDidRefresh=this._onDidRefresh.event,this._onRefreshChildren=new h.a,this.onRefreshChildren=this._onRefreshChildren.event,this._onDidRefreshChildren=new h.a,this.onDidRefreshChildren=this._onDidRefreshChildren.event,this._onDidDispose=new h.a,this.onDidDispose=this._onDidDispose.event,this.registry=t,this.context=o,this.lock=n,this.element=i,this.id=e,this.registry.register(this),this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.needsChildrenRefresh=!0,this.parent=null,this.previous=null,this.next=null,this.firstChild=null,this.lastChild=null,this.traits={},this.depth=0,this.expanded=this.context.dataSource.shouldAutoexpand&&this.context.dataSource.shouldAutoexpand(this.context.tree,i),this._onDidCreate.fire(this),this.visible=this._isVisible(),this.height=this._getHeight(),this._isDisposed=!1}return e.prototype.getElement=function(){return this.element},e.prototype.hasChildren=function(){return this.doesHaveChildren},e.prototype.getDepth=function(){return this.depth},e.prototype.isVisible=function(){return this.visible},e.prototype.setVisible=function(e){this.visible=e},e.prototype.isExpanded=function(){return this.expanded},e.prototype._setExpanded=function(e){this.expanded=e},e.prototype.reveal=function(e){void 0===e&&(e=null);var t={item:this,relativeTop:e};this._onDidReveal.fire(t)},e.prototype.expand=function(){var e=this;return this.isExpanded()||!this.doesHaveChildren||this.lock.isLocked(this)?c.b.as(!1):this.lock.run(this,(function(){var t={item:e};return e._onExpand.fire(t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):c.b.as(null)).then((function(){return e._setExpanded(!0),e._onDidExpand.fire(t),!0}))})).then((function(t){return!e.isDisposed()&&(e.context.options.autoExpandSingleChildren&&t&&null!==e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.isVisible()?e.firstChild.expand().then((function(){return!0})):t)}))},e.prototype.collapse=function(e){var t=this;if(void 0===e&&(e=!1),e){var o=c.b.as(null);return this.forEachChild((function(e){o=o.then((function(){return e.collapse(!0)}))})),o.then((function(){return t.collapse(!1)}))}return!this.isExpanded()||this.lock.isLocked(this)?c.b.as(!1):this.lock.run(this,(function(){var e={item:t};return t._onCollapse.fire(e),t._setExpanded(!1),t._onDidCollapse.fire(e),c.b.as(!0)}))},e.prototype.addTrait=function(e){var t={item:this,trait:e};this.traits[e]=!0,this._onDidAddTrait.fire(t)},e.prototype.removeTrait=function(e){var t={item:this,trait:e};delete this.traits[e],this._onDidRemoveTrait.fire(t)},e.prototype.hasTrait=function(e){return this.traits[e]||!1},e.prototype.getAllTraits=function(){var e,t=[];for(e in this.traits)this.traits.hasOwnProperty(e)&&this.traits[e]&&t.push(e);return t},e.prototype.getHeight=function(){return this.height},e.prototype.refreshChildren=function(t,o,n){var i=this;if(void 0===o&&(o=!1),void 0===n&&(n=!1),!n&&!this.isExpanded())return this.needsChildrenRefresh=!0,c.b.as(this);this.needsChildrenRefresh=!1;var r=function(){var n={item:i,isNested:o};return i._onRefreshChildren.fire(n),(i.doesHaveChildren?i.context.dataSource.getChildren(i.context.tree,i.element):c.b.as([])).then((function(o){if(i.isDisposed()||i.registry.isDisposed())return c.b.as(null);if(!Array.isArray(o))return c.b.wrapError(new Error("Please return an array of children."));o=o?o.slice(0):[],o=i.sort(o);for(var n={};null!==i.firstChild;)n[i.firstChild.id]=i.firstChild,i.removeChild(i.firstChild);for(var r=0,s=o.length;r=0;r--)this.onInsertItem(u[r]);for(r=this.heightMap.length-1;r>=i;r--)this.onRefreshItem(this.heightMap[r]);return a},e.prototype.onInsertItem=function(e){},e.prototype.onRemoveItems=function(e){for(var t,o,n,i=null,r=0;t=e.next();){if(n=this.indexes[t],!(o=this.heightMap[n]))return void console.error("view item doesnt exist");r-=o.height,delete this.indexes[t],this.onRemoveItem(o),null===i&&(i=n)}if(0!==r)for(this.heightMap.splice(i,n-i+1),n=i;n=o.top+o.height))return t;if(n===t)break;n=t}return this.heightMap.length},e.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.heightMap.length)},e.prototype.itemAtIndex=function(e){return this.heightMap[e]},e.prototype.itemAfter=function(e){return this.heightMap[this.indexes[e.model.id]+1]||null},e.prototype.createViewItem=function(e){throw new Error("not implemented")},e.prototype.dispose=function(){this.heightMap=null,this.indexes=null},e}(),x=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),M=function(){function e(e,t,o){this._posx=e,this._posy=t,this._target=o}return e.prototype.preventDefault=function(){},e.prototype.stopPropagation=function(){},Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}(),B=function(e){function t(t){var o=e.call(this,t.posx,t.posy,t.target)||this;return o.originalEvent=t,o}return x(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(M),F=function(e){function t(t,o,n){var i=e.call(this,t,o,n.target)||this;return i.originalEvent=n,i}return x(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(M);!function(e){e[e.COPY=0]="COPY",e[e.MOVE=1]="MOVE"}(i||(i={})),function(e){e[e.BUBBLE_DOWN=0]="BUBBLE_DOWN",e[e.BUBBLE_UP=1]="BUBBLE_UP"}(r||(r={}));var H="ResourceURLs",U=o(17),V=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();var W=function(){function e(e){this.context=e,this._cache={"":[]}}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var o=document.createElement("div");o.className="content";var n=document.createElement("div");n.appendChild(o),t={element:n,templateId:e,templateData:this.context.renderer.renderTemplate(this.context.tree,e,o)}}return t},e.prototype.release=function(e,t){!function(e){try{e.parentElement.removeChild(e)}catch(e){}}(t.element),this.cache(e).push(t)},e.prototype.cache=function(e){return this._cache[e]||(this._cache[e]=[])},e.prototype.garbageCollect=function(){var e=this;this._cache&&Object.keys(this._cache).forEach((function(t){e._cache[t].forEach((function(o){e.context.renderer.disposeTemplate(e.context.tree,t,o.templateData),o.element=null,o.templateData=null})),delete e._cache[t]}))},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null,this.context=null},e}(),j=function(){function e(e,t){var o=this;this.width=0,this.context=e,this.model=t,this.id=this.model.id,this.row=null,this.top=0,this.height=t.getHeight(),this._styles={},t.getAllTraits().forEach((function(e){return o._styles[e]=!0})),t.isExpanded()&&this.addClass("expanded")}return Object.defineProperty(e.prototype,"expanded",{set:function(e){e?this.addClass("expanded"):this.removeClass("expanded")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"loading",{set:function(e){e?this.addClass("loading"):this.removeClass("loading")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"draggable",{get:function(){return this._draggable},set:function(e){this._draggable=e,this.render(!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropTarget",{set:function(e){e?this.addClass("drop-target"):this.removeClass("drop-target")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this.row&&this.row.element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"templateId",{get:function(){return this._templateId||(this._templateId=this.context.renderer.getTemplateId&&this.context.renderer.getTemplateId(this.context.tree,this.model.getElement()))},enumerable:!0,configurable:!0}),e.prototype.addClass=function(e){this._styles[e]=!0,this.render(!0)},e.prototype.removeClass=function(e){delete this._styles[e],this.render(!0)},e.prototype.render=function(e){var t=this;if(void 0===e&&(e=!1),this.model&&this.element){var o=["monaco-tree-row"];o.push.apply(o,Object.keys(this._styles)),this.model.hasChildren()&&o.push("has-children"),this.element.className=o.join(" "),this.element.draggable=this.draggable,this.element.style.height=this.height+"px",this.element.setAttribute("role","treeitem");var n=this.context.accessibilityProvider,i=n.getAriaLabel(this.context.tree,this.model.getElement());if(i&&this.element.setAttribute("aria-label",i),n.getPosInSet&&n.getSetSize&&(this.element.setAttribute("aria-setsize",n.getSetSize()),this.element.setAttribute("aria-posinset",n.getPosInSet(this.context.tree,this.model.getElement()))),this.model.hasTrait("focused")){var r=w.safeBtoa(this.model.id);this.element.setAttribute("aria-selected","true"),this.element.setAttribute("id",r)}else this.element.setAttribute("aria-selected","false"),this.element.removeAttribute("id");this.model.hasChildren()?this.element.setAttribute("aria-expanded",String(!!this._styles.expanded)):this.element.removeAttribute("aria-expanded"),this.element.setAttribute("aria-level",String(this.model.getDepth())),this.context.options.paddingOnRow?this.element.style.paddingLeft=this.context.options.twistiePixels+(this.model.getDepth()-1)*this.context.options.indentPixels+"px":(this.element.style.paddingLeft=(this.model.getDepth()-1)*this.context.options.indentPixels+"px",this.row.element.firstElementChild.style.paddingLeft=this.context.options.twistiePixels+"px");var s=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());if(s!==this.uri&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),s?(this.uri=s,this.draggable=!0,this.unbindDragStart=C.g(this.element,"dragstart",(function(e){t.onDragStart(e)}))):this.uri=null),!e&&this.element){var a=window.getComputedStyle(this.element),l=parseFloat(a.paddingLeft);this.context.horizontalScrolling&&(this.element.style.width="fit-content"),this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData),this.context.horizontalScrolling&&(this.width=C.t(this.element)+l,this.element.style.width="")}}},e.prototype.insertInDOM=function(e,t){if(this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[z.BINDING]=this),!this.element.parentElement){if(null===t)e.appendChild(this.element);else try{e.insertBefore(this.element,t)}catch(t){console.warn("Failed to locate previous tree element"),e.appendChild(this.element)}this.render()}},e.prototype.removeFromDOM=function(){this.row&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),this.uri=null,this.element[z.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null,this.model=null},e}(),G=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i.row={element:n,templateData:null,templateId:null},i}return V(t,e),t.prototype.render=function(){if(this.model&&this.element){var e=["monaco-tree-wrapper"];e.push.apply(e,Object.keys(this._styles)),this.model.hasChildren()&&e.push("has-children"),this.element.className=e.join(" ")}},t.prototype.insertInDOM=function(e,t){},t.prototype.removeFromDOM=function(){},t}(j);var z=function(e){function t(o,n){var i=e.call(this)||this;i.lastClickTimeStamp=0,i.contentWidthUpdateDelayer=new U.a(50),i.isRefreshing=!1,i.refreshingPreviousChildrenIds={},i._onDOMFocus=new h.a,i._onDOMBlur=new h.a,i._onDidScroll=new h.a,t.counter++,i.instance=t.counter;var r=void 0===o.options.horizontalScrollMode?A.b.Hidden:o.options.horizontalScrollMode;i.horizontalScrolling=r!==A.b.Hidden,i.context={dataSource:o.dataSource,renderer:o.renderer,controller:o.controller,dnd:o.dnd,filter:o.filter,sorter:o.sorter,tree:o.tree,accessibilityProvider:o.accessibilityProvider,options:o.options,cache:new W(o),horizontalScrolling:i.horizontalScrolling},i.modelListeners=[],i.viewListeners=[],i.model=null,i.items={},i.domNode=document.createElement("div"),i.domNode.className="monaco-tree no-focused-item monaco-tree-instance-"+i.instance,i.domNode.tabIndex=o.options.preventRootFocus?-1:0,i.styleElement=C.o(i.domNode),i.treeStyler=o.styler,i.treeStyler||(i.treeStyler=new s.f(i.styleElement,"monaco-tree-instance-"+i.instance)),i.domNode.setAttribute("role","tree"),i.context.options.ariaLabel&&i.domNode.setAttribute("aria-label",i.context.options.ariaLabel),i.context.options.alwaysFocused&&C.f(i.domNode,"focused"),i.context.options.paddingOnRow||C.f(i.domNode,"no-row-padding"),i.wrapper=document.createElement("div"),i.wrapper.className="monaco-tree-wrapper",i.scrollableElement=new D.b(i.wrapper,{alwaysConsumeMouseWheel:!0,horizontal:r,vertical:void 0!==o.options.verticalScrollMode?o.options.verticalScrollMode:A.b.Auto,useShadows:o.options.useShadows}),i.scrollableElement.onScroll((function(e){i.render(e.scrollTop,e.height,e.scrollLeft,e.width,e.scrollWidth),i._onDidScroll.fire()})),E.k?(i.wrapper.style.msTouchAction="none",i.wrapper.style.msContentZooming="none"):T.b.addTarget(i.wrapper),i.rowsContainer=document.createElement("div"),i.rowsContainer.className="monaco-tree-rows",o.options.showTwistie&&(i.rowsContainer.className+=" show-twisties");var a=C.O(i.domNode);return i.viewListeners.push(a.onDidFocus((function(){return i.onFocus()}))),i.viewListeners.push(a.onDidBlur((function(){return i.onBlur()}))),i.viewListeners.push(a),i.viewListeners.push(C.g(i.domNode,"keydown",(function(e){return i.onKeyDown(e)}))),i.viewListeners.push(C.g(i.domNode,"keyup",(function(e){return i.onKeyUp(e)}))),i.viewListeners.push(C.g(i.domNode,"mousedown",(function(e){return i.onMouseDown(e)}))),i.viewListeners.push(C.g(i.domNode,"mouseup",(function(e){return i.onMouseUp(e)}))),i.viewListeners.push(C.g(i.wrapper,"click",(function(e){return i.onClick(e)}))),i.viewListeners.push(C.g(i.wrapper,"auxclick",(function(e){return i.onClick(e)}))),i.viewListeners.push(C.g(i.domNode,"contextmenu",(function(e){return i.onContextMenu(e)}))),i.viewListeners.push(C.g(i.wrapper,T.a.Tap,(function(e){return i.onTap(e)}))),i.viewListeners.push(C.g(i.wrapper,T.a.Change,(function(e){return i.onTouchChange(e)}))),E.k&&(i.viewListeners.push(C.g(i.wrapper,"MSPointerDown",(function(e){return i.onMsPointerDown(e)}))),i.viewListeners.push(C.g(i.wrapper,"MSGestureTap",(function(e){return i.onMsGestureTap(e)}))),i.viewListeners.push(C.i(i.wrapper,"MSGestureChange",(function(e){return i.onThrottledMsGestureChange(e)}),(function(e,t){t.stopPropagation(),t.preventDefault();var o={translationY:t.translationY,translationX:t.translationX};return e&&(o.translationY+=e.translationY,o.translationX+=e.translationX),o})))),i.viewListeners.push(C.g(window,"dragover",(function(e){return i.onDragOver(e)}))),i.viewListeners.push(C.g(i.wrapper,"drop",(function(e){return i.onDrop(e)}))),i.viewListeners.push(C.g(window,"dragend",(function(e){return i.onDragEnd(e)}))),i.viewListeners.push(C.g(window,"dragleave",(function(e){return i.onDragOver(e)}))),i.wrapper.appendChild(i.rowsContainer),i.domNode.appendChild(i.scrollableElement.getDomNode()),n.appendChild(i.domNode),i.lastRenderTop=0,i.lastRenderHeight=0,i.didJustPressContextMenuKey=!1,i.currentDropTarget=null,i.currentDropTargets=[],i.shouldInvalidateDropReaction=!1,i.dragAndDropScrollInterval=null,i.dragAndDropScrollTimeout=null,i.onHiddenScrollTop=null,i.onRowsChanged(),i.layout(),i.setupMSGesture(),i.applyStyles(o.options),i}return V(t,e),Object.defineProperty(t.prototype,"onDOMFocus",{get:function(){return this._onDOMFocus.event},enumerable:!0,configurable:!0}),t.prototype.applyStyles=function(e){this.treeStyler.style(e)},t.prototype.createViewItem=function(e){return new j(this.context,e)},t.prototype.getHTMLElement=function(){return this.domNode},t.prototype.focus=function(){this.domNode.focus()},t.prototype.isFocused=function(){return document.activeElement===this.domNode},t.prototype.blur=function(){this.domNode.blur()},t.prototype.setupMSGesture=function(){var e=this;window.MSGesture&&(this.msGesture=new MSGesture,setTimeout((function(){return e.msGesture.target=e.wrapper}),100))},t.prototype.isTreeVisible=function(){return null===this.onHiddenScrollTop},t.prototype.layout=function(e,t){this.isTreeVisible()&&(this.viewHeight=e||C.s(this.wrapper),this.scrollHeight=this.getContentHeight(),this.horizontalScrolling&&(this.viewWidth=t||C.t(this.wrapper)))},t.prototype.render=function(e,t,o,n,i){var r,s,a=e,l=e+t,u=this.lastRenderTop+this.lastRenderHeight;for(r=this.indexAfter(l)-1,s=this.indexAt(Math.max(u,a));r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(l))-1,s=this.indexAt(a);r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=this.indexAt(this.lastRenderTop),s=Math.min(this.indexAt(a),this.indexAfter(u));r1e3,u=void 0,c=void 0;if(!l)c=(u=new S.a({getLength:function(){return r.length},getElementAtIndex:function(e){return r[e]}},{getLength:function(){return s.length},getElementAtIndex:function(e){return s[e].id}},null).ComputeDiff(!1)).some((function(e){if(e.modifiedLength>0)for(var o=e.modifiedStart,n=e.modifiedStart+e.modifiedLength;o0&&this.onRemoveItems(new L.a(r,g.originalStart,g.originalStart+g.originalLength)),g.modifiedLength>0){var p=s[g.modifiedStart-1]||o;p=p.getDepth()>0?p:null,this.onInsertItems(new L.a(s,g.modifiedStart,g.modifiedStart+g.modifiedLength),p?p.id:null)}}else(l||u.length)&&(this.onRemoveItems(new L.a(r)),this.onInsertItems(new L.a(s),o.getDepth()>0?o.id:null));(l||u.length)&&this.onRowsChanged()}},t.prototype.onItemRefresh=function(e){this.onItemsRefresh([e])},t.prototype.onItemsRefresh=function(e){var t=this;this.onRefreshItemSet(e.filter((function(e){return t.items.hasOwnProperty(e.id)}))),this.onRowsChanged()},t.prototype.onItemExpanding=function(e){var t=this.items[e.item.id];t&&(t.expanded=!0)},t.prototype.onItemExpanded=function(e){var t=e.item,o=this.items[t.id];if(o){o.expanded=!0;var n=this.onInsertItems(t.getNavigator(),t.id),i=this.scrollTop;o.top+o.height<=this.scrollTop&&(i+=n),this.onRowsChanged(i)}},t.prototype.onItemCollapsing=function(e){var t=e.item,o=this.items[t.id];o&&(o.expanded=!1,this.onRemoveItems(new L.c(t.getNavigator(),(function(e){return e&&e.id}))),this.onRowsChanged())},t.prototype.onItemReveal=function(e){var t=e.item,o=e.relativeTop,n=this.items[t.id];if(n)if(null!==o){o=(o=o<0?0:o)>1?1:o;var i=n.height-this.viewHeight;this.scrollTop=i*o+n.top}else{var r=n.top+n.height,s=this.scrollTop+this.viewHeight;n.top=s&&(this.scrollTop=r-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,o=e.trait,n=this.items[t.id];n&&n.addClass(o),"highlighted"===o&&(C.f(this.domNode,o),n&&(this.highlightedItemWasDraggable=!!n.draggable,n.draggable&&(n.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,o=e.trait,n=this.items[t.id];n&&n.removeClass(o),"highlighted"===o&&(C.G(this.domNode,o),this.highlightedItemWasDraggable&&(n.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();C.N(this.domNode,"no-focused-item",!e),e?this.domNode.setAttribute("aria-activedescendant",w.safeBtoa(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute("aria-activedescendant")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(o){t.onDragStart(e,o)},e.needsRender=!0,this.refreshViewItem(e),this.items[e.id]=e},t.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1),e.needsRender=e.needsRender||t,this.refreshViewItem(e)},t.prototype.onRemoveItem=function(e){this.removeItemFromDOM(e),e.dispose(),delete this.items[e.id]},t.prototype.refreshViewItem=function(e){e.render(),this.shouldBeRendered(e)?this.insertItemInDOM(e):this.removeItemFromDOM(e)},t.prototype.onClick=function(e){if(!this.lastPointerType||"mouse"===this.lastPointerType){var t=new k.b(e),o=this.getItemAround(t.target);o&&(E.k&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,o.model.getElement(),t))}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new k.b(e);if(!(t.ctrlKey&&b.e&&b.d)){var o=this.getItemAround(t.target);o&&this.context.controller.onMouseDown(this.context.tree,o.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new k.b(e);if(!(t.ctrlKey&&b.e&&b.d)){var o=this.getItemAround(t.target);o&&this.context.controller.onMouseUp(this.context.tree,o.model.getElement(),t)}}},t.prototype.onTap=function(e){var t=this.getItemAround(e.initialTarget);t&&this.context.controller.onTap(this.context.tree,t.model.getElement(),e)},t.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},t.prototype.onContextMenu=function(e){var t,o;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var n,i=new O.a(e);if(o=this.model.getFocus()){var r=this.context.dataSource.getId(this.context.tree,o),s=this.items[r];n=C.u(s.element)}else o=this.model.getInput(),n=C.u(this.inputItem.element);t=new F(n.left+n.width,n.top,i)}else{var a=new k.b(e),l=this.getItemAround(a.target);if(!l)return;o=l.model.getElement(),t=new B(a)}this.context.controller.onContextMenu(this.context.tree,o,t)},t.prototype.onKeyDown=function(e){var t=new O.a(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode,this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||this.context.controller.onKeyDown(this.context.tree,t)},t.prototype.onKeyUp=function(e){this.didJustPressContextMenuKey&&this.onContextMenu(e),this.didJustPressContextMenuKey=!1,this.context.controller.onKeyUp(this.context.tree,new O.a(e))},t.prototype.onDragStart=function(e,o){if(!this.model.getHighlight()){var n,i=e.model.getElement(),r=this.model.getSelection();if(n=r.indexOf(i)>-1?r:[i],o.dataTransfer.effectAllowed="copyMove",o.dataTransfer.setData(H,JSON.stringify([e.uri])),o.dataTransfer.setDragImage){var s=void 0;s=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,n):String(n.length);var a=document.createElement("div");a.className="monaco-tree-drag-image",a.textContent=s,document.body.appendChild(a),o.dataTransfer.setDragImage(a,-10,-10),setTimeout((function(){return document.body.removeChild(a)}),0)}this.currentDragAndDropData=new R(n),t.currentExternalDragAndDropData=new N(n),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new k.a(o))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=C.w(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval((function(){if(void 0!==e.dragAndDropMouseY){var o=e.dragAndDropMouseY-t,n=0,i=e.viewHeight-35;o<35?n=Math.max(-14,.2*(o-35)):o>i&&(n=Math.min(14,.2*(o-i))),e.scrollTop+=n}}),10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout((function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null}),1e3))},t.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},t.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},t.prototype.onDragOver=function(e){var o,n=this,s=new k.a(e),a=this.getItemAround(s.target);if(!a||0===s.posx&&0===s.posy&&s.browserEvent.type===C.d.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=s.posy,!this.currentDragAndDropData)if(t.currentExternalDragAndDropData)this.currentDragAndDropData=t.currentExternalDragAndDropData;else{if(!s.dataTransfer.types)return!1;this.currentDragAndDropData=new I}this.currentDragAndDropData.update(s);var l,u=a.model;do{if(o=u?u.getElement():this.model.getInput(),!(l=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,o,s))||l.bubble!==r.BUBBLE_UP)break;u=u&&u.parent}while(u);if(!u)return this.currentDropElement=null,!1;var h=l&&l.accept;h?(this.currentDropElement=u.getElement(),s.preventDefault(),s.dataTransfer.dropEffect=l.effect===i.COPY?"copy":"move"):this.currentDropElement=null;var d,g,p=u.id===this.inputItem.id?this.inputItem:this.items[u.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==p||(d=this.currentDropElementReaction,g=l,!(!d&&!g||d&&g&&d.accept===g.accept&&d.bubble===g.bubble&&d.effect===g.effect)))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.currentDropTarget=p,this.currentDropElementReaction=l,h)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),l.bubble===r.BUBBLE_DOWN)for(var f,m=u.getNavigator();f=m.next();)(a=this.items[f.id])&&(a.dropTarget=!0,this.currentDropTargets.push(a));l.autoExpand&&(this.currentDropPromise=c.b.timeout(500).then((function(){return n.context.tree.expand(n.currentDropElement)})).then((function(){return n.shouldInvalidateDropReaction=!0})))}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new k.a(e);t.preventDefault(),this.currentDragAndDropData.update(t),this.context.dnd.drop(this.context.tree,this.currentDragAndDropData,this.currentDropElement,t),this.onDragEnd(e)}this.cancelDragAndDropScrollInterval()},t.prototype.onDragEnd=function(e){this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[]),this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,t.currentExternalDragAndDropData=null,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||C.f(this.domNode,"focused"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||C.G(this.domNode,"focused"),this.domNode.removeAttribute("aria-activedescendant"),this._onDOMBlur.fire()},t.prototype.onMsPointerDown=function(e){if(this.msGesture){var t=e.pointerType;t!==(e.MSPOINTER_TYPE_MOUSE||"mouse")?t===(e.MSPOINTER_TYPE_TOUCH||"touch")&&(this.lastPointerType="touch",e.stopPropagation(),e.preventDefault(),this.msGesture.addPointer(e.pointerId)):this.lastPointerType="mouse"}},t.prototype.onThrottledMsGestureChange=function(e){this.scrollTop-=e.translationY},t.prototype.onMsGestureTap=function(e){e.initialTarget=document.elementFromPoint(e.clientX,e.clientY),this.onTap(e)},t.prototype.insertItemInDOM=function(e){var t=null,o=this.itemAfter(e);o&&o.element&&(t=o.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.topthis.lastRenderTop},t.prototype.getItemAround=function(e){var o=this.inputItem;do{if(e[t.BINDING]&&(o=e[t.BINDING]),e===this.wrapper||e===this.domNode)return o;if(e===document.body)return null}while(e=e.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=u.d(this.modelListeners),this.model=null)},t.prototype.dispose=function(){var t=this;this.scrollableElement.dispose(),this.releaseModel(),this.modelListeners=null,this.viewListeners=u.d(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(),this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.domNode=null,this.items&&(Object.keys(this.items).forEach((function(e){return t.items[e].removeFromDOM()})),this.items=null),this.context.cache&&(this.context.cache.dispose(),this.context.cache=null),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.counter=0,t.currentExternalDragAndDropData=null,t}(P),K=o(14),Y=o(31);o.d(t,"a",(function(){return $}));var X=function(e,t,o){if(void 0===o&&(o={}),this.tree=e,this.configuration=t,this.options=o,!t.dataSource)throw new Error("You must provide a Data Source to the tree.");this.dataSource=t.dataSource,this.renderer=t.renderer,this.controller=t.controller||new s.c({clickBehavior:s.a.ON_MOUSE_UP,keyboardSupport:"boolean"!=typeof o.keyboardSupport||o.keyboardSupport}),this.dnd=t.dnd||new s.d,this.filter=t.filter||new s.e,this.sorter=t.sorter||null,this.accessibilityProvider=t.accessibilityProvider||new s.b,this.styler=t.styler||null},q={listFocusBackground:K.a.fromHex("#073655"),listActiveSelectionBackground:K.a.fromHex("#0E639C"),listActiveSelectionForeground:K.a.fromHex("#FFFFFF"),listFocusAndSelectionBackground:K.a.fromHex("#094771"),listFocusAndSelectionForeground:K.a.fromHex("#FFFFFF"),listInactiveSelectionBackground:K.a.fromHex("#3F3F46"),listHoverBackground:K.a.fromHex("#2A2D2E"),listDropBackground:K.a.fromHex("#383B3D")},$=function(){function e(e,t,o){void 0===o&&(o={}),this._onDidChangeFocus=new h.e,this.onDidChangeFocus=this._onDidChangeFocus.event,this._onDidChangeSelection=new h.e,this.onDidChangeSelection=this._onDidChangeSelection.event,this._onHighlightChange=new h.e,this._onDidExpandItem=new h.e,this._onDidCollapseItem=new h.e,this._onDispose=new h.a,this.onDidDispose=this._onDispose.event,this.container=e,Object(Y.g)(o,q,!1),o.twistiePixels="number"==typeof o.twistiePixels?o.twistiePixels:32,o.showTwistie=!1!==o.showTwistie,o.indentPixels="number"==typeof o.indentPixels?o.indentPixels:12,o.alwaysFocused=!0===o.alwaysFocused,o.useShadows=!1!==o.useShadows,o.paddingOnRow=!1!==o.paddingOnRow,o.showLoading=!1!==o.showLoading,this.context=new X(this,t,o),this.model=new v(this.context),this.view=new z(this.context,this.container),this.view.setModel(this.model),this._onDidChangeFocus.input=this.model.onDidFocus,this._onDidChangeSelection.input=this.model.onDidSelect,this._onHighlightChange.input=this.model.onDidHighlight,this._onDidExpandItem.input=this.model.onDidExpandItem,this._onDidCollapseItem.input=this.model.onDidCollapseItem}return e.prototype.style=function(e){this.view.applyStyles(e)},Object.defineProperty(e.prototype,"onDidFocus",{get:function(){return this.view&&this.view.onDOMFocus},enumerable:!0,configurable:!0}),e.prototype.getHTMLElement=function(){return this.view.getHTMLElement()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.domFocus=function(){this.view.focus()},e.prototype.isDOMFocused=function(){return this.view.isFocused()},e.prototype.domBlur=function(){this.view.blur()},e.prototype.setInput=function(e){return this.model.setInput(e)},e.prototype.getInput=function(){return this.model.getInput()},e.prototype.refresh=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),this.model.refresh(e,t)},e.prototype.expand=function(e){return this.model.expand(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.collapse(e,t)},e.prototype.toggleExpansion=function(e,t){return void 0===t&&(t=!1),this.model.toggleExpansion(e,t)},e.prototype.isExpanded=function(e){return this.model.isExpanded(e)},e.prototype.reveal=function(e,t){return void 0===t&&(t=null),this.model.reveal(e,t)},e.prototype.getHighlight=function(){return this.model.getHighlight()},e.prototype.clearHighlight=function(e){this.model.setHighlight(null,e)},e.prototype.setSelection=function(e,t){this.model.setSelection(e,t)},e.prototype.getSelection=function(){return this.model.getSelection()},e.prototype.clearSelection=function(e){this.model.setSelection([],e)},e.prototype.setFocus=function(e,t){this.model.setFocus(e,t)},e.prototype.getFocus=function(){return this.model.getFocus()},e.prototype.focusNext=function(e,t){this.model.focusNext(e,t)},e.prototype.focusPrevious=function(e,t){this.model.focusPrevious(e,t)},e.prototype.focusParent=function(e){this.model.focusParent(e)},e.prototype.focusFirstChild=function(e){this.model.focusFirstChild(e)},e.prototype.focusFirst=function(e,t){this.model.focusFirst(e,t)},e.prototype.focusNth=function(e,t){this.model.focusNth(e,t)},e.prototype.focusLast=function(e,t){this.model.focusLast(e,t)},e.prototype.focusNextPage=function(e){this.view.focusNextPage(e)},e.prototype.focusPreviousPage=function(e){this.view.focusPreviousPage(e)},e.prototype.clearFocus=function(e){this.model.setFocus(null,e)},e.prototype.dispose=function(){this._onDispose.fire(),null!==this.model&&(this.model.dispose(),this.model=null),null!==this.view&&(this.view.dispose(),this.view=null),this._onDidChangeFocus.dispose(),this._onDidChangeSelection.dispose(),this._onHighlightChange.dispose(),this._onDidExpandItem.dispose(),this._onDidCollapseItem.dispose(),this._onDispose.dispose()},e}()},function(e,t,o){"use strict";o(449);var n=o(0),i=o(13),r=o(4),s=o(6),a=o(63),l=o(8),u=o(10),c=o(14),h=o(34),d=o(1),g=o(93),p=(o(450),o(31)),f={badgeBackground:c.a.fromHex("#4D4D4D"),badgeForeground:c.a.fromHex("#FFFFFF")},m=function(){function e(e,t){this.options=t||Object.create(null),Object(p.g)(this.options,f,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=Object(d.k)(e,Object(d.a)(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}return e.prototype.setCount=function(e){this.count=e,this.render()},e.prototype.setTitleFormat=function(e){this.titleFormat=e,this.render()},e.prototype.render=function(){this.element.textContent=Object(l.format)(this.countFormat,this.count),this.element.title=Object(l.format)(this.titleFormat,this.count),this.applyStyles()},e.prototype.style=function(e){this.badgeBackground=e.badgeBackground,this.badgeForeground=e.badgeForeground,this.badgeBorder=e.badgeBorder,this.applyStyles()},e.prototype.applyStyles=function(){if(this.element){var e=this.badgeBackground?this.badgeBackground.toString():null,t=this.badgeForeground?this.badgeForeground.toString():null,o=this.badgeBorder?this.badgeBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=o?"1px":null,this.element.style.borderStyle=o?"solid":null,this.element.style.borderColor=o}},e}(),_=o(206),y=o(22),v=o(143),b=o(2),E=o(26),C=o(157),S=o(113),T=o(56),w=o(133),k=o(7),O=o(19),R=o(118),N=Object(y.c)("environmentService"),I=o(33),L=o(18),D=o(134),A=o(12),P=o(75),x=o(210),M=o(178);o.d(t,"b",(function(){return J})),o.d(t,"a",(function(){return Z}));var B,F=(B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}B(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),H=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},U=function(e,t){return function(o,n){t(o,n,e)}},V=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},W=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]1?this.badge.setTitleFormat(n.a("referencesCount","{0} references",t)):this.badge.setTitleFormat(n.a("referenceCount","{0} reference",t))},e=H([U(1,v.a),U(2,Object(y.d)(N)),U(3,O.c)],e)}(),Y=function(){function e(e){var t=document.createElement("div");this.before=document.createElement("span"),this.inside=document.createElement("span"),this.after=document.createElement("span"),d.f(this.inside,"referenceMatch"),d.f(t,"reference"),t.appendChild(this.before),t.appendChild(this.inside),t.appendChild(this.after),e.appendChild(t)}return e.prototype.set=function(e){var t=e.parent.preview.preview(e.range),o=t.before,n=t.inside,i=t.after;this.before.innerHTML=l.escape(o),this.inside.innerHTML=l.escape(n),this.after.innerHTML=l.escape(i)},e}(),X=function(){function e(e,t,o){this._contextService=e,this._themeService=t,this._environmentService=o}return e.prototype.getHeight=function(e,t){return 23},e.prototype.getTemplateId=function(t,o){if(o instanceof T.a)return e._ids.FileReferences;if(o instanceof T.b)return e._ids.OneReference;throw o},e.prototype.renderTemplate=function(t,o,n){if(o===e._ids.FileReferences)return new K(n,this._contextService,this._environmentService,this._themeService);if(o===e._ids.OneReference)return new Y(n);throw o},e.prototype.renderElement=function(e,t,o,n){if(t instanceof T.a)n.set(t);else{if(!(t instanceof T.b))throw o;n.set(t)}},e.prototype.disposeTemplate=function(e,t,o){o instanceof K&&o.dispose()},e._ids={FileReferences:"FileReferences",OneReference:"OneReference"},e=H([U(0,v.a),U(1,O.c),U(2,Object(y.d)(N))],e)}(),q=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return t instanceof T.a?t.getAriaMessage():t instanceof T.b?t.getAriaMessage():void 0},e}(),$=function(){function e(e,t){var o,n=this;this._disposables=[],this._onDidChangePercentages=new r.a,this._ratio=t,this._sash=new g.b(e,{getVerticalSashLeft:function(){return n._width*n._ratio},getVerticalSashHeight:function(){return n._height}}),this._disposables.push(this._sash.onDidStart((function(e){o=e.startX-n._width*n.ratio}))),this._disposables.push(this._sash.onDidChange((function(e){var t=e.currentX-o;t>20&&t+200?e.children[0]:void 0},t.prototype._revealReference=function(e,t){return V(this,void 0,void 0,(function(){var o,r=this;return W(this,(function(l){switch(l.label){case 0:return e.uri.scheme!==a.a.inMemory?this.setTitle(Object(M.a)(e.uri),this._uriDisplay.getLabel(Object(M.b)(e.uri),!1)):this.setTitle(n.a("peekView.alternateTitle","References")),o=this._textModelResolverService.createModelReference(e.uri),t?[4,this._tree.reveal(e.parent)]:[3,2];case 1:l.sent(),l.label=2;case 2:return[2,u.b.join([o,this._tree.reveal(e)]).then((function(t){var o=t[0];if(r._model){Object(s.d)(r._previewModelReference);var n=o.object;if(n){r._previewModelReference=o;var i=r._preview.getModel()===n.textEditorModel;r._preview.setModel(n.textEditorModel);var a=b.a.lift(e.range).collapseToStart();r._preview.setSelection(a),r._preview.revealRangeInCenter(a,i?0:1)}else r._preview.setModel(r._previewNotAvailableMessage),o.dispose()}else o.dispose()}),i.e)]}}))}))},t=H([U(3,O.c),U(4,w.a),U(5,y.a),U(6,x.a)],t)}(S.b),Q=Object(k.kb)("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},n.a("peekViewTitleBackground","Background color of the peek view title area.")),ee=Object(k.kb)("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},n.a("peekViewTitleForeground","Color of the peek view title.")),te=Object(k.kb)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#6c6c6cb3",hc:"#FFFFFF99"},n.a("peekViewTitleInfoForeground","Color of the peek view title info.")),oe=Object(k.kb)("peekView.border",{dark:"#007acc",light:"#007acc",hc:k.e},n.a("peekViewBorder","Color of the peek view borders and arrow.")),ne=Object(k.kb)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:c.a.black},n.a("peekViewResultsBackground","Background color of the peek view result list.")),ie=Object(k.kb)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:c.a.white},n.a("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),re=Object(k.kb)("peekViewResult.fileForeground",{dark:c.a.white,light:"#1E1E1E",hc:c.a.white},n.a("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),se=Object(k.kb)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},n.a("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),ae=Object(k.kb)("peekViewResult.selectionForeground",{dark:c.a.white,light:"#6C6C6C",hc:c.a.white},n.a("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),le=Object(k.kb)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:c.a.black},n.a("peekViewEditorBackground","Background color of the peek view editor.")),ue=Object(k.kb)("peekViewEditorGutter.background",{dark:le,light:le,hc:le},n.a("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),ce=Object(k.kb)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},n.a("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),he=Object(k.kb)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},n.a("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),de=Object(k.kb)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:k.b},n.a("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));Object(O.e)((function(e,t){var o=e.getColor(ce);o&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { background-color: "+o+"; }");var n=e.getColor(he);n&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: "+n+"; }");var i=e.getColor(de);i&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid "+i+"; box-sizing: border-box; }");var r=e.getColor(k.b);r&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { border: 1px dotted "+r+"; box-sizing: border-box; }");var s=e.getColor(ne);s&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { background-color: "+s+"; }");var a=e.getColor(ie);a&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { color: "+a+"; }");var l=e.getColor(re);l&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: "+l+"; }");var u=e.getColor(se);u&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+u+"; }");var c=e.getColor(ae);c&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+c+" !important; }");var h=e.getColor(le);h&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\tbackground-color: "+h+";}");var d=e.getColor(ue);d&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: "+d+";}")}))},function(e,t,o){"use strict";var n,i="object"==typeof Reflect?Reflect:null,r=i&&"function"==typeof i.apply?i.apply:function(e,t,o){return Function.prototype.apply.call(e,t,o)};n=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function u(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function c(e,t,o,n){var i,r,s,a;if("function"!=typeof o)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o);if(void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,o.listener?o.listener:o),r=e._events),s=r[t]),void 0===s)s=r[t]=o,++e._eventsCount;else if("function"==typeof s?s=r[t]=n?[o,s]:[s,o]:n?s.unshift(o):s.push(o),(i=u(e))>0&&s.length>i&&!s.warned){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=s.length,a=l,console&&console.warn&&console.warn(a)}return e}function h(){for(var e=[],t=0;t0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=i[e];if(void 0===l)return!1;if("function"==typeof l)r(l,this,t);else{var u=l.length,c=f(l,u);for(o=0;o=0;r--)if(o[r]===t||o[r].listener===t){s=o[r].listener,i=r;break}if(i<0)return this;0===i?o.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},a.prototype.listeners=function(e){return g(this,e,!0)},a.prototype.rawListeners=function(e){return g(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,o){(t=e.exports=o(269)).Stream=t,t.Readable=t,t.Writable=o(216),t.Duplex=o(136),t.Transform=o(273),t.PassThrough=o(337)},function(e,t,o){"use strict";(function(t,n,i){var r=o(180);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,o){var n=e.entry;e.entry=null;for(;n;){var i=n.callback;t.pendingcb--,i(o),n=n.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=y;var a,l=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?n:r.nextTick;y.WritableState=_;var u=o(167);u.inherits=o(147);var c={deprecate:o(336)},h=o(270),d=o(181).Buffer,g=i.Uint8Array||function(){};var p,f=o(271);function m(){}function _(e,t){a=a||o(136),e=e||{};var n=t instanceof a;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,u=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(u||0===u)?u:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var o=e._writableState,n=o.sync,i=o.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(o),t)!function(e,t,o,n,i){--t.pendingcb,o?(r.nextTick(i,n),r.nextTick(T,e,t),e._writableState.errorEmitted=!0,e.emit("error",n)):(i(n),e._writableState.errorEmitted=!0,e.emit("error",n),T(e,t))}(e,o,n,t,i);else{var s=C(o);s||o.corked||o.bufferProcessing||!o.bufferedRequest||E(e,o),n?l(b,e,o,s,i):b(e,o,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(e){if(a=a||o(136),!(p.call(y,this)||this instanceof a))return new y(e);this._writableState=new _(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function v(e,t,o,n,i,r,s){t.writelen=n,t.writecb=s,t.writing=!0,t.sync=!0,o?e._writev(i,t.onwrite):e._write(i,r,t.onwrite),t.sync=!1}function b(e,t,o,n){o||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),T(e,t)}function E(e,t){t.bufferProcessing=!0;var o=t.bufferedRequest;if(e._writev&&o&&o.next){var n=t.bufferedRequestCount,i=new Array(n),r=t.corkedRequestsFree;r.entry=o;for(var a=0,l=!0;o;)i[a]=o,o.isBuf||(l=!1),o=o.next,a+=1;i.allBuffers=l,v(e,t,!0,t.length,i,"",r.finish),t.pendingcb++,t.lastBufferedRequest=null,r.next?(t.corkedRequestsFree=r.next,r.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;o;){var u=o.chunk,c=o.encoding,h=o.callback;if(v(e,t,!1,t.objectMode?1:u.length,u,c,h),o=o.next,t.bufferedRequestCount--,t.writing)break}null===o&&(t.lastBufferedRequest=null)}t.bufferedRequest=o,t.bufferProcessing=!1}function C(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function S(e,t){e._final((function(o){t.pendingcb--,o&&e.emit("error",o),t.prefinished=!0,e.emit("prefinish"),T(e,t)}))}function T(e,t){var o=C(t);return o&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,r.nextTick(S,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),o}u.inherits(y,h),_.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(_.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===y&&(e&&e._writableState instanceof _)}})):p=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,o){var n,i=this._writableState,s=!1,a=!i.objectMode&&(n=e,d.isBuffer(n)||n instanceof g);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(o=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof o&&(o=m),i.ended?function(e,t){var o=new Error("write after end");e.emit("error",o),r.nextTick(t,o)}(this,o):(a||function(e,t,o,n){var i=!0,s=!1;return null===o?s=new TypeError("May not write null values to stream"):"string"==typeof o||void 0===o||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),r.nextTick(n,s),i=!1),i}(this,i,e,o))&&(i.pendingcb++,s=function(e,t,o,n,i,r){if(!o){var s=function(e,t,o){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,o));return t}(t,n,i);n!==s&&(o=!0,i="buffer",n=s)}var a=t.objectMode?1:n.length;t.length+=a;var l=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(e,t,o){o(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,o){var n=this._writableState;"function"==typeof e?(o=e,e=null,t=null):"function"==typeof t&&(o=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,o){t.ending=!0,T(e,t),o&&(t.finished?r.nextTick(o):e.once("finish",o));t.ended=!0,e.writable=!1}(this,n,o)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=f.destroy,y.prototype._undestroy=f.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,o(108),o(148).setImmediate,o(80))},function(e,t,o){"use strict";var n=o(168),i=o(277),r=o(278),s=o(279);r=o(278);function a(e,t,o,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=o,this.compression=n,this.compressedContent=i}a.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new r("data_length")),t=this;return e.on("end",(function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")})),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,o){return e.pipe(new s).pipe(new r("uncompressedSize")).pipe(t.compressWorker(o)).pipe(new r("compressedSize")).withStreamInfo("compression",t)},e.exports=a},function(e,t,o){"use strict";var n=o(65);var i=function(){for(var e,t=[],o=0;o<256;o++){e=o;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[o]=e}return t}();e.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,o,n){var r=i,s=n+o;e^=-1;for(var a=n;a>>8^r[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,o,n){var r=i,s=n+o;e^=-1;for(var a=n;a>>8^r[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},function(e,t,o){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(e,t,o){"use strict";var n=o(367),i=o(221),r=o(149),s=o(291),a=o(369);function l(e,t,o){var n=this._refs[o];if("string"==typeof n){if(!this._refs[n])return l.call(this,e,t,n);n=this._refs[n]}if((n=n||this._schemas[o])instanceof s)return p(n.schema,this._opts.inlineRefs)?n.schema:n.validate||this._compile(n);var i,r,a,c=u.call(this,t,o);return c&&(i=c.schema,t=c.root,a=c.baseId),i instanceof s?r=i.validate||e.call(this,i.schema,t,void 0,a):void 0!==i&&(r=p(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,a)),r}function u(e,t){var o=n.parse(t),i=m(o),r=f(this._getId(e.schema));if(0===Object.keys(e.schema).length||i!==r){var a=y(i),l=this._refs[a];if("string"==typeof l)return c.call(this,e,l,o);if(l instanceof s)l.validate||this._compile(l),e=l;else{if(!((l=this._schemas[a])instanceof s))return;if(l.validate||this._compile(l),a==y(t))return{schema:l,root:e,baseId:r};e=l}if(!e.schema)return;r=f(this._getId(e.schema))}return d.call(this,o,r,e.schema,e)}function c(e,t,o){var n=u.call(this,e,t);if(n){var i=n.schema,r=n.baseId;e=n.root;var s=this._getId(i);return s&&(r=v(r,s)),d.call(this,o,r,i,e)}}e.exports=l,l.normalizeId=y,l.fullPath=f,l.url=v,l.ids=function(e){var t=y(this._getId(e)),o={"":t},s={"":f(t,!1)},l={},u=this;return a(e,{allKeys:!0},(function(e,t,a,c,h,d,g){if(""!==t){var p=u._getId(e),f=o[c],m=s[c]+"/"+h;if(void 0!==g&&(m+="/"+("number"==typeof g?g:r.escapeFragment(g))),"string"==typeof p){p=f=y(f?n.resolve(f,p):p);var _=u._refs[p];if("string"==typeof _&&(_=u._refs[_]),_&&_.schema){if(!i(e,_.schema))throw new Error('id "'+p+'" resolves to more than one schema')}else if(p!=y(m))if("#"==p[0]){if(l[p]&&!i(e,l[p]))throw new Error('id "'+p+'" resolves to more than one schema');l[p]=e}else u._refs[p]=m}o[t]=f,s[t]=m}})),l},l.inlineRef=p,l.schema=u;var h=r.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function d(e,t,o,n){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},k=function(e,t){return function(o,n){t(o,n,e)}},O=new g.f("accessibilityHelpWidgetVisible",!1),R=function(e){function t(t,o){var n=e.call(this)||this;return n._editor=t,n._widget=n._register(o.createInstance(P,n._editor)),n}return T(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.show=function(){this._widget.show()},t.prototype.hide=function(){this._widget.hide()},t.ID="editor.contrib.accessibilityHelpController",t=w([k(1,h.a)],t)}(r.a),N=i.a("noSelection","No selection"),I=i.a("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),L=i.a("singleSelection","Line {0}, Column {1}"),D=i.a("multiSelectionRange","{0} selections ({1} characters selected)"),A=i.a("multiSelection","{0} selections");var P=function(e){function t(t,o,n,r){var s=e.call(this)||this;return s._contextKeyService=o,s._keybindingService=n,s._openerService=r,s._editor=t,s._isVisibleKey=O.bindTo(s._contextKeyService),s._domNode=Object(u.b)(document.createElement("div")),s._domNode.setClassName("accessibilityHelpWidget"),s._domNode.setDisplay("none"),s._domNode.setAttribute("role","dialog"),s._domNode.setAttribute("aria-hidden","true"),s._contentDomNode=Object(u.b)(document.createElement("div")),s._contentDomNode.setAttribute("role","document"),s._domNode.appendChild(s._contentDomNode),s._isVisible=!1,s._register(s._editor.onDidLayoutChange((function(){s._isVisible&&s._layout()}))),s._register(a.j(s._contentDomNode.domNode,"keydown",(function(e){if(s._isVisible&&(e.equals(2083)&&(Object(b.a)(i.a("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'.")),s._editor.updateOptions({accessibilitySupport:"on"}),a.l(s._contentDomNode.domNode),s._buildContent(),s._contentDomNode.domNode.focus(),e.preventDefault(),e.stopPropagation()),e.equals(2086))){Object(b.a)(i.a("openingDocs","Now opening the Editor Accessibility documentation page."));var t=s._editor.getRawConfiguration().accessibilityHelpUrl;void 0===t&&(t="https://go.microsoft.com/fwlink/?linkid=852450"),s._openerService.open(C.a.parse(t)),e.preventDefault(),e.stopPropagation()}}))),s.onblur(s._contentDomNode.domNode,(function(){s.hide()})),s._editor.addOverlayWidget(s),s}return T(t,e),t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.getPosition=function(){return{preference:null}},t.prototype.show=function(){this._isVisible||(this._isVisible=!0,this._isVisibleKey.set(!0),this._layout(),this._domNode.setDisplay("block"),this._domNode.setAttribute("aria-hidden","false"),this._contentDomNode.domNode.tabIndex=0,this._buildContent(),this._contentDomNode.domNode.focus())},t.prototype._descriptionForCommand=function(e,t,o){var n=this._keybindingService.lookupKeybinding(e);return n?s.format(t,n.getAriaLabel()):s.format(o,e)},t.prototype._buildContent=function(){var e=this._editor.getConfiguration(),t=this._editor.getSelections(),o=0;if(t){var n=this._editor.getModel();n&&t.forEach((function(e){o+=n.getValueLengthInRange(e)}))}var r=function(e,t){return e&&0!==e.length?1===e.length?t?s.format(I,e[0].positionLineNumber,e[0].positionColumn,t):s.format(L,e[0].positionLineNumber,e[0].positionColumn):t?s.format(D,e.length,t):e.length>0?s.format(A,e.length):null:N}(t,o);switch(e.wrappingInfo.inDiffEditor?e.readOnly?r+=i.a("readonlyDiffEditor"," in a read-only pane of a diff editor."):r+=i.a("editableDiffEditor"," in a pane of a diff editor."):e.readOnly?r+=i.a("readonlyEditor"," in a read-only code editor"):r+=i.a("editableEditor"," in a code editor"),e.accessibilitySupport){case 0:var a=v.d?i.a("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."):i.a("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now.");r+="\n\n - "+a;break;case 2:r+="\n\n - "+i.a("auto_on","The editor is configured to be optimized for usage with a Screen Reader.");break;case 1:r+="\n\n - "+i.a("auto_off","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time."),r+=" "+a}var u=i.a("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),c=i.a("tabFocusModeOnMsgNoKb","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding."),h=i.a("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),d=i.a("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.");e.tabFocusMode?r+="\n\n - "+this._descriptionForCommand(m.ToggleTabFocusModeAction.ID,u,c):r+="\n\n - "+this._descriptionForCommand(m.ToggleTabFocusModeAction.ID,h,d),r+="\n\n - "+(v.d?i.a("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."):i.a("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility.")),r+="\n\n"+i.a("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),this._contentDomNode.domNode.appendChild(Object(l.a)(r)),this._contentDomNode.domNode.setAttribute("aria-label",r)},t.prototype.hide=function(){this._isVisible&&(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,a.l(this._contentDomNode.domNode),this._editor.focus())},t.prototype._layout=function(){var e=this._editor.getLayoutInfo(),o=Math.max(5,Math.min(t.WIDTH,e.width-40)),n=Math.max(5,Math.min(t.HEIGHT,e.height-40));this._domNode.setWidth(o),this._domNode.setHeight(n);var i=Math.round((e.height-n)/2);this._domNode.setTop(i);var r=Math.round((e.width-o)/2);this._domNode.setLeft(r)},t.ID="editor.contrib.accessibilityHelpWidget",t.WIDTH=500,t.HEIGHT=300,t=w([k(1,g.e),k(2,d.a),k(3,E.a)],t)}(c.a),x=function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:i.a("ShowAccessibilityHelpAction","Show Accessibility Help"),alias:"Show Accessibility Help",precondition:null,kbOpts:{kbExpr:p.a.focus,primary:S.k?2107:571,weight:100}})||this}return T(t,e),t.prototype.run=function(e,t){var o=R.get(t);o&&o.show()},t}(f.b);Object(f.h)(R),Object(f.f)(x);var M=f.c.bindToContribution(R.get);Object(f.g)(new M({id:"closeAccessibilityHelp",precondition:O,handler:function(e){return e.hide()},kbOpts:{weight:200,kbExpr:p.a.focus,primary:9,secondary:[1033]}})),Object(_.e)((function(e,t){var o=e.getColor(y.D);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+o+"; }");var n=e.getColor(y.rb);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+n+"; }");var i=e.getColor(y.e);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+i+"; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"BracketMatchingController",(function(){return E}));o(433);var n,i=o(0),r=o(6),s=o(9),a=o(23),l=o(17),u=o(3),c=o(5),h=o(19),d=o(30),g=o(26),p=o(7),f=o(18),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=Object(p.kb)("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},i.a("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets.")),y=function(e){function t(){return e.call(this,{id:"editor.action.jumpToBracket",label:i.a("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:null,kbOpts:{kbExpr:c.a.editorTextFocus,primary:3160,weight:100}})||this}return m(t,e),t.prototype.run=function(e,t){var o=E.get(t);o&&o.jumpToBracket()},t}(u.b),v=function(e){function t(){return e.call(this,{id:"editor.action.selectToBracket",label:i.a("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:null})||this}return m(t,e),t.prototype.run=function(e,t){var o=E.get(t);o&&o.selectToBracket()},t}(u.b),b=function(e,t){this.position=e,this.brackets=t},E=function(e){function t(t){var o=e.call(this)||this;return o._editor=t,o._lastBracketsData=[],o._lastVersionId=0,o._decorations=[],o._updateBracketsSoon=o._register(new l.c((function(){return o._updateBrackets()}),50)),o._matchBrackets=o._editor.getConfiguration().contribInfo.matchBrackets,o._updateBracketsSoon.schedule(),o._register(t.onDidChangeCursorPosition((function(e){o._matchBrackets&&o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModelContent((function(e){o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModel((function(e){o._decorations=[],o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModelLanguageConfiguration((function(e){o._lastBracketsData=[],o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeConfiguration((function(e){o._matchBrackets=o._editor.getConfiguration().contribInfo.matchBrackets,!o._matchBrackets&&o._decorations.length>0&&(o._decorations=o._editor.deltaDecorations(o._decorations,[])),o._updateBracketsSoon.schedule()}))),o}return m(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.jumpToBracket=function(){var e=this._editor.getModel();if(e){var t=this._editor.getSelections().map((function(t){var o=t.getStartPosition(),n=e.matchBracket(o),i=null;if(n)n[0].containsPosition(o)?i=n[1].getStartPosition():n[1].containsPosition(o)&&(i=n[0].getStartPosition());else{var r=e.findNextBracket(o);r&&r.range&&(i=r.range.getStartPosition())}return i?new a.a(i.lineNumber,i.column,i.lineNumber,i.column):new a.a(o.lineNumber,o.column,o.lineNumber,o.column)}));this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(){var e=this._editor.getModel();if(e){var t=[];this._editor.getSelections().forEach((function(o){var n=o.getStartPosition(),i=e.matchBracket(n),r=null,s=null;if(!i){var l=e.findNextBracket(n);l&&l.range&&(i=e.matchBracket(l.range.getStartPosition()))}i&&(i[0].startLineNumber===i[1].startLineNumber?(r=i[1].startColumn0&&(this._editor.setSelections(t),this._editor.revealRange(t[0]))}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],o=0,n=0,i=this._lastBracketsData.length;n1&&i.sort(s.a.compare);var c=[],h=0,d=0,g=o.length;for(a=0,l=i.length;a=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(){function e(e,t,o,n,i,r){var s=this;this._contextMenuService=t,this._contextViewService=o,this._contextKeyService=n,this._keybindingService=i,this._menuService=r,this._toDispose=[],this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.push(this._editor.onContextMenu((function(e){return s._onContextMenu(e)}))),this._toDispose.push(this._editor.onDidScrollChange((function(e){s._contextMenuIsBeingShownCount>0&&s._contextViewService.hideContextView()}))),this._toDispose.push(this._editor.onKeyDown((function(e){58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),s.showContextMenu())})))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._onContextMenu=function(e){if(!this._editor.getConfiguration().contribInfo.contextmenu)return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));var t;e.target.type!==f.b.OVERLAY_WIDGET&&(e.event.preventDefault(),(e.target.type===f.b.CONTENT_TEXT||e.target.type===f.b.CONTENT_EMPTY||e.target.type===f.b.TEXTAREA)&&(this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position),e.target.type!==f.b.TEXTAREA&&(t={x:e.event.posx,y:e.event.posy+1}),this.showContextMenu(t)))},e.prototype.showContextMenu=function(e){if(this._editor.getConfiguration().contribInfo.contextmenu)if(this._contextMenuService){var t=this._getMenuActions();t.length>0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(){var e=[],t=this._menuService.createMenu(d.b.EditorContext,this._contextKeyService),o=t.getActions({arg:this._editor.getModel().uri});t.dispose();for(var n=0,i=o;n0&&this._contextViewService.hideContextView(),this._toDispose=Object(r.d)(this._toDispose)},e.ID="editor.contrib.contextmenu",e=_([y(1,u.a),y(2,u.b),y(3,h.e),y(4,c.a),y(5,d.a)],e)}(),b=function(e){function t(){return e.call(this,{id:"editor.action.showContextMenu",label:i.a("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:null,kbOpts:{kbExpr:g.a.textInputFocus,primary:1092,weight:100}})||this}return m(t,e),t.prototype.run=function(e,t){v.get(t).showContextMenu()},t}(p.b);Object(p.h)(v),Object(p.f)(b)},function(e,t,o){"use strict";o.r(t),o.d(t,"CursorUndoController",(function(){return c})),o.d(t,"CursorUndo",(function(){return h}));var n,i=o(0),r=o(3),s=o(6),a=o(5),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),u=function(){function e(e){this.selections=e}return e.prototype.equals=function(e){var t=this.selections.length;if(t!==e.selections.length)return!1;for(var o=0;o50&&o._undoStack.shift()),o._prevState=o._readState()}))),o}return l(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype._readState=function(){return this._editor.getModel()?new u(this._editor.getSelections()):null},t.prototype.getId=function(){return t.ID},t.prototype.cursorUndo=function(){for(var e=new u(this._editor.getSelections());this._undoStack.length>0;){var t=this._undoStack.pop();if(!t.equals(e))return this._isCursorUndo=!0,this._editor.setSelections(t.selections),this._editor.revealRangeInCenterIfOutsideViewport(t.selections[0],0),void(this._isCursorUndo=!1)}},t.ID="editor.contrib.cursorUndoController",t}(s.a),h=function(e){function t(){return e.call(this,{id:"cursorUndo",label:i.a("cursor.undo","Soft Undo"),alias:"Soft Undo",precondition:null,kbOpts:{kbExpr:a.a.textInputFocus,primary:2099,weight:100}})||this}return l(t,e),t.prototype.run=function(e,t,o){c.get(t).cursorUndo()},t}(r.b);Object(r.h)(c),Object(r.f)(h)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(3),s=o(96),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomIn",label:i.a("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()+1)},t}(r.b),u=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomOut",label:i.a("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()-1)},t}(r.b),c=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomReset",label:i.a("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(0)},t}(r.b);Object(r.f)(l),Object(r.f)(u),Object(r.f)(c)},function(e,t,o){"use strict";o.r(t);o(301);var n=o(0),i=o(17),r=o(13),s=o(71),a=o(10),l=o(89),u=o(2),c=o(11),h=o(16),d=o(3),g=o(164),p=o(6),f=o(133),m=o(19),_=o(7),y=o(90),v=o(154),b=o(211),E=o(9),C=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},S=function(e,t){return function(o,n){t(o,n,e)}},T=function(){function e(e,t,o){var n=this;this.textModelResolverService=t,this.modeService=o,this.toUnhook=[],this.decorations=[],this.editor=e,this.throttler=new i.e;var s=new b.a(e);this.toUnhook.push(s),this.toUnhook.push(s.onMouseMoveOrRelevantKeyDown((function(e){var t=e[0],o=e[1];n.startFindDefinition(t,o)}))),this.toUnhook.push(s.onExecute((function(e){n.isEnabled(e)&&n.gotoDefinition(e.target,e.hasSideBySideModifier).done((function(){n.removeDecorations()}),(function(e){n.removeDecorations(),Object(r.e)(e)}))}))),this.toUnhook.push(s.onCancel((function(){n.removeDecorations(),n.currentWordUnderMouse=null})))}return e.prototype.startFindDefinition=function(e,t){var o=this;if(!this.isEnabled(e,t))return this.currentWordUnderMouse=null,void this.removeDecorations();var i=e.target.position,l=i?this.editor.getModel().getWordAtPosition(i):null;if(!l)return this.currentWordUnderMouse=null,void this.removeDecorations();if(!this.currentWordUnderMouse||this.currentWordUnderMouse.startColumn!==l.startColumn||this.currentWordUnderMouse.endColumn!==l.endColumn||this.currentWordUnderMouse.word!==l.word){this.currentWordUnderMouse=l;var c=new y.a(this.editor,15);this.throttler.queue((function(){return c.validate(o.editor)?o.findDefinition(e.target):a.b.wrap(null)})).then((function(e){if(e&&e.length&&c.validate(o.editor))if(e.length>1)o.addDecoration(new u.a(i.lineNumber,l.startColumn,i.lineNumber,l.endColumn),(new s.a).appendText(n.a("multipleResults","Click to show {0} definitions.",e.length)));else{var t=e[0];if(!t.uri)return;o.textModelResolverService.createModelReference(t.uri).then((function(e){if(e.object&&e.object.textEditorModel){var n=e.object.textEditorModel,r=t.range.startLineNumber;if(0!==n.getLineMaxColumn(r)){var a,c=o.getPreviewValue(n,r);a=t.origin?u.a.lift(t.origin):new u.a(i.lineNumber,l.startColumn,i.lineNumber,l.endColumn),o.addDecoration(a,(new s.a).appendCodeblock(o.modeService.getModeIdByFilenameOrFirstLine(n.uri.fsPath),c)),e.dispose()}else e.dispose()}else e.dispose()}))}else o.removeDecorations()})).done(void 0,r.e)}},e.prototype.getPreviewValue=function(t,o){var n=this.getPreviewRangeBasedOnBrackets(t,o);return n.endLineNumber-n.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(t,o)),this.stripIndentationFromPreviewRange(t,o,n)},e.prototype.stripIndentationFromPreviewRange=function(e,t,o){for(var n=e.getLineFirstNonWhitespaceColumn(t),i=t+1;in)return new u.a(o,1,n+1,1);s=t.findNextBracket(new E.a(c,h))}return new u.a(o,1,n+1,1)},e.prototype.addDecoration=function(e,t){var o={range:e,options:{inlineClassName:"goto-definition-link",hoverMessage:t}};this.decorations=this.editor.deltaDecorations(this.decorations,[o])},e.prototype.removeDecorations=function(){this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.getModel()&&e.isNoneOrSingleMouseDown&&e.target.type===h.b.CONTENT_TEXT&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey)&&c.e.has(this.editor.getModel())},e.prototype.findDefinition=function(e){var t=this.editor.getModel();return t?Object(g.a)(t,e.position):a.b.as(null)},e.prototype.gotoDefinition=function(e,t){var o=this;this.editor.setPosition(e.position);var n=new v.DefinitionAction(new v.DefinitionActionConfig(t,!1,!0,!1),{alias:void 0,label:void 0,id:void 0,precondition:void 0});return this.editor.invokeWithinContext((function(e){return n.run(e,o.editor)}))},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toUnhook=Object(p.d)(this.toUnhook)},e.ID="editor.contrib.gotodefinitionwithmouse",e.MAX_SOURCE_PREVIEW_LINES=8,e=C([S(1,f.a),S(2,l.a)],e)}();Object(d.h)(T),Object(m.e)((function(e,t){var o=e.getColor(_.m);o&&t.addRule(".monaco-editor .goto-definition-link { color: "+o+" !important; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"GotoLineEntry",(function(){return p})),o.d(t,"GotoLineAction",(function(){return f}));o(475);var n,i=o(0),r=o(124),s=o(97),a=o(5),l=o(16),u=o(161),c=o(3),h=o(9),d=o(2),g=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),p=function(e){function t(t,o,n){var i=e.call(this)||this;return i.editor=o,i.decorator=n,i._parseResult=i._parseInput(t),i}return g(t,e),t.prototype._parseInput=function(e){var t,o,n=e.split(",").map((function(e){return parseInt(e,10)})).filter((function(e){return!isNaN(e)}));t=0===n.length?new h.a(-1,-1):1===n.length?new h.a(n[0],1):new h.a(n[0],n[1]);var r=(o=Object(l.d)(this.editor)?this.editor.getModel():this.editor.getModel().modified).validatePosition(t).equals(t);return{position:t,isValid:r,label:r?t.column&&t.column>1?i.a("gotoLineLabelValidLineAndColumn","Go to line {0} and character {1}",t.lineNumber,t.column):i.a("gotoLineLabelValidLine","Go to line {0}",t.lineNumber,t.column):t.lineNumber<1||t.lineNumber>o.getLineCount()?i.a("gotoLineLabelEmptyWithLineLimit","Type a line number between 1 and {0} to navigate to",o.getLineCount()):i.a("gotoLineLabelEmptyWithLineAndColumnLimit","Type a character between 1 and {0} to navigate to",o.getLineMaxColumn(t.lineNumber))}},t.prototype.getLabel=function(){return this._parseResult.label},t.prototype.getAriaLabel=function(){return i.a("gotoLineAriaLabel","Go to line {0}",this._parseResult.label)},t.prototype.run=function(e,t){return e===s.a.OPEN?this.runOpen():this.runPreview()},t.prototype.runOpen=function(){if(!this._parseResult.isValid)return!1;var e=this.toSelection();return this.editor.setSelection(e),this.editor.revealRangeInCenter(e,0),this.editor.focus(),!0},t.prototype.runPreview=function(){if(!this._parseResult.isValid)return this.decorator.clearDecorations(),!1;var e=this.toSelection();return this.editor.revealRangeInCenter(e,0),this.decorator.decorateLine(e,this.editor),!1},t.prototype.toSelection=function(){return new d.a(this._parseResult.position.lineNumber,this._parseResult.position.column,this._parseResult.position.lineNumber,this._parseResult.position.column)},t}(r.a),f=function(e){function t(){return e.call(this,i.a("gotoLineActionInput","Type a line number, followed by an optional colon and a character number to navigate to"),{id:"editor.action.gotoLine",label:i.a("GotoLineAction.label","Go to Line..."),alias:"Go to Line...",precondition:null,kbOpts:{kbExpr:a.a.focus,primary:2085,mac:{primary:293},weight:100}})||this}return g(t,e),t.prototype.run=function(e,t){var o=this;this._show(this.getController(t),{getModel:function(e){return new r.c([new p(e,t,o.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(u.a);Object(c.f)(f)},function(e,t,o){"use strict";o.r(t);o(481);var n,i=o(0),r=o(6),s=o(8),a=o(3),l=o(16),u=o(89),c=o(11),h=o(103),d=o(69),g=o(14),p=o(19),f=o(7),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(e){function t(t,o,n){var i=e.call(this)||this;return i._editor=t,i._standaloneThemeService=o,i._modeService=n,i._widget=null,i._register(i._editor.onDidChangeModel((function(e){return i.stop()}))),i._register(i._editor.onDidChangeModelLanguage((function(e){return i.stop()}))),i._register(c.y.onDidChange((function(e){return i.stop()}))),i}return m(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.dispose=function(){this.stop(),e.prototype.dispose.call(this)},t.prototype.launch=function(){this._widget||this._editor.getModel()&&(this._widget=new E(this._editor,this._standaloneThemeService,this._modeService))},t.prototype.stop=function(){this._widget&&(this._widget.dispose(),this._widget=null)},t.ID="editor.contrib.inspectTokens",t=_([y(1,h.a),y(2,u.a)],t)}(r.a),b=function(e){function t(){return e.call(this,{id:"editor.action.inspectTokens",label:i.a("inspectTokens","Developer: Inspect Tokens"),alias:"Developer: Inspect Tokens",precondition:null})||this}return m(t,e),t.prototype.run=function(e,t){var o=v.get(t);o&&o.launch()},t}(a.b);var E=function(e){function t(t,o,n){var i,r=e.call(this)||this;return r.allowEditorOverflow=!0,r._editor=t,r._modeService=n,r._model=r._editor.getModel(),r._domNode=document.createElement("div"),r._domNode.className="tokens-inspect-widget",r._tokenizationSupport=(i=r._model.getLanguageIdentifier(),c.y.get(i.language)||{getInitialState:function(){return d.c},tokenize:function(e,t,o){return Object(d.d)(i.language,e,t,o)},tokenize2:function(e,t,o){return Object(d.e)(i.id,e,t,o)}}),r._compute(r._editor.getPosition()),r._register(r._editor.onDidChangeCursorPosition((function(e){return r._compute(r._editor.getPosition())}))),r._editor.addContentWidget(r),r}return m(t,e),t.prototype.dispose=function(){this._editor.removeContentWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t._ID},t.prototype._compute=function(e){for(var t=this._getTokensAtLine(e.lineNumber),o=0,n=t.tokens1.length-1;n>=0;n--){var i=t.tokens1[n];if(e.column-1>=i.offset){o=n;break}}var r=0;for(n=t.tokens2.length>>>1;n>=0;n--)if(e.column-1>=t.tokens2[n<<1]){r=n;break}var a="",l=this._model.getLineContent(e.lineNumber),u="";if(o'+function(e){for(var t="",o=0,n=e.length;o('+u.length+" "+(1===u.length?"char":"chars")+")",a+='
    ';var d=this._decodeMetadata(t.tokens2[1+(r<<1)]);a+='',a+='",a+='",a+='",a+='",a+='",a+="",a+='
    ',o'+Object(s.escape)(t.tokens1[o].type)+""),this._domNode.innerHTML=a,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=c.y.getColorMap(),o=c.x.getLanguageId(e),n=c.x.getTokenType(e),i=c.x.getFontStyle(e),r=c.x.getForeground(e),s=c.x.getBackground(e);return{languageIdentifier:this._modeService.getLanguageIdentifier(o),tokenType:n,fontStyle:i,foreground:t[r],background:t[s]}},t.prototype._tokenTypeToString=function(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 4:return"RegEx"}return"??"},t.prototype._fontStyleToString=function(e){var t="";return 1&e&&(t+="italic "),2&e&&(t+="bold "),4&e&&(t+="underline "),0===t.length&&(t="---"),t},t.prototype._getTokensAtLine=function(e){var t=this._getStateBeforeLine(e),o=this._tokenizationSupport.tokenize(this._model.getLineContent(e),t,0),n=this._tokenizationSupport.tokenize2(this._model.getLineContent(e),t,0);return{startState:t,tokens1:o.tokens,tokens2:n.tokens,endState:o.endState}},t.prototype._getStateBeforeLine=function(e){for(var t=this._tokenizationSupport.getInitialState(),o=1;o1&&o.push(new d.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var o=this,n=t.getModel(),i=t.getSelections(),r=[];i.forEach((function(e){return o.getCursorsForSelection(e,n,r)})),r.length>0&&t.setSelections(r)},t}(c.b),w=function(e,t,o){this.selections=e,this.revealRange=t,this.revealScrollType=o},k=function(){function e(e,t,o,n,i,r,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=o,this.searchText=n,this.wholeWord=i,this.matchCase=r,this.currentMatch=s}return e.create=function(t,o){var n=o.getState();if(!t.hasTextFocus()&&n.isRevealed&&n.searchString.length>0)return new e(t,o,!1,n.searchString,n.wholeWord,n.matchCase,null);var i,r,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,i=!0,r=!0):(i=n.wholeWord,r=n.matchCase);var l,u=t.getSelection(),c=null;if(u.isEmpty()){var h=t.getModel().getWordAtPosition(u.getStartPosition());if(!h)return null;l=h.word,c=new d.a(u.startLineNumber,h.startColumn,u.startLineNumber,h.endColumn)}else l=t.getModel().getValueInRange(u).replace(/\r\n/g,"\n");return new e(t,o,s,l,i,r,c)},e.prototype.addSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),o=t[t.length-1],n=this._editor.getModel().findNextMatch(this.searchText,o.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return n?new d.a(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),o=t[t.length-1],n=this._editor.getModel().findPreviousMatch(this.searchText,o.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return n?new d.a(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null},e.prototype.selectAll=function(){return this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)},e}(),O=function(e){function t(t){var o=e.call(this)||this;return o._editor=t,o._ignoreSelectionChange=!1,o._session=null,o._sessionDispose=[],o}return E(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this._endSession(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype._beginSessionIfNeeded=function(e){var t=this;if(!this._session){var o=k.create(this._editor,e);if(!o)return;this._session=o;var n={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(n.wholeWordOverride=1,n.matchCaseOverride=1,n.isRegexOverride=2),e.getState().change(n,!1),this._sessionDispose=[this._editor.onDidChangeCursorSelection((function(e){t._ignoreSelectionChange||t._endSession()})),this._editor.onDidBlurEditorText((function(){t._endSession()})),e.getState().onFindReplaceStateChange((function(e){(e.matchCase||e.wholeWord)&&t._endSession()}))]}},t.prototype._endSession=function(){if(this._sessionDispose=Object(r.d)(this._sessionDispose),this._session&&this._session.isDisconnectedFromFindController){this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1)}this._session=null},t.prototype._setSelections=function(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1},t.prototype._expandEmptyToWord=function(e,t){if(!t.isEmpty())return t;var o=e.getWordAtPosition(t.getStartPosition());return o?new d.a(t.startLineNumber,o.startColumn,t.startLineNumber,o.endColumn):t},t.prototype._applySessionResult=function(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))},t.prototype.getSession=function(e){return this._session},t.prototype.addSelectionToNextFindMatch=function(e){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var o=e.getState().matchCase;if(!B(this._editor.getModel(),t,o)){for(var n=this._editor.getModel(),i=[],r=0,s=t.length;r0&&o.isRegex)t=this._editor.getModel().findMatches(o.searchString,!0,o.isRegex,o.matchCase,o.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824);else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll()}if(t.length>0){for(var n=this._editor.getSelection(),i=0,r=t.length;i1){var l=r.getState().matchCase;if(!B(t.getModel(),a,l))return null}s=k.create(t,r)}if(!s)return null;var u=null,c=f.h.has(o);if(s.currentMatch){if(c)return null;if(!t.getConfiguration().contribInfo.occurrencesHighlight)return null;u=s.currentMatch}if(/^[ \t]+$/.test(s.searchText))return null;if(s.searchText.length>200)return null;var h=r.getState(),d=h.matchCase;if(h.isRevealed){var g=h.searchString;d||(g=g.toLowerCase());var p=s.searchText;if(d||(p=p.toLowerCase()),g===p&&s.matchCase===h.matchCase&&s.wholeWord===h.wholeWord&&!h.isRegex)return null}return new x(u,s.searchText,s.matchCase,s.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(x.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){var o=this.editor.getModel();if(!o.isTooLargeForTokenization()){var n=f.h.has(o),i=o.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map((function(e){return e.range}));i.sort(h.a.compareRangesUsingStarts);var r=this.editor.getSelections();r.sort(h.a.compareRangesUsingStarts);for(var s=[],a=0,l=0,u=i.length,c=r.length;a=c)s.push(d),a++;else{var g=h.a.compareRangesUsingStarts(d,r[l]);g<0?(!r[l].isEmpty()&&h.a.areIntersecting(d,r[l])||s.push(d),a++):g>0?l++:(a++,l++)}}var p=s.map((function(e){return{range:e,options:n?t._SELECTION_HIGHLIGHT:t._SELECTION_HIGHLIGHT_OVERVIEW}}));this.decorations=this.editor.deltaDecorations(this.decorations,p)}}else this.decorations=this.editor.deltaDecorations(this.decorations,[])},t.prototype.dispose=function(){this._setState(null),e.prototype.dispose.call(this)},t.ID="editor.contrib.selectionHighlighter",t._SELECTION_HIGHLIGHT_OVERVIEW=_.a.register({stickiness:l.h.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight",overviewRuler:{color:Object(v.f)(y.gb),darkColor:Object(v.f)(y.gb),position:l.f.Center}}),t._SELECTION_HIGHLIGHT=_.a.register({stickiness:l.h.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight"}),t}(r.a);function B(e,t,o){for(var n=F(e,t[0],!o),i=1,r=t.length;i=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},R=function(e,t){return function(o,n){t(o,n,e)}},N={getMetaTitle:function(e){return e.references.length>1&&i.a("meta.titleReference"," – {0} references",e.references.length)}},I=function(){function e(e,t){e instanceof y.a&&d.a.inPeekEditor.bindTo(t)}return e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.ID="editor.contrib.referenceController",e=O([R(1,s.e)],e)}(),L=function(e){function t(){return e.call(this,{id:"editor.action.referenceSearch.trigger",label:i.a("references.action.label","Find All References"),alias:"Find All References",precondition:s.d.and(_.a.hasReferenceProvider,d.a.notInPeekEditor,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:1094,weight:100},menuOpts:{group:"navigation",order:1.5}})||this}return k(t,e),t.prototype.run=function(e,t){var o=g.a.get(t);if(o){var n=t.getSelection(),i=t.getModel(),r=Object(f.i)((function(e){return P(i,n.getStartPosition(),e).then((function(e){return new p.c(e)}))}));o.toggleWidget(n,r,N)}},t}(u.b);Object(u.h)(I),Object(u.f)(L);function D(e,t){A(e,(function(e){return e.closeWidget()}))}function A(e,t){var o=Object(d.c)(e);if(o){var n=g.a.get(o);n&&t(n)}}function P(e,t,o){var n=c.r.ordered(e).map((function(o){return Object(f.h)((function(n){return o.provideReferences(e,t,{includeDeclaration:!0},n)})).then((function(e){if(Array.isArray(e))return e}),(function(e){Object(m.f)(e)}))}));return Promise.all(n).then((function(e){for(var t=[],o=0,n=e;o=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},p=function(e,t){return function(o,n){t(o,n,e)}},f=function(e){function t(t,o,n,i,r,s,a){return e.call(this,!0,t,o,n,i,r,s,a)||this}return d(t,e),t=g([p(1,s.e),p(2,i.a),p(3,c.a),p(4,r.a),p(5,l.a),p(6,a.b)],t)}(h.a);Object(u.h)(f)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(3),s=o(103),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){var t=e.call(this,{id:"editor.action.toggleHighContrast",label:i.a("toggleHighContrast","Toggle High Contrast Theme"),alias:"Toggle High Contrast Theme",precondition:null})||this;return t._originalThemeName=null,t}return a(t,e),t.prototype.run=function(e,t){var o=e.get(s.a);this._originalThemeName?(o.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=o.getTheme().themeName,o.setTheme("hc-black"))},t}(r.b);Object(r.f)(l)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(8),s=o(2),a=o(9),l=o(5),u=o(3),c=o(43),h=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),d=function(e){function t(){return e.call(this,{id:"editor.action.transposeLetters",label:i.a("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:l.a.writable,kbOpts:{kbExpr:l.a.textInputFocus,primary:0,mac:{primary:306},weight:100}})||this}return h(t,e),t.prototype.positionLeftOf=function(e,t){var o=e.column,n=e.lineNumber;return o>t.getLineMinColumn(n)?Object(r.isLowSurrogate)(t.getLineContent(n).charCodeAt(o-2))?o-=2:o-=1:n>1&&(n-=1,o=t.getLineMaxColumn(n)),new a.a(n,o)},t.prototype.positionRightOf=function(e,t){var o=e.column,n=e.lineNumber;return o0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())},t}(u.b);Object(u.f)(d)},function(e,t,o){"use strict";o.r(t),o.d(t,"editorWordHighlight",(function(){return S})),o.d(t,"editorWordHighlightStrong",(function(){return T})),o.d(t,"editorWordHighlightBorder",(function(){return w})),o.d(t,"editorWordHighlightStrongBorder",(function(){return k})),o.d(t,"overviewRulerWordHighlightForeground",(function(){return O})),o.d(t,"overviewRulerWordHighlightStrongForeground",(function(){return R})),o.d(t,"ctxHasWordHighlights",(function(){return N})),o.d(t,"getOccurrencesAtPosition",(function(){return I}));var n,i=o(0),r=o(17),s=o(13),a=o(2),l=o(3),u=o(11),c=o(6),h=o(7),d=o(19),g=o(35),p=o(26),f=o(12),m=o(5),_=o(25),y=o(18),v=o(48),b=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),E=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},C=function(e,t){return function(o,n){t(o,n,e)}},S=Object(h.kb)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},i.a("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque to not hide underlying decorations."),!0),T=Object(h.kb)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},i.a("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque to not hide underlying decorations."),!0),w=Object(h.kb)("editor.wordHighlightBorder",{light:null,dark:null,hc:h.b},i.a("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),k=Object(h.kb)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:h.b},i.a("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),O=Object(h.kb)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},i.a("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque to not hide underlying decorations."),!0),R=Object(h.kb)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},i.a("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque to not hide underlying decorations."),!0),N=new f.f("hasWordHighlights",!1);function I(e,t,o){var n=u.h.ordered(e);return Object(r.k)(n.map((function(n){return function(){return Promise.resolve(n.provideDocumentHighlights(e,t,o)).then(void 0,s.f)}})),(function(e){return!Object(_.k)(e)}))}Object(l.e)("_executeDocumentHighlights",(function(e,t){return I(e,t,v.a.None)}));var L=function(){function e(e,t){var o=this;this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this._hasWordHighlights=N.bindTo(t),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getConfiguration().contribInfo.occurrencesHighlight,this.model=this.editor.getModel(),this.toUnhook=[],this.toUnhook.push(e.onDidChangeCursorPosition((function(e){o._ignorePositionChangeEvent||o.occurrencesHighlight&&o._onPositionChanged(e)}))),this.toUnhook.push(e.onDidChangeModel((function(e){o._stopAll(),o.model=o.editor.getModel()}))),this.toUnhook.push(e.onDidChangeModelContent((function(e){o._stopAll()}))),this.toUnhook.push(e.onDidChangeConfiguration((function(e){var t=o.editor.getConfiguration().contribInfo.occurrencesHighlight;o.occurrencesHighlight!==t&&(o.occurrencesHighlight=t,o._stopAll())}))),this._lastWordRange=null,this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}return e.prototype.hasDecorations=function(){return this._decorationIds.length>0},e.prototype.restore=function(){this.occurrencesHighlight&&this._run()},e.prototype._getSortedHighlights=function(){var e=this;return this._decorationIds.map((function(t){return e.model.getDecorationRange(t)})).sort(a.a.compareRangesUsingStarts)},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),o=t[(Object(_.h)(t,(function(t){return t.containsPosition(e.editor.getPosition())}))+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),o=t[(Object(_.h)(t,(function(t){return t.containsPosition(e.editor.getPosition())}))-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o)}finally{this._ignorePositionChangeEvent=!1}},e.prototype._removeDecorations=function(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]),this._hasWordHighlights.set(!1))},e.prototype._stopAll=function(){this._lastWordRange=null,this._removeDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)},e.prototype._onPositionChanged=function(e){this.occurrencesHighlight&&e.reason===g.a.Explicit?this._run():this._stopAll()},e.prototype._run=function(){var e=this;if(u.h.has(this.model)){var t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var o=t.startLineNumber,n=t.startColumn,i=t.endColumn,l=this.model.getWordAtPosition({lineNumber:o,column:n});if(!l||l.startColumn>n||l.endColumn=i&&(h=!0)}if(this.lastCursorPositionChangeTime=(new Date).getTime(),h)this.workerRequestCompleted&&-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();var f=++this.workerRequestTokenId;this.workerRequestCompleted=!1,this.workerRequest=Object(r.i)((function(t){return I(e.model,e.editor.getPosition(),t)})),this.workerRequest.then((function(t){f===e.workerRequestTokenId&&(e.workerRequestCompleted=!0,e.workerRequestValue=t||[],e._beginRenderDecorations())}),s.e)}this._lastWordRange=c}}else this._stopAll()}else this._stopAll()},e.prototype._beginRenderDecorations=function(){var e=this,t=(new Date).getTime(),o=this.lastCursorPositionChangeTime+250;t>=o?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((function(){e.renderDecorations()}),o-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],o=0,n=this.workerRequestValue.length;o1)?r?r.apply(void 0,e.params.concat([d.token])):S.apply(void 0,[e.method].concat(e.params,[d.token])):r?r(e.params,d.token):S(e.method,e.params,d.token);f?m.then?m.then((function(o){delete N[p],t(o,e.method,c)}),(function(t){delete N[p],t instanceof a.ResponseError?n(t,e.method,c):t&&s.string(t.message)?n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed with message: "+t.message),e.method,c):n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed unexpectedly without providing any details."),e.method,c)})):(delete N[p],t(f,e.method,c)):(delete N[p],function(t,n,i){void 0===t&&(t=null);var r={jsonrpc:C,id:e.id,result:t};Y(r,n,i),o.write(r)}(f,e.method,c))}catch(o){delete N[p],o instanceof a.ResponseError?t(o,e.method,c):o&&s.string(o.message)?n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed with message: "+o.message),e.method,c):n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed unexpectedly without providing any details."),e.method,c)}}else n(new a.ResponseError(a.ErrorCodes.MethodNotFound,"Unhandled method "+e.method),e.method,c)}(e):a.isNotificationMessage(e)?function(e){if(V())return;var t,o=void 0;if(e.method===d.type.method)t=function(e){var t=e.id,o=N[String(t)];o&&o.cancel()};else{var i=k[e.method];i&&(t=i.handler,o=i.type)}if(t||w)try{!function(e){if(I===g.Off||!l||e.method===f.type.method)return;var t=void 0;I===g.Verbose&&(t=e.params?"Params: "+JSON.stringify(e.params,null,4)+"\n\n":"No parameters provided.\n\n");l.log("Received notification '"+e.method+"'.",t)}(e),void 0===e.params||void 0!==o&&0===o.numberOfParams?t?t():w(e.method):s.array(e.params)&&(void 0===o||o.numberOfParams>1)?t?t.apply(void 0,e.params):w.apply(void 0,[e.method].concat(e.params)):t?t(e.params):w(e.method,e.params)}catch(t){t.message?n.error("Notification handler '"+e.method+"' failed with message: "+t.message):n.error("Notification handler '"+e.method+"' failed unexpectedly.")}else P.fire(e)}(e):a.isResponseMessage(e)?function(e){if(V())return;if(null===e.id)e.error?n.error("Received response message without id: Error is: \n"+JSON.stringify(e.error,void 0,4)):n.error("Received response message without id. No further error information provided.");else{var t=String(e.id),o=R[t];if(function(e,t){if(I===g.Off||!l)return;var o=void 0;I===g.Verbose&&(e.error&&e.error.data?o="Error data: "+JSON.stringify(e.error.data,null,4)+"\n\n":e.result?o="Result: "+JSON.stringify(e.result,null,4)+"\n\n":void 0===e.error&&(o="No result returned.\n\n"));if(t){var n=e.error?" Request failed: "+e.error.message+" ("+e.error.code+").":"";l.log("Received response '"+t.method+" - ("+e.id+")' in "+(Date.now()-t.timerStart)+"ms."+n,o)}else l.log("Received response "+e.id+" without active response promise.",o)}(e,o),o){delete R[t];try{if(e.error){var i=e.error;o.reject(new a.ResponseError(i.code,i.message,i.data))}else{if(void 0===e.result)throw new Error("Should never happen.");o.resolve(e.result)}}catch(i){i.message?n.error("Response handler '"+o.method+"' failed with message: "+i.message):n.error("Response handler '"+o.method+"' failed unexpectedly.")}}}}(e):function(e){if(!e)return void n.error("Received empty message.");n.error("Received message which is neither a response nor a notification message:\n"+JSON.stringify(e,null,4));var t=e;if(s.string(t.id)||s.number(t.id)){var o=String(t.id),i=R[o];i&&i.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{j()}}()})))}t.onClose(W),t.onError((function(e){D.fire([e,void 0,void 0])})),o.onClose(W),o.onError((function(e){D.fire(e)}));var G=function(e){try{if(a.isNotificationMessage(e)&&e.method===d.type.method){var t=M(e.params.id),n=O.get(t);if(a.isRequestMessage(n)){var r=i&&i.cancelUndispatched?i.cancelUndispatched(n,F):void 0;if(r&&(void 0!==r.error||void 0!==r.result))return O.delete(t),r.id=n.id,Y(r,e.method,Date.now()),void o.write(r)}}B(O,e)}finally{j()}};function z(e){if(I!==g.Off&&l){var t=void 0;I===g.Verbose&&e.params&&(t="Params: "+JSON.stringify(e.params,null,4)+"\n\n"),l.log("Sending request '"+e.method+" - ("+e.id+")'.",t)}}function K(e){if(I!==g.Off&&l){var t=void 0;I===g.Verbose&&(t=e.params?"Params: "+JSON.stringify(e.params,null,4)+"\n\n":"No parameters provided.\n\n"),l.log("Sending notification '"+e.method+"'.",t)}}function Y(e,t,o){if(I!==g.Off&&l){var n=void 0;I===g.Verbose&&(e.error&&e.error.data?n="Error data: "+JSON.stringify(e.error.data,null,4)+"\n\n":e.result?n="Result: "+JSON.stringify(e.result,null,4)+"\n\n":void 0===e.error&&(n="No result returned.\n\n")),l.log("Sending response '"+t+" - ("+e.id+")'. Processing request took "+(Date.now()-o)+"ms",n)}}function X(){if(U())throw new v(m.Closed,"Connection is closed.");if(V())throw new v(m.Disposed,"Connection is disposed.")}function q(){if(!H())throw new Error("Call listen() first.")}function $(e){return void 0===e?null:e}function J(e,t){var o,n=e.numberOfParams;switch(n){case 0:o=null;break;case 1:o=$(t[0]);break;default:o=[];for(var i=0;i=o.length)o.copy(this.buffer,this.index,0,o.length);else{var s=(Math.ceil((this.index+o.length)/r)+1)*r;0===this.index?(this.buffer=e.allocUnsafe(s),o.copy(this.buffer,0,0,o.length)):this.buffer=e.concat([this.buffer.slice(0,this.index),o],s)}this.index+=o.length}tryReadHeaders(){let e=void 0,t=0;for(;t+3=this.index)return e;e=Object.create(null),this.buffer.toString("ascii",0,t).split(l).forEach(t=>{let o=t.indexOf(":");if(-1===o)throw new Error("Message header must separate key and value using :");let n=t.substr(0,o),i=t.substr(o+1).trim();e[n]=i});let o=t+4;return this.buffer=this.buffer.slice(o),this.index=this.index-o,e}tryReadContent(e){if(this.index{this.onData(e)}),this.readable.on("error",e=>this.fireError(e)),this.readable.on("close",()=>this.fireClose())}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){let e=this.buffer.tryReadHeaders();if(!e)return;let t=e["Content-Length"];if(!t)throw new Error("Header must provide a Content-Length property.");let o=parseInt(t);if(isNaN(o))throw new Error("Content-Length value must be a number.");this.nextMessageLength=o}var t=this.buffer.tryReadContent(this.nextMessageLength);if(null===t)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.messageToken++;var o=JSON.parse(t);this.callback(o)}}clearPartialMessageTimer(){this.partialMessageTimer&&(clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}t.StreamMessageReader=h;t.IPCMessageReader=class extends c{constructor(e){super(),this.process=e;let t=this.process;t.on("error",e=>this.fireError(e)),t.on("close",()=>this.fireClose())}listen(e){this.process.on("message",e)}};t.SocketMessageReader=class extends h{constructor(e,t="utf-8"){super(e,t)}}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const n=o(186),i=o(171);let r="Content-Length: ",s="\r\n";!function(e){e.is=function(e){let t=e;return t&&i.func(t.dispose)&&i.func(t.onClose)&&i.func(t.onError)&&i.func(t.write)}}(t.MessageWriter||(t.MessageWriter={}));class a{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,o){this.errorEmitter.fire([this.asError(e),t,o])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer recevied error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=a;t.StreamMessageWriter=class extends a{constructor(e,t="utf8"){super(),this.writable=e,this.encoding=t,this.errorCount=0,this.writable.on("error",e=>this.fireError(e)),this.writable.on("close",()=>this.fireClose())}write(t){let o=JSON.stringify(t),n=e.byteLength(o,this.encoding),i=[r,n.toString(),s,s];try{this.writable.write(i.join(""),"ascii"),this.writable.write(o,this.encoding),this.errorCount=0}catch(e){this.errorCount++,this.fireError(e,t,this.errorCount)}}};t.IPCMessageWriter=class extends a{constructor(e){super(),this.process=e,this.errorCount=0,this.queue=[],this.sending=!1;let t=this.process;t.on("error",e=>this.fireError(e)),t.on("close",()=>this.fireClose)}write(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)}doWriteMessage(e){try{this.process.send&&(this.sending=!0,this.process.send(e,void 0,void 0,t=>{this.sending=!1,t?(this.errorCount++,this.fireError(t,e,this.errorCount)):this.errorCount=0,this.queue.length>0&&this.doWriteMessage(this.queue.shift())}))}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}}};t.SocketMessageWriter=class extends a{constructor(e,t="utf8"){super(),this.socket=e,this.queue=[],this.sending=!1,this.encoding=t,this.errorCount=0,this.socket.on("error",e=>this.fireError(e)),this.socket.on("close",()=>this.fireClose())}write(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)}doWriteMessage(t){let o=JSON.stringify(t),n=e.byteLength(o,this.encoding),i=[r,n.toString(),s,s];try{this.sending=!0,this.socket.write(i.join(""),"ascii",e=>{e&&this.handleError(e,t);try{this.socket.write(o,this.encoding,e=>{this.sending=!1,e?this.handleError(e,t):this.errorCount=0,this.queue.length>0&&this.doWriteMessage(this.queue.shift())})}catch(e){this.handleError(e,t)}})}catch(e){this.handleError(e,t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every(e=>n(e))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(13),r=o(25),s=o(6),a=o(22),l=o(12),u=o(37),c=o(5),h=o(3),d=o(59),g=o(53),p=o(2),f=o(114),m=o(139),_=o(47),y=o(17),v=o(4),b=o(79),E=o(35),C=o(23),S=o(11),T=o(111),w=o(27),k=function(){function e(t,o,n,i){void 0===i&&(i=w.a.contribInfo.suggest),this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=o,this._options=i,this._refilterKind=1,this._lineContext=n,"top"===i.snippets?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===i.snippets&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return e.prototype.dispose=function(){for(var e=new Set,t=0,o=this._items;t2e3?T.c:T.d,a=0;at.score?-1:e.scoret.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,o){if(t.suggestion.type!==o.suggestion.type){if("snippet"===t.suggestion.type)return 1;if("snippet"===o.suggestion.type)return-1}return e._compareCompletionItems(t,o)},e._compareCompletionItemsSnippetsUp=function(t,o){if(t.suggestion.type!==o.suggestion.type){if("snippet"===t.suggestion.type)return-1;if("snippet"===o.suggestion.type)return 1}return e._compareCompletionItems(t,o)},e}(),O=function(){function e(e,t,o){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.auto=o}return e.shouldAutoTrigger=function(e){var t=e.getModel();if(!t)return!1;var o=e.getPosition();t.tokenizeIfCheap(o.lineNumber);var n=t.getWordAtPosition(o);return!!n&&(n.endColumn===o.column&&!!isNaN(Number(n.word)))},e}(),R=function(){function e(e){var t=this;this._toDispose=[],this._triggerQuickSuggest=new y.f,this._triggerRefilter=new y.f,this._onDidCancel=new v.a,this._onDidTrigger=new v.a,this._onDidSuggest=new v.a,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._editor=e,this._state=0,this._requestPromise=null,this._completionModel=null,this._context=null,this._currentSelection=this._editor.getSelection()||new C.a(1,1,1,1),this._toDispose.push(this._editor.onDidChangeModel((function(){t._updateTriggerCharacters(),t.cancel()}))),this._toDispose.push(this._editor.onDidChangeModelLanguage((function(){t._updateTriggerCharacters(),t.cancel()}))),this._toDispose.push(this._editor.onDidChangeConfiguration((function(){t._updateTriggerCharacters(),t._updateQuickSuggest()}))),this._toDispose.push(S.u.onDidChange((function(){t._updateTriggerCharacters(),t._updateActiveSuggestSession()}))),this._toDispose.push(this._editor.onDidChangeCursorSelection((function(e){t._onCursorChange(e)}))),this._toDispose.push(this._editor.onDidChangeModelContent((function(e){t._refilterCompletionItems()}))),this._updateTriggerCharacters(),this._updateQuickSuggest()}return e.prototype.dispose=function(){Object(s.d)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerCharacterListener,this._triggerQuickSuggest,this._triggerRefilter]),this._toDispose=Object(s.d)(this._toDispose),Object(s.d)(this._completionModel),this.cancel()},e.prototype._updateQuickSuggest=function(){this._quickSuggestDelay=this._editor.getConfiguration().contribInfo.quickSuggestionsDelay,(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&0!==this._quickSuggestDelay||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)},e.prototype._updateTriggerCharacters=function(){var e=this;if(Object(s.d)(this._triggerCharacterListener),!this._editor.getConfiguration().readOnly&&this._editor.getModel()&&this._editor.getConfiguration().contribInfo.suggestOnTriggerCharacters){for(var t=Object.create(null),o=0,n=S.u.all(this._editor.getModel());othis._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){var t=this._completionModel.incomplete,o=this._completionModel.adopt(t);this.trigger({auto:2===this._state},!0,Object(b.d)(t),o)}else{var n=this._completionModel.lineContext,i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(O.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,isFrozen:i})}}else this.cancel()},e}(),N=(o(488),o(8)),I=o(1),L=o(125),D=(o(489),o(21)),A=o(94),P=o(15),x=o(66),M=o(51),B=o(50),F=o(31),H=o(81),U=o(42);function V(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};var o=Math.max(e.start,t.start),n=Math.min(e.end,t.end);return n-o<=0?{start:0,end:0}:{start:o,end:n}}function W(e){return e.end-e.start<=0}function j(e,t){var o=[],n={start:e.start,end:Math.min(t.start,e.end)},i={start:Math.max(t.end,e.start),end:e.end};return W(n)||o.push(n),W(i)||o.push(i),o}function G(e,t){for(var o=[],n=0,i=t;n=r.range.end)){if(e.end=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s};var Z={useShadows:!0,verticalScrollMode:U.b.Auto},Q=function(){function e(e,t,o,n){void 0===n&&(n=Z),this.virtualDelegate=t,this.renderers=new Map,this.splicing=!1,this.items=[],this.itemId=0,this.rangeMap=new Y;for(var i=0,r=o;i=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDblClick",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"dblclick"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDown",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"mousedown"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"contextmenu"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTouchStart",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"touchstart"),(function(t){return e.toTouchEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTap",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.rowsContainer,x.a.Tap),(function(t){return e.toGestureEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),e.prototype.toMouseEvent=function(e){var t=this.getItemIndexFromEventTarget(e.target),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.toTouchEvent=function(e){var t=this.getItemIndexFromEventTarget(e.target),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.toGestureEvent=function(e){var t=this.getItemIndexFromEventTarget(e.initialTarget),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.onScroll=function(e){try{this.render(e.scrollTop,e.height)}catch(t){throw console.log("Got bad scroll event:",e),t}},e.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},e.prototype.onDragOver=function(e){this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=e.posy},e.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=I.w(this._domNode).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval((function(){if(void 0!==e.dragAndDropMouseY){var o=e.dragAndDropMouseY-t,n=0,i=e.renderHeight-35;o<35?n=Math.max(-14,.2*(o-35)):o>i&&(n=Math.min(14,.2*(o-i))),e.scrollTop+=n}}),10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout((function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null}),1e3))},e.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},e.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},e.prototype.getItemIndexFromEventTarget=function(e){for(;e instanceof HTMLElement&&e!==this.rowsContainer;){var t=e,o=t.getAttribute("data-index");if(o){var n=Number(o);if(!isNaN(n))return n}e=t.parentElement}return-1},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype.getNextToLastElement=function(e){var t=e[e.length-1];if(!t)return null;var o=this.items[t.end];return o&&o.row?o.row.domNode:null},e.prototype.dispose=function(){if(this.items){for(var e=0,t=this.items;e=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},re=function(){function e(e){this.trait=e,this.renderedElements=[]}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"template:"+this.trait.trait},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return e},e.prototype.renderElement=function(e,t,o){var n=Object(r.h)(this.renderedElements,(function(e){return e.templateData===o}));if(n>=0){var i=this.renderedElements[n];this.trait.unrender(o),i.index=t}else{i={index:t,templateData:o};this.renderedElements.push(i)}this.trait.renderIndex(t,o)},e.prototype.disposeElement=function(){},e.prototype.splice=function(e,t,o){for(var n=[],i=0;i=e+t&&n.push({index:r.index+o-t,templateData:r.templateData})}this.renderedElements=n},e.prototype.renderIndexes=function(e){for(var t=0,o=this.renderedElements;t-1&&this.trait.renderIndex(i,r)}},e.prototype.disposeTemplate=function(e){var t=Object(r.h)(this.renderedElements,(function(t){return t.templateData===e}));t<0||this.renderedElements.splice(t,1)},e}(),se=function(){function e(e){this._trait=e,this._onChange=new v.a,this.indexes=[]}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"trait",{get:function(){return this._trait},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return new re(this)},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,o){var n=o.length-t,i=e+t,r=this.indexes.filter((function(t){return t=i})).map((function(e){return e+n})));this.renderer.splice(e,t,o.length),this.set(r)},e.prototype.renderIndex=function(e,t){I.N(t,this._trait,this.contains(e))},e.prototype.unrender=function(e){I.G(e,this._trait)},e.prototype.set=function(e){var t=this.indexes;this.indexes=e;var o=ve(t,e);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:e}),t},e.prototype.get=function(){return this.indexes},e.prototype.contains=function(e){return this.indexes.some((function(t){return t===e}))},e.prototype.dispose=function(){this.indexes=null,this._onChange=Object(s.d)(this._onChange)},ie([A.a],e.prototype,"renderer",null),e}(),ae=function(e){function t(t){var o=e.call(this,"focused")||this;return o.getDomId=t,o}return ne(t,e),t.prototype.renderIndex=function(t,o){e.prototype.renderIndex.call(this,t,o),o.setAttribute("role","treeitem"),o.setAttribute("id",this.getDomId(t))},t}(se),le=function(){function e(e,t,o){this.trait=e,this.view=t,this.getId=o}return e.prototype.splice=function(e,t,o){var n=this;if(!this.getId)return this.trait.splice(e,t,o.map((function(e){return!1})));var i=this.trait.get().map((function(e){return n.getId(n.view.element(e))})),r=o.map((function(e){return i.indexOf(n.getId(e))>-1}));this.trait.splice(e,t,r)},e}();function ue(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}var ce=function(){function e(e,t,o){this.list=e,this.view=t;var n=!(!1===o.multipleSelectionSupport);this.disposables=[],this.openController=o.openController||pe;var i=Object(v.g)(Object(B.a)(t.domNode,"keydown")).filter((function(e){return!ue(e.target)})).map((function(e){return new M.a(e)}));i.filter((function(e){return 3===e.keyCode})).on(this.onEnter,this,this.disposables),i.filter((function(e){return 16===e.keyCode})).on(this.onUpArrow,this,this.disposables),i.filter((function(e){return 18===e.keyCode})).on(this.onDownArrow,this,this.disposables),i.filter((function(e){return 11===e.keyCode})).on(this.onPageUpArrow,this,this.disposables),i.filter((function(e){return 12===e.keyCode})).on(this.onPageDownArrow,this,this.disposables),i.filter((function(e){return 9===e.keyCode})).on(this.onEscape,this,this.disposables),n&&i.filter((function(e){return(P.d?e.metaKey:e.ctrlKey)&&31===e.keyCode})).on(this.onCtrlA,this,this.disposables)}return e.prototype.onEnter=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus()),this.openController.shouldOpen(e.browserEvent)&&this.list.open(this.list.getFocus(),e.browserEvent)},e.prototype.onUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onCtrlA=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(Object(r.m)(this.list.length)),this.view.domNode.focus()},e.prototype.onEscape=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection([]),this.view.domNode.focus()},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},e}(),he=function(){function e(e,t){this.list=e,this.view=t,this.disposables=[],this.disposables=[],Object(v.g)(Object(B.a)(t.domNode,"keydown")).filter((function(e){return!ue(e.target)})).map((function(e){return new M.a(e)})).filter((function(e){return!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)})).on(this.onTab,this,this.disposables)}return e.prototype.onTab=function(e){if(e.target===this.view.domNode){var t=this.list.getFocus();if(0!==t.length){var o=this.view.domElement(t[0]).querySelector("[tabIndex]");if(o&&o instanceof HTMLElement){var n=window.getComputedStyle(o);"hidden"!==n.visibility&&"none"!==n.display&&(e.preventDefault(),e.stopPropagation(),o.focus())}}}},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},e}();function de(e){return e instanceof MouseEvent&&2===e.button}var ge={isSelectionSingleChangeEvent:function(e){return P.d?e.browserEvent.metaKey:e.browserEvent.ctrlKey},isSelectionRangeChangeEvent:function(e){return e.browserEvent.shiftKey}},pe={shouldOpen:function(e){return!(e instanceof MouseEvent)||!de(e)}},fe=function(){function e(e,t,o){void 0===o&&(o={}),this.list=e,this.view=t,this.options=o,this.didJustPressContextMenuKey=!1,this.disposables=[],this.multipleSelectionSupport=!(!1===o.multipleSelectionSupport),this.multipleSelectionSupport&&(this.multipleSelectionController=o.multipleSelectionController||ge),this.openController=o.openController||pe,t.onMouseDown(this.onMouseDown,this,this.disposables),t.onMouseClick(this.onPointer,this,this.disposables),t.onMouseDblClick(this.onDoubleClick,this,this.disposables),t.onTouchStart(this.onMouseDown,this,this.disposables),t.onTap(this.onPointer,this,this.disposables),x.b.addTarget(t.domNode)}return Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this,t=Object(v.g)(Object(B.a)(this.view.domNode,"keydown")).map((function(e){return new M.a(e)})).filter((function(t){return e.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode})).filter((function(e){return e.preventDefault(),e.stopPropagation(),!1})).event,o=Object(v.g)(Object(B.a)(this.view.domNode,"keyup")).filter((function(){var t=e.didJustPressContextMenuKey;return e.didJustPressContextMenuKey=!1,t})).filter((function(){return e.list.getFocus().length>0})).map((function(){var t=e.list.getFocus()[0];return{index:t,element:e.view.element(t),anchor:e.view.domElement(t)}})).filter((function(e){return!!e.anchor})).event,n=Object(v.g)(this.view.onContextMenu).filter((function(){return!e.didJustPressContextMenuKey})).map((function(e){var t=e.element,o=e.index,n=e.browserEvent;return{element:t,index:o,anchor:{x:n.clientX+1,y:n.clientY}}})).event;return Object(v.f)(t,o,n)},enumerable:!0,configurable:!0}),e.prototype.isSelectionSingleChangeEvent=function(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):P.d?e.browserEvent.metaKey:e.browserEvent.ctrlKey},e.prototype.isSelectionRangeChangeEvent=function(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):e.browserEvent.shiftKey},e.prototype.isSelectionChangeEvent=function(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)},e.prototype.onMouseDown=function(e){!1===this.options.focusOnMouseDown?(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation()):document.activeElement!==e.browserEvent.target&&this.view.domNode.focus();var t=this.list.getFocus()[0],o=this.list.getSelection();if(t=void 0===t?o[0]:t,this.multipleSelectionSupport&&this.isSelectionRangeChangeEvent(e))return this.changeSelection(e,t);var n=e.index;if(o.every((function(e){return e!==n}))&&this.list.setFocus([n]),this.multipleSelectionSupport&&this.isSelectionChangeEvent(e))return this.changeSelection(e,t);this.options.selectOnMouseDown&&!de(e.browserEvent)&&(this.list.setSelection([n]),this.openController.shouldOpen(e.browserEvent)&&this.list.open([n],e.browserEvent))},e.prototype.onPointer=function(e){if(!(this.multipleSelectionSupport&&this.isSelectionChangeEvent(e)||this.options.selectOnMouseDown)){var t=this.list.getFocus();this.list.setSelection(t),this.openController.shouldOpen(e.browserEvent)&&this.list.open(t,e.browserEvent)}},e.prototype.onDoubleClick=function(e){if(!this.multipleSelectionSupport||!this.isSelectionChangeEvent(e)){var t=this.list.getFocus();this.list.setSelection(t),this.list.pin(t)}},e.prototype.changeSelection=function(e,t){var o=e.index;if(this.isSelectionRangeChangeEvent(e)&&void 0!==t){var n=Math.min(t,o),i=Math.max(t,o),s=Object(r.m)(n,i+1),a=function(e,t){var o=e.indexOf(t);if(-1===o)return[];var n=[],i=o-1;for(;i>=0&&e[i]===t-(o-i);)n.push(e[i--]);n.reverse(),i=o;for(;i=e.length)o.push(t[i++]);else if(i>=t.length)o.push(e[n++]);else{if(e[n]===t[i]){n++,i++;continue}e[n]=e.length)o.push(t[i++]);else if(i>=t.length)o.push(e[n++]);else{if(e[n]===t[i]){o.push(e[n]),n++,i++;continue}e[n]this.view.length)throw new Error("Invalid start index: "+e);if(t<0)throw new Error("Invalid delete count: "+t);0===t&&0===o.length||this.eventBufferer.bufferEvents((function(){return n.spliceable.splice(e,t,o)}))},Object.defineProperty(e.prototype,"length",{get:function(){return this.view.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contentHeight",{get:function(){return this.view.getContentHeight()},enumerable:!0,configurable:!0}),e.prototype.layout=function(e){this.view.layout(e)},e.prototype.setSelection=function(e){for(var t=0,o=e;t=this.length)throw new Error("Invalid index "+n)}e=e.sort(be),this.selection.set(e)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.setFocus=function(e){for(var t=0,o=e;t=this.length)throw new Error("Invalid index "+n)}e=e.sort(be),this.focus.set(e)},e.prototype.focusNext=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),n=o.length>0?o[0]+e:0;this.setFocus(t?[n%this.length]:[Math.min(n,this.length-1)])}},e.prototype.focusPrevious=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),n=o.length>0?o[0]-e:0;t&&n<0&&(n=(this.length+n%this.length)%this.length),this.setFocus([Math.max(n,0)])}},e.prototype.focusNextPage=function(){var e=this,t=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);t=0===t?0:t-1;var o=this.view.element(t);if(this.getFocusedElements()[0]!==o)this.setFocus([t]);else{var n=this.view.getScrollTop();this.view.setScrollTop(n+this.view.renderHeight-this.view.elementHeight(t)),this.view.getScrollTop()!==n&&setTimeout((function(){return e.focusNextPage()}),0)}},e.prototype.focusPreviousPage=function(){var e,t=this,o=this.view.getScrollTop();e=0===o?this.view.indexAt(o):this.view.indexAfter(o-1);var n=this.view.element(e);if(this.getFocusedElements()[0]!==n)this.setFocus([e]);else{var i=o;this.view.setScrollTop(o-this.view.renderHeight),this.view.getScrollTop()!==i&&setTimeout((function(){return t.focusPreviousPage()}),0)}},e.prototype.focusLast=function(){0!==this.length&&this.setFocus([this.length-1])},e.prototype.focusFirst=function(){0!==this.length&&this.setFocus([0])},e.prototype.getFocus=function(){return this.focus.get()},e.prototype.getFocusedElements=function(){var e=this;return this.getFocus().map((function(t){return e.view.element(t)}))},e.prototype.reveal=function(e,t){if(e<0||e>=this.length)throw new Error("Invalid index "+e);var o,n,i,r=this.view.getScrollTop(),s=this.view.elementTop(e),a=this.view.elementHeight(e);if(Object(D.f)(t)){var l=a-this.view.renderHeight;this.view.setScrollTop(l*(o=t,n=0,i=1,Math.min(Math.max(o,n),i))+s)}else{var u=s+a,c=r+this.view.renderHeight;s=c&&this.view.setScrollTop(u-this.view.renderHeight)}},e.prototype.getElementDomId=function(e){return this.idPrefix+"_"+e},e.prototype.isDOMFocused=function(){return this.view.domNode===document.activeElement},e.prototype.getHTMLElement=function(){return this.view.domNode},e.prototype.open=function(e,t){for(var o=this,n=0,i=e;n=this.length)throw new Error("Invalid index "+r)}this._onOpen.fire({indexes:e,elements:e.map((function(e){return o.view.element(e)})),browserEvent:t})},e.prototype.pin=function(e){for(var t=0,o=e;t=this.length)throw new Error("Invalid index "+n)}this._onPin.fire(e)},e.prototype.style=function(e){this.styleController.style(e)},e.prototype.toListEvent=function(e){var t=this,o=e.indexes;return{indexes:o,elements:o.map((function(e){return t.view.element(e)}))}},e.prototype._onFocusChange=function(){var e=this.focus.get();e.length>0?this.view.domNode.setAttribute("aria-activedescendant",this.getElementDomId(e[0])):this.view.domNode.removeAttribute("aria-activedescendant"),this.view.domNode.setAttribute("role","tree"),I.N(this.view.domNode,"element-focused",e.length>0)},e.prototype._onSelectionChange=function(){var e=this.selection.get();I.N(this.view.domNode,"selection-none",0===e.length),I.N(this.view.domNode,"selection-single",1===e.length),I.N(this.view.domNode,"selection-multiple",e.length>1)},e.prototype.dispose=function(){this._onDidDispose.fire(),this.disposables=Object(s.d)(this.disposables)},e.InstanceCount=0,ie([A.a],e.prototype,"onFocusChange",null),ie([A.a],e.prototype,"onSelectionChange",null),e}(),Se=o(62),Te=o(16),we=o(110),ke=o(118),Oe=o(19),Re=o(7),Ne=o(55),Ie=o(160),Le=o(89),De=o(82),Ae=o(48),Pe=Object.assign||function(e){for(var t,o=1,n=arguments.length;o=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Me=function(e,t){return function(o,n){t(o,n,e)}},Be=!1,Fe=Object(Re.kb)("editorSuggestWidget.background",{dark:Re.D,light:Re.D,hc:Re.D},n.a("editorSuggestWidgetBackground","Background color of the suggest widget.")),He=Object(Re.kb)("editorSuggestWidget.border",{dark:Re.E,light:Re.E,hc:Re.E},n.a("editorSuggestWidgetBorder","Border color of the suggest widget.")),Ue=Object(Re.kb)("editorSuggestWidget.foreground",{dark:Re.u,light:Re.u,hc:Re.u},n.a("editorSuggestWidgetForeground","Foreground color of the suggest widget.")),Ve=Object(Re.kb)("editorSuggestWidget.selectedBackground",{dark:Re.W,light:Re.W,hc:Re.W},n.a("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget.")),We=Object(Re.kb)("editorSuggestWidget.highlightForeground",{dark:Re.Y,light:Re.Y,hc:Re.Y},n.a("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),je=/^(#([\da-f]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))$/i;function Ge(e){return e&&e.match(je)?e:null}function ze(e){if(!e)return!1;var t=e.suggestion;return!!t.documentation||t.detail&&t.detail!==t.label}var Ke=function(){function e(e,t,o){this.widget=e,this.editor=t,this.triggerKeybindingLabel=o}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"suggestion"},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){var t=this,o=Object.create(null);o.disposables=[],o.root=e,o.icon=Object(I.k)(e,Object(I.a)(".icon")),o.colorspan=Object(I.k)(o.icon,Object(I.a)("span.colorspan"));var i=Object(I.k)(e,Object(I.a)(".contents")),r=Object(I.k)(i,Object(I.a)(".main"));o.highlightedLabel=new L.a(r),o.disposables.push(o.highlightedLabel),o.typeLabel=Object(I.k)(r,Object(I.a)("span.type-label")),o.readMore=Object(I.k)(r,Object(I.a)("span.readMore")),o.readMore.title=n.a("readMore","Read More...{0}",this.triggerKeybindingLabel);var s=function(){var e=t.editor.getConfiguration(),n=e.fontInfo.fontFamily,i=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+"px",s=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+"px";o.root.style.fontSize=i,r.style.fontFamily=n,r.style.lineHeight=s,o.icon.style.height=s,o.icon.style.width=s,o.readMore.style.height=s,o.readMore.style.width=s};return s(),Object(v.g)(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.fontInfo||e.contribInfo})).on(s,null,o.disposables),o},e.prototype.renderElement=function(e,t,o){var i=this,r=o,s=e.suggestion;if(ze(e)?r.root.setAttribute("aria-label",n.a("suggestionWithDetailsAriaLabel","{0}, suggestion, has details",s.label)):r.root.setAttribute("aria-label",n.a("suggestionAriaLabel","{0}, suggestion",s.label)),r.icon.className="icon "+s.type,r.colorspan.style.backgroundColor="","color"===s.type){var a=Ge(s.label)||"string"==typeof s.documentation&&Ge(s.documentation);a&&(r.icon.className="icon customcolor",r.colorspan.style.backgroundColor=a)}r.highlightedLabel.set(s.label,Object(T.b)(e.matches),"",!0),r.typeLabel.textContent=(s.detail||"").replace(/\n.*$/m,""),ze(e)?(Object(I.M)(r.readMore),r.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},r.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),i.widget.toggleDetails()}):(Object(I.A)(r.readMore),r.readMore.onmousedown=null,r.readMore.onclick=null)},e.prototype.disposeElement=function(){},e.prototype.disposeTemplate=function(e){e.disposables=Object(s.d)(e.disposables)},e}(),Ye=function(){function e(e,t,o,i,r){var a=this;this.widget=t,this.editor=o,this.markdownRenderer=i,this.triggerKeybindingLabel=r,this.borderWidth=1,this.disposables=[],this.el=Object(I.k)(e,Object(I.a)(".details")),this.disposables.push(Object(s.f)((function(){return e.removeChild(a.el)}))),this.body=Object(I.a)(".body"),this.scrollbar=new H.a(this.body,{}),Object(I.k)(this.el,this.scrollbar.getDomNode()),this.disposables.push(this.scrollbar),this.header=Object(I.k)(this.body,Object(I.a)(".header")),this.close=Object(I.k)(this.header,Object(I.a)("span.close")),this.close.title=n.a("readLess","Read less...{0}",this.triggerKeybindingLabel),this.type=Object(I.k)(this.header,Object(I.a)("p.type")),this.docs=Object(I.k)(this.body,Object(I.a)("p.docs")),this.ariaLabel=null,this.configureFont(),Object(v.g)(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.fontInfo})).on(this.configureFont,this,this.disposables),i.onDidRenderCodeBlock((function(){return a.scrollbar.scanDomNode()}),this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.render=function(e){var t=this;if(this.renderDisposeable=Object(s.d)(this.renderDisposeable),!e||!ze(e))return this.type.textContent="",this.docs.textContent="",Object(I.f)(this.el,"no-docs"),void(this.ariaLabel=null);if(Object(I.G)(this.el,"no-docs"),"string"==typeof e.suggestion.documentation)Object(I.G)(this.docs,"markdown-docs"),this.docs.textContent=e.suggestion.documentation;else{Object(I.f)(this.docs,"markdown-docs"),this.docs.innerHTML="";var o=this.markdownRenderer.render(e.suggestion.documentation);this.renderDisposeable=o,this.docs.appendChild(o.element)}e.suggestion.detail?(this.type.innerText=e.suggestion.detail,Object(I.M)(this.type)):(this.type.innerText="",Object(I.A)(this.type)),this.el.style.height=this.header.offsetHeight+this.docs.offsetHeight+2*this.borderWidth+"px",this.close.onmousedown=function(e){e.preventDefault(),e.stopPropagation()},this.close.onclick=function(e){e.preventDefault(),e.stopPropagation(),t.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=N.format("{0}\n{1}\n{2}",e.suggestion.label||"",e.suggestion.detail||"",e.suggestion.documentation||"")},e.prototype.getAriaLabel=function(){return this.ariaLabel},e.prototype.scrollDown=function(e){void 0===e&&(e=8),this.body.scrollTop+=e},e.prototype.scrollUp=function(e){void 0===e&&(e=8),this.body.scrollTop-=e},e.prototype.scrollTop=function(){this.body.scrollTop=0},e.prototype.scrollBottom=function(){this.body.scrollTop=this.body.scrollHeight},e.prototype.pageDown=function(){this.scrollDown(80)},e.prototype.pageUp=function(){this.scrollUp(80)},e.prototype.setBorderWidth=function(e){this.borderWidth=e},e.prototype.configureFont=function(){var e=this.editor.getConfiguration(),t=e.fontInfo.fontFamily,o=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+"px",n=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+"px";this.el.style.fontSize=o,this.type.style.fontFamily=t,this.close.style.height=n,this.close.style.width=n},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables),this.renderDisposeable=Object(s.d)(this.renderDisposeable)},e}(),Xe=function(){function e(e,t,o,n,i,r,s,a){var l=this;this.editor=e,this.telemetryService=t,this.allowEditorOverflow=!0,this.ignoreFocusEvents=!1,this.editorBlurTimeout=new y.f,this.showTimeout=new y.f,this.onDidSelectEmitter=new v.a,this.onDidFocusEmitter=new v.a,this.onDidHideEmitter=new v.a,this.onDidShowEmitter=new v.a,this.onDidSelect=this.onDidSelectEmitter.event,this.onDidFocus=this.onDidFocusEmitter.event,this.onDidHide=this.onDidHideEmitter.event,this.onDidShow=this.onDidShowEmitter.event,this.maxWidgetWidth=660,this.listWidth=330,this.storageServiceAvailable=!0,this.expandSuggestionDocs=!1,this.firstFocusInCurrentList=!1;var u=r.lookupKeybinding("editor.action.triggerSuggest"),c=u?" ("+u.getLabel()+")":"",h=new Ie.a(e,s,a);this.isAuto=!1,this.focusedItem=null,this.storageService=i,void 0===this.expandDocsSettingFromStorage()&&(this.storageService.store("expandSuggestionDocs",Be,Ne.c.GLOBAL),void 0===this.expandDocsSettingFromStorage()&&(this.storageServiceAvailable=!1)),this.element=Object(I.a)(".editor-widget.suggest-widget"),this.editor.getConfiguration().contribInfo.iconsInSuggestions||Object(I.f)(this.element,"no-icons"),this.messageElement=Object(I.k)(this.element,Object(I.a)(".message")),this.listElement=Object(I.k)(this.element,Object(I.a)(".tree")),this.details=new Ye(this.element,this,this.editor,h,c);var d=new Ke(this,this.editor,c);this.list=new Ce(this.listElement,this,[d],{useShadows:!1,selectOnMouseDown:!0,focusOnMouseDown:!1,openController:{shouldOpen:function(){return!1}}}),this.toDispose=[Object(ke.b)(this.list,n,{listInactiveFocusBackground:Ve,listInactiveFocusOutline:Re.b}),n.onThemeChange((function(e){return l.onThemeChange(e)})),e.onDidBlurEditorText((function(){return l.onEditorBlur()})),e.onDidLayoutChange((function(){return l.onEditorLayoutChange()})),this.list.onSelectionChange((function(e){return l.onListSelection(e)})),this.list.onFocusChange((function(e){return l.onListFocus(e)})),this.editor.onDidChangeCursorSelection((function(){return l.onCursorSelectionChanged()}))],this.suggestWidgetVisible=_.a.Visible.bindTo(o),this.suggestWidgetMultipleSuggestions=_.a.MultipleSuggestions.bindTo(o),this.suggestionSupportsAutoAccept=_.a.AcceptOnKey.bindTo(o),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(n.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorBlur=function(){var e=this;this.editorBlurTimeout.cancelAndSet((function(){e.editor.hasTextFocus()||e.setState(0)}),150)},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListSelection=function(e){var t=this;if(e.elements.length){var o=e.elements[0],i=e.indexes[0];o.resolve(Ae.a.None).then((function(){t.onDidSelectEmitter.fire({item:o,index:i,model:t.completionModel}),Object(d.a)(n.a("suggestionAriaAccepted","{0}, accepted",o.suggestion.label)),t.editor.focus()}))}},e.prototype._getSuggestionAriaAlertLabel=function(e){return ze(e)?n.a("ariaCurrentSuggestionWithDetails","{0}, suggestion, has details",e.suggestion.label):n.a("ariaCurrentSuggestion","{0}, suggestion",e.suggestion.label)},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&Object(d.a)(this._lastAriaAlertLabel))},e.prototype.onThemeChange=function(e){var t=e.getColor(Fe);t&&(this.listElement.style.backgroundColor=t.toString(),this.details.element.style.backgroundColor=t.toString(),this.messageElement.style.backgroundColor=t.toString());var o=e.getColor(He);o&&(this.listElement.style.borderColor=o.toString(),this.details.element.style.borderColor=o.toString(),this.messageElement.style.borderColor=o.toString(),this.detailsBorderColor=o.toString());var n=e.getColor(Re.H);n&&(this.detailsFocusBorderColor=n.toString()),this.details.setBorderWidth("hc"===e.type?2:1)},e.prototype.onListFocus=function(e){var t=this;if(!this.ignoreFocusEvents){if(!e.elements.length)return this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null,this.focusedItem=null),void this._ariaAlert(null);var o=e.elements[0];if(this._ariaAlert(this._getSuggestionAriaAlertLabel(o)),this.firstFocusInCurrentList=!this.focusedItem,o!==this.focusedItem){this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null);var n=e.indexes[0];this.suggestionSupportsAutoAccept.set(!o.suggestion.noAutoAccept),this.focusedItem=o,this.list.reveal(n),this.currentSuggestionDetails=Object(y.i)((function(e){return o.resolve(e)})),this.currentSuggestionDetails.then((function(){t.ignoreFocusEvents=!0,t.list.splice(n,1,[o]),t.list.setFocus([n]),t.ignoreFocusEvents=!1,t.expandDocsSettingFromStorage()?t.showDetails():Object(I.G)(t.element,"docs-side")})).catch(i.e).then((function(){t.focusedItem===o&&(t.currentSuggestionDetails=null)})),this.onDidFocusEmitter.fire({item:o,index:n,model:this.completionModel})}}},e.prototype.setState=function(t){if(this.element){var o=this.state!==t;switch(this.state=t,Object(I.N)(this.element,"frozen",4===t),t){case 0:Object(I.A)(this.messageElement,this.details.element,this.listElement),this.hide(),this.listHeight=0,o&&this.list.splice(0,this.list.length),this.focusedItem=null;break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,Object(I.A)(this.listElement,this.details.element),Object(I.M)(this.messageElement),Object(I.G)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,Object(I.A)(this.listElement,this.details.element),Object(I.M)(this.messageElement),Object(I.G)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 3:case 4:Object(I.A)(this.messageElement),Object(I.M)(this.listElement),this.show();break;case 5:Object(I.A)(this.messageElement),Object(I.M)(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}}},e.prototype.showTriggered=function(e){var t=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=setTimeout((function(){t.loadingTimeout=null,t.setState(1)}),50)))},e.prototype.showSuggestions=function(e,t,o,n){if(this.loadingTimeout&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=null),this.completionModel!==e&&(this.completionModel=e),o&&2!==this.state&&0!==this.state)this.setState(4);else{var i=this.completionModel.items.length,r=0===i;if(this.suggestWidgetMultipleSuggestions.set(i>1),r)n?this.setState(0):this.setState(2),this.completionModel=null;else{var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!n,this.telemetryService.publicLog("suggestWidget",Pe({},s,this.editor.getTelemetryData())),this.list.splice(0,this.list.length,this.completionModel.items),o?this.setState(4):this.setState(3),this.list.reveal(t,t),this.list.setFocus([t]),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)}}},e.prototype.selectNextPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageDown(),!0;case 1:return!this.isAuto;default:return this.list.focusNextPage(),!0}},e.prototype.selectNext=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusNext(1,!0),!0}},e.prototype.selectLast=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollBottom(),!0;case 1:return!this.isAuto;default:return this.list.focusLast(),!0}},e.prototype.selectPreviousPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageUp(),!0;case 1:return!this.isAuto;default:return this.list.focusPreviousPage(),!0}},e.prototype.selectPrevious=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusPrevious(1,!0),!1}},e.prototype.selectFirst=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollTop(),!0;case 1:return!this.isAuto;default:return this.list.focusFirst(),!0}},e.prototype.getFocusedItem=function(){if(0!==this.state&&2!==this.state&&1!==this.state)return{item:this.list.getFocusedElements()[0],index:this.list.getFocus()[0],model:this.completionModel}},e.prototype.toggleDetailsFocus=function(){5===this.state?(this.setState(3),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)):3===this.state&&this.expandDocsSettingFromStorage()&&(this.setState(5),this.detailsFocusBorderColor&&(this.details.element.style.borderColor=this.detailsFocusBorderColor)),this.telemetryService.publicLog("suggestWidget:toggleDetailsFocus",this.editor.getTelemetryData())},e.prototype.toggleDetails=function(){if(ze(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Object(I.A)(this.details.element),Object(I.G)(this.element,"docs-side"),Object(I.G)(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog("suggestWidget:collapseDetails",this.editor.getTelemetryData());else{if(3!==this.state&&5!==this.state&&4!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(),this.telemetryService.publicLog("suggestWidget:expandDetails",this.editor.getTelemetryData())}},e.prototype.showDetails=function(){this.expandSideOrBelow(),Object(I.M)(this.details.element),this.details.render(this.list.getFocusedElements()[0]),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus(),this._ariaAlert(this.details.getAriaLabel())},e.prototype.show=function(){var e=this,t=this.updateListHeight();t!==this.listHeight&&(this.editor.layoutContentWidget(this),this.listHeight=t),this.suggestWidgetVisible.set(!0),this.showTimeout.cancelAndSet((function(){Object(I.f)(e.element,"visible"),e.onDidShowEmitter.fire(e)}),100)},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),Object(I.G)(this.element,"visible")},e.prototype.hideWidget=function(){clearTimeout(this.loadingTimeout),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){return 0===this.state?null:{position:this.editor.getPosition(),preference:[Te.a.BELOW,Te.a.ABOVE]}},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.updateListHeight=function(){var e=0;if(2===this.state||1===this.state)e=this.unfocusedHeight;else{var t=this.list.contentHeight/this.unfocusedHeight;e=Math.min(t,12)*this.unfocusedHeight}return this.element.style.lineHeight=this.unfocusedHeight+"px",this.listElement.style.height=e+"px",this.list.layout(e),e},e.prototype.adjustDocsPosition=function(){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),o=Object(I.u)(this.editor.getDomNode()),n=o.left+t.left,i=o.top+t.top+t.height,r=Object(I.u)(this.element),s=r.left,a=r.top;sa&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")},e.prototype.expandSideOrBelow=function(){if(!ze(this.focusedItem)&&this.firstFocusInCurrentList)return Object(I.G)(this.element,"docs-side"),void Object(I.G)(this.element,"docs-below");var e=this.element.style.maxWidth.match(/(\d+)px/);!e||Number(e[1])=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Je=function(e,t){return function(o,n){t(o,n,e)}},Ze=function(){function e(){}return e.prototype.select=function(e,t,o){if(0===o.length)return 0;for(var n=o[0].score,i=1;is&&c.type===l.type&&c.insertText===l.insertText&&(s=c.touch,r=a)}return-1===r?e.prototype.select.call(this,t,o,n):r},t.prototype.toJSON=function(){var e=[];return this._cache.forEach((function(t,o){e.push([o,t])})),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,o=e;t0){this._seq=e[0][1].touch+1;for(var t=0,o=e;t=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},rt=function(e,t){return function(o,n){t(o,n,e)}},st=function(){function e(e,t,o){var n=this;this._disposables=[],this._activeAcceptCharacters=new Set,this._disposables.push(t.onDidShow((function(){return n._onItem(t.getFocusedItem())}))),this._disposables.push(t.onDidFocus(this._onItem,this)),this._disposables.push(t.onDidHide(this.reset,this)),this._disposables.push(e.onWillType((function(t){if(n._activeItem){var i=t[t.length-1];n._activeAcceptCharacters.has(i)&&e.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter&&o(n._activeItem)}})))}return e.prototype._onItem=function(e){if(e&&!Object(r.k)(e.item.suggestion.commitCharacters)){this._activeItem=e,this._activeAcceptCharacters.clear();for(var t=0,o=e.item.suggestion.commitCharacters;t0&&this._activeAcceptCharacters.add(n[0])}}else this.reset()},e.prototype.reset=function(){this._activeItem=void 0},e.prototype.dispose=function(){Object(s.d)(this._disposables)},e}(),at=function(){function e(e,t,o,n){var i=this;this._editor=e,this._commandService=t,this._contextKeyService=o,this._instantiationService=n,this._toDispose=[],this._model=new R(this._editor),this._memory=n.createInstance(ot,this._editor.getConfiguration().contribInfo.suggestSelection),this._toDispose.push(this._model.onDidTrigger((function(e){i._widget||i._createSuggestWidget(),i._widget.showTriggered(e.auto)}))),this._toDispose.push(this._model.onDidSuggest((function(e){var t=i._memory.select(i._editor.getModel(),i._editor.getPosition(),e.completionModel.items);i._widget.showSuggestions(e.completionModel,t,e.isFrozen,e.auto)}))),this._toDispose.push(this._model.onDidCancel((function(e){i._widget&&!e.retrigger&&i._widget.hideWidget()})));var r=_.a.AcceptSuggestionsOnEnter.bindTo(o),s=function(){var e=i._editor.getConfiguration().contribInfo,t=e.acceptSuggestionOnEnter,o=e.suggestSelection;r.set("on"===t||"smart"===t),i._memory.setMode(o)};this._toDispose.push(this._editor.onDidChangeConfiguration((function(e){return s()}))),s()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._createSuggestWidget=function(){var e=this;this._widget=this._instantiationService.createInstance(Xe,this._editor),this._toDispose.push(this._widget.onDidSelect(this._onDidSelectItem,this));var t=new st(this._editor,this._widget,(function(t){return e._onDidSelectItem(t)}));this._toDispose.push(t,this._model.onDidSuggest((function(e){0===e.completionModel.items.length&&t.reset()})));var o=_.a.MakesTextEdit.bindTo(this._contextKeyService);this._toDispose.push(this._widget.onDidFocus((function(t){var n=t.item,i=e._editor.getPosition(),r=n.position.column-n.suggestion.overwriteBefore,s=i.column,a=!0;"smart"!==e._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==e._model.state||n.suggestion.command||n.suggestion.additionalTextEdits||"textmate"===n.suggestion.snippetType||s-r!==n.suggestion.insertText.length||(a=e._editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:r,endLineNumber:i.lineNumber,endColumn:s})!==n.suggestion.insertText);o.set(a)}))),this._toDispose.push({dispose:function(){o.reset()}})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._toDispose=Object(s.d)(this._toDispose),this._widget&&(this._widget.dispose(),this._widget=null),this._model&&(this._model.dispose(),this._model=null)},e.prototype._onDidSelectItem=function(e){var t;if(e&&e.item){var o=e.item,n=o.suggestion,r=o.position,s=this._editor.getPosition().column-r.column;this._editor.pushUndoStop(),Array.isArray(n.additionalTextEdits)&&this._editor.executeEdits("suggestController.additionalTextEdits",n.additionalTextEdits.map((function(e){return g.a.replace(p.a.lift(e.range),e.text)}))),this._memory.memorize(this._editor.getModel(),this._editor.getPosition(),e.item);var a=n.insertText;"textmate"!==n.snippetType&&(a=f.c.escape(a)),m.SnippetController2.get(this._editor).insert(a,n.overwriteBefore+s,n.overwriteAfter,!1,!1),this._editor.pushUndoStop(),n.command?n.command.id===lt.id?this._model.trigger({auto:!0},!0):((t=this._commandService).executeCommand.apply(t,[n.command.id].concat(n.command.arguments)).done(void 0,i.e),this._model.cancel()):this._model.cancel(),this._alertCompletionItem(e.item)}else this._model.cancel()},e.prototype._alertCompletionItem=function(e){var t=e.suggestion,o=n.a("arai.alert.snippet","Accepting '{0}' did insert the following text: {1}",t.label,t.insertText);Object(d.a)(o)},e.prototype.triggerSuggest=function(e){this._model.trigger({auto:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),this._editor.focus()},e.prototype.acceptSelectedSuggestion=function(){if(this._widget){var e=this._widget.getFocusedItem();this._onDidSelectItem(e)}},e.prototype.cancelSuggestWidget=function(){this._widget&&(this._model.cancel(),this._widget.hideWidget())},e.prototype.selectNextSuggestion=function(){this._widget&&this._widget.selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget&&this._widget.selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget&&this._widget.selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget&&this._widget.selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget&&this._widget.selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget&&this._widget.selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget&&this._widget.toggleDetails()},e.prototype.toggleSuggestionFocus=function(){this._widget&&this._widget.toggleDetailsFocus()},e.ID="editor.contrib.suggestController",e=it([rt(1,u.b),rt(2,l.e),rt(3,a.a)],e)}(),lt=function(e){function t(){return e.call(this,{id:t.id,label:n.a("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:l.d.and(c.a.writable,c.a.hasCompletionItemProvider),kbOpts:{kbExpr:c.a.textInputFocus,primary:2058,mac:{primary:266},weight:100}})||this}return nt(t,e),t.prototype.run=function(e,t){var o=at.get(t);o&&o.triggerSuggest()},t.id="editor.action.triggerSuggest",t}(h.b);Object(h.h)(at),Object(h.f)(lt);var ut=h.c.bindToContribution(at.get);Object(h.g)(new ut({id:"acceptSelectedSuggestion",precondition:_.a.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2}})),Object(h.g)(new ut({id:"acceptSelectedSuggestionOnEnter",precondition:_.a.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:190,kbExpr:l.d.and(c.a.textInputFocus,_.a.AcceptSuggestionsOnEnter,_.a.MakesTextEdit),primary:3}})),Object(h.g)(new ut({id:"hideSuggestWidget",precondition:_.a.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:9,secondary:[1033]}})),Object(h.g)(new ut({id:"selectNextSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Object(h.g)(new ut({id:"selectNextPageSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:12,secondary:[2060]}})),Object(h.g)(new ut({id:"selectLastSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),Object(h.g)(new ut({id:"selectPrevSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Object(h.g)(new ut({id:"selectPrevPageSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:11,secondary:[2059]}})),Object(h.g)(new ut({id:"selectFirstSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),Object(h.g)(new ut({id:"toggleSuggestionDetails",precondition:_.a.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2058,mac:{primary:266}}})),Object(h.g)(new ut({id:"toggleSuggestionFocus",precondition:_.a.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2570,mac:{primary:778}}}))},function(e,t,o){"use strict";o.r(t);o(448);var n=o(0),i=o(21),r=o(8),s=o(17),a=o(39),l=o(6),u=o(10),c=o(3),h=o(16),d=o(4),g=65535,p=function(){function e(e,t,o){if(e.length!==t.length||e.length>g)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Uint32Array(Math.ceil(e.length/32)),this._types=o}return e.prototype.ensureParentIndices=function(){var e=this;if(!this._parentsComputed){this._parentsComputed=!0;for(var t=[],o=function(o,n){var i=t[t.length-1];return e.getStartLineNumber(i)<=o&&e.getEndLineNumber(i)>=n},n=0,i=this._startIndexes.length;n16777215||s>16777215)throw new Error("startLineNumber or endLineNumber must not exceed 16777215");for(;t.length>0&&!o(r,s);)t.pop();var a=t.length>0?t[t.length-1]:-1;t.push(n),this._startIndexes[n]=r+((255&a)<<24),this._endIndexes[n]=s+((65280&a)<<16)}}},Object.defineProperty(e.prototype,"length",{get:function(){return this._startIndexes.length},enumerable:!0,configurable:!0}),e.prototype.getStartLineNumber=function(e){return 16777215&this._startIndexes[e]},e.prototype.getEndLineNumber=function(e){return 16777215&this._endIndexes[e]},e.prototype.getType=function(e){return this._types?this._types[e]:void 0},e.prototype.hasTypes=function(){return!!this._types},e.prototype.isCollapsed=function(e){var t=e/32|0,o=e%32;return 0!=(this._collapseStates[t]&1<>>24)+((4278190080&this._endIndexes[e])>>>16);return t===g?-1:t},e.prototype.contains=function(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t},e.prototype.findIndex=function(e){var t=0,o=this._startIndexes.length;if(0===o)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1},e.prototype.toString=function(){for(var e=[],t=0;t=this.endLineNumber},e.prototype.containsLine=function(e){return this.startLineNumber<=e&&e<=this.endLineNumber},e}(),m=function(){function e(e,t){this._updateEventEmitter=new d.a,this._textModel=e,this._decorationProvider=t,this._regions=new p(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[],this._isInitialized=!1}return Object.defineProperty(e.prototype,"regions",{get:function(){return this._regions},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textModel",{get:function(){return this._textModel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isInitialized",{get:function(){return this._isInitialized},enumerable:!0,configurable:!0}),e.prototype.toggleCollapseState=function(e){var t=this;if(e.length){var o={};this._decorationProvider.changeDecorations((function(n){for(var i=0,r=e;i=h))break;i(a,c===h),a++}}l=s()}for(;a0?e:null},e.prototype.applyMemento=function(e){if(Array.isArray(e)){for(var t=[],o=0,n=e;o=0;){var r=this._regions.toRegion(n);t&&!t(r,i)||o.push(r),i++,n=r.parentIndex}return o},e.prototype.getRegionAtLine=function(e){if(this._regions){var t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null},e.prototype.getRegionsInside=function(e,t){for(var o=[],n=t&&2===t.length,i=n?[]:null,r=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE,a=r,l=this._regions.length;a0&&!u.containedBy(i[i.length-1]);)i.pop();i.push(u),t(u,i.length)&&o.push(u)}else t&&!t(u)||o.push(u)}return o},e}();function _(e,t,o,n){void 0===o&&(o=Number.MAX_VALUE);var i=[];if(n&&n.length>0)for(var r=0,s=n;r1)){var u=e.getRegionsInside(l,(function(e,n){return e.isCollapsed!==t&&n=0;s--)if(o!==i.isCollapsed(s)){var a=i.getStartLineNumber(s);t.test(n.getLineContent(a))&&r.push(i.toRegion(s))}e.toggleCollapseState(r)}function b(e,t,o){for(var n=e.regions,i=[],r=n.length-1;r>=0;r--)o!==n.isCollapsed(r)&&t===n.getType(r)&&i.push(n.toRegion(r));e.toggleCollapseState(i)}var E=o(18),C=o(26),S=function(){function e(e){this.editor=e,this.autoHideFoldingControls=!0}return e.prototype.getDecorationOption=function(t){return t?e.COLLAPSED_VISUAL_DECORATION:this.autoHideFoldingControls?e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e.EXPANDED_VISUAL_DECORATION},e.prototype.deltaDecorations=function(e,t){return this.editor.deltaDecorations(e,t)},e.prototype.changeDecorations=function(e){return this.editor.changeDecorations(e)},e.COLLAPSED_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,afterContentClassName:"inline-folded",linesDecorationsClassName:"folding collapsed"}),e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding"}),e.EXPANDED_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding alwaysShowFoldIcons"}),e}(),T=o(5),w=o(2),k=o(25),O=function(){function e(e){var t=this;this._updateEventEmitter=new d.a,this._foldingModel=e,this._foldingModelListener=e.onDidChange((function(e){return t.updateHiddenRanges()})),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hiddenRanges",{get:function(){return this._hiddenRanges},enumerable:!0,configurable:!0}),e.prototype.updateHiddenRanges=function(){for(var e=!1,t=[],o=0,n=0,i=Number.MAX_VALUE,r=-1,s=this._foldingModel.regions;o0},e.prototype.isHidden=function(e){return null!==R(this._hiddenRanges,e)},e.prototype.adjustSelections=function(e){for(var t=this,o=!1,n=this._foldingModel.textModel,i=null,r=function(e){return i&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,i)||(i=R(t._hiddenRanges,e)),i?i.startLineNumber-1:null},s=0,a=e.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)},e}();function R(e,t){var o=Object(k.f)(e,(function(e){return t=0&&e[o].endLineNumber>=t?e[o]:null}var N=o(32),I=5e3,L="indent",D=function(){function e(e){this.editorModel=e,this.id=L}return e.prototype.dispose=function(){},e.prototype.compute=function(e){var t=N.a.getFoldingRules(this.editorModel.getLanguageIdentifier().id),o=t&&t.offSide,n=t&&t.markers;return u.b.as(function(e,t,o,n){void 0===n&&(n=I);var i=e.getOptions().tabSize,r=new A(n),s=void 0;o&&(s=new RegExp("("+o.start.source+")|(?:"+o.end.source+")"));var a=[];a.push({indent:-1,line:e.getLineCount()+1,marker:!1});for(var l=e.getLineCount();l>0;l--){var u=e.getLineContent(l),c=C.b.computeIndentLevel(u,i),h=a[a.length-1];if(-1!==c){var d=void 0;if(s&&(d=u.match(s))){if(!d[1]){a.push({indent:-2,line:l,marker:!0});continue}for(var g=a.length-1;g>0&&!a[g].marker;)g--;if(g>0){a.length=g+1,h=a[g],r.insertFirst(l,h.line,c),h.marker=!1,h.indent=c,h.line=l;continue}}if(h.indent>c){do{a.pop(),h=a[a.length-1]}while(h.indent>c);var p=h.line-1;p-l>=1&&r.insertFirst(l,p,c)}h.indent===c?h.line=l:a.push({indent:c,line:l,marker:!1})}else t&&!h.marker&&(h.line=l)}return r.toIndentRanges(e)}(this.editorModel,o,n))},e}(),A=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.insertFirst=function(e,t,o){if(!(e>16777215||t>16777215)){var n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,o<1e3&&(this._indentOccurrences[o]=(this._indentOccurrences[o]||0)+1)}},e.prototype.toIndentRanges=function(e){if(this._length<=this._foldingRangesLimit){for(var t=new Uint32Array(this._length),o=new Uint32Array(this._length),n=this._length-1,i=0;n>=0;n--,i++)t[i]=this._startIndexes[n],o[i]=this._endIndexes[n];return new p(t,o)}var r=0,s=this._indentOccurrences.length;for(n=0;nthis._foldingRangesLimit){s=n;break}r+=a}}var l=e.getOptions().tabSize;for(t=new Uint32Array(this._foldingRangesLimit),o=new Uint32Array(this._foldingRangesLimit),n=this._length-1,i=0;n>=0;n--){var u=this._startIndexes[n],c=e.getLineContent(u),h=C.b.computeIndentLevel(c,l);(h0&&l.end>l.start&&l.end<=r&&n.push({start:l.start,end:l.end,rank:i,kind:l.kind})}}}),x.f)}));return u.b.join(i).then((function(e){return n}))}(this.providers,this.editorModel,e).then((function(e){return e?V(e,t.limit):null}))},e.prototype.dispose=function(){},e}();var U=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.add=function(e,t,o,n){if(!(e>16777215||t>16777215)){var i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._nestingLevels[i]=n,this._types[i]=o,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}},e.prototype.toIndentRanges=function(){if(this._length<=this._foldingRangesLimit){for(var e=new Uint32Array(this._length),t=new Uint32Array(this._length),o=0;othis._foldingRangesLimit){i=o;break}n+=r}}e=new Uint32Array(this._foldingRangesLimit),t=new Uint32Array(this._foldingRangesLimit);for(var s=[],a=(o=0,0);oi.start)if(l.end<=i.end)r.push(i),i=l,n.add(l.start,l.end,l.kind&&l.kind.value,r.length);else{if(l.start>i.end){do{i=r.pop()}while(i&&l.start>i.end);i&&r.push(i),i=l}n.add(l.start,l.end,l.kind&&l.kind.value,r.length)}}else i=l,n.add(l.start,l.end,l.kind&&l.kind.value,r.length)}return n.toIndentRanges()}var W="init",j=function(){function e(e,t,o,n){if(this.editorModel=e,this.id=W,t.length){this.decorationIds=e.deltaDecorations([],t.map((function(t){return{range:{startLineNumber:t.startLineNumber,startColumn:0,endLineNumber:t.endLineNumber,endColumn:e.getLineLength(t.endLineNumber)},options:{stickiness:E.h.NeverGrowsWhenTypingAtEdges}}}))),this.timeout=setTimeout(o,n)}}return e.prototype.dispose=function(){this.decorationIds&&(this.editorModel.deltaDecorations(this.decorationIds,[]),this.decorationIds=void 0),"number"==typeof this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)},e.prototype.compute=function(e){var t=[];if(this.decorationIds)for(var o=0,n=this.decorationIds;o0&&(this.rangeProvider=new H(e,o))}return this.foldingStateMemento=null,this.rangeProvider},e.prototype.getFoldingModel=function(){return this.foldingModelPromise},e.prototype.onModelContentChanged=function(){var e=this;this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((function(){if(!e.foldingModel)return null;var t=e.foldingRegionPromise=Object(s.i)((function(t){return e.getRangeProvider(e.foldingModel.textModel).compute(t)}));return u.b.wrap(t.then((function(o){if(o&&t===e.foldingRegionPromise){var n=e.editor.getSelections(),i=n?n.map((function(e){return e.startLineNumber})):[];e.foldingModel.update(o,i)}return e.foldingModel})))})))},e.prototype.onHiddenRangesChanges=function(e){if(e.length){var t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e)},e.prototype.onCursorPositionChanged=function(){this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()},e.prototype.revealCursor=function(){var e=this;this.getFoldingModel().then((function(t){if(t){var o=e.editor.getSelections();if(o&&o.length>0){for(var n=[],i=function(o){var i=o.selectionStartLineNumber;e.hiddenRangeModel.isHidden(i)&&n.push.apply(n,t.getAllRegionsAtLine(i,(function(e){return e.isCollapsed&&i>e.startLineNumber})))},r=0,s=o;r0,o&&n)?e:void 0;var t,o,n}),(function(e){Object(f.f)(e)}))}));return Promise.all(n).then((function(e){return Object(p.c)(e)}))}Object(u.e)("_executeHoverProvider",(function(e,t){return _(e,t,m.a.None)}));var y,v=o(17),b=function(){function e(t,o,n,i){var r=this;this._computer=t,this._state=0,this._hoverTime=e.HOVER_TIME,this._firstWaitScheduler=new v.c((function(){return r._triggerAsyncComputation()}),0),this._secondWaitScheduler=new v.c((function(){return r._triggerSyncComputation()}),0),this._loadingMessageScheduler=new v.c((function(){return r._showLoadingMessage()}),0),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=o,this._errorCallback=n,this._progressCallback=i}return e.prototype.setHoverTime=function(e){this._hoverTime=e},e.prototype._firstWaitTime=function(){return this._hoverTime/2},e.prototype._secondWaitTime=function(){return this._hoverTime/2},e.prototype._loadingMessageTime=function(){return 3*this._hoverTime},e.prototype._triggerAsyncComputation=function(){var e=this;this._state=2,this._secondWaitScheduler.schedule(this._secondWaitTime()),this._computer.computeAsync?(this._asyncComputationPromiseDone=!1,this._asyncComputationPromise=Object(v.i)((function(t){return e._computer.computeAsync(t)})),this._asyncComputationPromise.then((function(t){e._asyncComputationPromiseDone=!0,e._withAsyncResult(t)}),(function(t){return e._onError(t)}))):this._asyncComputationPromiseDone=!0},e.prototype._triggerSyncComputation=function(){this._computer.computeSync&&this._computer.onResult(this._computer.computeSync(),!0),this._asyncComputationPromiseDone?(this._state=0,this._onComplete(this._computer.getResult())):(this._state=3,this._onProgress(this._computer.getResult()))},e.prototype._showLoadingMessage=function(){3===this._state&&this._onProgress(this._computer.getResultWithLoadingMessage())},e.prototype._withAsyncResult=function(e){e&&this._computer.onResult(e,!1),3===this._state&&(this._state=0,this._onComplete(this._computer.getResult()))},e.prototype._onComplete=function(e){this._completeCallback&&this._completeCallback(e)},e.prototype._onError=function(e){this._errorCallback?this._errorCallback(e):Object(f.e)(e)},e.prototype._onProgress=function(e){this._progressCallback&&this._progressCallback(e)},e.prototype.start=function(e){if(0===e)0===this._state&&(this._state=1,this._firstWaitScheduler.schedule(this._firstWaitTime()),this._loadingMessageScheduler.schedule(this._loadingMessageTime()));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}},e.prototype.cancel=function(){this._loadingMessageScheduler.cancel(),1===this._state&&this._firstWaitScheduler.cancel(),2===this._state&&(this._secondWaitScheduler.cancel(),this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null)),3===this._state&&this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null),this._state=0},e.HOVER_TIME=300,e}(),E=o(60),C=o(81),S=o(6),T=(y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}y(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),w=function(e){function t(t,o){var n=e.call(this)||this;return n.disposables=[],n.allowEditorOverflow=!0,n._id=t,n._editor=o,n._isVisible=!1,n._containerDomNode=document.createElement("div"),n._containerDomNode.className="monaco-editor-hover hidden",n._containerDomNode.tabIndex=0,n._domNode=document.createElement("div"),n._domNode.className="monaco-editor-hover-content",n.scrollbar=new C.a(n._domNode,{}),n.disposables.push(n.scrollbar),n._containerDomNode.appendChild(n.scrollbar.getDomNode()),n.onkeydown(n._containerDomNode,(function(e){e.equals(9)&&n.hide()})),n._register(n._editor.onDidChangeConfiguration((function(e){e.fontInfo&&n.updateFont()}))),n._editor.onDidLayoutChange((function(e){return n.updateMaxHeight()})),n.updateMaxHeight(),n._editor.addContentWidget(n),n._showAtPosition=null,n}return T(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(h.N)(this._containerDomNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._containerDomNode},t.prototype.showAt=function(e,t){this._showAtPosition=new d.a(e.lineNumber,e.column),this.isVisible=!0,this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=t,t&&this._containerDomNode.focus()},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1,this._editor.layoutContentWidget(this),this._stoleFocus&&this._editor.focus())},t.prototype.getPosition=function(){return this.isVisible?{position:this._showAtPosition,preference:[c.a.ABOVE,c.a.BELOW]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),this.disposables=Object(S.d)(this.disposables),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this;Array.prototype.slice.call(this._domNode.getElementsByClassName("code")).forEach((function(t){return e._editor.applyFontInfo(t)}))},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont(),this._editor.layoutContentWidget(this),this.onContentsChange()},t.prototype.onContentsChange=function(){this.scrollbar.scanDomNode()},t.prototype.updateMaxHeight=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,o=t.fontSize,n=t.lineHeight;this._domNode.style.fontSize=o+"px",this._domNode.style.lineHeight=n+"px",this._domNode.style.maxHeight=e+"px"},t}(E.a),k=function(e){function t(t,o){var n=e.call(this)||this;return n._id=t,n._editor=o,n._isVisible=!1,n._domNode=document.createElement("div"),n._domNode.className="monaco-editor-hover hidden",n._domNode.setAttribute("aria-hidden","true"),n._domNode.setAttribute("role","presentation"),n._showAtLineNumber=-1,n._register(n._editor.onDidChangeConfiguration((function(e){e.fontInfo&&n.updateFont()}))),n._editor.addOverlayWidget(n),n}return T(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(h.N)(this._domNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._domNode},t.prototype.showAt=function(e){this._showAtLineNumber=e,this.isVisible||(this.isVisible=!0);var t=this._editor.getLayoutInfo(),o=this._editor.getTopForLineNumber(this._showAtLineNumber),n=this._editor.getScrollTop(),i=this._editor.getConfiguration().lineHeight,r=o-n-(this._domNode.clientHeight-i)/2;this._domNode.style.left=t.glyphMarginLeft+t.glyphMarginWidth+"px",this._domNode.style.top=Math.max(Math.round(r),0)+"px"},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1)},t.prototype.getPosition=function(){return null},t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this,t=Array.prototype.slice.call(this._domNode.getElementsByTagName("code")),o=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));t.concat(o).forEach((function(t){return e._editor.applyFontInfo(t)}))},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont()},t}(E.a),O=o(71),R=o(26),N=o(4),I=function(){function e(e,t,o){this.presentationIndex=o,this._onColorFlushed=new N.a,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new N.a,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new N.a,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}return Object.defineProperty(e.prototype,"color",{get:function(){return this._color},set:function(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"presentation",{get:function(){return this.colorPresentations[this.presentationIndex]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"colorPresentations",{get:function(){return this._colorPresentations},set:function(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)},enumerable:!0,configurable:!0}),e.prototype.selectNextColorPresentation=function(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)},e.prototype.guessColorPresentation=function(e,t){for(var o=0;othis._editor.getModel().getLineCount())return[];var o=z.ColorDetector.get(this._editor),n=this._editor.getModel().getLineMaxColumn(t),i=this._editor.getLineDecorations(t),r=!1;return i.map((function(i){var s=i.range.startLineNumber===t?i.range.startColumn:1,a=i.range.endLineNumber===t?i.range.endColumn:n;if(s>e._range.startColumn||e._range.endColumn>a)return null;var u=new l.a(e._range.startLineNumber,s,e._range.startLineNumber,a),c=o.getColorData(i.range.getStartPosition());if(!r&&c){r=!0;var h=c.colorInfo,d=h.color,g=h.range;return new q(g,d,c.provider)}if(Object(O.b)(i.options.hoverMessage))return null;var p=void 0;return i.options.hoverMessage&&(p=Array.isArray(i.options.hoverMessage)?i.options.hoverMessage.slice():[i.options.hoverMessage]),{contents:p,range:u}})).filter((function(e){return!!e}))},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort((function(e,t){return e instanceof q?-1:t instanceof q?1:0}))):this._result.concat(e)},e.prototype.getResult=function(){return this._result.slice(0)},e.prototype.getResultWithLoadingMessage=function(){return this._result.slice(0).concat([this._getLoadingMessage()])},e.prototype._getLoadingMessage=function(){return{range:this._range,contents:[(new O.a).appendText(n.a("modesContentHover.loading","Loading..."))]}},e}(),J=function(e){function t(o,n,i){var r=e.call(this,t.ID,o)||this;return r._themeService=i,r.renderDisposable=S.a.None,r._computer=new $(r._editor),r._highlightDecorations=[],r._isChangingDecorations=!1,r._markdownRenderer=n,r._register(n.onDidRenderCodeBlock(r.onContentsChange,r)),r._hoverOperation=new b(r._computer,(function(e){return r._withResult(e,!0)}),null,(function(e){return r._withResult(e,!1)})),r._register(h.j(r.getDomNode(),h.d.FOCUS,(function(){r._colorPicker&&h.f(r.getDomNode(),"colorpicker-hover")}))),r._register(h.j(r.getDomNode(),h.d.BLUR,(function(){h.G(r.getDomNode(),"colorpicker-hover")}))),r._register(o.onDidChangeConfiguration((function(e){r._hoverOperation.setHoverTime(r._editor.getConfiguration().contribInfo.hover.delay)}))),r}return Y(t,e),t.prototype.dispose=function(){this.renderDisposable.dispose(),this.renderDisposable=S.a.None,this._hoverOperation.cancel(),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this._isChangingDecorations||this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._colorPicker||this._hoverOperation.start(0))},t.prototype.startShowingAt=function(e,t,o){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition.lineNumber!==e.startLineNumber)this.hide();else{for(var n=[],i=0,r=this._messages.length;i=e.endColumn&&n.push(s)}if(n.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var o=0;o0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,o){var n=this;this.renderDisposable.dispose(),this._colorPicker=null;var i,r=Number.MAX_VALUE,s=o[0].range,a=document.createDocumentFragment(),u=!0,c=!1;o.forEach((function(t){if(t.range)if(r=Math.min(r,t.range.startColumn),s=l.a.plusRange(s,t.range),t instanceof q){c=!0;var o=t.color,h=o.red,g=o.green,p=o.blue,f=o.alpha,_=new A.c(255*h,255*g,255*p,f),y=new A.a(_),v=n._editor.getModel(),b=new l.a(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn),E={range:t.range,color:t.color},C=new I(y,[],0),T=new G(a,C,n._editor.getConfiguration().pixelRatio,n._themeService);Object(K.a)(v,E,t.provider,m.a.None).then((function(o){C.colorPresentations=o;var s=n._editor.getModel().getValueInRange(t.range);C.guessColorPresentation(y,s);var u=function(){var e,t;C.presentation.textEdit?(e=[C.presentation.textEdit],t=(t=new l.a(C.presentation.textEdit.range.startLineNumber,C.presentation.textEdit.range.startColumn,C.presentation.textEdit.range.endLineNumber,C.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+C.presentation.textEdit.text.length)):(e=[{identifier:null,range:b,text:C.presentation.label,forceMoveMarkers:!1}],t=b.setEndPosition(b.endLineNumber,b.startColumn+C.presentation.label.length)),n._editor.executeEdits("colorpicker",e),C.presentation.additionalTextEdits&&(e=C.presentation.additionalTextEdits.slice(),n._editor.executeEdits("colorpicker",e),n.hide()),n._editor.pushUndoStop(),b=t},c=function(e){return Object(K.a)(v,{range:b,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},t.provider,m.a.None).then((function(e){C.colorPresentations=e}))},h=C.onColorFlushed((function(e){c(e).then(u)})),g=C.onDidChangeColor(c);n._colorPicker=T,n.showAt(new d.a(e.startLineNumber,r),n._shouldFocus),n.updateContents(a),n._colorPicker.layout(),n.renderDisposable=Object(S.c)([h,g,T,i])}))}else t.contents.filter((function(e){return!Object(O.b)(e)})).forEach((function(e){var t=n._markdownRenderer.render(e);i=t,a.appendChild(X("div.hover-row",null,t.element)),u=!1}))})),c||u||(this.showAt(new d.a(e.startLineNumber,r),this._shouldFocus),this.updateContents(a)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[{range:s,options:t._DECORATION_OPTIONS}]),this._isChangingDecorations=!1},t.ID="editor.contrib.modesContentHoverWidget",t._DECORATION_OPTIONS=R.a.register({className:"hoverHighlight"}),t}(w);var Z=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Q=function(){function e(e){this._editor=e,this._lineNumber=-1}return e.prototype.setLineNumber=function(e){this._lineNumber=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeSync=function(){for(var e=function(e){return{value:e}},t=this._editor.getLineDecorations(this._lineNumber),o=[],n=0,i=t.length;n0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){var o=this;Object(S.d)(this._renderDisposeables),this._renderDisposeables=[];var n=document.createDocumentFragment();t.forEach((function(e){var t=o._markdownRenderer.render(e.value);o._renderDisposeables.push(t),n.appendChild(Object(h.a)("div.hover-row",null,t.element))})),this.updateContents(n),this.showAt(e)},t.ID="editor.contrib.modesGlyphHoverWidget",t}(k),te=o(5),oe=o(160);o.d(t,"ModesHoverController",(function(){return se}));var ne=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),ie=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},re=function(e,t){return function(o,n){t(o,n,e)}},se=function(){function e(e,t,o,n){var i=this;this._editor=e,this._openerService=t,this._modeService=o,this._themeService=n,this._toUnhook=[],this._isMouseDown=!1,this._hoverClicked=!1,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration((function(e){e.contribInfo&&(i._hideWidgets(),i._unhookEvents(),i._hookEvents())}))}return Object.defineProperty(e.prototype,"contentWidget",{get:function(){return this._contentWidget||this._createHoverWidget(),this._contentWidget},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"glyphWidget",{get:function(){return this._glyphWidget||this._createHoverWidget(),this._glyphWidget},enumerable:!0,configurable:!0}),e.get=function(t){return t.getContribution(e.ID)},e.prototype._hookEvents=function(){var e=this,t=function(){return e._hideWidgets()},o=this._editor.getConfiguration().contribInfo.hover;this._isHoverEnabled=o.enabled,this._isHoverSticky=o.sticky,this._isHoverEnabled?(this._toUnhook.push(this._editor.onMouseDown((function(t){return e._onEditorMouseDown(t)}))),this._toUnhook.push(this._editor.onMouseUp((function(t){return e._onEditorMouseUp(t)}))),this._toUnhook.push(this._editor.onMouseMove((function(t){return e._onEditorMouseMove(t)}))),this._toUnhook.push(this._editor.onKeyDown((function(t){return e._onKeyDown(t)}))),this._toUnhook.push(this._editor.onDidChangeModelDecorations((function(){return e._onModelDecorationsChanged()})))):this._toUnhook.push(this._editor.onMouseMove(t)),this._toUnhook.push(this._editor.onMouseLeave(t)),this._toUnhook.push(this._editor.onDidChangeModel(t)),this._toUnhook.push(this._editor.onDidScrollChange((function(t){return e._onEditorScrollChanged(t)})))},e.prototype._unhookEvents=function(){this._toUnhook=Object(S.d)(this._toUnhook)},e.prototype._onModelDecorationsChanged=function(){this.contentWidget.onModelDecorationsChanged(),this.glyphWidget.onModelDecorationsChanged()},e.prototype._onEditorScrollChanged=function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()},e.prototype._onEditorMouseDown=function(e){this._isMouseDown=!0;var t=e.target.type;t!==c.b.CONTENT_WIDGET||e.target.detail!==J.ID?t===c.b.OVERLAY_WIDGET&&e.target.detail===ee.ID||(t!==c.b.OVERLAY_WIDGET&&e.target.detail!==ee.ID&&(this._hoverClicked=!1),this._hideWidgets()):this._hoverClicked=!0},e.prototype._onEditorMouseUp=function(e){this._isMouseDown=!1},e.prototype._onEditorMouseMove=function(e){var t=e.target.type,o=r.d?e.event.metaKey:e.event.ctrlKey;if(!(this._isMouseDown&&this._hoverClicked&&this.contentWidget.isColorPickerVisible())&&(!this._isHoverSticky||t!==c.b.CONTENT_WIDGET||e.target.detail!==J.ID||o)&&(!this._isHoverSticky||t!==c.b.OVERLAY_WIDGET||e.target.detail!==ee.ID||o)){if(t===c.b.CONTENT_EMPTY){var n=this._editor.getConfiguration().fontInfo.typicalHalfwidthCharacterWidth/2,i=e.target.detail;i&&!i.isAfterLines&&"number"==typeof i.horizontalDistanceToText&&i.horizontalDistanceToText=t._editor.getModel().getLineCount()&&t._futureFixes.cancel()}))),this._disposables.push(P.j(this._domNode,"click",(function(e){t._editor.focus();var o=P.u(t._domNode),n=o.top,i=o.height,r=t._editor.getConfiguration().lineHeight,s=Math.floor(r/3);t._position&&t._position.position.lineNumber0?n.isEmpty()&&e.every((function(e){return e.kind&&O.Refactor.contains(e.kind)}))?t.hide():t._show():t.hide()})).catch((function(e){t.hide()}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{get:function(){return this._domNode.title},set:function(e){this._domNode.title=e},enumerable:!0,configurable:!0}),e.prototype._show=function(){var t=this._editor.getConfiguration();if(t.contribInfo.lightbulbEnabled){var o=this._model.position.lineNumber,n=this._editor.getModel();if(n){var i=n.getOptions().tabSize,r=n.getLineContent(o),s=U.b.computeIndentLevel(r,i),a=o;t.fontInfo.spaceWidth*s>22||(o>1?a-=1:a+=1),this._position={position:{lineNumber:a,column:1},preference:e._posPref},this._editor.layoutContentWidget(this)}}},e.prototype.hide=function(){this._position=null,this._model=null,this._futureFixes.cancel(),this._editor.layoutContentWidget(this)},e._posPref=[H.a.EXACT],e}(),W=(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}I(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),j=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},G=function(e,t){return function(o,n){t(o,n,e)}},z=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},K=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]=i)return null;for(var r=[],s=n;s<=i;s++)r.push(e.getLineContent(s));var a=r.slice(0);return a.sort((function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())})),!0===o&&(a=a.reverse()),{startLineNumber:n,endLineNumber:i,before:r,after:a}}var u=o(8),c=function(){function e(e,t){this.selection=e,this.cursors=t}return e.prototype.getEditOperations=function(e,t){for(var o=function(e,t){t.sort((function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber}));for(var o=t.length-2;o>=0;o--)t[o].lineNumber===t[o+1].lineNumber&&t.splice(o,1);for(var n=[],i=0,a=0,l=t.length,c=1,h=e.getLineCount();c<=h;c++){var d=e.getLineContent(c),g=d.length+1,p=0;if(!(a1&&(o-=1,i=e.getLineMaxColumn(o)),t.addTrackedEditOperation(new s.a(o,i,n,r),null)}},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return new g.a(o.endLineNumber,this.restoreCursorToColumn,o.endLineNumber,this.restoreCursorToColumn)},e}(),y=o(32),v=o(126);function b(e,t){for(var o=0,n=0;n=n.startLineNumber+1&&t<=n.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var S=y.a.getGoodIndentForLine(l,e.getLanguageIdAtPosition(d,1),n.startLineNumber+1,a);if(null!==S){C=u.getLeadingWhitespace(e.getLineContent(n.startLineNumber));if((O=b(S,i))!==(R=b(C,i))){var T=O-R;this.getIndentEditsOfMovingBlock(e,t,n,i,r,T)}}}}else t.addEditOperation(new s.a(n.startLineNumber,1,n.startLineNumber,1),f+"\n")}else{var w;if(d=n.startLineNumber-1,p=e.getLineContent(d),t.addEditOperation(new s.a(d,1,d+1,1),null),t.addEditOperation(new s.a(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),"\n"+p),this.shouldAutoIndent(e,n))if(l.getLineContent=function(t){return t===d?e.getLineContent(n.startLineNumber):e.getLineContent(t)},null!==(w=this.matchEnterRule(e,a,i,n.startLineNumber,n.startLineNumber-2)))0!==w&&this.getIndentEditsOfMovingBlock(e,t,n,i,r,w);else{var k=y.a.getGoodIndentForLine(l,e.getLanguageIdAtPosition(n.startLineNumber,1),d,a);if(null!==k){var O,R,N=u.getLeadingWhitespace(e.getLineContent(n.startLineNumber));if((O=b(k,i))!==(R=b(N,i))){T=O-R;this.getIndentEditsOfMovingBlock(e,t,n,i,r,T)}}}}}this._selectionId=t.trackSelection(n)}},e.prototype.buildIndentConverter=function(e){return{shiftIndent:function(t){for(var o=v.a.shiftIndentCount(t,t.length+1,e),n="",i=0;i=1;){var l=void 0;if(l=a===i&&void 0!==r?r:e.getLineContent(a),u.lastNonWhitespaceIndex(l)>=0)break;a--}if(a<1||n>e.getLineCount())return null;var c=e.getLineMaxColumn(a),h=y.a.getEnterAction(e,new s.a(a,c,a,c));if(h){var d=h.indentation,g=h.enterAction;g.indentAction===C.a.None?d=h.indentation+g.appendText:g.indentAction===C.a.Indent?d=h.indentation+g.appendText:g.indentAction===C.a.IndentOutdent?d=h.indentation:g.indentAction===C.a.Outdent&&(d=t.unshiftIndent(h.indentation)+g.appendText);var p=e.getLineContent(n);if(this.trimLeft(p).indexOf(this.trimLeft(d))>=0){var f=u.getLeadingWhitespace(e.getLineContent(n)),m=u.getLeadingWhitespace(d);return 2&y.a.getIndentMetadata(e,n)&&(m=t.unshiftIndent(m)),b(m,o)-b(f,o)}}return null},e.prototype.trimLeft=function(e){return e.replace(/^\s+/,"")},e.prototype.shouldAutoIndent=function(e,t){if(!this._autoIndent)return!1;if(!e.isCheapToTokenize(t.startLineNumber))return!1;var o=e.getLanguageIdAtPosition(t.startLineNumber,1);return o===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==y.a.getIndentRulesSupport(o)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,o,n,i,r){for(var a=o.startLineNumber;a<=o.endLineNumber;a++){var l=e.getLineContent(a),c=u.getLeadingWhitespace(l),h=E(b(c,n)+r,n,i);h!==c&&(t.addEditOperation(new s.a(a,1,a,c.length+1),h),a===o.endLineNumber&&o.endColumn<=c.length+1&&""===h&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){var o=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(o=o.setEndPosition(o.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&o.startLineNumber0){var s=t.startLineNumber-i;r=new g.a(s,t.startColumn,s,t.startColumn)}else r=new g.a(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);i+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?o=r:n.push(r)})),o&&n.unshift(o),n},t.prototype._getRangesToDelete=function(e){var t=e.getSelections(),o=e.getModel();return t.sort(s.a.compareRangesUsingStarts),t=t.map((function(e){if(e.isEmpty()){if(1===e.startColumn){var t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:o.getLineContent(t).length+1;return new s.a(t,n,e.startLineNumber,1)}return new s.a(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return e}))},t}(G),K=function(e){function t(){return e.call(this,{id:"deleteAllRight",label:n.a("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:h.a.writable,kbOpts:{kbExpr:h.a.textInputFocus,primary:null,mac:{primary:297,secondary:[2068]},weight:100}})||this}return R(t,e),t.prototype._getEndCursorState=function(e,t){for(var o,n=[],i=0,r=t.length;ie.endLineNumber+1?(i.push(e),t):new g.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(i.push(e),t):new g.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)}));i.push(a);for(var l=t.getModel(),u=[],c=[],h=n,d=0,p=0,f=i.length;p=1){var O=!0;""===S&&(O=!1),!O||" "!==S.charAt(S.length-1)&&"\t"!==S.charAt(S.length-1)||(O=!1,S=S.replace(/[\s\uFEFF\xA0]+$/g," "));var R=w.substr(k-1);S+=(O?" ":"")+R,y=O?R.length+1:R.length}else y=0}var N=new s.a(_,1,v,b);if(!N.isEmpty()){var I=void 0;m.isEmpty()?(u.push(r.a.replace(N,S)),I=new g.a(N.startLineNumber-d,S.length-y+1,_-d,S.length-y+1)):m.startLineNumber===m.endLineNumber?(u.push(r.a.replace(N,S)),I=new g.a(m.startLineNumber-d,m.startColumn,m.endLineNumber-d,m.endColumn)):(u.push(r.a.replace(N,S)),I=new g.a(m.startLineNumber-d,m.startColumn,m.startLineNumber-d,S.length-E)),null!==s.a.intersectRanges(N,n)?h=I:c.push(I)}d+=N.endLineNumber-N.startLineNumber}c.unshift(h),t.pushUndoStop(),t.executeEdits(this.id,u,c),t.pushUndoStop()},t}(f.b),X=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:n.a("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:h.a.writable})||this}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelections(),n=t.getModel(),i=[],r=0,a=o.length;r=c){if(u.lineNumber===n.getLineCount())continue;var h=new s.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(h).split("").reverse().join("");i.push(new d.a(new g.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{h=new s.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(h).split("").reverse().join("");i.push(new d.b(h,p,new g.a(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()},t}(f.b),q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelections(),n=t.getModel(),i=[],r=0,a=o.length;r=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},L=function(e,t){return function(o,n){t(o,n,e)}},D=c.a,A=function(e){function t(o){var n=e.call(this)||this;return n._onHint=n._register(new m.a),n.onHint=n._onHint.event,n._onCancel=n._register(new m.a),n.onCancel=n._onCancel.event,n.editor=o,n.enabled=!1,n.triggerCharactersListeners=[],n.throttledDelayer=new p.c((function(){return n.doTrigger()}),t.DELAY),n.active=!1,n._register(n.editor.onDidChangeConfiguration((function(){return n.onEditorConfigurationChange()}))),n._register(n.editor.onDidChangeModel((function(e){return n.onModelChanged()}))),n._register(n.editor.onDidChangeModelLanguage((function(e){return n.onModelChanged()}))),n._register(n.editor.onDidChangeCursorSelection((function(e){return n.onCursorChange(e)}))),n._register(n.editor.onDidChangeModelContent((function(e){return n.onModelContentChange()}))),n._register(d.t.onDidChange(n.onModelChanged,n)),n.onEditorConfigurationChange(),n.onModelChanged(),n}return N(t,e),t.prototype.cancel=function(e){void 0===e&&(e=!1),this.active=!1,this.throttledDelayer.cancel(),e||this._onCancel.fire(void 0),this.provideSignatureHelpRequest&&(this.provideSignatureHelpRequest.cancel(),this.provideSignatureHelpRequest=void 0)},t.prototype.trigger=function(e){if(void 0===e&&(e=t.DELAY),d.t.has(this.editor.getModel()))return this.cancel(!0),this.throttledDelayer.schedule(e)},t.prototype.doTrigger=function(){var e=this;this.provideSignatureHelpRequest&&this.provideSignatureHelpRequest.cancel(),this.provideSignatureHelpRequest=Object(p.i)((function(t){return b(e.editor.getModel(),e.editor.getPosition(),t)})),this.provideSignatureHelpRequest.then((function(t){if(!t||!t.signatures||0===t.signatures.length)return e.cancel(),e._onCancel.fire(void 0),!1;e.active=!0;var o={hints:t};return e._onHint.fire(o),!0})).catch(f.e)},t.prototype.isTriggered=function(){return this.active||this.throttledDelayer.isScheduled()},t.prototype.onModelChanged=function(){var e=this;this.cancel(),this.triggerCharactersListeners=Object(i.d)(this.triggerCharactersListeners);var t=this.editor.getModel();if(t){for(var o=new S.b,n=0,r=d.t.ordered(t);n1;c.N(this.element,"multiple",e),this.keyMultipleSignatures.set(e),this.signature.innerHTML="",this.docs.innerHTML="";var t=this.hints.signatures[this.currentSignature];if(t){var o=c.k(this.signature,D(".code")),r=t.parameters.length>0,s=this.editor.getConfiguration().fontInfo;if(o.style.fontSize=s.fontSize+"px",o.style.fontFamily=s.fontFamily,r)this.renderParameters(o,t,this.hints.activeParameter);else c.k(o,D("span")).textContent=t.label;Object(i.d)(this.renderDisposeables),this.renderDisposeables=[];var a=t.parameters[this.hints.activeParameter];if(a&&a.documentation){var l=D("span.documentation");if("string"==typeof a.documentation)l.textContent=a.documentation;else{var u=this.markdownRenderer.render(a.documentation);c.f(u.element,"markdown-docs"),this.renderDisposeables.push(u),l.appendChild(u.element)}c.k(this.docs,D("p",null,l))}if(c.N(this.signature,"has-docs",!!t.documentation),"string"==typeof t.documentation)c.k(this.docs,D("p",null,t.documentation));else{u=this.markdownRenderer.render(t.documentation);c.f(u.element,"markdown-docs"),this.renderDisposeables.push(u),c.k(this.docs,u.element)}var d=String(this.currentSignature+1);if(this.hints.signatures.length<10&&(d+="/"+this.hints.signatures.length),this.overloads.textContent=d,a){var g=a.label;this.announcedLabel!==g&&(h.a(n.a("hint","{0}, hint",g)),this.announcedLabel=g)}this.editor.layoutContentWidget(this),this.scrollbar.scanDomNode()}},e.prototype.renderParameters=function(e,t,o){for(var n,i=t.label.length,r=0,s=t.parameters.length-1;s>=0;s--){var a=t.parameters[s],l=0,u=0;(r=t.label.lastIndexOf(a.label,i-1))>=0&&(l=r,u=r+a.label.length),(n=document.createElement("span")).textContent=t.label.substring(u,i),c.E(e,n),(n=document.createElement("span")).className="parameter "+(s===o?"active":""),n.textContent=t.label.substring(l,u),c.E(e,n),i=l}(n=document.createElement("span")).textContent=t.label.substring(0,i),c.E(e,n)},e.prototype.next=function(){var e=this.hints.signatures.length,t=this.currentSignature%e==e-1;return e<2||t?(this.cancel(),!1):(this.currentSignature++,this.render(),!0)},e.prototype.previous=function(){var e=this.hints.signatures.length,t=0===this.currentSignature;return e<2||t?(this.cancel(),!1):(this.currentSignature--,this.render(),!0)},e.prototype.cancel=function(){this.model.cancel()},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.trigger=function(){this.model.trigger(0)},e.prototype.updateMaxHeight=function(){var e=Math.max(this.editor.getLayoutInfo().height/4,250);this.element.style.maxHeight=e+"px"},e.prototype.dispose=function(){this.disposables=Object(i.d)(this.disposables),this.renderDisposeables=Object(i.d)(this.renderDisposeables),this.model&&(this.model.dispose(),this.model=null)},e.ID="editor.widget.parameterHintsWidget",e=I([L(1,a.e),L(2,k.a),L(3,O.a)],e)}();Object(T.e)((function(e,t){var o=e.getColor(w.w);if(o){var n=e.type===T.b?2:1;t.addRule(".monaco-editor .parameter-hints-widget { border: "+n+"px solid "+o+"; }"),t.addRule(".monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid "+o.transparent(.5)+"; }"),t.addRule(".monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid "+o.transparent(.5)+"; }")}var i=e.getColor(w.v);i&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+i+"; }");var r=e.getColor(w.qb);r&&t.addRule(".monaco-editor .parameter-hints-widget a { color: "+r+"; }");var s=e.getColor(w.pb);s&&t.addRule(".monaco-editor .parameter-hints-widget code { background-color: "+s+"; }")})),o.d(t,"TriggerParameterHintsAction",(function(){return H}));var x=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),M=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},B=function(e,t){return function(o,n){t(o,n,e)}},F=function(){function e(e,t){this.editor=e,this.widget=t.createInstance(P,this.editor)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.cancel=function(){this.widget.cancel()},e.prototype.previous=function(){this.widget.previous()},e.prototype.next=function(){this.widget.next()},e.prototype.trigger=function(){this.widget.trigger()},e.prototype.dispose=function(){this.widget=Object(i.d)(this.widget)},e.ID="editor.controller.parameterHints",e=M([B(1,r.a)],e)}(),H=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:n.a("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:s.a.hasSignatureHelpProvider,kbOpts:{kbExpr:s.a.editorTextFocus,primary:3082,weight:100}})||this}return x(t,e),t.prototype.run=function(e,t){var o=F.get(t);o&&o.trigger()},t}(l.b);Object(l.h)(F),Object(l.f)(H);var U=l.c.bindToContribution(F.get);Object(l.g)(new U({id:"closeParameterHints",precondition:v.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:9,secondary:[1033]}})),Object(l.g)(new U({id:"showPrevParameterHint",precondition:a.d.and(v.Visible,v.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Object(l.g)(new U({id:"showNextParameterHint",precondition:a.d.and(v.Visible,v.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(25),s=o(10),a=o(22),l=o(2),u=o(5),c=o(3),h=o(61),d=o(86),g=o(106),p=o(32),f=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),m=function(){function e(){}return Object.defineProperty(e.prototype,"range",{get:function(){return new l.a(this.start.lineNumber,this.start.column,this.end.lineNumber,this.end.column)},enumerable:!0,configurable:!0}),e}(),_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),Object.defineProperty(t.prototype,"hasChildren",{get:function(){return this.children&&this.children.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmpty",{get:function(){return!this.hasChildren&&!this.parent},enumerable:!0,configurable:!0}),t.prototype.append=function(e){return!!e&&(e.parent=this,this.children||(this.children=[]),e instanceof t?e.children&&this.children.push.apply(this.children,e.children):this.children.push(e),!0)},t}(m),y=function(e){function t(){var t=e.call(this)||this;return t.elements=new _,t.elements.parent=t,t}return f(t,e),t}(m),v=function(e,t,o){this.range=e,this.bracket=t,this.bracketType=o};function b(e){var t=new m;return t.start=e.range.getStartPosition(),t.end=e.range.getEndPosition(),t}var E=function(e,t,o){this.lineNumber=o,this.lineText=e.getLineContent(),this.startOffset=e.getStartOffset(t),this.endOffset=e.getEndOffset(t),this.type=e.getStandardTokenType(t),this.languageId=e.getLanguageId(t)},C=function(){function e(e){this._model=e,this._lineCount=this._model.getLineCount(),this._versionId=this._model.getVersionId(),this._lineNumber=0,this._tokenIndex=0,this._lineTokens=null,this._advance()}return e.prototype._advance=function(){for(this._lineTokens&&(this._tokenIndex++,this._tokenIndex>=this._lineTokens.getCount()&&(this._lineTokens=null));this._lineNumber0)return this._nextBuff.shift();var e=this._rawTokenScanner.next();if(!e)return null;var t=e.lineNumber,o=e.lineText,n=e.type,i=e.startOffset,r=e.endOffset;this._cachedLanguageId!==e.languageId&&(this._cachedLanguageId=e.languageId,this._cachedLanguageBrackets=p.a.getBracketsSupport(this._cachedLanguageId));var s,a=this._cachedLanguageBrackets;if(!a||Object(d.b)(n))return new v(new l.a(t,i+1,t,r+1),0,null);do{if(s=g.a.findNextBracketInToken(a.forwardRegex,t,o,i,r)){var u=s.startColumn-1,c=s.endColumn-1;i=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},k=function(e,t){return function(o,n){t(o,n,e)}},O=function(){function e(e){this._modelService=e}return e.prototype.getRangesToPosition=function(e,t){return s.b.as(this.getRangesToPositionSync(e,t))},e.prototype.getRangesToPositionSync=function(e,t){var o=this._modelService.getModel(e),n=[];return o&&this._doGetRangesToPosition(o,t).forEach((function(e){n.push({type:void 0,range:e})})),n},e.prototype._doGetRangesToPosition=function(e,t){var o,n;o=function e(t,o){if(t instanceof _&&t.isEmpty)return null;if(!l.a.containsPosition(t.range,o))return null;var n;if(t instanceof _){if(t.hasChildren)for(var i=0,r=t.children.length;i=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},L=function(e,t){return function(o,n){t(o,n,e)}},D=function(e){this.editor=e,this.next=null,this.previous=null,this.selection=e.getSelection()},A=function(){function e(e,t){this.editor=e,this._tokenSelectionSupport=t.createInstance(O),this._state=null,this._ignoreSelection=!1}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(e){var t=this,o=this.editor.getSelection(),n=this.editor.getModel();this._state&&this._state.editor!==this.editor&&(this._state=null);var i=s.b.as(null);return this._state||(i=this._tokenSelectionSupport.getRangesToPosition(n.uri,o.getStartPosition()).then((function(e){if(!r.k(e)){var o;e.filter((function(e){var o=t.editor.getSelection(),n=new l.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);return n.containsPosition(o.getStartPosition())&&n.containsPosition(o.getEndPosition())})).forEach((function(e){var n=e.range,i=new D(t.editor);i.selection=new l.a(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn),o&&(i.next=o,o.previous=i),o=i}));var n=new D(t.editor);n.next=o,o&&(o.previous=n),t._state=n;var i=t.editor.onDidChangeCursorPosition((function(e){t._ignoreSelection||(t._state=null,i.dispose())}))}}))),i.then((function(){if(t._state&&(t._state=e?t._state.next:t._state.previous,t._state)){t._ignoreSelection=!0;try{t.editor.setSelection(t._state.selection)}finally{t._ignoreSelection=!1}}}))},e.ID="editor.contrib.smartSelectController",e=I([L(1,a.a)],e)}(),P=function(e){function t(t,o){var n=e.call(this,o)||this;return n._forward=t,n}return N(t,e),t.prototype.run=function(e,t){var o=A.get(t);if(o)return o.run(this._forward)},t}(c.b),x=function(e){function t(){return e.call(this,!0,{id:"editor.action.smartSelect.grow",label:i.a("smartSelect.grow","Expand Select"),alias:"Expand Select",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:1553,mac:{primary:3345},weight:100},menubarOpts:{menuId:R.b.MenubarSelectionMenu,group:"1_basic",title:i.a({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})||this}return N(t,e),t}(P),M=function(e){function t(){return e.call(this,!1,{id:"editor.action.smartSelect.shrink",label:i.a("smartSelect.shrink","Shrink Select"),alias:"Shrink Select",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:1551,mac:{primary:3343},weight:100},menubarOpts:{menuId:R.b.MenubarSelectionMenu,group:"1_basic",title:i.a({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})||this}return N(t,e),t}(P);Object(c.h)(A),Object(c.f)(x),Object(c.f)(M)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(25),s=o(39),a=o(6),l=o(10),u=o(12),c=o(3),h=o(11),d=o(13),g=o(33),p=o(2),f=o(61),m=o(17),_=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),y=function(e){function t(o){var n=e.call(this)||this;return n.name=t.Name,n.message=o,n}return _(t,e),t.Name="NOPRO",t}(Error);function v(e,t,o){var n=h.i.ordered(e);return 0===n.length?l.b.wrapError(new y):Object(m.j)(n.map((function(n){return function(){return Object(m.h)((function(i){return n.provideDocumentRangeFormattingEdits(e,t,o,i)})).then(void 0,d.f)}})),(function(e){return!Object(r.k)(e)}))}function b(e,t){var o=h.f.ordered(e);return 0===o.length?v(e,e.getFullModelRange(),t):Object(m.j)(o.map((function(o){return function(){return Object(m.h)((function(n){return o.provideDocumentFormattingEdits(e,t,n)})).then(void 0,d.f)}})),(function(e){return!Object(r.k)(e)}))}function E(e,t,o,n){var i=h.q.ordered(e)[0];return i?i.autoFormatTriggerCharacters.indexOf(o)<0?l.b.as(void 0):Object(m.h)((function(r){return i.provideOnTypeFormattingEdits(e,t,o,n,r)})).then((function(e){return e}),d.f):l.b.as(void 0)}Object(c.j)("_executeFormatRangeProvider",(function(e,t){var o=t.resource,n=t.range,i=t.options;if(!(o instanceof g.a&&p.a.isIRange(n)))throw Object(d.b)();var r=e.get(f.a).getModel(o);if(!r)throw Object(d.b)("resource");return v(r,p.a.lift(n),i)})),Object(c.j)("_executeFormatDocumentProvider",(function(e,t){var o=t.resource,n=t.options;if(!(o instanceof g.a))throw Object(d.b)("resource");var i=e.get(f.a).getModel(o);if(!i)throw Object(d.b)("resource");return b(i,n)})),Object(c.e)("_executeFormatOnTypeProvider",(function(e,t,o){var n=o.ch,i=o.options;if("string"!=typeof n)throw Object(d.b)("ch");return E(e,t,n,i)}));var C=o(53),S=function(){function e(){}return e._handleEolEdits=function(e,t){for(var o=void 0,n=[],i=0,r=t;i=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},P=function(e,t){return function(o,n){t(o,n,e)}};function x(e){if((e=e.filter((function(e){return e.range}))).length){for(var t=e[0].range,o=1;o1)){var o=this.editor.getModel(),n=this.editor.getPosition(),i=!1,s=this.editor.onDidChangeModelContent((function(e){if(e.isFlush)return i=!0,void s.dispose();for(var t=0,o=e.changes.length;t1)){var o=this.editor.getModel(),n=o.getOptions(),i=n.tabSize,s=n.insertSpaces,a=new N.a(this.editor,5);v(o,e,{tabSize:i,insertSpaces:s}).then((function(e){return t.workerService.computeMoreMinimalEdits(o.uri,e)})).then((function(e){a.validate(t.editor)&&!Object(r.k)(e)&&(S.execute(t.editor,e),x(e))}))}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.callOnDispose=Object(a.d)(this.callOnDispose),this.callOnModel=Object(a.d)(this.callOnModel)},e.ID="editor.contrib.formatOnPaste",e=A([P(1,k.a)],e)}(),F=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return D(t,e),t.prototype.run=function(e,t){var o=this,n=e.get(k.a),i=e.get(L.a),s=this._getFormattingEdits(t);if(!s)return l.b.as(void 0);var a=new N.a(t,5);return s.then((function(e){return n.computeMoreMinimalEdits(t.getModel().uri,e)})).then((function(e){a.validate(t)&&!Object(r.k)(e)&&(S.execute(t,e),x(e),t.focus())}),(function(e){if(!(e instanceof Error&&e.name===y.Name))throw e;o._notifyNoProviderError(i,t.getModel().getLanguageIdentifier().language)}))},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.provider","There is no formatter for '{0}'-files installed.",t))},t}(c.b),H=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:i.a("formatDocument.label","Format Document"),alias:"Format Document",precondition:I.a.writable,kbOpts:{kbExpr:I.a.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},menuOpts:{when:I.a.hasDocumentFormattingProvider,group:"1_modification",order:1.3}})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=t.getOptions();return b(t,{tabSize:o.tabSize,insertSpaces:o.insertSpaces})},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.documentprovider","There is no document formatter for '{0}'-files installed.",t))},t}(F),U=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:i.a("formatSelection.label","Format Selection"),alias:"Format Code",precondition:u.d.and(I.a.writable,I.a.hasNonEmptySelection),kbOpts:{kbExpr:I.a.editorTextFocus,primary:Object(s.a)(2089,2084),weight:100},menuOpts:{when:u.d.and(I.a.hasDocumentSelectionFormattingProvider,I.a.hasNonEmptySelection),group:"1_modification",order:1.31}})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=t.getOptions(),n=o.tabSize,i=o.insertSpaces;return v(t,e.getSelection(),{tabSize:n,insertSpaces:i})},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.selectionprovider","There is no selection formatter for '{0}'-files installed.",t))},t}(F);Object(c.h)(M),Object(c.h)(B),Object(c.f)(H),Object(c.f)(U),T.a.registerCommand("editor.action.format",(function(e){var t=e.get(w.a).getFocusedCodeEditor();if(t)return(new(function(e){function t(){return e.call(this,{})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=e.getSelection(),n=t.getOptions(),i=n.tabSize,r=n.insertSpaces;return o.isEmpty()?b(t,{tabSize:i,insertSpaces:r}):v(t,o,{tabSize:i,insertSpaces:r})},t}(F))).run(e,t)}))},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(39),s=o(5),a=o(3),l=o(53),u=o(9),c=o(2),h=o(23),d=o(32),g=function(){function e(e){this._selection=e,this._usedEndToken=null}return e._haystackHasNeedleAtOffset=function(e,t,o){if(o<0)return!1;var n=t.length;if(o+n>e.length)return!1;for(var i=0;i=65&&r<=90&&r+32===s||s>=65&&s<=90&&s+32===r))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,o,n,i){var r,s=t.startLineNumber,a=t.startColumn,l=t.endLineNumber,u=t.endColumn,h=n.getLineContent(s),d=n.getLineContent(l),g=o.blockCommentStartToken,p=o.blockCommentEndToken,f=h.lastIndexOf(g,a-1+g.length),m=d.indexOf(p,u-1-p.length);if(-1!==f&&-1!==m)if(s===l){h.substring(f+g.length,m).indexOf(p)>=0&&(f=-1,m=-1)}else{var _=h.substring(f+g.length),y=d.substring(0,m);(_.indexOf(p)>=0||y.indexOf(p)>=0)&&(f=-1,m=-1)}-1!==f&&-1!==m?(f+g.length0&&32===d.charCodeAt(m-1)&&(p=" "+p,m-=1),r=e._createRemoveBlockCommentOperations(new c.a(s,f+g.length+1,l,m+1),g,p)):(r=e._createAddBlockCommentOperations(t,g,p),this._usedEndToken=1===r.length?p:null);for(var v=0;va?r-1:r}},e}(),m=o(38),_=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),y=function(e){function t(t,o){var n=e.call(this,o)||this;return n._type=t,n}return _(t,e),t.prototype.run=function(e,t){var o=t.getModel();if(o){for(var n=[],i=t.getSelections(),r=o.getOptions(),s=0;s{1}",o,i),this._commands[o]=n):r=Object(u.format)("{0}",i),t.push(r)}this._domNode.innerHTML=t.join(" | "),this._editor.layoutContentWidget(this)}else this._domNode.innerHTML="no commands"},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){var t=e.startLineNumber,o=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:o},preference:[d.a.ABOVE]}},e.prototype.getPosition=function(){return this._widgetPosition},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e._idPool=0,e}(),v=function(){function e(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}return e.prototype.addDecoration=function(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)},e.prototype.removeDecoration=function(e){this._removeDecorations.push(e)},e.prototype.commit=function(e){for(var t=e.deltaDecorations(this._removeDecorations,this._addDecorations),o=0,n=t.length;o a:hover { color: "+n+" !important; }")}));var E=o(37),C=o(45),S=o(25),T=o(33),w=o(61),k=o(48);function O(e,t){var o=[],n=l.c.ordered(e),r=n.map((function(n){return Promise.resolve(n.provideCodeLenses(e,t)).then((function(e){if(Array.isArray(e))for(var t=0,i=e;tt.symbol.range.startLineNumber?1:n.indexOf(e.provider)n.indexOf(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0}))}))}Object(a.j)("_executeCodeLensProvider",(function(e,t){var o=t.resource,n=t.itemResolveCount;if(!(o instanceof T.a))throw Object(i.b)();var r=e.get(w.a).getModel(o);if(!r)throw Object(i.b)();var s=[];return O(r,k.a.None).then((function(e){for(var t=[],o=0,i=e;o0&&t.push(Promise.resolve(a.provider.resolveCodeLens(r,a.symbol,k.a.None)).then((function(e){return s.push(e)})))}return Promise.all(t)})).then((function(){return s}))})),o.d(t,"CodeLensContribution",(function(){return I}));var R=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},N=function(e,t){return function(o,n){t(o,n,e)}},I=function(){function e(e,t,o){var n=this;this._editor=e,this._commandService=t,this._notificationService=o,this._isEnabled=this._editor.getConfiguration().contribInfo.codeLens,this._globalToDispose=[],this._localToDispose=[],this._lenses=[],this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter=0,this._globalToDispose.push(this._editor.onDidChangeModel((function(){return n._onModelChange()}))),this._globalToDispose.push(this._editor.onDidChangeModelLanguage((function(){return n._onModelChange()}))),this._globalToDispose.push(this._editor.onDidChangeConfiguration((function(e){var t=n._isEnabled;n._isEnabled=n._editor.getConfiguration().contribInfo.codeLens,t!==n._isEnabled&&n._onModelChange()}))),this._globalToDispose.push(l.c.onDidChange(this._onModelChange,this)),this._onModelChange()}return e.prototype.dispose=function(){this._localDispose(),this._globalToDispose=Object(r.d)(this._globalToDispose)},e.prototype._localDispose=function(){this._currentFindCodeLensSymbolsPromise&&(this._currentFindCodeLensSymbolsPromise.cancel(),this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter++),this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=null),this._localToDispose=Object(r.d)(this._localToDispose)},e.prototype.getId=function(){return e.ID},e.prototype._onModelChange=function(){var e=this;this._localDispose();var t=this._editor.getModel();if(t&&this._isEnabled&&l.c.has(t)){for(var o=0,a=l.c.all(t);o0&&e._detectVisibleLenses.schedule()}))),this._localToDispose.push(this._editor.onDidLayoutChange((function(t){e._detectVisibleLenses.schedule()}))),this._localToDispose.push(Object(r.f)((function(){if(e._editor.getModel()){var t=s.b.capture(e._editor);e._editor.changeDecorations((function(t){e._editor.changeViewZones((function(o){e._disposeAllLenses(t,o)}))})),t.restore(e._editor)}else e._disposeAllLenses(null,null)}))),h.schedule()}},e.prototype._disposeAllLenses=function(e,t){var o=new v;this._lenses.forEach((function(e){return e.dispose(o,t)})),e&&o.commit(e),this._lenses=[]},e.prototype._renderCodeLensSymbols=function(e){var t=this;if(this._editor.getModel()){for(var o,n=this._editor.getModel().getLineCount(),i=[],r=0,a=e;rn||(o&&o[o.length-1].symbol.range.startLineNumber===u?o.push(l):(o=[l],i.push(o)))}var c=s.b.capture(this._editor);this._editor.changeDecorations((function(e){t._editor.changeViewZones((function(o){for(var n=0,r=0,s=new v;r0&&0===o.indexOf(":")){var f=null,m=null,_=0;for(c=0;c0)):_++}m&&m.setGroupLabel(this.typeToLabel(f,_))}else a.length>0&&a[0].setGroupLabel(n.a("symbols","symbols ({0})",a.length));return a},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return n.a("modules","modules ({0})",t);case"class":return n.a("class","classes ({0})",t);case"interface":return n.a("interface","interfaces ({0})",t);case"method":return n.a("method","methods ({0})",t);case"function":return n.a("function","functions ({0})",t);case"property":return n.a("property","properties ({0})",t);case"variable":return n.a("variable","variables ({0})",t);case"var":return n.a("variable2","variables ({0})",t);case"constructor":return n.a("_constructor","constructors ({0})",t);case"call":return n.a("call","calls ({0})",t)}return e},t.prototype.sortNormal=function(e,t,o){var n=t.getLabel().toLowerCase(),i=o.getLabel().toLowerCase(),r=n.localeCompare(i);if(0!==r)return r;var s=t.getRange(),a=o.getRange();return s.startLineNumber-a.startLineNumber},t.prototype.sortScoped=function(e,t,o){e=e.substr(":".length);var n=t.getType(),i=o.getType(),r=n.localeCompare(i);if(0!==r)return r;if(e){var s=t.getLabel().toLowerCase(),a=o.getLabel().toLowerCase(),l=s.localeCompare(a);if(0!==l)return l}var u=t.getRange(),c=o.getRange();return u.startLineNumber-c.startLineNumber},t}(c.a);Object(f.f)(S)},function(e,t,o){"use strict";o.r(t);o(483);var n=o(0),i=o(13),r=o(15),s=o(82),a=o(3),l=o(11),u=o(16),c=o(33),h=o(10),d=o(2),g=o(17),p=o(37),f=o(61),m=o(48),_=function(){function e(e,t){this._link=e,this._provider=t}return e.prototype.toJSON=function(){return{range:this.range,url:this.url}},Object.defineProperty(e.prototype,"range",{get:function(){return this._link.range},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._link.url},enumerable:!0,configurable:!0}),e.prototype.resolve=function(){var e=this;if(this._link.url)try{return h.b.as(c.a.parse(this._link.url))}catch(e){return h.b.wrapError(new Error("invalid"))}return"function"==typeof this._provider.resolveLink?Object(g.h)((function(t){return e._provider.resolveLink(e._link,t)})).then((function(t){return e._link=t||e._link,e._link.url?e.resolve():h.b.wrapError(new Error("missing"))})):h.b.wrapError(new Error("missing"))},e}();function y(e,t){var o=[],n=l.p.ordered(e).reverse().map((function(n){return Promise.resolve(n.provideLinks(e,t)).then((function(e){if(Array.isArray(e)){var t=e.map((function(e){return new _(e,n)}));o=function(e,t){var o,n,i,r,s=[];for(o=0,i=0,n=e.length,r=t.length;o=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},I=function(e,t){return function(o,n){t(o,n,e)}},L=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},D=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},_=function(e,t){return function(o,n){t(o,n,e)}},y=function(){function e(e,t){var o=this;this.themeService=t,this._disposables=[],this.allowEditorOverflow=!0,this._currentAcceptInput=null,this._currentCancelInput=null,this._editor=e,this._editor.addContentWidget(this),this._disposables.push(e.onDidChangeConfiguration((function(e){e.fontInfo&&o.updateFont()}))),this._disposables.push(t.onThemeChange((function(e){return o.onThemeChange(e)})))}return e.prototype.onThemeChange=function(e){this.updateStyles(e)},e.prototype.dispose=function(){this._disposables=Object(c.d)(this._disposables),this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"__renameInputWidget"},e.prototype.getDomNode=function(){return this._domNode||(this._inputField=document.createElement("input"),this._inputField.className="rename-input",this._inputField.type="text",this._inputField.setAttribute("aria-label",Object(n.a)("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode=document.createElement("div"),this._domNode.style.height=this._editor.getConfiguration().lineHeight+"px",this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputField),this.updateFont(),this.updateStyles(this.themeService.getTheme())),this._domNode},e.prototype.updateStyles=function(e){if(this._inputField){var t=e.getColor(p.K),o=e.getColor(p.M),n=e.getColor(p.rb),i=e.getColor(p.L);this._inputField.style.backgroundColor=t?t.toString():null,this._inputField.style.color=o?o.toString():null,this._inputField.style.borderWidth=i?"1px":"0px",this._inputField.style.borderStyle=i?"solid":"none",this._inputField.style.borderColor=i?i.toString():"none",this._domNode.style.boxShadow=n?" 0 2px 8px "+n:null}},e.prototype.updateFont=function(){if(this._inputField){var e=this._editor.getConfiguration().fontInfo;this._inputField.style.fontFamily=e.fontFamily,this._inputField.style.fontWeight=e.fontWeight,this._inputField.style.fontSize=e.fontSize+"px"}},e.prototype.getPosition=function(){return this._visible?{position:this._position,preference:[d.a.BELOW,d.a.ABOVE]}:null},e.prototype.acceptInput=function(){this._currentAcceptInput&&this._currentAcceptInput()},e.prototype.cancelInput=function(e){this._currentCancelInput&&this._currentCancelInput(e)},e.prototype.getInput=function(e,t,o,n){var i=this;this._position=new f.a(e.startLineNumber,e.startColumn),this._inputField.value=t,this._inputField.setAttribute("selectionStart",o.toString()),this._inputField.setAttribute("selectionEnd",n.toString()),this._inputField.size=Math.max(1.1*(e.endColumn-e.startColumn),20);var s,a=[];return s=function(){Object(c.d)(a),i._hide()},new r.b((function(o){i._currentCancelInput=function(e){return i._currentAcceptInput=null,i._currentCancelInput=null,o(e),!0},i._currentAcceptInput=function(){0!==i._inputField.value.trim().length&&i._inputField.value!==t?(i._currentAcceptInput=null,i._currentCancelInput=null,o(i._inputField.value)):i.cancelInput(!0)};a.push(i._editor.onDidChangeCursorSelection((function(){h.a.containsPosition(e,i._editor.getPosition())||i.cancelInput(!0)}))),a.push(i._editor.onDidBlurEditorWidget((function(){return i.cancelInput(!1)}))),i._show()}),(function(){i._currentCancelInput(!0)})).then((function(e){return s(),e}),(function(e){return s(),r.b.wrapError(e)}))},e.prototype._show=function(){var e=this;this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._editor.layoutContentWidget(this),setTimeout((function(){e._inputField.focus(),e._inputField.setSelectionRange(parseInt(e._inputField.getAttribute("selectionStart")),parseInt(e._inputField.getAttribute("selectionEnd")))}),100)},e.prototype._hide=function(){this._visible=!1,this._editor.layoutContentWidget(this)},e=m([_(1,g.c)],e)}(),v=o(17),b=o(11),E=o(59),C=o(142),S=o(90),T=o(45),w=o(156),k=o(33),O=o(36);o.d(t,"rename",(function(){return x})),o.d(t,"RenameAction",(function(){return F}));var R,N=(R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}R(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),I=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},L=function(e,t){return function(o,n){t(o,n,e)}},D=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},A=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]0},e.prototype.resolveRenameLocation=function(){return D(this,void 0,void 0,(function(){var e,t,o,n=this;return A(this,(function(i){switch(i.label){case 0:return(e=this._provider[0]).resolveRenameLocation?[4,Object(v.h)((function(t){return e.resolveRenameLocation(n.model,n.position,t)}))]:[3,2];case 1:t=i.sent(),i.label=2;case 2:return t||(o=this.model.getWordAtPosition(this.position))&&(t={range:new h.a(this.position.lineNumber,o.startColumn,this.position.lineNumber,o.endColumn),text:o.word}),[2,t]}}))}))},e.prototype.provideRenameEdits=function(e,t,o,i){return void 0===t&&(t=0),void 0===o&&(o=[]),void 0===i&&(i=this.position),D(this,void 0,void 0,(function(){var i,r,s=this;return A(this,(function(a){switch(a.label){case 0:return t>=this._provider.length?[2,{edits:void 0,rejectReason:o.join("\n")}]:(i=this._provider[t],[4,Object(v.h)((function(t){return i.provideRenameEdits(s.model,s.position,e,t)}))]);case 1:return(r=a.sent())?r.rejectReason?[2,this.provideRenameEdits(e,t+1,o.concat(r.rejectReason))]:[2,r]:[2,this.provideRenameEdits(e,t+1,o.concat(n.a("no result","No result.")))]}}))}))},e}();function x(e,t,o){return D(this,void 0,void 0,(function(){return A(this,(function(n){return[2,new P(e,t).provideRenameEdits(o)]}))}))}var M=new s.f("renameInputVisible",!1),B=function(){function e(e,t,o,n,i,r){this.editor=e,this._notificationService=t,this._bulkEditService=o,this._progressService=n,this._renameInputField=new y(e,r),this._renameInputVisible=M.bindTo(i)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._renameInputField.dispose()},e.prototype.getId=function(){return e.ID},e.prototype.run=function(){return D(this,void 0,void 0,(function(){var e,t,o,i,s,a,l,u=this;return A(this,(function(c){switch(c.label){case 0:if(e=this.editor.getPosition(),!(t=new P(this.editor.getModel(),e)).hasProvider())return[2,void 0];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,t.resolveRenameLocation()];case 2:return o=c.sent(),[3,4];case 3:return i=c.sent(),C.a.get(this.editor).showMessage(i,e),[2,void 0];case 4:return o?(s=this.editor.getSelection(),a=0,l=o.text.length,h.a.isEmpty(s)||h.a.spansMultipleLines(s)||!h.a.containsRange(o.range,s)||(a=Math.max(0,s.startColumn-o.range.startColumn),l=Math.min(o.range.endColumn,s.endColumn)-o.range.startColumn),this._renameInputVisible.set(!0),[2,this._renameInputField.getInput(o.range,o.text,a,l).then((function(e){if(u._renameInputVisible.reset(),"boolean"!=typeof e){u.editor.focus();var i=new S.a(u.editor,15),s=r.b.wrap(t.provideRenameEdits(e,0,[],h.a.lift(o.range).getStartPosition()).then((function(t){if(!t.rejectReason)return u._bulkEditService.apply(t,{editor:u.editor}).then((function(t){t.ariaSummary&&Object(E.a)(n.a("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,e,t.ariaSummary))}));i.validate(u.editor)?C.a.get(u.editor).showMessage(t.rejectReason,u.editor.getPosition()):u._notificationService.info(t.rejectReason)}),(function(e){return u._notificationService.error(n.a("rename.failed","Rename failed to execute.")),r.b.wrapError(e)})));return u._progressService.showWhile(s,250),s}e&&u.editor.focus()}),(function(e){return u._renameInputVisible.reset(),r.b.wrapError(e)}))]):[2,void 0]}}))}))},e.prototype.acceptRenameInput=function(){this._renameInputField.acceptInput()},e.prototype.cancelRenameInput=function(){this._renameInputField.cancelInput(!0)},e.ID="editor.contrib.renameController",e=I([L(1,T.a),L(2,w.a),L(3,a.a),L(4,s.e),L(5,g.c)],e)}(),F=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:n.a("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:s.d.and(u.a.writable,u.a.hasRenameProvider),kbOpts:{kbExpr:u.a.editorTextFocus,primary:60,weight:100},menuOpts:{group:"1_modification",order:1.1}})||this}return N(t,e),t.prototype.runCommand=function(t,o){var n=this,r=t.get(O.a),s=o||[void 0,void 0],a=s[0],l=s[1];return k.a.isUri(a)&&f.a.isIPosition(l)?r.openCodeEditor({resource:a},r.getActiveCodeEditor()).then((function(e){e.setPosition(l),e.invokeWithinContext((function(t){return n.reportTelemetry(t,e),n.run(t,e)}))}),i.e):e.prototype.runCommand.call(this,t,o)},t.prototype.run=function(e,t){var o=B.get(t);if(o)return r.b.wrap(o.run())},t}(l.b);Object(l.h)(B),Object(l.f)(F);var H=l.c.bindToContribution(B.get);Object(l.g)(new H({id:"acceptRenameInput",precondition:M,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:3}})),Object(l.g)(new H({id:"cancelRenameInput",precondition:M,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(l.e)("_executeDocumentRenameProvider",(function(e,t,o){var n=o.newName;if("string"!=typeof n)throw Object(i.b)("newName");return x(e,t,n)}))},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(4),s=o(6),a=o(12),l=o(46),u=o(2),c=o(3),h=o(19),d=o(5),g=(o(474),o(1)),p=o(209),f=o(7),m=o(14),_=o(30),y=o(81),v=o(42),b=o(165),E=o(25),C=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),S=function(){function e(e,t,o){var n=this;this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var i=document.createElement("div");i.className="descriptioncontainer",i.setAttribute("aria-live","assertive"),i.setAttribute("role","alert"),this._messageBlock=document.createElement("div"),i.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),i.appendChild(this._relatedBlock),this._disposables.push(g.j(this._relatedBlock,"click",(function(e){e.preventDefault();var t=n._relatedDiagnostics.get(e.target);t&&o(t)}))),this._scrollable=new y.b(i,{horizontal:v.b.Auto,vertical:v.b.Auto,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),g.f(this._scrollable.getDomNode(),"block"),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll((function(e){i.style.left="-"+e.scrollLeft+"px",i.style.top="-"+e.scrollTop+"px"}))),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){Object(s.d)(this._disposables)},e.prototype.update=function(e){var t=e.source,o=e.message,n=e.relatedInformation;if(t){this._lines=0,this._longestLineLength=0;for(var i=new Array(t.length+3+1).join(" "),r=o.split(/\r\n|\r|\n/g),s=0;s=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},B=function(e,t){return function(o,n){t(o,n,e)}},F=function(){function e(e,t){var o=this;this._editor=e,this._markers=null,this._nextIdx=-1,this._toUnbind=[],this._ignoreSelectionChange=!1,this._onCurrentMarkerChanged=new r.a,this._onMarkerSetChanged=new r.a,this.setMarkers(t),this._toUnbind.push(this._editor.onDidDispose((function(){return o.dispose()}))),this._toUnbind.push(this._editor.onDidChangeCursorPosition((function(){o._ignoreSelectionChange||o.currentMarker&&u.a.containsPosition(o.currentMarker,o._editor.getPosition())||(o._nextIdx=-1)})))}return Object.defineProperty(e.prototype,"onCurrentMarkerChanged",{get:function(){return this._onCurrentMarkerChanged.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMarkerSetChanged",{get:function(){return this._onMarkerSetChanged.event},enumerable:!0,configurable:!0}),e.prototype.setMarkers=function(e){var t=this._nextIdx>=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(U.compareMarker),this._nextIdx=t?Math.max(-1,Object(E.b)(this._markers,t,U.compareMarker)):-1,this._onMarkerSetChanged.fire(this)},e.prototype.withoutWatchingEditorPosition=function(e){this._ignoreSelectionChange=!0;try{e()}finally{this._ignoreSelectionChange=!1}},e.prototype._initIdx=function(e){for(var t=!1,o=this._editor.getPosition(),n=0;n0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:n=!0),o!==this._nextIdx){var i=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(i)}return n},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,o=this._markers;tthis.selection.endLineNumber?this.targetSelection=new u.a(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},b=function(e,t){return function(o,n){t(o,n,e)}},E=function(){function e(e,t){this.decorationIds=[],this.editor=e,this.editorWorkerService=t}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(t,o){var n=this;this.currentRequest&&this.currentRequest.cancel();var i=this.editor.getSelection(),r=this.editor.getModel().uri;if(i.startLineNumber!==i.endLineNumber)return null;var l=new d.a(this.editor,5);return this.editorWorkerService.canNavigateValueSet(r)?(this.currentRequest=Object(m.i)((function(e){return n.editorWorkerService.navigateValueSet(r,i,o)})),this.currentRequest.then((function(o){if(o&&o.range&&o.value&&l.validate(n.editor)){var r=s.a.lift(o.range),u=o.range,c=o.value.length-(i.endColumn-i.startColumn);u={startLineNumber:u.startLineNumber,startColumn:u.startColumn,endLineNumber:u.endLineNumber,endColumn:u.startColumn+o.value.length},c>1&&(i=new a.a(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn+c-1));var d=new h(r,i,o.value);n.editor.pushUndoStop(),n.editor.executeCommand(t,d),n.editor.pushUndoStop(),n.decorationIds=n.editor.deltaDecorations(n.decorationIds,[{range:u,options:e.DECORATION}]),n.decorationRemover&&n.decorationRemover.cancel(),n.decorationRemover=Object(m.m)(350),n.decorationRemover.then((function(){return n.decorationIds=n.editor.deltaDecorations(n.decorationIds,[])})).catch(_.e)}})).catch(_.e)):void 0},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=f.a.register({className:"valueSetReplacement"}),e=v([b(1,c.a)],e)}(),C=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:i.a("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:l.a.writable,kbOpts:{kbExpr:l.a.editorTextFocus,primary:3154,weight:100}})||this}return y(t,e),t.prototype.run=function(e,t){var o=E.get(t);if(o)return r.b.wrap(o.run(this.id,!0))},t}(u.b),S=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.down",label:i.a("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:l.a.writable,kbOpts:{kbExpr:l.a.editorTextFocus,primary:3156,weight:100}})||this}return y(t,e),t.prototype.run=function(e,t){var o=E.get(t);if(o)return r.b.wrap(o.run(this.id,!1))},t}(u.b);Object(u.h)(E),Object(u.f)(C),Object(u.f)(S),Object(g.e)((function(e,t){var o=e.getColor(p.d);o&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+o+"; }")}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var n=o(76),i=o(31),r=o(2),s=o(6),a=o(4),l={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},u=function(){function e(e,t){void 0===t&&(t={});var o=this;this._onDidUpdate=new a.a,this._editor=e,this._options=i.g(t,l,!1),this.disposed=!1,this._disposables=[],this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=this._options.alwaysRevealFirst,this._disposables.push(this._editor.onDidDispose((function(){return o.dispose()}))),this._disposables.push(this._editor.onDidUpdateDiff((function(){return o._onDiffUpdated()}))),this._options.followsCaret&&this._disposables.push(this._editor.getModifiedEditor().onDidChangeCursorPosition((function(e){o.ignoreSelectionChange||(o.nextIdx=-1)}))),this._options.alwaysRevealFirst&&this._disposables.push(this._editor.getModifiedEditor().onDidChangeModel((function(e){o.revealFirst=!0}))),this._init()}return e.prototype._init=function(){this._editor.getLineChanges()},e.prototype._onDiffUpdated=function(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&null!==this._editor.getLineChanges()&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))},e.prototype._compute=function(e){var t=this;this.ranges=[],e&&e.forEach((function(e){!t._options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach((function(e){t.ranges.push({rhs:!0,range:new r.a(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})})):t.ranges.push({rhs:!0,range:new r.a(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber,1)})})),this.ranges.sort((function(e,t){return e.range.getStartPosition().isBeforeOrEqual(t.range.getStartPosition())?-1:t.range.getStartPosition().isBeforeOrEqual(e.range.getStartPosition())?1:0})),this._onDidUpdate.fire(this)},e.prototype._initIdx=function(e){for(var t=!1,o=this._editor.getPosition(),n=0,i=this.ranges.length;n=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var o=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var i=o.range.getStartPosition();this._editor.setPosition(i),this._editor.revealPositionInCenter(i,t)}finally{this.ignoreSelectionChange=!1}}},e.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},e.prototype.next=function(e){void 0===e&&(e=0),this._move(!0,e)},e.prototype.previous=function(e){void 0===e&&(e=0),this._move(!1,e)},e.prototype.dispose=function(){Object(s.d)(this._disposables),this._disposables.length=0,this._onDidUpdate.dispose(),this.ranges=null,this.disposed=!0},e}()},function(e,t,o){"use strict";o(493);var n,i=o(0),r=o(17),s=o(6),a=o(31),l=o(1),u=o(28),c=o(93),h=o(22),d=o(12),g=o(36),p=o(2),f=o(52),m=o(91),_=o(123),y=o(68),v=o(140),b=o(70),E=o(54),C=o(117),S=o(4),T=o(27),w=o(19),k=o(7),O=o(145),R=o(26),N=(o(494),o(87)),I=o(9),L=o(81),D=o(30),A=o(74),P=o(78),x=o(3),M=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),B=function(){function e(e,t,o,n){this.originalLineStart=e,this.originalLineEnd=t,this.modifiedLineStart=o,this.modifiedLineEnd=n}return e.prototype.getType=function(){return 0===this.originalLineStart?1:0===this.modifiedLineStart?2:0},e}(),F=function(e){this.entries=e},H=function(e){function t(t){var o=e.call(this)||this;return o._width=0,o._diffEditor=t,o._isVisible=!1,o.shadow=Object(u.b)(document.createElement("div")),o.shadow.setClassName("diff-review-shadow"),o.actionBarContainer=Object(u.b)(document.createElement("div")),o.actionBarContainer.setClassName("diff-review-actions"),o._actionBar=o._register(new A.a(o.actionBarContainer.domNode)),o._actionBar.push(new P.a("diffreview.close",i.a("label.close","Close"),"close-diff-review",!0,(function(){return o.hide(),null})),{label:!1,icon:!0}),o.domNode=Object(u.b)(document.createElement("div")),o.domNode.setClassName("diff-review monaco-editor-background"),o._content=Object(u.b)(document.createElement("div")),o._content.setClassName("diff-review-content"),o.scrollbar=o._register(new L.a(o._content.domNode,{})),o.domNode.domNode.appendChild(o.scrollbar.getDomNode()),o._register(t.onDidUpdateDiff((function(){o._isVisible&&(o._diffs=o._compute(),o._render())}))),o._register(t.getModifiedEditor().onDidChangeCursorPosition((function(){o._isVisible&&o._render()}))),o._register(t.getOriginalEditor().onDidFocusEditorWidget((function(){o._isVisible&&o.hide()}))),o._register(t.getModifiedEditor().onDidFocusEditorWidget((function(){o._isVisible&&o.hide()}))),o._register(l.j(o.domNode.domNode,"click",(function(e){e.preventDefault();var t=l.p(e.target,"diff-review-row");t&&o._goToRow(t)}))),o._register(l.j(o.domNode.domNode,"keydown",(function(e){(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),o._goToRow(o._getNextRow())),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),o._goToRow(o._getPrevRow())),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),o.hide()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),o.accept())}))),o._diffs=[],o._currentDiff=null,o}return M(t,e),t.prototype.prev=function(){var e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){for(var t=-1,o=0,n=this._diffs.length;o0){var y=e[r-1];m=0===y.originalEndLineNumber?y.originalStartLineNumber+1:y.originalEndLineNumber+1,_=0===y.modifiedEndLineNumber?y.modifiedStartLineNumber+1:y.modifiedEndLineNumber+1}var v=p-3+1,b=f-3+1;if(vS)O+=k=S-O,R+=k;if(R>T)O+=k=T-R,R+=k;d[g++]=new B(E,O,C,R),n[i++]=new F(d)}var N=n[0].entries,I=[],L=0;for(r=1,s=n.length;rp)&&(p=E),0!==C&&(0===f||Cm)&&(m=S)}var T=document.createElement("div");T.className="diff-review-row";var w=document.createElement("div");w.className="diff-review-cell diff-review-summary";var k=p-g+1,O=m-f+1;w.appendChild(document.createTextNode(c+1+"/"+this._diffs.length+": @@ -"+g+","+k+" +"+f+","+O+" @@")),T.setAttribute("data-line",String(f));var R=function(e){return 0===e?i.a("no_lines","no lines"):1===e?i.a("one_line","1 line"):i.a("more_lines","{0} lines",e)},N=R(k),I=R(O);T.setAttribute("aria-label",i.a({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines", "1 line" or "X lines", localized separately.']},"Difference {0} of {1}: original {2}, {3}, modified {4}, {5}",c+1,this._diffs.length,g,N,f,I)),T.appendChild(w),T.setAttribute("role","listitem"),d.appendChild(T);var L=f;for(_=0,y=h.length;_=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},X=function(e,t){return function(o,n){t(o,n,e)}},q=function(){function e(){this._zones=[],this._zonesMap={},this._decorations=[]}return e.prototype.getForeignViewZones=function(e){var t=this;return e.filter((function(e){return!t._zonesMap[String(e.id)]}))},e.prototype.clean=function(e){var t=this;this._zones.length>0&&e.changeViewZones((function(e){for(var o=0,n=t._zones.length;o0?i/o:0;return{height:Math.max(0,Math.floor(e.contentHeight*r)),top:Math.floor(t*r)}},t.prototype._createDataSource=function(){var e=this;return{getWidth:function(){return e._width},getHeight:function(){return e._height-e._reviewHeight},getContainerDomNode:function(){return e._containerDomElement},relayoutEditors:function(){e._doLayout()},getOriginalEditor:function(){return e.originalEditor},getModifiedEditor:function(){return e.modifiedEditor}}},t.prototype._setStrategy=function(e){this._strategy&&this._strategy.dispose(),this._strategy=e,e.applyColors(this._themeService.getTheme()),this._lineChanges&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){if(0===this._lineChanges.length||e=s?o=i+1:(o=i,n=i)}return this._lineChanges[o]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,(function(e){return e.originalStartLineNumber}));if(!t)return e;var o=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),n=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-o;return s<=i?n+Math.min(s,r):n+r-i+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,(function(e){return e.modifiedStartLineNumber}));if(!t)return e;var o=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),n=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=r?o+Math.min(s,i):o+i-r+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=Y([X(2,m.a),X(3,d.e),X(4,h.a),X(5,g.a),X(6,w.c),X(7,G.a)],t)}(s.a),Z=function(e){function t(t){var o=e.call(this)||this;return o._dataSource=t,o}return K(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(k.i)||k.f).transparent(2),o=(e.getColor(k.k)||k.g).transparent(2),n=!t.equals(this._insertColor)||!o.equals(this._removeColor);return this._insertColor=t,this._removeColor=o,n},t.prototype.getEditorsDiffDecorations=function(e,t,o,n,i,r,s){i=i.sort((function(e,t){return e.afterLineNumber-t.afterLineNumber})),n=n.sort((function(e,t){return e.afterLineNumber-t.afterLineNumber}));var a=this._getViewZones(e,n,i,r,s,o),l=this._getOriginalEditorDecorations(e,t,o,r,s),u=this._getModifiedEditorDecorations(e,t,o,r,s);return{original:{decorations:l.decorations,overviewZones:l.overviewZones,zones:a.original},modified:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.modified}}},t}(s.a),Q=function(){function e(e){this._source=e,this._index=-1,this.advance()}return e.prototype.advance=function(){this._index++,this._index0){var o=e[e.length-1];if(o.afterLineNumber===t.afterLineNumber&&null===o.domNode)return void(o.heightInLines+=t.heightInLines)}e.push(t)},u=new Q(this.modifiedForeignVZ),c=new Q(this.originalForeignVZ),h=0,d=this.lineChanges.length;h<=d;h++){var g=h0?-1:0),i=g.modifiedStartLineNumber+(g.modifiedEndLineNumber>0?-1:0),o=g.originalEndLineNumber>0?g.originalEndLineNumber-g.originalStartLineNumber+1:0,t=g.modifiedEndLineNumber>0?g.modifiedEndLineNumber-g.modifiedStartLineNumber+1:0,r=Math.max(g.originalStartLineNumber,g.originalEndLineNumber),s=Math.max(g.modifiedStartLineNumber,g.modifiedEndLineNumber)):(r=n+=1e7+o,s=i+=1e7+t);for(var p,f=[],m=[];u.current&&u.current.afterLineNumber<=s;){var _=void 0;_=u.current.afterLineNumber<=i?n-i+u.current.afterLineNumber:r,f.push({afterLineNumber:_,heightInLines:u.current.heightInLines,domNode:null}),u.advance()}for(;c.current&&c.current.afterLineNumber<=r;){_=void 0;_=c.current.afterLineNumber<=n?i-n+c.current.afterLineNumber:s,m.push({afterLineNumber:_,heightInLines:c.current.heightInLines,domNode:null}),c.advance()}if(null!==g&&ae(g))(p=this._produceOriginalFromDiff(g,o,t))&&f.push(p);if(null!==g&&le(g))(p=this._produceModifiedFromDiff(g,o,t))&&m.push(p);var y=0,v=0;for(f=f.sort(a),m=m.sort(a);y=E.heightInLines?(b.heightInLines-=E.heightInLines,v++):(E.heightInLines-=b.heightInLines,y++)}for(;y2*t.MINIMUM_EDITOR_WIDTH?(no-t.MINIMUM_EDITOR_WIDTH&&(n=o-t.MINIMUM_EDITOR_WIDTH)):n=i,this._sashPosition!==n&&(this._sashPosition=n,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-J.ENTIRE_DIFF_OVERVIEW_WIDTH,o=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=o/t,this._dataSource.relayoutEditors()},t.prototype.onSashDragEnd=function(){this._sash.layout()},t.prototype.onSashReset=function(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()},t.prototype.getVerticalSashTop=function(e){return 0},t.prototype.getVerticalSashLeft=function(e){return this._sashPosition},t.prototype.getVerticalSashHeight=function(e){return this._dataSource.getHeight()},t.prototype._getViewZones=function(e,t,o,n,i){return new ie(e,t,o).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,o,n,i){for(var r=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=n.getModel(),l=0,u=e.length;lt?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:o-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,o){return t>o?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-o,domNode:null}:null},t}(ee),re=function(e){function t(t,o){var n=e.call(this,t)||this;return n.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,n._register(t.getOriginalEditor().onDidLayoutChange((function(e){n.decorationsLeft!==e.decorationsLeft&&(n.decorationsLeft=e.decorationsLeft,t.relayoutEditors())}))),n}return K(t,e),t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,o,n,i,r){return new se(e,t,o,n,i,r).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,o,n,i){for(var r=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=0,l=e.length;a'])}d+=this.modifiedEditorConfiguration.viewInfo.scrollBeyondLastColumn;var m=document.createElement("div");m.className="view-lines line-delete",m.innerHTML=a.build(),b.a.applyFontInfoSlow(m,this.modifiedEditorConfiguration.fontInfo);var _=document.createElement("div");return _.className="inline-deleted-margin-view-zone",_.innerHTML=l.join(""),b.a.applyFontInfoSlow(_,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:d*h,domNode:m,marginDomNode:_}},t.prototype._renderOriginalLine=function(e,t,o,n,i,r,s){var a=t.getLineTokens(i),l=a.getLineContent(),u=_.a.filter(r,i,1,l.length+1);s.appendASCIIString('
    ');var c=E.d.isBasicASCII(l,t.mightContainNonBasicASCII()),h=E.d.containsRTL(l,c,t.mightContainRTL()),d=Object(y.c)(new y.b(o.fontInfo.isMonospace&&!o.viewInfo.disableMonospaceOptimizations,l,!1,c,h,0,a,u,n,o.fontInfo.spaceWidth,o.viewInfo.stopRenderingLineAfter,o.viewInfo.renderWhitespace,o.viewInfo.renderControlCharacters,o.viewInfo.fontLigatures),s);s.appendASCIIString("
    ");var g=d.characterMapping.getAbsoluteOffsets();return g.length>0?g[g.length-1]:0},t}(ee);function ae(e){return e.modifiedEndLineNumber>0}function le(e){return e.originalEndLineNumber>0}Object(w.e)((function(e,t){var o=e.getColor(k.i);o&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+o+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+o+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+o+"; }"));var n=e.getColor(k.k);n&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(k.j);i&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+i+"; }");var r=e.getColor(k.l);r&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+r+"; }");var s=e.getColor(k.lb);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }");var a=e.getColor(k.h);a&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid "+a+"; }")}))},function(e,t){var o={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==o.call(e)}},function(e,t,o){e.exports=o(331)},function(e,t,o){"use strict";(function(t,n){var i=o(180);e.exports=v;var r,s=o(267);v.ReadableState=y;o(214).EventEmitter;var a=function(e,t){return e.listeners(t).length},l=o(270),u=o(181).Buffer,c=t.Uint8Array||function(){};var h=o(167);h.inherits=o(147);var d=o(332),g=void 0;g=d&&d.debuglog?d.debuglog("stream"):function(){};var p,f=o(333),m=o(271);h.inherits(v,l);var _=["error","close","destroy","pause","resume"];function y(e,t){e=e||{};var n=t instanceof(r=r||o(136));this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=o(272).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function v(e){if(r=r||o(136),!(this instanceof v))return new v(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),l.call(this)}function b(e,t,o,n,i){var r,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var o=t.decoder.end();o&&o.length&&(t.buffer.push(o),t.length+=t.objectMode?1:o.length)}t.ended=!0,T(e)}(e,s)):(i||(r=function(e,t){var o;n=t,u.isBuffer(n)||n instanceof c||"string"==typeof t||void 0===t||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk"));var n;return o}(s,t)),r?e.emit("error",r):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===u.prototype||(t=function(e){return u.from(e)}(t)),n?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):E(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!o?(t=s.decoder.write(t),s.objectMode||0!==t.length?E(e,s,t,!1):k(e,s)):E(e,s,t,!1))):n||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=C?e=C:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function T(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(g("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(w,e):w(e))}function w(e){g("emit readable"),e.emit("readable"),I(e)}function k(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(O,e,t))}function O(e,t){for(var o=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(o=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):o=function(e,t,o){var n;er.length?r.length:e;if(s===r.length?i+=r:i+=r.slice(0,e),0===(e-=s)){s===r.length?(++n,o.next?t.head=o.next:t.head=t.tail=null):(t.head=o,o.data=r.slice(s));break}++n}return t.length-=n,i}(e,t):function(e,t){var o=u.allocUnsafe(e),n=t.head,i=1;n.data.copy(o),e-=n.data.length;for(;n=n.next;){var r=n.data,s=e>r.length?r.length:e;if(r.copy(o,o.length-e,0,s),0===(e-=s)){s===r.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=r.slice(s));break}++i}return t.length-=i,o}(e,t);return n}(e,t.buffer,t.decoder),o);var o}function D(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(A,t,e))}function A(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function P(e,t){for(var o=0,n=e.length;o=t.highWaterMark||t.ended))return g("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?D(this):T(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&D(this),null;var n,i=t.needReadable;return g("need readable",i),(0===t.length||t.length-e0?L(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),o!==e&&t.ended&&D(this)),null!==n&&this.emit("data",n),n},v.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},v.prototype.pipe=function(e,t){var o=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,g("pipe count=%d opts=%j",r.pipesCount,t);var l=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?c:v;function u(t,n){g("onunpipe"),t===o&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,g("cleanup"),e.removeListener("close",_),e.removeListener("finish",y),e.removeListener("drain",h),e.removeListener("error",m),e.removeListener("unpipe",u),o.removeListener("end",c),o.removeListener("end",v),o.removeListener("data",f),d=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||h())}function c(){g("onend"),e.end()}r.endEmitted?i.nextTick(l):o.once("end",l),e.on("unpipe",u);var h=function(e){return function(){var t=e._readableState;g("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,I(e))}}(o);e.on("drain",h);var d=!1;var p=!1;function f(t){g("ondata"),p=!1,!1!==e.write(t)||p||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==P(r.pipes,e))&&!d&&(g("false write response, pause",o._readableState.awaitDrain),o._readableState.awaitDrain++,p=!0),o.pause())}function m(t){g("onerror",t),v(),e.removeListener("error",m),0===a(e,"error")&&e.emit("error",t)}function _(){e.removeListener("finish",y),v()}function y(){g("onfinish"),e.removeListener("close",_),v()}function v(){g("unpipe"),o.unpipe(e)}return o.on("data",f),function(e,t,o){if("function"==typeof e.prependListener)return e.prependListener(t,o);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(o):e._events[t]=[o,e._events[t]]:e.on(t,o)}(e,"error",m),e.once("close",_),e.once("finish",y),e.emit("pipe",o),r.flowing||(g("pipe resume"),o.resume()),e},v.prototype.unpipe=function(e){var t=this._readableState,o={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,o),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,o=function(e,t,o){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==o?o:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var o=e.toString("utf16le",t);if(o){var n=o.charCodeAt(o.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],o.slice(0,-1)}return o}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var o=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,o)}return t}function c(e,t){var o=(e.length-t)%3;return 0===o?e.toString("base64",t):(this.lastNeed=3-o,this.lastTotal=3,1===o?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-o))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function g(e){return e&&e.length?this.write(e):""}t.StringDecoder=r,r.prototype.write=function(e){if(0===e.length)return"";var t,o;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";o=this.lastNeed,this.lastNeed=0}else o=0;return o=0)return i>0&&(e.lastNeed=i-1),i;if(--n=0)return i>0&&(e.lastNeed=i-2),i;if(--n=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=o;var n=e.length-(o-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},r.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,o){"use strict";e.exports=s;var n=o(136),i=o(167);function r(e,t){var o=this._transformState;o.transforming=!1;var n=o.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));o.writechunk=null,o.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>2,a=(3&t)<<4|o>>4,l=g>1?(15&o)<<2|i>>6:64,u=g>2?63&i:64,c.push(r.charAt(s)+r.charAt(a)+r.charAt(l)+r.charAt(u));return c.join("")},t.decode=function(e){var t,o,n,s,a,l,u=0,c=0;if("data:"===e.substr(0,"data:".length))throw new Error("Invalid base64 input, it looks like a data url.");var h,d=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===r.charAt(64)&&d--,e.charAt(e.length-2)===r.charAt(64)&&d--,d%1!=0)throw new Error("Invalid base64 input, bad content length.");for(h=i.uint8array?new Uint8Array(0|d):new Array(0|d);u>4,o=(15&s)<<4|(a=r.indexOf(e.charAt(u++)))>>2,n=(3&a)<<6|(l=r.indexOf(e.charAt(u++))),h[c++]=t,64!==a&&(h[c++]=o),64!==l&&(h[c++]=n);return h}},function(e,t,o){"use strict";(function(t){var n=o(65),i=o(345),r=o(100),s=o(274),a=o(127),l=o(168),u=null;if(a.nodestream)try{u=o(346)}catch(e){}function c(e,o){return new l.Promise((function(i,r){var a=[],l=e._internalType,u=e._outputType,c=e._mimeType;e.on("data",(function(e,t){a.push(e),o&&o(t)})).on("error",(function(e){a=[],r(e)})).on("end",(function(){try{var e=function(e,t,o){switch(e){case"blob":return n.newBlob(n.transformTo("arraybuffer",t),o);case"base64":return s.encode(t);default:return n.transformTo(e,t)}}(u,function(e,o){var n,i=0,r=null,s=0;for(n=0;n=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=r},function(e,t,o){"use strict";var n=o(65),i=o(100);function r(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(r,i),r.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},e.exports=r},function(e,t,o){"use strict";var n=o(100),i=o(218);function r(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}o(65).inherits(r,n),r.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},e.exports=r},function(e,t,o){"use strict";var n=o(100);t.STORE={magic:"\0\0",compressWorker:function(e){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},t.DEFLATE=o(349)},function(e,t,o){"use strict";e.exports=function(e,t,o,n){for(var i=65535&e|0,r=e>>>16&65535|0,s=0;0!==o;){o-=s=o>2e3?2e3:o;do{r=r+(i=i+t[n++]|0)|0}while(--s);i%=65521,r%=65521}return i|r<<16|0}},function(e,t,o){"use strict";var n=function(){for(var e,t=[],o=0;o<256;o++){e=o;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[o]=e}return t}();e.exports=function(e,t,o,i){var r=n,s=i+o;e^=-1;for(var a=i;a>>8^r[255&(e^t[a])];return-1^e}},function(e,t,o){"use strict";var n=o(128),i=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){r=!1}for(var s=new n.Buf8(256),a=0;a<256;a++)s[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;function l(e,t){if(t<65534&&(e.subarray&&r||!e.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(e,t));for(var o="",s=0;s>>6,t[s++]=128|63&o):o<65536?(t[s++]=224|o>>>12,t[s++]=128|o>>>6&63,t[s++]=128|63&o):(t[s++]=240|o>>>18,t[s++]=128|o>>>12&63,t[s++]=128|o>>>6&63,t[s++]=128|63&o);return t},t.buf2binstring=function(e){return l(e,e.length)},t.binstring2buf=function(e){for(var t=new n.Buf8(e.length),o=0,i=t.length;o4)u[n++]=65533,o+=r-1;else{for(i&=2===r?31:3===r?15:7;r>1&&o1?u[n++]=65533:i<65536?u[n++]=i:(i-=65536,u[n++]=55296|i>>10&1023,u[n++]=56320|1023&i)}return l(u,n)},t.utf8border=function(e,t){var o;for((t=t||e.length)>e.length&&(t=e.length),o=t-1;o>=0&&128==(192&e[o]);)o--;return o<0?t:0===o?t:o+s[e[o]]>t?o:t}},function(e,t,o){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(e,t,o){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(e,t,o){"use strict";t.LOCAL_FILE_HEADER="PK",t.CENTRAL_FILE_HEADER="PK",t.CENTRAL_DIRECTORY_END="PK",t.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",t.ZIP64_CENTRAL_DIRECTORY_END="PK",t.DATA_DESCRIPTOR="PK\b"},function(e,t,o){"use strict";var n=o(65),i=o(127),r=o(288),s=o(363),a=o(364),l=o(290);e.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new a(e):i.uint8array?new l(n.transformTo("uint8array",e)):new r(n.transformTo("array",e)):new s(e)}},function(e,t,o){"use strict";var n=o(289);function i(e){n.call(this,e);for(var t=0;t=0;--r)if(this.data[r]===t&&this.data[r+1]===o&&this.data[r+2]===n&&this.data[r+3]===i)return r-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),r=this.readData(4);return t===r[0]&&o===r[1]&&n===r[2]&&i===r[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(65);function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length=this.index;t--)o=(o<<8)+this.byteAt(t);return this.index+=e,o},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},e.exports=i},function(e,t,o){"use strict";var n=o(288);function i(e){n.call(this,e)}o(65).inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(149);e.exports=function(e){n.copy(e,this)}},function(e,t,o){"use strict";e.exports=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var o,n="boolean"==typeof t.cycles&&t.cycles,i=t.cmp&&(o=t.cmp,function(e){return function(t,n){var i={key:t,value:e[t]},r={key:n,value:e[n]};return o(i,r)}}),r=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var o,s;if(Array.isArray(t)){for(s="[",o=0;o",y=g?">":"<",v=void 0;if(m){var b=e.util.getData(f.$data,s,e.dataPathArr),E="exclusive"+r,C="exclType"+r,S="exclIsNumber"+r,T="' + "+(O="op"+r)+" + '";i+=" var schemaExcl"+r+" = "+b+"; ",i+=" var "+E+"; var "+C+" = typeof "+(b="schemaExcl"+r)+"; if ("+C+" != 'boolean' && "+C+" != 'undefined' && "+C+" != 'number') { ";var w;v=p;(w=w||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(v||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+p+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var k=i;i=w.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+C+" == 'number' ? ( ("+E+" = "+n+" === undefined || "+b+" "+_+"= "+n+") ? "+h+" "+y+"= "+b+" : "+h+" "+y+" "+n+" ) : ( ("+E+" = "+b+" === true) ? "+h+" "+y+"= "+n+" : "+h+" "+y+" "+n+" ) || "+h+" !== "+h+") { var op"+r+" = "+E+" ? '"+_+"' : '"+_+"='; ",void 0===a&&(v=p,u=e.errSchemaPath+"/"+p,n=b,d=m)}else{T=_;if((S="number"==typeof f)&&d){var O="'"+T+"'";i+=" if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" ( "+n+" === undefined || "+f+" "+_+"= "+n+" ? "+h+" "+y+"= "+f+" : "+h+" "+y+" "+n+" ) || "+h+" !== "+h+") { "}else{S&&void 0===a?(E=!0,v=p,u=e.errSchemaPath+"/"+p,n=f,y+="="):(S&&(n=Math[g?"min":"max"](f,a)),f===(!S||n)?(E=!0,v=p,u=e.errSchemaPath+"/"+p,y+="="):(E=!1,T+="="));O="'"+T+"'";i+=" if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+h+" "+y+" "+n+" || "+h+" !== "+h+") { "}}v=v||t,(w=w||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(v||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+O+", limit: "+n+", exclusive: "+E+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+T+" ",i+=d?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";k=i;return i=w.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+h+".length "+("maxItems"==t?">":"<")+" "+n+") { ";var g=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(g||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==t?"more":"fewer",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var f=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a;var g="maxLength"==t?">":"<";i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),!1===e.opts.unicode?i+=" "+h+".length ":i+=" ucs2length("+h+") ",i+=" "+g+" "+n+") { ";var p=t,f=f||[];f.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(p||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==t?"longer":"shorter",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var m=i;return i=f.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" Object.keys("+h+").length "+("maxProperties"==t?">":"<")+" "+n+") { ";var g=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(g||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==t?"more":"fewer",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var f=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},function(e,t,o){var n=o(400),i=o(401),r=o(414),s=RegExp("['’]","g");e.exports=function(e){return function(t){return n(r(i(t).replace(s,"")),e,"")}}},function(e,t){var o=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return o.test(e)}},function(e,t,o){},function(e,t,o){"use strict";o.r(t);o(499),o(225),o(233),o(234),o(258),o(232),o(236),o(239),o(238);var n=o(137);for(var i in n)"default"!==i&&function(e){o.d(t,e,(function(){return n[e]}))}(i)},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r,s=o(169);!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.serverErrorStart=-32099,e.serverErrorEnd=-32e3,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.RequestCancelled=-32800,e.MessageWriteError=1,e.MessageReadError=2}(r=t.ErrorCodes||(t.ErrorCodes={}));var a=function(e){function t(o,n,i){var a=e.call(this,n)||this;return a.code=s.number(o)?o:r.UnknownErrorCode,a.data=i,Object.setPrototypeOf(a,t.prototype),a}return i(t,e),t.prototype.toJson=function(){return{code:this.code,message:this.message,data:this.data}},t}(Error);t.ResponseError=a;var l=function(){function e(e,t){this._method=e,this._numberOfParams=t}return Object.defineProperty(e.prototype,"method",{get:function(){return this._method},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"numberOfParams",{get:function(){return this._numberOfParams},enumerable:!0,configurable:!0}),e}();t.AbstractMessageType=l;var u=function(e){function t(t){var o=e.call(this,t,0)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType0=u;var c=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType=c;var h=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType1=h;var d=function(e){function t(t){var o=e.call(this,t,2)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType2=d;var g=function(e){function t(t){var o=e.call(this,t,3)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType3=g;var p=function(e){function t(t){var o=e.call(this,t,4)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType4=p;var f=function(e){function t(t){var o=e.call(this,t,5)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType5=f;var m=function(e){function t(t){var o=e.call(this,t,6)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType6=m;var _=function(e){function t(t){var o=e.call(this,t,7)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType7=_;var y=function(e){function t(t){var o=e.call(this,t,8)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType8=y;var v=function(e){function t(t){var o=e.call(this,t,9)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType9=v;var b=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType=b;var E=function(e){function t(t){var o=e.call(this,t,0)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType0=E;var C=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType1=C;var S=function(e){function t(t){var o=e.call(this,t,2)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType2=S;var T=function(e){function t(t){var o=e.call(this,t,3)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType3=T;var w=function(e){function t(t){var o=e.call(this,t,4)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType4=w;var k=function(e){function t(t){var o=e.call(this,t,5)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType5=k;var O=function(e){function t(t){var o=e.call(this,t,6)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType6=O;var R=function(e){function t(t){var o=e.call(this,t,7)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType7=R;var N=function(e){function t(t){var o=e.call(this,t,8)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType8=N;var I=function(e){function t(t){var o=e.call(this,t,9)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType9=I,t.isRequestMessage=function(e){var t=e;return t&&s.string(t.method)&&(s.string(t.id)||s.number(t.id))},t.isNotificationMessage=function(e){var t=e;return t&&s.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){var t=e;return t&&(void 0!==t.result||!!t.error)&&(s.string(t.id)||s.number(t.id)||null===t.id)}},function(e,t,o){(function(e){function o(e,t){for(var o=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),o++):o&&(e.splice(n,1),o--)}if(t)for(;o--;o)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var o=[],n=0;n=-1&&!i;r--){var s=r>=0?arguments[r]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,i="/"===s.charAt(0))}return(i?"/":"")+(t=o(n(t.split("/"),(function(e){return!!e})),!i).join("/"))||"."},t.normalize=function(e){var r=t.isAbsolute(e),s="/"===i(e,-1);return(e=o(n(e.split("/"),(function(e){return!!e})),!r).join("/"))||r||(e="."),e&&s&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(n(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,o){function n(e){for(var t=0;t=0&&""===e[o];o--);return t>o?[]:e.slice(t,o-t+1)}e=t.resolve(e).substr(1),o=t.resolve(o).substr(1);for(var i=n(e.split("/")),r=n(o.split("/")),s=Math.min(i.length,r.length),a=s,l=0;l=1;--r)if(47===(t=e.charCodeAt(r))){if(!i){n=r;break}}else i=!1;return-1===n?o?"/":".":o&&1===n?"/":e.slice(0,n)},t.basename=function(e,t){var o=function(e){"string"!=typeof e&&(e+="");var t,o=0,n=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){o=t+1;break}}else-1===n&&(i=!1,n=t+1);return-1===n?"":e.slice(o,n)}(e);return t&&o.substr(-1*t.length)===t&&(o=o.substr(0,o.length-t.length)),o},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,o=0,n=-1,i=!0,r=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(47!==a)-1===n&&(i=!1,n=s+1),46===a?-1===t?t=s:1!==r&&(r=1):-1!==t&&(r=-1);else if(!i){o=s+1;break}}return-1===t||-1===n||0===r||1===r&&t===n-1&&t===o+1?"":e.slice(t,n)};var i="b"==="ab".substr(-1)?function(e,t,o){return e.substr(t,o)}:function(e,t,o){return t<0&&(t=e.length+t),e.substr(t,o)}}).call(this,o(108))},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0}),n(o(307)),n(o(308)),n(o(505))},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var o=e.call(this)||this;return o.socket=t,o.state="initial",o.events=[],o.socket.onMessage((function(e){return o.readMessage(e)})),o.socket.onError((function(e){return o.fireError(e)})),o.socket.onClose((function(e,t){if(1e3!==e){var n={name:""+e,message:"Error during socket reconnect: code = "+e+", reason = "+t};o.fireError(n)}o.fireClose()})),o}return i(t,e),t.prototype.listen=function(e){if("initial"===this.state)for(this.state="listening",this.callback=e;0!==this.events.length;){var t=this.events.pop();t.message?this.readMessage(t.message):t.error?this.fireError(t.error):this.fireClose()}},t.prototype.readMessage=function(e){if("initial"===this.state)this.events.splice(0,0,{message:e});else if("listening"===this.state){var t=JSON.parse(e);this.callback(t)}},t.prototype.fireError=function(t){"initial"===this.state?this.events.splice(0,0,{error:t}):"listening"===this.state&&e.prototype.fireError.call(this,t)},t.prototype.fireClose=function(){"initial"===this.state?this.events.splice(0,0,{}):"listening"===this.state&&e.prototype.fireClose.call(this),this.state="closed"},t}(o(183).AbstractMessageReader);t.WebSocketMessageReader=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var o=e.call(this)||this;return o.socket=t,o.errorCount=0,o}return i(t,e),t.prototype.write=function(e){try{var t=JSON.stringify(e);this.socket.send(t)}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}},t}(o(184).AbstractMessageWriter);t.WebSocketMessageWriter=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){}return e.prototype.error=function(e){console.error(e)},e.prototype.warn=function(e){console.warn(e)},e.prototype.info=function(e){console.info(e)},e.prototype.log=function(e){console.log(e)},e.prototype.debug=function(e){console.debug(e)},e}();t.ConsoleLogger=n},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){return e.call(this,t)||this}return i(t,e),t}(o(109).CompletionItem);t.default=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){return e.call(this,t)||this}return i(t,e),t}(o(109).CodeLens);t.default=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t,o){return e.call(this,t,o)||this}return i(t,e),t}(o(109).DocumentLink);t.default=r},function(e,t,o){"use strict";var n=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var s,a=o(533),l=o(121),u=o(534),c=o(185);function h(e,t){return a(e,{extended:!0,globstar:!0}).test(t)}!function(e){e.fromDocument=function(e){return{uri:monaco.Uri.parse(e.uri),languageId:e.languageId}},e.fromModel=function(e){return{uri:e.uri,languageId:e.getModeId()}}}(s=t.MonacoModelIdentifier||(t.MonacoModelIdentifier={})),t.testGlob=h;var d=function(){function e(e,t){this.p2m=e,this.m2p=t}return e.prototype.match=function(e,t){return this.matchModel(e,s.fromDocument(t))},e.prototype.createDiagnosticCollection=function(e){return new u.MonacoDiagnosticCollection(e||"default",this.p2m)},e.prototype.registerCompletionItemProvider=function(e,t){for(var o,n,s=[],a=2;a=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}},i=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},r=this&&this.__spread||function(){for(var e=[],t=0;t0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},r=this&&this.__spread||function(){for(var e=[],t=0;t=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var a,l,u,c=o(247),h=o(121);!function(e){e.is=function(e){return!!e&&"data"in e}}(a=t.ProtocolDocumentLink||(t.ProtocolDocumentLink={})),function(e){e.is=function(e){return!!e&&"data"in e}}(l=t.ProtocolCodeLens||(t.ProtocolCodeLens={})),function(e){e.is=function(e){return!!e&&"data"in e}}(u=t.ProtocolCompletionItem||(t.ProtocolCompletionItem={}));var d=function(){function e(){}return e.prototype.asPosition=function(e,t){return{line:null==e?void 0:e-1,character:null==t?void 0:t-1}},e.prototype.asRange=function(e){if(void 0!==e)return null===e?null:{start:this.asPosition(e.startLineNumber,e.startColumn),end:this.asPosition(e.endLineNumber,e.endColumn)}},e.prototype.asTextDocumentIdentifier=function(e){return{uri:e.uri.toString()}},e.prototype.asTextDocumentPositionParams=function(e,t){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column)}},e.prototype.asCompletionParams=function(e,t,o){return Object.assign(this.asTextDocumentPositionParams(e,t),{context:this.asCompletionContext(o)})},e.prototype.asCompletionContext=function(e){return{triggerKind:this.asTriggerKind(e.triggerKind),triggerCharacter:e.triggerCharacter}},e.prototype.asTriggerKind=function(e){switch(e){case monaco.languages.SuggestTriggerKind.TriggerCharacter:return h.CompletionTriggerKind.TriggerCharacter;case monaco.languages.SuggestTriggerKind.TriggerForIncompleteCompletions:return h.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return h.CompletionTriggerKind.Invoked}},e.prototype.asCompletionItem=function(e){var t={label:e.label},o=u.is(e)?e:void 0;return e.detail&&(t.detail=e.detail),e.documentation&&(o&&o.documentationFormat?t.documentation=this.asDocumentation(o.documentationFormat,e.documentation):t.documentation=e.documentation),e.filterText&&(t.filterText=e.filterText),this.fillPrimaryInsertText(t,e),c.number(e.kind)&&(t.kind=this.asCompletionItemKind(e.kind,o&&o.originalItemKind)),e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=this.asTextEdits(e.additionalTextEdits)),e.command&&(t.command=this.asCommand(e.command)),e.commitCharacters&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=this.asCommand(e.command)),o&&(void 0!==o.data&&(t.data=o.data),!0!==o.deprecated&&!1!==o.deprecated||(t.deprecated=o.deprecated)),t},e.prototype.asCompletionItemKind=function(e,t){return void 0!==t?t:e+1},e.prototype.asDocumentation=function(e,t){switch(e){case h.MarkupKind.PlainText:return{kind:e,value:t};case h.MarkupKind.Markdown:return{kind:e,value:t.value};default:return"Unsupported Markup content received. Kind is: "+e}},e.prototype.fillPrimaryInsertText=function(e,t){var o,n,i=h.InsertTextFormat.PlainText;t.textEdit?(o=t.textEdit.text,n=this.asRange(t.textEdit.range)):"string"==typeof t.insertText?o=t.insertText:t.insertText&&(i=h.InsertTextFormat.Snippet,o=t.insertText.value),t.range&&(n=this.asRange(t.range)),e.insertTextFormat=i,t.fromEdit&&o&&n?e.textEdit={newText:o,range:n}:e.insertText=o},e.prototype.asTextEdit=function(e){return{range:this.asRange(e.range),newText:e.text}},e.prototype.asTextEdits=function(e){var t=this;if(e)return e.map((function(e){return t.asTextEdit(e)}))},e.prototype.asReferenceParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),context:{includeDeclaration:o.includeDeclaration}}},e.prototype.asDocumentSymbolParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asCodeLensParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asDiagnosticSeverity=function(e){switch(e){case monaco.MarkerSeverity.Error:return h.DiagnosticSeverity.Error;case monaco.MarkerSeverity.Warning:return h.DiagnosticSeverity.Warning;case monaco.MarkerSeverity.Info:return h.DiagnosticSeverity.Information;case monaco.MarkerSeverity.Hint:return h.DiagnosticSeverity.Hint}},e.prototype.asDiagnostic=function(e){var t=this.asRange(new monaco.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)),o=this.asDiagnosticSeverity(e.severity);return h.Diagnostic.create(t,e.message,o,e.code,e.source)},e.prototype.asDiagnostics=function(e){var t=this;return null==e?e:e.map((function(e){return t.asDiagnostic(e)}))},e.prototype.asCodeActionContext=function(e){if(null==e)return e;var t=this.asDiagnostics(e.markers);return h.CodeActionContext.create(t,c.string(e.only)?[e.only]:void 0)},e.prototype.asCodeActionParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),range:this.asRange(t),context:this.asCodeActionContext(o)}},e.prototype.asCommand=function(e){if(e){var t=e.arguments||[];return h.Command.create.apply(h.Command,r([e.title,e.id],t))}},e.prototype.asCodeLens=function(e){var t=h.CodeLens.create(this.asRange(e.range));return e.command&&(t.command=this.asCommand(e.command)),l.is(e)&&e.data&&(t.data=e.data),t},e.prototype.asFormattingOptions=function(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}},e.prototype.asDocumentFormattingParams=function(e,t){return{textDocument:this.asTextDocumentIdentifier(e),options:this.asFormattingOptions(t)}},e.prototype.asDocumentRangeFormattingParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),range:this.asRange(t),options:this.asFormattingOptions(o)}},e.prototype.asDocumentOnTypeFormattingParams=function(e,t,o,n){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),ch:o,options:this.asFormattingOptions(n)}},e.prototype.asRenameParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),newName:o}},e.prototype.asDocumentLinkParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asDocumentLink=function(e){var t=h.DocumentLink.create(this.asRange(e.range));return e.url&&(t.target=e.url),a.is(e)&&e.data&&(t.data=e.data),t},e}();t.MonacoToProtocolConverter=d;var g=function(){function e(){}return e.prototype.asResourceEdits=function(e,t,o){return{resource:e,edits:this.asTextEdits(t),modelVersionId:o}},e.prototype.asWorkspaceEdit=function(e){var t,o,n,i;if(e){var r=[];if(e.documentChanges)try{for(var a=s(e.documentChanges),l=a.next();!l.done;l=a.next()){var u=l.value,c=monaco.Uri.parse(u.textDocument.uri),h="number"==typeof u.textDocument.version?u.textDocument.version:void 0;r.push(this.asResourceEdits(c,u.edits,h))}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}else if(e.changes)try{for(var d=s(Object.keys(e.changes)),g=d.next();!g.done;g=d.next()){var p=g.value;c=monaco.Uri.parse(p);r.push(this.asResourceEdits(c,e.changes[p]))}}catch(e){n={error:e}}finally{try{g&&!g.done&&(i=d.return)&&i.call(d)}finally{if(n)throw n.error}}return{edits:r}}},e.prototype.asTextEdit=function(e){if(e)return{range:this.asRange(e.range),text:e.newText}},e.prototype.asTextEdits=function(e){var t=this;if(e)return e.map((function(e){return t.asTextEdit(e)}))},e.prototype.asCodeLens=function(e){if(e){var t={range:this.asRange(e.range)};return e.command&&(t.command=this.asCommand(e.command)),void 0!==e.data&&null!==e.data&&(t.data=e.data),t}},e.prototype.asCodeLenses=function(e){var t=this;if(e)return e.map((function(e){return t.asCodeLens(e)}))},e.prototype.asCodeActions=function(e){var t=this;return e.map((function(e){return t.asCodeAction(e)}))},e.prototype.asCodeAction=function(e){return h.CodeAction.is(e)?{title:e.title,command:this.asCommand(e.command),edit:this.asWorkspaceEdit(e.edit),diagnostics:this.asDiagnostics(e.diagnostics),kind:e.kind}:{command:{id:e.command,title:e.title,arguments:e.arguments},title:e.title}},e.prototype.asCommand=function(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}},e.prototype.asDocumentSymbol=function(e){var t=this,o=e.children&&e.children.map((function(e){return t.asDocumentSymbol(e)}));return{name:e.name,detail:e.detail||"",kind:this.asSymbolKind(e.kind),range:this.asRange(e.range),selectionRange:this.asRange(e.selectionRange),children:o}},e.prototype.asDocumentSymbols=function(e){var t=this;return h.DocumentSymbol.is(e[0])?e.map((function(e){return t.asDocumentSymbol(e)})):this.asSymbolInformations(e)},e.prototype.asSymbolInformations=function(e,t){var o=this;if(e)return e.map((function(e){return o.asSymbolInformation(e,t)}))},e.prototype.asSymbolInformation=function(e,t){var o=this.asLocation(t?n({},e.location,{uri:t.toString()}):e.location);return{name:e.name,detail:"",containerName:e.containerName,kind:this.asSymbolKind(e.kind),range:o.range,selectionRange:o.range}},e.prototype.asSymbolKind=function(e){return e<=h.SymbolKind.TypeParameter?e-1:monaco.languages.SymbolKind.Property},e.prototype.asDocumentHighlights=function(e){var t=this;if(e)return e.map((function(e){return t.asDocumentHighlight(e)}))},e.prototype.asDocumentHighlight=function(e){return{range:this.asRange(e.range),kind:c.number(e.kind)?this.asDocumentHighlightKind(e.kind):void 0}},e.prototype.asDocumentHighlightKind=function(e){switch(e){case h.DocumentHighlightKind.Text:return monaco.languages.DocumentHighlightKind.Text;case h.DocumentHighlightKind.Read:return monaco.languages.DocumentHighlightKind.Read;case h.DocumentHighlightKind.Write:return monaco.languages.DocumentHighlightKind.Write}return monaco.languages.DocumentHighlightKind.Text},e.prototype.asReferences=function(e){var t=this;if(e)return e.map((function(e){return t.asLocation(e)}))},e.prototype.asDefinitionResult=function(e){var t=this;if(e)return c.array(e)?e.map((function(e){return t.asLocation(e)})):this.asLocation(e)},e.prototype.asLocation=function(e){if(e)return{uri:monaco.Uri.parse(e.uri),range:this.asRange(e.range)}},e.prototype.asSignatureHelp=function(e){if(e){var t={};return c.number(e.activeSignature)?t.activeSignature=e.activeSignature:t.activeSignature=0,c.number(e.activeParameter)?t.activeParameter=e.activeParameter:t.activeParameter=0,e.signatures?t.signatures=this.asSignatureInformations(e.signatures):t.signatures=[],t}},e.prototype.asSignatureInformations=function(e){var t=this;return e.map((function(e){return t.asSignatureInformation(e)}))},e.prototype.asSignatureInformation=function(e){var t={label:e.label};return e.documentation&&(t.documentation=this.asDocumentation(e.documentation)),e.parameters?t.parameters=this.asParameterInformations(e.parameters):t.parameters=[],t},e.prototype.asParameterInformations=function(e){var t=this;return e.map((function(e){return t.asParameterInformation(e)}))},e.prototype.asParameterInformation=function(e){var t={label:e.label};return e.documentation&&(t.documentation=this.asDocumentation(e.documentation)),t},e.prototype.asHover=function(e){if(e)return{contents:this.asHoverContent(e.contents),range:this.asRange(e.range)}},e.prototype.asHoverContent=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return t.asMarkdownString(e)})):[this.asMarkdownString(e)]},e.prototype.asDocumentation=function(e){return c.string(e)?e:e.kind===h.MarkupKind.PlainText?e.value:this.asMarkdownString(e)},e.prototype.asMarkdownString=function(e){return h.MarkupContent.is(e)?{value:e.value}:c.string(e)?{value:e}:{value:"```"+e.language+"\n"+e.value+"\n```"}},e.prototype.asSeverity=function(e){return 1===e?monaco.MarkerSeverity.Error:2===e?monaco.MarkerSeverity.Warning:3===e?monaco.MarkerSeverity.Info:monaco.MarkerSeverity.Hint},e.prototype.asDiagnostics=function(e){var t=this;if(e)return e.map((function(e){return t.asDiagnostic(e)}))},e.prototype.asDiagnostic=function(e){return{code:"number"==typeof e.code?e.code.toString():e.code,severity:this.asSeverity(e.severity),message:e.message,source:e.source,startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,relatedInformation:this.asRelatedInformations(e.relatedInformation)}},e.prototype.asRelatedInformations=function(e){var t=this;if(e)return e.map((function(e){return t.asRelatedInformation(e)}))},e.prototype.asRelatedInformation=function(e){return{resource:monaco.Uri.parse(e.location.uri),startLineNumber:e.location.range.start.line+1,startColumn:e.location.range.start.character+1,endLineNumber:e.location.range.end.line+1,endColumn:e.location.range.end.character+1,message:e.message}},e.prototype.asCompletionResult=function(e){var t=this;return e?Array.isArray(e)?{isIncomplete:!1,items:e.map((function(e){return t.asCompletionItem(e)}))}:{isIncomplete:e.isIncomplete,items:e.items.map(this.asCompletionItem.bind(this))}:{isIncomplete:!1,items:[]}},e.prototype.asCompletionItem=function(e){var t={label:e.label};e.detail&&(t.detail=e.detail),e.documentation&&(t.documentation=this.asDocumentation(e.documentation),t.documentationFormat=c.string(e.documentation)?void 0:e.documentation.kind),e.filterText&&(t.filterText=e.filterText);var o=this.asCompletionInsertText(e);if(o&&(t.insertText=o.text,t.range=o.range,t.fromEdit=o.fromEdit),c.number(e.kind)){var n=i(this.asCompletionItemKind(e.kind),2),r=n[0],s=n[1];t.kind=r,s&&(t.originalItemKind=s)}return e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=this.asTextEdits(e.additionalTextEdits)),c.stringArray(e.commitCharacters)&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=this.asCommand(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(t.deprecated=e.deprecated),void 0!==e.data&&(t.data=e.data),t},e.prototype.asCompletionItemKind=function(e){return h.CompletionItemKind.Text<=e&&e<=h.CompletionItemKind.TypeParameter?[e-1,void 0]:[h.CompletionItemKind.Text,e]},e.prototype.asCompletionInsertText=function(e){if(e.textEdit){var t=this.asRange(e.textEdit.range),o=e.textEdit.newText;return{text:e.insertTextFormat===h.InsertTextFormat.Snippet?{value:o}:o,range:t,fromEdit:!0}}if(e.insertText){o=e.insertText;return{text:e.insertTextFormat===h.InsertTextFormat.Snippet?{value:o}:o,fromEdit:!1}}},e.prototype.asDocumentLinks=function(e){var t=this;return e.map((function(e){return t.asDocumentLink(e)}))},e.prototype.asDocumentLink=function(e){return{range:this.asRange(e.range),url:e.target,data:e.data}},e.prototype.asRange=function(e){if(void 0!==e){if(null===e)return null;var t=this.asPosition(e.start),o=this.asPosition(e.end);return t instanceof monaco.Position&&o instanceof monaco.Position?new monaco.Range(t.lineNumber,t.column,o.lineNumber,o.column):{startLineNumber:t&&void 0!==t.lineNumber?t.lineNumber:void 0,startColumn:t&&void 0!==t.column?t.column:void 0,endLineNumber:o&&void 0!==o.lineNumber?o.lineNumber:void 0,endColumn:o&&void 0!==o.column?o.column:void 0}}},e.prototype.asPosition=function(e){if(void 0!==e){if(null===e)return null;var t=e.line,o=e.character,n=void 0===t?void 0:t+1,i=void 0===o?void 0:o+1;return void 0!==n&&void 0!==i?new monaco.Position(n,i):{lineNumber:n,column:i}}},e.prototype.asColorInformations=function(e){var t=this;return e.map((function(e){return t.asColorInformation(e)}))},e.prototype.asColorInformation=function(e){return{range:this.asRange(e.range),color:e.color}},e.prototype.asColorPresentations=function(e){var t=this;return e.map((function(e){return t.asColorPresentation(e)}))},e.prototype.asColorPresentation=function(e){return{label:e.label,textEdit:this.asTextEdit(e.textEdit),additionalTextEdits:this.asTextEdits(e.additionalTextEdits)}},e.prototype.asFoldingRanges=function(e){var t=this;return e?e.map((function(e){return t.asFoldingRange(e)})):e},e.prototype.asFoldingRange=function(e){return{start:e.startLine+1,end:e.endLine+1,kind:this.asFoldingRangeKind(e.kind)}},e.prototype.asFoldingRangeKind=function(e){if(e)switch(e){case h.FoldingRangeKind.Comment:return monaco.languages.FoldingRangeKind.Comment;case h.FoldingRangeKind.Imports:return monaco.languages.FoldingRangeKind.Imports;case h.FoldingRangeKind.Region:return monaco.languages.FoldingRangeKind.Region}},e}();t.ProtocolToMonacoConverter=g},function(e,t,o){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}n.prototype=o(328),n.prototype.loadAsync=o(361),n.support=o(127),n.defaults=o(276),n.version="3.2.0",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=o(168),e.exports=n},function(e,t,o){(function(o){var n,i,r;i=[],void 0===(r="function"==typeof(n=function(){"use strict";function t(e,t,o){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){s(n.response,t,o)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(o){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var r="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof o&&o.global===o?o:void 0,s=r.saveAs||("object"!=typeof window||window!==r?function(){}:"download"in HTMLAnchorElement.prototype?function(e,o,s){var a=r.URL||r.webkitURL,l=document.createElement("a");o=o||e.name||"download",l.download=o,l.rel="noopener","string"==typeof e?(l.href=e,l.origin===location.origin?i(l):n(l.href)?t(e,o,s):i(l,l.target="_blank")):(l.href=a.createObjectURL(e),setTimeout((function(){a.revokeObjectURL(l.href)}),4e4),setTimeout((function(){i(l)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,o,r){if(o=o||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,r),o);else if(n(e))t(e,o,r);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout((function(){i(s)}))}}:function(e,o,n,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof e)return t(e,o,n);var s="application/octet-stream"===e.type,a=/constructor/i.test(r.HTMLElement)||r.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&a)&&"object"==typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var c=r.URL||r.webkitURL,h=c.createObjectURL(e);i?i.location=h:location.href=h,i=null,setTimeout((function(){c.revokeObjectURL(h)}),4e4)}});r.saveAs=s.saveAs=s,e.exports=s})?n.apply(t,i):n)||(e.exports=r)}).call(this,o(80))},function(e,t,o){"use strict";var n=o(366),i=o(220),r=o(370),s=o(291),a=o(292),l=o(371),u=o(372),c=o(393),h=o(149);e.exports=_,_.prototype.validate=function(e,t){var o;if("string"==typeof e){if(!(o=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var n=this._addSchema(e);o=n.validate||this._compile(n)}var i=o(t);!0!==o.$async&&(this.errors=o.errors);return i},_.prototype.compile=function(e,t){var o=this._addSchema(e,void 0,t);return o.validate||this._compile(o)},_.prototype.addSchema=function(e,t,o,n){if(Array.isArray(e)){for(var r=0;r\n \n \n \n EQ\n \n \n AND\n \n \n \n TRUE\n \n \n \n \n 1\n \n \n \n \n \n \n 10\n \n \n \n \n WHILE\n \n \n i\n \n \n 1\n \n \n \n \n 10\n \n \n \n \n 1\n \n \n \n \n j\n \n \n BREAK\n \n \n \n \n 0\n \n \n ADD\n \n \n 1\n \n \n \n \n 1\n \n \n \n \n ROOT\n \n \n 9\n \n \n \n \n SIN\n \n \n 45\n \n \n \n \n PI\n \n \n \n EVEN\n \n \n 0\n \n \n \n \n ROUND\n \n \n 3.1\n \n \n \n \n \n SUM\n \n \n \n \n 64\n \n \n \n \n 10\n \n \n \n \n \n \n 50\n \n \n \n \n 1\n \n \n \n \n 100\n \n \n \n \n \n \n 1\n \n \n \n \n 100\n \n \n \n \n \n \n \n \n \n \n \n \n \n item\n \n \n \n \n \n \n \n \n \n abc\n \n \n \n \n \n \n \n \n \n \n \n FIRST\n \n \n text\n \n \n \n \n abc\n \n \n \n \n \n FROM_START\n \n \n text\n \n \n \n \n \n FROM_START\n FROM_START\n \n \n text\n \n \n \n \n UPPERCASE\n \n \n abc\n \n \n \n \n BOTH\n \n \n abc\n \n \n \n \n \n \n abc\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 5\n \n \n \n \n \n \n FIRST\n \n \n list\n \n \n \n \n \n GET\n FROM_START\n \n \n list\n \n \n \n \n \n SET\n FROM_START\n \n \n list\n \n \n \n \n \n FROM_START\n FROM_START\n \n \n list\n \n \n \n \n \n SPLIT\n \n \n ,\n \n \n \n \n NUMERIC\n 1\n \n \n \n \n \n \n \n \n 0\n \n \n 20\n \n \n \n \n FORWARDS\n \n \n 1\n \n \n \n \n 20\n \n \n \n \n CLOCKWISE\n \n \n 1\n \n \n \n \n 20\n \n \n \n \n \n 0\n \n \n 50\n \n \n \n \n \n \n \n 0\n OUTPUT\n \n \n 0\n \n \n TRUE\n \n \n \n \n 0\n \n \n 0\n \n \n \n \n \n \n \n \n marker\n \n \n \n \n \n \n marker\n \n \n \n \n \n \n marker\n \n \n \n \n \n \n\n \n i\n \n \n \n \n \n \n \n \n \n marker\n \n \n \n \n \n \n \n \n \n \n marker\n \n \n \n \n \n \n\n'},function(e,t,o){"use strict";function n(e){for(var t=arguments,o=1;o0?t.children[0].text:""),i=t.props.inline,r=t.props.language,s=Prism.languages[r],a="language-"+r;return i?e("code",n({},t.data,{class:[t.data.class,a],domProps:n({},t.data.domProps,{innerHTML:Prism.highlight(o,s)})})):e("pre",n({},t.data,{class:[t.data.class,a]}),[e("code",{class:a,domProps:{innerHTML:Prism.highlight(o,s)}})])}};e.exports=i},function(e,t,o){"use strict";(function(e){o.d(t,"a",(function(){return f}));var n=o(115),i="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{};var r=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){!function(t){var o=function(e,t,n){if(!l(t)||c(t)||h(t)||d(t)||a(t))return t;var i,r=0,s=0;if(u(t))for(i=[],s=t.length;r=0||Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n]);return o};function c(){for(var e=arguments.length,t=Array(e),o=0;o2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=(t.children||[]).map(h.bind(null,e)),s=Object.keys(t.attributes||{}).reduce((function(e,o){var n=t.attributes[o];switch(o){case"class":e.class=n.split(/\s+/).reduce((function(e,t){return e[t]=!0,e}),{});break;case"style":e.style=n.split(";").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,t){var o=t.indexOf(":"),n=r.camelize(t.slice(0,o)),i=t.slice(o+1).trim();return e[n]=i,e}),{});break;default:e.attrs[o]=n}return e}),{class:{},style:{},attrs:{}}),a=n.class,d=void 0===a?{}:a,g=n.style,p=void 0===g?{}:g,f=n.attrs,m=void 0===f?{}:f,_=u(n,["class","style","attrs"]);return"string"==typeof t?t:e(t.tag,l({class:c(s.class,d),style:l({},s.style,p),attrs:l({},s.attrs,m)},_,{props:o}),i)}var d=!1;try{d=!0}catch(e){}function g(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?a({},e,t):{}}function p(e){return e&&"object"===(void 0===e?"undefined":s(e))&&e.prefix&&e.iconName&&e.icon?e:n.d.icon?n.d.icon(e):null===e?null:"object"===(void 0===e?"undefined":s(e))&&e.prefix&&e.iconName?e:Array.isArray(e)&&2===e.length?{prefix:e[0],iconName:e[1]}:"string"==typeof e?{prefix:"fas",iconName:e}:void 0}var f={name:"FontAwesomeIcon",functional:!0,props:{beat:{type:Boolean,default:!1},border:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},flip:{type:String,default:null,validator:function(e){return["horizontal","vertical","both"].indexOf(e)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(e){return["right","left"].indexOf(e)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(e){return[90,180,270].indexOf(parseInt(e,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(e){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(e)>-1}},spin:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},inverse:{type:Boolean,default:!1}},render:function(e,t){var o=t.props,i=o.icon,r=o.mask,s=o.symbol,u=o.title,c=p(i),f=g("classes",function(e){var t,o=(t={"fa-spin":e.spin,"fa-spin-pulse":e.spinPulse,"fa-spin-reverse":e.spinReverse,"fa-pulse":e.pulse,"fa-beat":e.beat,"fa-fade":e.fade,"fa-flash":e.flash,"fa-fw":e.fixedWidth,"fa-border":e.border,"fa-li":e.listItem,"fa-inverse":e.inverse,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip},a(t,"fa-"+e.size,null!==e.size),a(t,"fa-rotate-"+e.rotation,null!==e.rotation),a(t,"fa-pull-"+e.pull,null!==e.pull),a(t,"fa-swap-opacity",e.swapOpacity),t);return Object.keys(o).map((function(e){return o[e]?e:null})).filter((function(e){return e}))}(o)),m=g("transform","string"==typeof o.transform?n.d.transform(o.transform):o.transform),_=g("mask",p(r)),y=Object(n.b)(c,l({},f,m,_,{symbol:s,title:u}));if(!y)return function(){var e;!d&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find one or more icon(s)",c,_);var v=y.abstract;return h.bind(null,e)(v[0],{},t.data)}};Boolean,String,Number,String,Object,Boolean,String}).call(this,o(80))},function(e,t,o){var n;n=function(){return function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=e,o.c=t,o.i=function(e){return e},o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/dist/",o(o.s=21)}([function(e,t){var o=e.exports={version:"2.4.0"};"number"==typeof __e&&(__e=o)},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,o){e.exports=!o(1)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t){var o=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=o)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,o){"use strict";function n(e,t,o){this.$children.forEach((function(i){i.$options.name===e?i.$emit.apply(i,[t].concat(o)):n.apply(i,[e,t].concat([o]))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.default={methods:{dispatch:function(e,t,o){for(var n=this.$parent||this.$root,i=n.$options.name;n&&(!i||i!==e);)(n=n.$parent)&&(i=n.$options.name);n&&n.$emit.apply(n,[t].concat(o))},broadcast:function(e,t,o){n.call(this,e,t,o)}}}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,o){var n=o(3),i=o(0),r=o(28),s=o(32),a=function(e,t,o){var l,u,c,h=e&a.F,d=e&a.G,g=e&a.S,p=e&a.P,f=e&a.B,m=e&a.W,_=d?i:i[t]||(i[t]={}),y=_.prototype,v=d?n:g?n[t]:(n[t]||{}).prototype;for(l in d&&(o=t),o)(u=!h&&v&&void 0!==v[l])&&l in _||(c=u?v[l]:o[l],_[l]=d&&"function"!=typeof v[l]?o[l]:f&&u?r(c,n):m&&v[l]==c?function(e){var t=function(t,o,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,o)}return new e(t,o,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(c):p&&"function"==typeof c?r(Function.call,c):c,p&&((_.virtual||(_.virtual={}))[l]=c,e&a.R&&y&&!y[l]&&s(y,l,c)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,e.exports=a},function(e,t,o){var n=o(27);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},function(e,t,o){var n=o(37),i=o(30);e.exports=Object.keys||function(e){return n(e,i)}},function(e,t){var o=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:o)(e)}},function(e,t,o){var n=o(8),i=o(6);e.exports=function(e){return n(i(e))}},function(e,t,o){var n=o(6);e.exports=function(e){return Object(n(e))}},function(e,t){e.exports=function(e,t,o,n){var i,r=e=e||{},s=typeof e.default;"object"!==s&&"function"!==s||(i=e,r=e.default);var a="function"==typeof r?r.options:r;if(t&&(a.render=t.render,a.staticRenderFns=t.staticRenderFns),o&&(a._scopeId=o),n){var l=Object.create(a.computed||null);Object.keys(n).forEach((function(e){var t=n[e];l[e]=function(){return t}})),a.computed=l}return{esModule:i,exports:r,options:a}}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(o(53)),i=r(o(52));function r(e){return e&&e.__esModule?e:{default:e}}n.default.SplitArea=i.default,t.default=n.default},function(e,t,o){e.exports={default:o(22),__esModule:!0}},function(e,t,o){e.exports={default:o(23),__esModule:!0}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,i=o(5),r=(n=i)&&n.__esModule?n:{default:n};t.default={name:"SplitArea",mixins:[r.default],props:{size:{type:Number,default:50},minSize:{type:Number,default:100}},computed:{classes:function(){return"split split-"+this.$parent.direction}},watch:{size:function(e){this.$parent.changeAreaSize()},minSize:function(e){this.$parent.changeAreaSize()}}}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(o(5)),i=r(o(51));function r(e){return e&&e.__esModule?e:{default:e}}t.default={name:"Split",mixins:[n.default],props:{direction:{type:String,default:"horizontal"},gutterSize:{type:Number,default:8}},data:function(){return{elements:[],sizes:[],minSizes:[],instance:null}},methods:{init:function(){var e=this;null!==e.instance&&e.instance.destroy(),e.instance=null,e.instance=(0,i.default)(e.elements,{direction:e.direction,sizes:e.sizes,minSize:e.minSizes,gutterSize:e.gutterSize,cursor:"horizontal"===e.direction?"col-resize":"row-resize",onDrag:function(){e.$emit("onDrag",e.instance.getSizes())},onDragStart:function(){e.$emit("onDragStart",e.instance.getSizes())},onDragEnd:function(t){e.$emit("onDragEnd",e.instance.getSizes())}})},changeAreaSize:function(){var e=this;e.sizes=[],e.minSizes=[],e.$slots.default.forEach((function(t){t.tag&&t.tag.indexOf("SplitArea")>-1&&(e.sizes.push(t.componentInstance.size),e.minSizes.push(t.componentInstance.minSize))})),e.init()},reset:function(){this.init()},getSizes:function(){return this.instance.getSizes()}},mounted:function(){var e=this;e.elements=[],e.sizes=[],e.minSizes=[],e.$slots.default.forEach((function(t){t.tag&&t.tag.indexOf("SplitArea")>-1&&(e.elements.push(t.elm),e.sizes.push(t.componentInstance.size),e.minSizes.push(t.componentInstance.minSize))})),e.init()},watch:{direction:function(e){this.init()},gutterSize:function(e){this.init()}}}},function(e,t,o){"use strict";e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{class:this.classes},[this._t("default")],2)},staticRenderFns:[]}},function(e,t,o){"use strict";e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"split"},[this._t("default")],2)},staticRenderFns:[]}},function(e,t,o){"use strict";var n=s(o(15)),i=s(o(16)),r=s(o(14));function s(e){return e&&e.__esModule?e:{default:e}}var a={Split:r.default,SplitArea:r.default.SplitArea},l=function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1],(0,i.default)(a).forEach((function(t){e.component(t,a[t])}))};"undefined"!=typeof window&&window.Vue&&l(window.Vue),e.exports=(0,n.default)(a,{install:l})},function(e,t,o){o(47),e.exports=o(0).Object.assign},function(e,t,o){o(48),e.exports=o(0).Object.keys},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,o){var n=o(4);e.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},function(e,t,o){var n=o(11),i=o(44),r=o(43);e.exports=function(e){return function(t,o,s){var a,l=n(t),u=i(l.length),c=r(s,u);if(e&&o!=o){for(;u>c;)if((a=l[c++])!=a)return!0}else for(;u>c;c++)if((e||c in l)&&l[c]===o)return e||c||0;return!e&&-1}}},function(e,t){var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,o){var n=o(24);e.exports=function(e,t,o){if(n(e),void 0===t)return e;switch(o){case 1:return function(o){return e.call(t,o)};case 2:return function(o,n){return e.call(t,o,n)};case 3:return function(o,n,i){return e.call(t,o,n,i)}}return function(){return e.apply(t,arguments)}}},function(e,t,o){var n=o(4),i=o(3).document,r=n(i)&&n(i.createElement);e.exports=function(e){return r?i.createElement(e):{}}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){var o={}.hasOwnProperty;e.exports=function(e,t){return o.call(e,t)}},function(e,t,o){var n=o(35),i=o(40);e.exports=o(2)?function(e,t,o){return n.f(e,t,i(1,o))}:function(e,t,o){return e[t]=o,e}},function(e,t,o){e.exports=!o(2)&&!o(1)((function(){return 7!=Object.defineProperty(o(29)("div"),"a",{get:function(){return 7}}).a}))},function(e,t,o){"use strict";var n=o(9),i=o(36),r=o(38),s=o(12),a=o(8),l=Object.assign;e.exports=!l||o(1)((function(){var e={},t={},o=Symbol(),n="abcdefghijklmnopqrst";return e[o]=7,n.split("").forEach((function(e){t[e]=e})),7!=l({},e)[o]||Object.keys(l({},t)).join("")!=n}))?function(e,t){for(var o=s(e),l=arguments.length,u=1,c=i.f,h=r.f;l>u;)for(var d,g=a(arguments[u++]),p=c?n(g).concat(c(g)):n(g),f=p.length,m=0;f>m;)h.call(g,d=p[m++])&&(o[d]=g[d]);return o}:l},function(e,t,o){var n=o(25),i=o(33),r=o(45),s=Object.defineProperty;t.f=o(2)?Object.defineProperty:function(e,t,o){if(n(e),t=r(t,!0),n(o),i)try{return s(e,t,o)}catch(e){}if("get"in o||"set"in o)throw TypeError("Accessors not supported!");return"value"in o&&(e[t]=o.value),e}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,o){var n=o(31),i=o(11),r=o(26)(!1),s=o(41)("IE_PROTO");e.exports=function(e,t){var o,a=i(e),l=0,u=[];for(o in a)o!=s&&n(a,o)&&u.push(o);for(;t.length>l;)n(a,o=t[l++])&&(~r(u,o)||u.push(o));return u}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,o){var n=o(7),i=o(0),r=o(1);e.exports=function(e,t){var o=(i.Object||{})[e]||Object[e],s={};s[e]=t(o),n(n.S+n.F*r((function(){o(1)})),"Object",s)}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,o){var n=o(42)("keys"),i=o(46);e.exports=function(e){return n[e]||(n[e]=i(e))}},function(e,t,o){var n=o(3),i=n["__core-js_shared__"]||(n["__core-js_shared__"]={});e.exports=function(e){return i[e]||(i[e]={})}},function(e,t,o){var n=o(10),i=Math.max,r=Math.min;e.exports=function(e,t){return(e=n(e))<0?i(e+t,0):r(e,t)}},function(e,t,o){var n=o(10),i=Math.min;e.exports=function(e){return e>0?i(n(e),9007199254740991):0}},function(e,t,o){var n=o(4);e.exports=function(e,t){if(!n(e))return e;var o,i;if(t&&"function"==typeof(o=e.toString)&&!n(i=o.call(e)))return i;if("function"==typeof(o=e.valueOf)&&!n(i=o.call(e)))return i;if(!t&&"function"==typeof(o=e.toString)&&!n(i=o.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t){var o=0,n=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++o+n).toString(36))}},function(e,t,o){var n=o(7);n(n.S+n.F,"Object",{assign:o(34)})},function(e,t,o){var n=o(12),i=o(9);o(39)("keys",(function(){return function(e){return i(n(e))}}))},function(e,t,o){(e.exports=o(50)()).push([e.i,"\n.split {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n overflow-y: auto;\n overflow-x: hidden;\n height: 100%;\n width: 100%;\n}\n.gutter {\n background-color: #eee;\n background-repeat: no-repeat;\n background-position: 50%;\n}\n.gutter.gutter-horizontal {\n cursor: col-resize;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');\n}\n.gutter.gutter-vertical {\n cursor: row-resize;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');\n}\n.split.split-horizontal, .gutter.gutter-horizontal {\n height: 100%;\n float: left;\n}\n",""])},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t=this.size-(p[this.b].minSize+E+this.bGutterSize)&&(t=this.size-(p[this.b].minSize+this.bGutterSize)),R.call(this,t),c.onDrag&&c.onDrag())}function I(){var e=p[this.a].element,t=p[this.b].element;this.size=e[i]()[h]+t[i]()[h]+this.aGutterSize+this.bGutterSize,this.start=e[i]()[g]}function L(){var t=p[this.a].element,o=p[this.b].element;this.dragging&&c.onDragEnd&&c.onDragEnd(),this.dragging=!1,e[n]("mouseup",this.stop),e[n]("touchend",this.stop),e[n]("touchcancel",this.stop),this.parent[n]("mousemove",this.move),this.parent[n]("touchmove",this.move),delete this.stop,delete this.move,t[n]("selectstart",r),t[n]("dragstart",r),o[n]("selectstart",r),o[n]("dragstart",r),t.style.userSelect="",t.style.webkitUserSelect="",t.style.MozUserSelect="",t.style.pointerEvents="",o.style.userSelect="",o.style.webkitUserSelect="",o.style.MozUserSelect="",o.style.pointerEvents="",this.gutter.style.cursor="",this.parent.style.cursor=""}function D(t){var n=p[this.a].element,i=p[this.b].element;!this.dragging&&c.onDragStart&&c.onDragStart(),t.preventDefault(),this.dragging=!0,this.move=N.bind(this),this.stop=L.bind(this),e[o]("mouseup",this.stop),e[o]("touchend",this.stop),e[o]("touchcancel",this.stop),this.parent[o]("mousemove",this.move),this.parent[o]("touchmove",this.move),n[o]("selectstart",r),n[o]("dragstart",r),i[o]("selectstart",r),i[o]("dragstart",r),n.style.userSelect="none",n.style.webkitUserSelect="none",n.style.MozUserSelect="none",n.style.pointerEvents="none",i.style.userSelect="none",i.style.webkitUserSelect="none",i.style.MozUserSelect="none",i.style.pointerEvents="none",this.gutter.style.cursor=S,this.parent.style.cursor=S,I.call(this)}"horizontal"===C?(h="width",d="clientX",g="left"):"vertical"===C&&(h="height",d="clientY",g="top");var A=[];function P(e){e.forEach((function(t,o){if(o>0){var n=A[o-1],i=p[n.a],r=p[n.b];i.size=e[o-1],r.size=t,O(i.element,i.size,n.aGutterSize),O(r.element,r.size,n.bGutterSize)}}))}function x(){A.forEach((function(e){e.parent.removeChild(e.gutter),p[e.a].element.style[h]="",p[e.b].element.style[h]=""}))}return p=u.map((function(e,t){var n,r={element:l(e),size:_[t],minSize:v[t]};if(t>0&&((n={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:C,parent:f}).aGutterSize=b,n.bGutterSize=b,n.isFirst&&(n.aGutterSize=b/2),n.isLast&&(n.bGutterSize=b/2),"row-reverse"===m||"column-reverse"===m)){var a=n.a;n.a=n.b,n.b=a}if(!s&&t>0){var c=T(t,C);!function(e,t){var o=k(h,t);Object.keys(o).forEach((function(t){return e.style[t]=o[t]}))}(c,b),c[o]("mousedown",D.bind(n)),c[o]("touchstart",D.bind(n)),f.insertBefore(c,r.element),n.gutter=c}0===t||t===u.length-1?O(r.element,r.size,b/2):O(r.element,r.size,b);var d=r.element[i]()[h];return d0&&A.push(n),r})),s?{setSizes:P,destroy:x}:{setSizes:P,getSizes:function(){return p.map((function(e){return e.size}))},collapse:function(e){if(e===A.length){var t=A[e-1];I.call(t),s||R.call(t,t.size-t.bGutterSize)}else{var o=A[e];I.call(o),s||R.call(o,o.aGutterSize)}},destroy:x}}}()},function(e,t,o){var n=o(13)(o(17),o(19),null,null);e.exports=n.exports},function(e,t,o){o(55);var n=o(13)(o(18),o(20),null,null);e.exports=n.exports},function(e,t){var o={},n=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}},i=n((function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())})),r=n((function(){return document.head||document.getElementsByTagName("head")[0]})),s=null,a=0,l=[];function u(e,t){for(var n=0;n=0&&l.splice(t,1)}(o)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(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");void 0===(t=t||{}).singleton&&(t.singleton=i()),void 0===t.insertAt&&(t.insertAt="bottom");var n=c(e);return u(n,t),function(e){for(var i=[],r=0;re.length)return;if(!(E instanceof l)){if(f&&v!=t.length-1){if(d.lastIndex=b,!(O=d.exec(e)))break;for(var C=O.index+(p?O[1].length:0),S=O.index+O[0].length,T=v,w=b,k=t.length;T=(w+=t[T].length)&&(++v,b=w);if(t[v]instanceof l)continue;R=T-v,E=e.slice(b,w),O.index-=b}else{d.lastIndex=0;var O=d.exec(E),R=1}if(O){p&&(m=O[1]?O[1].length:0);S=(C=O.index+m)+(O=O[0].slice(m)).length;var N=E.slice(0,C),I=E.slice(S),L=[v,R];N&&(++v,b+=N.length,L.push(N));var D=new l(u,g?n.tokenize(O,g):O,_,O,f);if(L.push(D),I&&L.push(I),Array.prototype.splice.apply(t,L),1!=R&&n.matchGrammar(e,t,o,v,b,!0,u),s)break}else if(s)break}}}}},tokenize:function(e,t,o){var i=[e],r=t.rest;if(r){for(var s in r)t[s]=r[s];delete t.rest}return n.matchGrammar(e,i,t,0,0,!1),i},hooks:{all:{},add:function(e,t){var o=n.hooks.all;o[e]=o[e]||[],o[e].push(t)},run:function(e,t){var o=n.hooks.all[e];if(o&&o.length)for(var i,r=0;i=o[r++];)i(t)}}},i=n.Token=function(e,t,o,n,i){this.type=e,this.content=t,this.alias=o,this.length=0|(n||"").length,this.greedy=!!i};if(i.stringify=function(e,t,o){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map((function(o){return i.stringify(o,t,e)})).join("");var r={type:e.type,content:i.stringify(e.content,t,o),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:o};if(e.alias){var s="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(r.classes,s)}n.hooks.run("wrap",r);var a=Object.keys(r.attributes).map((function(e){return e+'="'+(r.attributes[e]||"").replace(/"/g,""")+'"'})).join(" ");return"<"+r.tag+' class="'+r.classes.join(" ")+'"'+(a?" "+a:"")+">"+r.content+""},!o.document)return o.addEventListener?(n.disableWorkerMessageHandler||o.addEventListener("message",(function(e){var t=JSON.parse(e.data),i=t.language,r=t.code,s=t.immediateClose;o.postMessage(n.highlight(r,n.languages[i],i)),s&&o.close()}),!1),o.Prism):o.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,n.manual||r.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),o.Prism}();e.exports&&(e.exports=n),void 0!==t&&(t.Prism=n),n.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"triple-quoted-string":{pattern:/("""|''')[\s\S]+?\1/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|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(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/}}).call(this,o(80))},function(e,t,o){"use strict";var n=o(146),i=o(65),r=o(100),s=o(275),a=o(276),l=o(217),u=o(347),c=o(348),h=o(182),d=o(360),g=function(e,t,o){var n,s=i.getTypeOf(t),c=i.extend(o||{},a);c.date=c.date||new Date,null!==c.compression&&(c.compression=c.compression.toUpperCase()),"string"==typeof c.unixPermissions&&(c.unixPermissions=parseInt(c.unixPermissions,8)),c.unixPermissions&&16384&c.unixPermissions&&(c.dir=!0),c.dosPermissions&&16&c.dosPermissions&&(c.dir=!0),c.dir&&(e=f(e)),c.createFolders&&(n=p(e))&&m.call(this,n,!0);var g="string"===s&&!1===c.binary&&!1===c.base64;o&&void 0!==o.binary||(c.binary=!g),(t instanceof l&&0===t.uncompressedSize||c.dir||!t||0===t.length)&&(c.base64=!1,c.binary=!0,t="",c.compression="STORE",s="string");var _=null;_=t instanceof l||t instanceof r?t:h.isNode&&h.isStream(t)?new d(e,t):i.prepareContent(e,t,c.binary,c.optimizedBinaryString,c.base64);var y=new u(e,_,c);this.files[e]=y},p=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return t>0?e.substring(0,t):""},f=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},m=function(e,t){return t=void 0!==t?t:a.createFolders,e=f(e),this.files[e]||g.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function _(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var y={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,o,n;for(t in this.files)this.files.hasOwnProperty(t)&&(n=this.files[t],(o=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(o,n))},filter:function(e){var t=[];return this.forEach((function(o,n){e(o,n)&&t.push(n)})),t},file:function(e,t,o){if(1===arguments.length){if(_(e)){var n=e;return this.filter((function(e,t){return!t.dir&&n.test(e)}))}var i=this.files[this.root+e];return i&&!i.dir?i:null}return(e=this.root+e,g.call(this,e,t,o),this)},folder:function(e){if(!e)return this;if(_(e))return this.filter((function(t,o){return o.dir&&e.test(t)}));var t=this.root+e,o=m.call(this,t),n=this.clone();return n.root=o.name,n},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var o=this.filter((function(t,o){return o.name.slice(0,e.length)===e})),n=0;n0?s-4:s;for(o=0;o>16&255,l[c++]=t>>8&255,l[c++]=255&t;2===a&&(t=i[e.charCodeAt(o)]<<2|i[e.charCodeAt(o+1)]>>4,l[c++]=255&t);1===a&&(t=i[e.charCodeAt(o)]<<10|i[e.charCodeAt(o+1)]<<4|i[e.charCodeAt(o+2)]>>2,l[c++]=t>>8&255,l[c++]=255&t);return l},t.fromByteArray=function(e){for(var t,o=e.length,i=o%3,r=[],s=0,a=o-i;sa?a:s+16383));1===i?(t=e[o-1],r.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[o-2]<<8)+e[o-1],r.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return r.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=s.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var o=e.indexOf("=");return-1===o&&(o=t),[o,o===t?0:4-o%4]}function c(e,t,o){for(var i,r,s=[],a=t;a>18&63]+n[r>>12&63]+n[r>>6&63]+n[63&r]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,o,n,i){var r,s,a=8*i-n-1,l=(1<>1,c=-7,h=o?i-1:0,d=o?-1:1,g=e[t+h];for(h+=d,r=g&(1<<-c)-1,g>>=-c,c+=a;c>0;r=256*r+e[t+h],h+=d,c-=8);for(s=r&(1<<-c)-1,r>>=-c,c+=n;c>0;s=256*s+e[t+h],h+=d,c-=8);if(0===r)r=1-u;else{if(r===l)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),r-=u}return(g?-1:1)*s*Math.pow(2,r-n)},t.write=function(e,t,o,n,i,r){var s,a,l,u=8*r-i-1,c=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:r-1,p=n?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=c?(a=0,s=c):s+h>=1?(a=(t*l-1)*Math.pow(2,i),s+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;e[o+g]=255&a,g+=p,a/=256,i-=8);for(s=s<0;e[o+g]=255&s,g+=p,s/=256,u-=8);e[o+g-p]|=128*f}},function(e,t,o){e.exports=i;var n=o(214).EventEmitter;function i(){n.call(this)}o(147)(i,n),i.Readable=o(215),i.Writable=o(338),i.Duplex=o(339),i.Transform=o(340),i.PassThrough=o(341),i.Stream=i,i.prototype.pipe=function(e,t){var o=this;function i(t){e.writable&&!1===e.write(t)&&o.pause&&o.pause()}function r(){o.readable&&o.resume&&o.resume()}o.on("data",i),e.on("drain",r),e._isStdio||t&&!1===t.end||(o.on("end",a),o.on("close",l));var s=!1;function a(){s||(s=!0,e.end())}function l(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===n.listenerCount(this,"error"))throw e}function c(){o.removeListener("data",i),e.removeListener("drain",r),o.removeListener("end",a),o.removeListener("close",l),o.removeListener("error",u),e.removeListener("error",u),o.removeListener("end",c),o.removeListener("close",c),e.removeListener("close",c)}return o.on("error",u),e.on("error",u),o.on("end",c),o.on("close",c),e.on("close",c),e.emit("pipe",o),e}},function(e,t){},function(e,t,o){"use strict";var n=o(181).Buffer,i=o(334);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,o=""+t.data;t=t.next;)o+=e+t.data;return o},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t,o,i,r=n.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,o=r,i=a,t.copy(o,i),a+=s.data.length,s=s.next;return r},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,o){(function(e,t){!function(e,o){"use strict";if(!e.setImmediate){var n,i,r,s,a,l=1,u={},c=!1,h=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?n=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,o=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=o,t}}()?e.MessageChannel?((r=new MessageChannel).port1.onmessage=function(e){p(e.data)},n=function(e){r.port2.postMessage(e)}):h&&"onreadystatechange"in h.createElement("script")?(i=h.documentElement,n=function(e){var t=h.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):n=function(e){setTimeout(p,0,e)}:(s="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&p(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),n=function(t){e.postMessage(s+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),o=0;o0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var o=n.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(o!==u)throw new Error(s[o]);if(t.header&&n.deflateSetHeader(this.strm,t.header),t.dictionary){var p;if(p="string"==typeof t.dictionary?r.string2buf(t.dictionary):"[object ArrayBuffer]"===l.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(o=n.deflateSetDictionary(this.strm,p))!==u)throw new Error(s[o]);this._dict_set=!0}}function p(e,t){var o=new g(t);if(o.push(e,!0),o.err)throw o.msg||s[o.err];return o.result}g.prototype.push=function(e,t){var o,s,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=r.string2buf(e):"[object ArrayBuffer]"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new i.Buf8(c),a.next_out=0,a.avail_out=c),1!==(o=n.deflate(a,s))&&o!==u)return this.onEnd(o),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(r.buf2binstring(i.shrinkBuf(a.output,a.next_out))):this.onData(i.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||0===a.avail_out)&&1!==o);return 4===s?(o=n.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===u):2!==s||(this.onEnd(u),a.avail_out=0,!0)},g.prototype.onData=function(e){this.chunks.push(e)},g.prototype.onEnd=function(e){e===u&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Deflate=g,t.deflate=p,t.deflateRaw=function(e,t){return(t=t||{}).raw=!0,p(e,t)},t.gzip=function(e,t){return(t=t||{}).gzip=!0,p(e,t)}},function(e,t,o){"use strict";var n,i=o(128),r=o(353),s=o(281),a=o(282),l=o(219),u=0,c=1,h=3,d=4,g=5,p=0,f=1,m=-2,_=-3,y=-5,v=-1,b=1,E=2,C=3,S=4,T=0,w=2,k=8,O=9,R=15,N=8,I=286,L=30,D=19,A=2*I+1,P=15,x=3,M=258,B=M+x+1,F=32,H=42,U=69,V=73,W=91,j=103,G=113,z=666,K=1,Y=2,X=3,q=4,$=3;function J(e,t){return e.msg=l[t],t}function Z(e){return(e<<1)-(e>4?9:0)}function Q(e){for(var t=e.length;--t>=0;)e[t]=0}function ee(e){var t=e.state,o=t.pending;o>e.avail_out&&(o=e.avail_out),0!==o&&(i.arraySet(e.output,t.pending_buf,t.pending_out,o,e.next_out),e.next_out+=o,t.pending_out+=o,e.total_out+=o,e.avail_out-=o,t.pending-=o,0===t.pending&&(t.pending_out=0))}function te(e,t){r._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ee(e.strm)}function oe(e,t){e.pending_buf[e.pending++]=t}function ne(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ie(e,t){var o,n,i=e.max_chain_length,r=e.strstart,s=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-B?e.strstart-(e.w_size-B):0,u=e.window,c=e.w_mask,h=e.prev,d=e.strstart+M,g=u[r+s-1],p=u[r+s];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(u[(o=t)+s]===p&&u[o+s-1]===g&&u[o]===u[r]&&u[++o]===u[r+1]){r+=2,o++;do{}while(u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&rs){if(e.match_start=t,s=n,n>=a)break;g=u[r+s-1],p=u[r+s]}}}while((t=h[t&c])>l&&0!=--i);return s<=e.lookahead?s:e.lookahead}function re(e){var t,o,n,r,l,u,c,h,d,g,p=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=p+(p-B)){i.arraySet(e.window,e.window,p,p,0),e.match_start-=p,e.strstart-=p,e.block_start-=p,t=o=e.hash_size;do{n=e.head[--t],e.head[t]=n>=p?n-p:0}while(--o);t=o=p;do{n=e.prev[--t],e.prev[t]=n>=p?n-p:0}while(--o);r+=p}if(0===e.strm.avail_in)break;if(u=e.strm,c=e.window,h=e.strstart+e.lookahead,d=r,g=void 0,(g=u.avail_in)>d&&(g=d),o=0===g?0:(u.avail_in-=g,i.arraySet(c,u.input,u.next_in,g,h),1===u.state.wrap?u.adler=s(u.adler,c,g,h):2===u.state.wrap&&(u.adler=a(u.adler,c,g,h)),u.next_in+=g,u.total_in+=g,g),e.lookahead+=o,e.lookahead+e.insert>=x)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x)if(n=r._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-x,n=r._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<15&&(a=2,n-=16),r<1||r>O||o!==k||n<8||n>15||t<0||t>9||s<0||s>S)return J(e,m);8===n&&(n=9);var l=new ue;return e.state=l,l.strm=e,l.wrap=a,l.gzhead=null,l.w_bits=n,l.w_size=1<e.pending_buf_size-5&&(o=e.pending_buf_size-5);;){if(e.lookahead<=1){if(re(e),0===e.lookahead&&t===u)return K;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+o;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,te(e,!1),0===e.strm.avail_out))return K;if(e.strstart-e.block_start>=e.w_size-B&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):(e.strstart>e.block_start&&(te(e,!1),e.strm.avail_out),K)})),new le(4,4,8,4,se),new le(4,5,16,8,se),new le(4,6,32,32,se),new le(4,4,16,16,ae),new le(8,16,32,32,ae),new le(8,16,128,128,ae),new le(8,32,128,256,ae),new le(32,128,258,1024,ae),new le(32,258,258,4096,ae)],t.deflateInit=function(e,t){return de(e,t,k,R,N,T)},t.deflateInit2=de,t.deflateReset=he,t.deflateResetKeep=ce,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?m:(e.state.gzhead=t,p):m},t.deflate=function(e,t){var o,i,s,l;if(!e||!e.state||t>g||t<0)return e?J(e,m):m;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===z&&t!==d)return J(e,0===e.avail_out?y:m);if(i.strm=e,o=i.last_flush,i.last_flush=t,i.status===H)if(2===i.wrap)e.adler=0,oe(i,31),oe(i,139),oe(i,8),i.gzhead?(oe(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),oe(i,255&i.gzhead.time),oe(i,i.gzhead.time>>8&255),oe(i,i.gzhead.time>>16&255),oe(i,i.gzhead.time>>24&255),oe(i,9===i.level?2:i.strategy>=E||i.level<2?4:0),oe(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(oe(i,255&i.gzhead.extra.length),oe(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=a(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=U):(oe(i,0),oe(i,0),oe(i,0),oe(i,0),oe(i,0),oe(i,9===i.level?2:i.strategy>=E||i.level<2?4:0),oe(i,$),i.status=G);else{var _=k+(i.w_bits-8<<4)<<8;_|=(i.strategy>=E||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(_|=F),_+=31-_%31,i.status=G,ne(i,_),0!==i.strstart&&(ne(i,e.adler>>>16),ne(i,65535&e.adler)),e.adler=1}if(i.status===U)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending!==i.pending_buf_size));)oe(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=V)}else i.status=V;if(i.status===V)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindexs&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.gzindex=0,i.status=W)}else i.status=W;if(i.status===W)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindexs&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.status=j)}else i.status=j;if(i.status===j&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&ee(e),i.pending+2<=i.pending_buf_size&&(oe(i,255&e.adler),oe(i,e.adler>>8&255),e.adler=0,i.status=G)):i.status=G),0!==i.pending){if(ee(e),0===e.avail_out)return i.last_flush=-1,p}else if(0===e.avail_in&&Z(t)<=Z(o)&&t!==d)return J(e,y);if(i.status===z&&0!==e.avail_in)return J(e,y);if(0!==e.avail_in||0!==i.lookahead||t!==u&&i.status!==z){var v=i.strategy===E?function(e,t){for(var o;;){if(0===e.lookahead&&(re(e),0===e.lookahead)){if(t===u)return K;break}if(e.match_length=0,o=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,o&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}(i,t):i.strategy===C?function(e,t){for(var o,n,i,s,a=e.window;;){if(e.lookahead<=M){if(re(e),e.lookahead<=M&&t===u)return K;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&e.strstart>0&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+M;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(o=r._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(o=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),o&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}(i,t):n[i.level].func(i,t);if(v!==X&&v!==q||(i.status=z),v===K||v===X)return 0===e.avail_out&&(i.last_flush=-1),p;if(v===Y&&(t===c?r._tr_align(i):t!==g&&(r._tr_stored_block(i,0,0,!1),t===h&&(Q(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),ee(e),0===e.avail_out))return i.last_flush=-1,p}return t!==d?p:i.wrap<=0?f:(2===i.wrap?(oe(i,255&e.adler),oe(i,e.adler>>8&255),oe(i,e.adler>>16&255),oe(i,e.adler>>24&255),oe(i,255&e.total_in),oe(i,e.total_in>>8&255),oe(i,e.total_in>>16&255),oe(i,e.total_in>>24&255)):(ne(i,e.adler>>>16),ne(i,65535&e.adler)),ee(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?p:f)},t.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==H&&t!==U&&t!==V&&t!==W&&t!==j&&t!==G&&t!==z?J(e,m):(e.state=null,t===G?J(e,_):p):m},t.deflateSetDictionary=function(e,t){var o,n,r,a,l,u,c,h,d=t.length;if(!e||!e.state)return m;if(2===(a=(o=e.state).wrap)||1===a&&o.status!==H||o.lookahead)return m;for(1===a&&(e.adler=s(e.adler,t,d,0)),o.wrap=0,d>=o.w_size&&(0===a&&(Q(o.head),o.strstart=0,o.block_start=0,o.insert=0),h=new i.Buf8(o.w_size),i.arraySet(h,t,d-o.w_size,o.w_size,0),t=h,d=o.w_size),l=e.avail_in,u=e.next_in,c=e.input,e.avail_in=d,e.next_in=0,e.input=t,re(o);o.lookahead>=x;){n=o.strstart,r=o.lookahead-(x-1);do{o.ins_h=(o.ins_h<=0;)e[t]=0}var u=0,c=1,h=2,d=29,g=256,p=g+1+d,f=30,m=19,_=2*p+1,y=15,v=16,b=7,E=256,C=16,S=17,T=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],O=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],R=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],N=new Array(2*(p+2));l(N);var I=new Array(2*f);l(I);var L=new Array(512);l(L);var D=new Array(256);l(D);var A=new Array(d);l(A);var P,x,M,B=new Array(f);function F(e,t,o,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=o,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function H(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function U(e){return e<256?L[e]:L[256+(e>>>7)]}function V(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function W(e,t,o){e.bi_valid>v-o?(e.bi_buf|=t<>v-e.bi_valid,e.bi_valid+=o-v):(e.bi_buf|=t<>>=1,o<<=1}while(--t>0);return o>>>1}function z(e,t,o){var n,i,r=new Array(y+1),s=0;for(n=1;n<=y;n++)r[n]=s=s+o[n-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=G(r[a]++,a))}}function K(e){var t;for(t=0;t8?V(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function X(e,t,o,n){var i=2*t,r=2*o;return e[i]>1;o>=1;o--)q(e,r,o);i=l;do{o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],q(e,r,1),n=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=n,r[2*i]=r[2*o]+r[2*n],e.depth[i]=(e.depth[o]>=e.depth[n]?e.depth[o]:e.depth[n])+1,r[2*o+1]=r[2*n+1]=i,e.heap[1]=i++,q(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var o,n,i,r,s,a,l=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,g=t.stat_desc.extra_base,p=t.stat_desc.max_length,f=0;for(r=0;r<=y;r++)e.bl_count[r]=0;for(l[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<_;o++)(r=l[2*l[2*(n=e.heap[o])+1]+1]+1)>p&&(r=p,f++),l[2*n+1]=r,n>u||(e.bl_count[r]++,s=0,n>=g&&(s=d[n-g]),a=l[2*n],e.opt_len+=a*(r+s),h&&(e.static_len+=a*(c[2*n+1]+s)));if(0!==f){do{for(r=p-1;0===e.bl_count[r];)r--;e.bl_count[r]--,e.bl_count[r+1]+=2,e.bl_count[p]--,f-=2}while(f>0);for(r=p;0!==r;r--)for(n=e.bl_count[r];0!==n;)(i=e.heap[--o])>u||(l[2*i+1]!==r&&(e.opt_len+=(r-l[2*i+1])*l[2*i],l[2*i+1]=r),n--)}}(e,t),z(r,u,e.bl_count)}function Z(e,t,o){var n,i,r=-1,s=t[1],a=0,l=7,u=4;for(0===s&&(l=138,u=3),t[2*(o+1)+1]=65535,n=0;n<=o;n++)i=s,s=t[2*(n+1)+1],++a>=7;n0?(e.strm.data_type===a&&(e.strm.data_type=function(e){var t,o=4093624447;for(t=0;t<=31;t++,o>>>=1)if(1&o&&0!==e.dyn_ltree[2*t])return r;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return s;for(t=32;t=3&&0===e.bl_tree[2*R[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),l=e.opt_len+3+7>>>3,(u=e.static_len+3+7>>>3)<=l&&(l=u)):l=u=o+5,o+4<=l&&-1!==t?te(e,t,o,n):e.strategy===i||u===l?(W(e,(c<<1)+(n?1:0),3),$(e,N,I)):(W(e,(h<<1)+(n?1:0),3),function(e,t,o,n){var i;for(W(e,t-257,5),W(e,o-1,5),W(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&o,e.last_lit++,0===t?e.dyn_ltree[2*o]++:(e.matches++,t--,e.dyn_ltree[2*(D[o]+g+1)]++,e.dyn_dtree[2*U(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){W(e,c<<1,3),j(e,E,N),function(e){16===e.bi_valid?(V(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},function(e,t,o){"use strict";var n=o(355),i=o(128),r=o(283),s=o(285),a=o(219),l=o(284),u=o(358),c=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var o=n.inflateInit2(this.strm,t.windowBits);if(o!==s.Z_OK)throw new Error(a[o]);if(this.header=new u,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=r.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(o=n.inflateSetDictionary(this.strm,t.dictionary))!==s.Z_OK))throw new Error(a[o])}function d(e,t){var o=new h(t);if(o.push(e,!0),o.err)throw o.msg||a[o.err];return o.result}h.prototype.push=function(e,t){var o,a,l,u,h,d=this.strm,g=this.options.chunkSize,p=this.options.dictionary,f=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?d.input=r.binstring2buf(e):"[object ArrayBuffer]"===c.call(e)?d.input=new Uint8Array(e):d.input=e,d.next_in=0,d.avail_in=d.input.length;do{if(0===d.avail_out&&(d.output=new i.Buf8(g),d.next_out=0,d.avail_out=g),(o=n.inflate(d,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&p&&(o=n.inflateSetDictionary(this.strm,p)),o===s.Z_BUF_ERROR&&!0===f&&(o=s.Z_OK,f=!1),o!==s.Z_STREAM_END&&o!==s.Z_OK)return this.onEnd(o),this.ended=!0,!1;d.next_out&&(0!==d.avail_out&&o!==s.Z_STREAM_END&&(0!==d.avail_in||a!==s.Z_FINISH&&a!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(l=r.utf8border(d.output,d.next_out),u=d.next_out-l,h=r.buf2string(d.output,l),d.next_out=u,d.avail_out=g-u,u&&i.arraySet(d.output,d.output,l,u,0),this.onData(h)):this.onData(i.shrinkBuf(d.output,d.next_out)))),0===d.avail_in&&0===d.avail_out&&(f=!0)}while((d.avail_in>0||0===d.avail_out)&&o!==s.Z_STREAM_END);return o===s.Z_STREAM_END&&(a=s.Z_FINISH),a===s.Z_FINISH?(o=n.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===s.Z_OK):a!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),d.avail_out=0,!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Inflate=h,t.inflate=d,t.inflateRaw=function(e,t){return(t=t||{}).raw=!0,d(e,t)},t.ungzip=d},function(e,t,o){"use strict";var n=o(128),i=o(281),r=o(282),s=o(356),a=o(357),l=0,u=1,c=2,h=4,d=5,g=6,p=0,f=1,m=2,_=-2,y=-3,v=-4,b=-5,E=8,C=1,S=2,T=3,w=4,k=5,O=6,R=7,N=8,I=9,L=10,D=11,A=12,P=13,x=14,M=15,B=16,F=17,H=18,U=19,V=20,W=21,j=22,G=23,z=24,K=25,Y=26,X=27,q=28,$=29,J=30,Z=31,Q=32,ee=852,te=592,oe=15;function ne(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function ie(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function re(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=C,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(ee),t.distcode=t.distdyn=new n.Buf32(te),t.sane=1,t.back=-1,p):_}function se(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,re(e)):_}function ae(e,t){var o,n;return e&&e.state?(n=e.state,t<0?(o=0,t=-t):(o=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=o,n.wbits=t,se(e))):_}function le(e,t){var o,n;return e?(n=new ie,e.state=n,n.window=null,(o=ae(e,t))!==p&&(e.state=null),o):_}var ue,ce,he=!0;function de(e){if(he){var t;for(ue=new n.Buf32(512),ce=new n.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(u,e.lens,0,288,ue,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(c,e.lens,0,32,ce,0,e.work,{bits:5}),he=!1}e.lencode=ue,e.lenbits=9,e.distcode=ce,e.distbits=5}function ge(e,t,o,i){var r,s=e.state;return null===s.window&&(s.wsize=1<=s.wsize?(n.arraySet(s.window,t,o-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((r=s.wsize-s.wnext)>i&&(r=i),n.arraySet(s.window,t,o-i,r,s.wnext),(i-=r)?(n.arraySet(s.window,t,o-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=r,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,o.check=r(o.check,Oe,2,0),ae=0,le=0,o.mode=S;break}if(o.flags=0,o.head&&(o.head.done=!1),!(1&o.wrap)||(((255&ae)<<8)+(ae>>8))%31){e.msg="incorrect header check",o.mode=J;break}if((15&ae)!==E){e.msg="unknown compression method",o.mode=J;break}if(le-=4,Ce=8+(15&(ae>>>=4)),0===o.wbits)o.wbits=Ce;else if(Ce>o.wbits){e.msg="invalid window size",o.mode=J;break}o.dmax=1<>8&1),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0,o.mode=T;case T:for(;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<>>8&255,Oe[2]=ae>>>16&255,Oe[3]=ae>>>24&255,o.check=r(o.check,Oe,4,0)),ae=0,le=0,o.mode=w;case w:for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<>8),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0,o.mode=k;case k:if(1024&o.flags){for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0}else o.head&&(o.head.extra=null);o.mode=O;case O:if(1024&o.flags&&((he=o.length)>re&&(he=re),he&&(o.head&&(Ce=o.head.extra_len-o.length,o.head.extra||(o.head.extra=new Array(o.head.extra_len)),n.arraySet(o.head.extra,ee,oe,he,Ce)),512&o.flags&&(o.check=r(o.check,ee,he,oe)),re-=he,oe+=he,o.length-=he),o.length))break e;o.length=0,o.mode=R;case R:if(2048&o.flags){if(0===re)break e;he=0;do{Ce=ee[oe+he++],o.head&&Ce&&o.length<65536&&(o.head.name+=String.fromCharCode(Ce))}while(Ce&&he>9&1,o.head.done=!0),e.adler=o.check=0,o.mode=A;break;case L:for(;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<>>=7&le,le-=7&le,o.mode=X;break}for(;le<3;){if(0===re)break e;re--,ae+=ee[oe++]<>>=1)){case 0:o.mode=x;break;case 1:if(de(o),o.mode=V,t===g){ae>>>=2,le-=2;break e}break;case 2:o.mode=F;break;case 3:e.msg="invalid block type",o.mode=J}ae>>>=2,le-=2;break;case x:for(ae>>>=7&le,le-=7≤le<32;){if(0===re)break e;re--,ae+=ee[oe++]<>>16^65535)){e.msg="invalid stored block lengths",o.mode=J;break}if(o.length=65535&ae,ae=0,le=0,o.mode=M,t===g)break e;case M:o.mode=B;case B:if(he=o.length){if(he>re&&(he=re),he>se&&(he=se),0===he)break e;n.arraySet(te,ee,oe,he,ie),re-=he,oe+=he,se-=he,ie+=he,o.length-=he;break}o.mode=A;break;case F:for(;le<14;){if(0===re)break e;re--,ae+=ee[oe++]<>>=5,le-=5,o.ndist=1+(31&ae),ae>>>=5,le-=5,o.ncode=4+(15&ae),ae>>>=4,le-=4,o.nlen>286||o.ndist>30){e.msg="too many length or distance symbols",o.mode=J;break}o.have=0,o.mode=H;case H:for(;o.have>>=3,le-=3}for(;o.have<19;)o.lens[Re[o.have++]]=0;if(o.lencode=o.lendyn,o.lenbits=7,Te={bits:o.lenbits},Se=a(l,o.lens,0,19,o.lencode,0,o.work,Te),o.lenbits=Te.bits,Se){e.msg="invalid code lengths set",o.mode=J;break}o.have=0,o.mode=U;case U:for(;o.have>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<>>=me,le-=me,o.lens[o.have++]=ye;else{if(16===ye){for(we=me+2;le>>=me,le-=me,0===o.have){e.msg="invalid bit length repeat",o.mode=J;break}Ce=o.lens[o.have-1],he=3+(3&ae),ae>>>=2,le-=2}else if(17===ye){for(we=me+3;le>>=me)),ae>>>=3,le-=3}else{for(we=me+7;le>>=me)),ae>>>=7,le-=7}if(o.have+he>o.nlen+o.ndist){e.msg="invalid bit length repeat",o.mode=J;break}for(;he--;)o.lens[o.have++]=Ce}}if(o.mode===J)break;if(0===o.lens[256]){e.msg="invalid code -- missing end-of-block",o.mode=J;break}if(o.lenbits=9,Te={bits:o.lenbits},Se=a(u,o.lens,0,o.nlen,o.lencode,0,o.work,Te),o.lenbits=Te.bits,Se){e.msg="invalid literal/lengths set",o.mode=J;break}if(o.distbits=6,o.distcode=o.distdyn,Te={bits:o.distbits},Se=a(c,o.lens,o.nlen,o.ndist,o.distcode,0,o.work,Te),o.distbits=Te.bits,Se){e.msg="invalid distances set",o.mode=J;break}if(o.mode=V,t===g)break e;case V:o.mode=W;case W:if(re>=6&&se>=258){e.next_out=ie,e.avail_out=se,e.next_in=oe,e.avail_in=re,o.hold=ae,o.bits=le,s(e,ce),ie=e.next_out,te=e.output,se=e.avail_out,oe=e.next_in,ee=e.input,re=e.avail_in,ae=o.hold,le=o.bits,o.mode===A&&(o.back=-1);break}for(o.back=0;_e=(ke=o.lencode[ae&(1<>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<>ve)])>>>16&255,ye=65535&ke,!(ve+(me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<>>=ve,le-=ve,o.back+=ve}if(ae>>>=me,le-=me,o.back+=me,o.length=ye,0===_e){o.mode=Y;break}if(32&_e){o.back=-1,o.mode=A;break}if(64&_e){e.msg="invalid literal/length code",o.mode=J;break}o.extra=15&_e,o.mode=j;case j:if(o.extra){for(we=o.extra;le>>=o.extra,le-=o.extra,o.back+=o.extra}o.was=o.length,o.mode=G;case G:for(;_e=(ke=o.distcode[ae&(1<>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<>ve)])>>>16&255,ye=65535&ke,!(ve+(me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<>>=ve,le-=ve,o.back+=ve}if(ae>>>=me,le-=me,o.back+=me,64&_e){e.msg="invalid distance code",o.mode=J;break}o.offset=ye,o.extra=15&_e,o.mode=z;case z:if(o.extra){for(we=o.extra;le>>=o.extra,le-=o.extra,o.back+=o.extra}if(o.offset>o.dmax){e.msg="invalid distance too far back",o.mode=J;break}o.mode=K;case K:if(0===se)break e;if(he=ce-se,o.offset>he){if((he=o.offset-he)>o.whave&&o.sane){e.msg="invalid distance too far back",o.mode=J;break}he>o.wnext?(he-=o.wnext,pe=o.wsize-he):pe=o.wnext-he,he>o.length&&(he=o.length),fe=o.window}else fe=te,pe=ie-o.offset,he=o.length;he>se&&(he=se),se-=he,o.length-=he;do{te[ie++]=fe[pe++]}while(--he);0===o.length&&(o.mode=W);break;case Y:if(0===se)break e;te[ie++]=o.length,se--,o.mode=W;break;case X:if(o.wrap){for(;le<32;){if(0===re)break e;re--,ae|=ee[oe++]<>>=b=v>>>24,p-=b,0===(b=v>>>16&255))k[r++]=65535&v;else{if(!(16&b)){if(0==(64&b)){v=f[(65535&v)+(g&(1<>>=b,p-=b),p<15&&(g+=w[n++]<>>=b=v>>>24,p-=b,!(16&(b=v>>>16&255))){if(0==(64&b)){v=m[(65535&v)+(g&(1<l){e.msg="invalid distance too far back",o.mode=30;break e}if(g>>>=b,p-=b,C>(b=r-s)){if((b=C-b)>c&&o.sane){e.msg="invalid distance too far back",o.mode=30;break e}if(S=0,T=d,0===h){if(S+=u-b,b2;)k[r++]=T[S++],k[r++]=T[S++],k[r++]=T[S++],E-=3;E&&(k[r++]=T[S++],E>1&&(k[r++]=T[S++]))}else{S=r-C;do{k[r++]=k[S++],k[r++]=k[S++],k[r++]=k[S++],E-=3}while(E>2);E&&(k[r++]=k[S++],E>1&&(k[r++]=k[S++]))}break}}break}}while(n>3,g&=(1<<(p-=E<<3))-1,e.next_in=n,e.next_out=r,e.avail_in=n=1&&0===x[k];k--);if(O>k&&(O=k),0===k)return u[c++]=20971520,u[c++]=20971520,d.bits=1,0;for(w=1;w0&&(0===e||1!==k))return-1;for(M[1]=0,S=1;S<15;S++)M[S+1]=M[S]+x[S];for(T=0;T852||2===e&&L>592)return 1;for(;;){v=S-N,h[T]y?(b=B[F+h[T]],E=A[P+h[T]]):(b=96,E=0),g=1<>N)+(p-=g)]=v<<24|b<<16|E|0}while(0!==p);for(g=1<>=1;if(0!==g?(D&=g-1,D+=g):D=0,T++,0==--x[S]){if(S===k)break;S=t[o+h[T]]}if(S>O&&(D&m)!==f){for(0===N&&(N=O),_+=w,I=1<<(R=S-N);R+N852||2===e&&L>592)return 1;u[f=D&m]=O<<24|R<<16|_-c|0}}return 0!==D&&(u[_+D]=S-N<<24|64<<16|0),d.bits=O,0}},function(e,t,o){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},function(e,t,o){"use strict";var n=o(65),i=o(100),r=o(146),s=o(218),a=o(286),l=function(e,t){var o,n="";for(o=0;o>>=8;return n},u=function(e,t,o,i,u,c){var h,d,g=e.file,p=e.compression,f=c!==r.utf8encode,m=n.transformTo("string",c(g.name)),_=n.transformTo("string",r.utf8encode(g.name)),y=g.comment,v=n.transformTo("string",c(y)),b=n.transformTo("string",r.utf8encode(y)),E=_.length!==g.name.length,C=b.length!==y.length,S="",T="",w="",k=g.dir,O=g.date,R={crc32:0,compressedSize:0,uncompressedSize:0};t&&!o||(R.crc32=e.crc32,R.compressedSize=e.compressedSize,R.uncompressedSize=e.uncompressedSize);var N=0;t&&(N|=8),f||!E&&!C||(N|=2048);var I,L,D,A=0,P=0;k&&(A|=16),"UNIX"===u?(P=798,A|=(I=g.unixPermissions,L=k,D=I,I||(D=L?16893:33204),(65535&D)<<16)):(P=20,A|=63&(g.dosPermissions||0)),h=O.getUTCHours(),h<<=6,h|=O.getUTCMinutes(),h<<=5,h|=O.getUTCSeconds()/2,d=O.getUTCFullYear()-1980,d<<=4,d|=O.getUTCMonth()+1,d<<=5,d|=O.getUTCDate(),E&&(T=l(1,1)+l(s(m),4)+_,S+="up"+l(T.length,2)+T),C&&(w=l(1,1)+l(s(v),4)+b,S+="uc"+l(w.length,2)+w);var x="";return x+="\n\0",x+=l(N,2),x+=p.magic,x+=l(h,2),x+=l(d,2),x+=l(R.crc32,4),x+=l(R.compressedSize,4),x+=l(R.uncompressedSize,4),x+=l(m.length,2),x+=l(S.length,2),{fileRecord:a.LOCAL_FILE_HEADER+x+m+S,dirRecord:a.CENTRAL_FILE_HEADER+l(P,2)+x+l(v.length,2)+"\0\0\0\0"+l(A,4)+l(i,4)+m+S+v}},c=function(e){return a.DATA_DESCRIPTOR+l(e.crc32,4)+l(e.compressedSize,4)+l(e.uncompressedSize,4)};function h(e,t,o,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=o,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}n.inherits(h,i),h.prototype.push=function(e){var t=e.meta.percent||0,o=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:o?(t+100*(o-n-1))/o:100}}))},h.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var o=u(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:o.fileRecord,meta:{percent:0}})}else this.accumulate=!0},h.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,o=u(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(o.dirRecord),t)this.push({data:c(e),meta:{percent:100}});else for(this.push({data:o.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},h.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e0)this.isSignature(t,r.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=l},function(e,t,o){"use strict";var n=o(289);function i(e){n.call(this,e)}o(65).inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(290);function i(e){n.call(this,e)}o(65).inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(287),i=o(65),r=o(217),s=o(218),a=o(146),l=o(280),u=o(127);function c(e,t){this.options=e,this.loadOptions=t}c.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,o;if(e.skip(22),this.fileNameLength=e.readInt(2),o=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(o),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in l)if(l.hasOwnProperty(t)&&l[t].magic===e)return l[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new r(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0===e&&(this.dosPermissions=63&this.externalFileAttributes),3===e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,o,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index=0?{index:n,compiling:!0}:(n=this._compilations.length,this._compilations[n]={schema:e,root:t,baseId:o},{index:n,compiling:!1})}function d(e,t,o){var n=g.call(this,e,t,o);n>=0&&this._compilations.splice(n,1)}function g(e,t,o){for(var n=0;n1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,f=String.fromCharCode;function m(e){throw new RangeError(g[e])}function _(e,t){var o=e.split("@"),n="";o.length>1&&(n=o[0]+"@",e=o[1]);var i=function(e,t){for(var o=[],n=e.length;n--;)o[n]=t(e[n]);return o}((e=e.replace(d,".")).split("."),t).join(".");return n+i}function y(e){for(var t=[],o=0,n=e.length;o=55296&&i<=56319&&o>1,e+=p(e/t);e>455;n+=36)e=p(e/35);return p(n+36*e/(e+38))},E=function(e){var t,o=[],n=e.length,i=0,r=128,s=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var l=0;l=128&&m("not-basic"),o.push(e.charCodeAt(l));for(var c=a>0?a+1:0;c=n&&m("invalid-input");var f=(t=e.charCodeAt(c++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:36;(f>=36||f>p((u-i)/d))&&m("overflow"),i+=f*d;var _=g<=s?1:g>=s+26?26:g-s;if(f<_)break;var y=36-_;d>p(u/y)&&m("overflow"),d*=y}var v=o.length+1;s=b(i-h,v,0==h),p(i/v)>u-r&&m("overflow"),r+=p(i/v),i%=v,o.splice(i++,0,r)}return String.fromCodePoint.apply(String,o)},C=function(e){var t=[],o=(e=y(e)).length,n=128,i=0,r=72,s=!0,a=!1,l=void 0;try{for(var c,h=e[Symbol.iterator]();!(s=(c=h.next()).done);s=!0){var d=c.value;d<128&&t.push(f(d))}}catch(e){a=!0,l=e}finally{try{!s&&h.return&&h.return()}finally{if(a)throw l}}var g=t.length,_=g;for(g&&t.push("-");_=n&&Op((u-i)/R)&&m("overflow"),i+=(E-n)*R,n=E;var N=!0,I=!1,L=void 0;try{for(var D,A=e[Symbol.iterator]();!(N=(D=A.next()).done);N=!0){var P=D.value;if(Pu&&m("overflow"),P==n){for(var x=i,M=36;;M+=36){var B=M<=r?1:M>=r+26?26:M-r;if(x>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function k(e){for(var t="",o=0,n=e.length;o=194&&i<224){if(n-o>=6){var r=parseInt(e.substr(o+4,2),16);t+=String.fromCharCode((31&i)<<6|63&r)}else t+=e.substr(o,6);o+=6}else if(i>=224){if(n-o>=9){var s=parseInt(e.substr(o+4,2),16),a=parseInt(e.substr(o+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}else t+=e.substr(o,9);o+=9}else t+=e.substr(o,3),o+=3}return t}function O(e,t){function o(e){var o=k(e);return o.match(t.UNRESERVED)?o:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,o).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,o).replace(t.NOT_USERINFO,w).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,o).toLowerCase().replace(t.NOT_HOST,w).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,o).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,w).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,o).replace(t.NOT_QUERY,w).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,o).replace(t.NOT_FRAGMENT,w).replace(t.PCT_ENCODED,i)),e}function R(e){return e.replace(/^0*(.*)/,"$1")||"0"}function N(e,t){var o=e.match(t.IPV4ADDRESS)||[],n=l(o,2)[1];return n?n.split(".").map(R).join("."):e}function I(e,t){var o=e.match(t.IPV6ADDRESS)||[],n=l(o,3),i=n[1],r=n[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),a=l(s,2),u=a[0],c=a[1],h=c?c.split(":").map(R):[],d=u.split(":").map(R),g=t.IPV4ADDRESS.test(d[d.length-1]),p=g?7:8,f=d.length-p,m=Array(p),_=0;_1){var b=m.slice(0,y.index),E=m.slice(y.index+y.length);v=b.join(":")+"::"+E.join(":")}else v=m.join(":");return r&&(v+="%"+r),v}return e}var L=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,D=void 0==="".match(/(){0}/)[1];function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o={},n=!1!==t.iri?a:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(L);if(i){D?(o.scheme=i[1],o.userinfo=i[3],o.host=i[4],o.port=parseInt(i[5],10),o.path=i[6]||"",o.query=i[7],o.fragment=i[8],isNaN(o.port)&&(o.port=i[5])):(o.scheme=i[1]||void 0,o.userinfo=-1!==e.indexOf("@")?i[3]:void 0,o.host=-1!==e.indexOf("//")?i[4]:void 0,o.port=parseInt(i[5],10),o.path=i[6]||"",o.query=-1!==e.indexOf("?")?i[7]:void 0,o.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(o.port)&&(o.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),o.host&&(o.host=I(N(o.host,n),n)),void 0!==o.scheme||void 0!==o.userinfo||void 0!==o.host||void 0!==o.port||o.path||void 0!==o.query?void 0===o.scheme?o.reference="relative":void 0===o.fragment?o.reference="absolute":o.reference="uri":o.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==o.reference&&(o.error=o.error||"URI is not a "+t.reference+" reference.");var r=T[(t.scheme||o.scheme||"").toLowerCase()];if(t.unicodeSupport||r&&r.unicodeSupport)O(o,n);else{if(o.host&&(t.domainHost||r&&r.domainHost))try{o.host=S.toASCII(o.host.replace(n.PCT_ENCODED,k).toLowerCase())}catch(e){o.error=o.error||"Host's domain name can not be converted to ASCII via punycode: "+e}O(o,s)}r&&r.parse&&r.parse(o,t)}else o.error=o.error||"URI can not be parsed.";return o}var P=/^\.\.?\//,x=/^\/\.(\/|$)/,M=/^\/\.\.(\/|$)/,B=/^\/?(?:.|\n)*?(?=\/|$)/;function F(e){for(var t=[];e.length;)if(e.match(P))e=e.replace(P,"");else if(e.match(x))e=e.replace(x,"/");else if(e.match(M))e=e.replace(M,"/"),t.pop();else if("."===e||".."===e)e="";else{var o=e.match(B);if(!o)throw new Error("Unexpected dot segment condition");var n=o[0];e=e.slice(n.length),t.push(n)}return t.join("")}function H(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t.iri?a:s,n=[],i=T[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(o.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?S.toUnicode(e.host):S.toASCII(e.host.replace(o.PCT_ENCODED,k).toLowerCase())}catch(o){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+o}O(e,o),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var r=function(e,t){var o=!1!==t.iri?a:s,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(I(N(String(e.host),o),o).replace(o.IPV6ADDRESS,(function(e,t,o){return"["+t+(o?"%25"+o:"")+"]"}))),"number"==typeof e.port&&(n.push(":"),n.push(e.port.toString(10))),n.length?n.join(""):void 0}(e,t);if(void 0!==r&&("suffix"!==t.reference&&n.push("//"),n.push(r),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var l=e.path;t.absolutePath||i&&i.absolutePath||(l=F(l)),void 0===r&&(l=l.replace(/^\/\//,"/%2F")),n.push(l)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function U(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=A(H(e,o),o),t=A(H(t,o),o)),!(o=o||{}).tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(t.path?("/"===t.path.charAt(0)?n.path=F(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path:n.path="/"+t.path,n.path=F(n.path)),n.query=t.query):(n.path=e.path,void 0!==t.query?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function V(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:s.PCT_ENCODED,k)}var W={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){return e.port!==("https"!==String(e.scheme).toLowerCase()?80:443)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},j={scheme:"https",domainHost:W.domainHost,parse:W.parse,serialize:W.serialize},G={},z="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",K="[0-9A-Fa-f]",Y=o(o("%[EFef][0-9A-Fa-f]%"+K+K+"%"+K+K)+"|"+o("%[89A-Fa-f][0-9A-Fa-f]%"+K+K)+"|"+o("%"+K+K)),X=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),q=new RegExp(z,"g"),$=new RegExp(Y,"g"),J=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',X),"g"),Z=new RegExp(t("[^]",z,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),Q=Z;function ee(e){var t=k(e);return t.match(q)?t:e}var te={scheme:"mailto",parse:function(e,t){var o=e,n=o.to=o.path?o.path.split(","):[];if(o.path=void 0,o.query){for(var i=!1,r={},s=o.query.split("&"),a=0,l=s.length;a=55296&&t<=56319&&i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,c=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,g=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,p=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function f(e){return e="full"==e?"full":"fast",n.copy(f[e])}function m(e){var t=e.match(i);if(!t)return!1;var o=+t[1],n=+t[2],s=+t[3];return n>=1&&n<=12&&s>=1&&s<=(2==n&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(o)?29:r[n])}function _(e,t){var o=e.match(s);if(!o)return!1;var n=o[1],i=o[2],r=o[3],a=o[5];return(n<=23&&i<=59&&r<=59||23==n&&59==i&&60==r)&&(!t||a)}e.exports=f,f.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":u,url:c,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:E,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":g,"relative-json-pointer":p},f.full={date:m,time:_,"date-time":function(e){var t=e.split(y);return 2==t.length&&m(t[0])&&_(t[1],!0)},uri:function(e){return v.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":u,url:c,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:function(e){return e.length<=255&&a.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:E,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":g,"relative-json-pointer":p};var y=/t|\s/i;var v=/\/|:/;var b=/[^\\]\\Z/;function E(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},function(e,t,o){"use strict";var n=o(373),i=o(149).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=i(t),e.types=i(["number","integer","string","array","object","boolean","null"]),e.forEach((function(o){o.rules=o.rules.map((function(o){var i;if("object"==typeof o){var r=Object.keys(o)[0];i=o[r],o=r,i.forEach((function(o){t.push(o),e.all[o]=!0}))}return t.push(o),e.all[o]={keyword:o,code:n[o],implements:i}})),e.all.$comment={keyword:"$comment",code:n.$comment},o.type&&(e.types[o.type]=o)})),e.keywords=i(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},function(e,t,o){"use strict";e.exports={$ref:o(374),allOf:o(375),anyOf:o(376),$comment:o(377),const:o(378),contains:o(379),dependencies:o(380),enum:o(381),format:o(382),if:o(383),items:o(384),maximum:o(294),minimum:o(294),maxItems:o(295),minItems:o(295),maxLength:o(296),minLength:o(296),maxProperties:o(297),minProperties:o(297),multipleOf:o(385),not:o(386),oneOf:o(387),pattern:o(388),properties:o(389),propertyNames:o(390),required:o(391),uniqueItems:o(392),validate:o(293)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i,r=" ",s=e.level,a=e.dataLevel,l=e.schema[t],u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(a||""),d="valid"+s;if("#"==l||"#/"==l)e.isRoot?(n=e.async,i="validate"):(n=!0===e.root.schema.$async,i="root.refVal[0]");else{var g=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===g){var p=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(p),(y=y||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(r+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(r+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),r+=" } "):r+=" {} ";var f=r;r=y.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+f+"]); ":r+=" validate.errors = ["+f+"]; return false; ":r+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(r+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,l,p);e.logger.warn(p),c&&(r+=" if (true) { ")}}else if(g.inline){var m=e.util.copy(e);m.level++;var _="valid"+m.level;m.schema=g.schema,m.schemaPath="",m.errSchemaPath=l,r+=" "+e.validate(m).replace(/validate\.schema/g,g.code)+" ",c&&(r+=" if ("+_+") { ")}else n=!0===g.$async||e.async&&!1!==g.$async,i=g.code}if(i){var y;(y=y||[]).push(r),r="",e.opts.passContext?r+=" "+i+".call(this, ":r+=" "+i+"( ",r+=" "+h+", (dataPath || '')",'""'!=e.errorPath&&(r+=" + "+e.errorPath);var v=r+=" , "+(a?"data"+(a-1||""):"parentData")+" , "+(a?e.dataPathArr[a]:"parentDataProperty")+", rootData) ";if(r=y.pop(),n){if(!e.async)throw new Error("async schema referenced by sync schema");c&&(r+=" var "+d+"; "),r+=" try { await "+v+"; ",c&&(r+=" "+d+" = true; "),r+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",c&&(r+=" "+d+" = false; "),r+=" } ",c&&(r+=" if ("+d+") { ")}else r+=" if (!"+v+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",c&&(r+=" else { ")}return r}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.schema[t],r=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,a=!e.opts.allErrors,l=e.util.copy(e),u="";l.level++;var c="valid"+l.level,h=l.baseId,d=!0,g=i;if(g)for(var p,f=-1,m=g.length-1;f0:e.util.schemaHasRules(p,e.RULES.all))&&(d=!1,l.schema=p,l.schemaPath=r+"["+f+"]",l.errSchemaPath=s+"/"+f,n+=" "+e.validate(l)+" ",l.baseId=h,a&&(n+=" if ("+c+") { ",u+="}"));return a&&(n+=d?" if (true) { ":" "+u.slice(0,-1)+" "),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level;if(s.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}))){var m=g.baseId;n+=" var "+d+" = errors; var "+h+" = false; ";var _=e.compositeRule;e.compositeRule=g.compositeRule=!0;var y=s;if(y)for(var v,b=-1,E=y.length-1;b0:e.util.schemaHasRules(s,e.RULES.all);if(n+="var "+d+" = errors;var "+h+";",v){var b=e.compositeRule;e.compositeRule=g.compositeRule=!0,g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+=" var "+p+" = false; for (var "+f+" = 0; "+f+" < "+c+".length; "+f+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);var E=c+"["+f+"]";g.dataPathArr[m]=f;var C=e.validate(g);g.baseId=y,e.util.varOccurences(C,_)<2?n+=" "+e.util.varReplace(C,_,E)+" ":n+=" var "+_+" = "+E+"; "+C+" ",n+=" if ("+p+") break; } ",e.compositeRule=g.compositeRule=b,n+=" if (!"+p+") {"}else n+=" if ("+c+".length == 0) {";var S=S||[];S.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should contain a valid item' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var T=n;return n=S.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",v&&(n+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } "),e.opts.allErrors&&(n+=" } "),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e),g="";d.level++;var p="valid"+d.level,f={},m={},_=e.opts.ownProperties;for(E in s){var y=s[E],v=Array.isArray(y)?m:f;v[E]=y}n+="var "+h+" = errors;";var b=e.errorPath;for(var E in n+="var missing"+i+";",m)if((v=m[E]).length){if(n+=" if ( "+c+e.util.getProperty(E)+" !== undefined ",_&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(E)+"') "),u){n+=" && ( ";var C=v;if(C)for(var S=-1,T=C.length-1;S0:e.util.schemaHasRules(y,e.RULES.all))&&(n+=" "+p+" = true; if ( "+c+e.util.getProperty(E)+" !== undefined ",_&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(E)+"') "),n+=") { ",d.schema=y,d.schemaPath=a+e.util.getProperty(E),d.errSchemaPath=l+"/"+e.util.escapeFragment(E),n+=" "+e.validate(d)+" ",d.baseId=x,n+=" } ",u&&(n+=" if ("+p+") { ",g+="}"))}return u&&(n+=" "+g+" if ("+h+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d=e.opts.$data&&s&&s.$data;d&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; ");var g="i"+i,p="schema"+i;d||(n+=" var "+p+" = validate.schema"+a+";"),n+="var "+h+";",d&&(n+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),n+=h+" = false;for (var "+g+"=0; "+g+"<"+p+".length; "+g+"++) if (equal("+c+", "+p+"["+g+"])) { "+h+" = true; break; }",d&&(n+=" } "),n+=" if (!"+h+") { ";var f=f||[];f.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var m=n;return n=f.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",u&&(n+=" else { "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||"");if(!1===e.opts.format)return u&&(n+=" if (true) { "),n;var h,d=e.opts.$data&&s&&s.$data;d?(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; ",h="schema"+i):h=s;var g=e.opts.unknownFormats,p=Array.isArray(g);if(d){n+=" var "+(f="format"+i)+" = formats["+h+"]; var "+(m="isObject"+i)+" = typeof "+f+" == 'object' && !("+f+" instanceof RegExp) && "+f+".validate; var "+(_="formatType"+i)+" = "+m+" && "+f+".type || 'string'; if ("+m+") { ",e.async&&(n+=" var async"+i+" = "+f+".async; "),n+=" "+f+" = "+f+".validate; } if ( ",d&&(n+=" ("+h+" !== undefined && typeof "+h+" != 'string') || "),n+=" (","ignore"!=g&&(n+=" ("+h+" && !"+f+" ",p&&(n+=" && self._opts.unknownFormats.indexOf("+h+") == -1 "),n+=") || "),n+=" ("+f+" && "+_+" == '"+o+"' && !(typeof "+f+" == 'function' ? ",e.async?n+=" (async"+i+" ? await "+f+"("+c+") : "+f+"("+c+")) ":n+=" "+f+"("+c+") ",n+=" : "+f+".test("+c+"))))) {"}else{var f;if(!(f=e.formats[s])){if("ignore"==g)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),u&&(n+=" if (true) { "),n;if(p&&g.indexOf(s)>=0)return u&&(n+=" if (true) { "),n;throw new Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"')}var m,_=(m="object"==typeof f&&!(f instanceof RegExp)&&f.validate)&&f.type||"string";if(m){var y=!0===f.async;f=f.validate}if(_!=o)return u&&(n+=" if (true) { "),n;if(y){if(!e.async)throw new Error("async format in sync schema");n+=" if (!(await "+(v="formats"+e.util.getProperty(s)+".validate")+"("+c+"))) { "}else{n+=" if (! ";var v="formats"+e.util.getProperty(s);m&&(v+=".validate"),n+="function"==typeof f?" "+v+"("+c+") ":" "+v+".test("+c+") ",n+=") { "}}var b=b||[];b.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",n+=d?""+h:""+e.util.toQuotedString(s),n+=" } ",!1!==e.opts.messages&&(n+=" , message: 'should match format \"",n+=d?"' + "+h+" + '":""+e.util.escapeQuotes(s),n+="\"' "),e.opts.verbose&&(n+=" , schema: ",n+=d?"validate.schema"+a:""+e.util.toQuotedString(s),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var E=n;return n=b.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",u&&(n+=" else { "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e);g.level++;var p="valid"+g.level,f=e.schema.then,m=e.schema.else,_=void 0!==f&&(e.opts.strictKeywords?"object"==typeof f&&Object.keys(f).length>0:e.util.schemaHasRules(f,e.RULES.all)),y=void 0!==m&&(e.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0:e.util.schemaHasRules(m,e.RULES.all)),v=g.baseId;if(_||y){var b;g.createErrors=!1,g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+=" var "+d+" = errors; var "+h+" = true; ";var E=e.compositeRule;e.compositeRule=g.compositeRule=!0,n+=" "+e.validate(g)+" ",g.baseId=v,g.createErrors=!0,n+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.compositeRule=g.compositeRule=E,_?(n+=" if ("+p+") { ",g.schema=e.schema.then,g.schemaPath=e.schemaPath+".then",g.errSchemaPath=e.errSchemaPath+"/then",n+=" "+e.validate(g)+" ",g.baseId=v,n+=" "+h+" = "+p+"; ",_&&y?n+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",n+=" } ",y&&(n+=" else { ")):n+=" if (!"+p+") { ",y&&(g.schema=e.schema.else,g.schemaPath=e.schemaPath+".else",g.errSchemaPath=e.errSchemaPath+"/else",n+=" "+e.validate(g)+" ",g.baseId=v,n+=" "+h+" = "+p+"; ",_&&y?n+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",n+=" } "),n+=" if (!"+h+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } ",u&&(n+=" else { "),n=e.util.cleanUpCode(n)}else u&&(n+=" if (true) { ");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level,m="i"+i,_=g.dataLevel=e.dataLevel+1,y="data"+_,v=e.baseId;if(n+="var "+d+" = errors;var "+h+";",Array.isArray(s)){var b=e.schema.additionalItems;if(!1===b){n+=" "+h+" = "+c+".length <= "+s.length+"; ";var E=l;l=e.errSchemaPath+"/additionalItems",n+=" if (!"+h+") { ";var C=C||[];C.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var S=n;n=C.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+S+"]); ":n+=" validate.errors = ["+S+"]; return false; ":n+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l=E,u&&(p+="}",n+=" else { ")}var T=s;if(T)for(var w,k=-1,O=T.length-1;k0:e.util.schemaHasRules(w,e.RULES.all)){n+=" "+f+" = true; if ("+c+".length > "+k+") { ";var R=c+"["+k+"]";g.schema=w,g.schemaPath=a+"["+k+"]",g.errSchemaPath=l+"/"+k,g.errorPath=e.util.getPathExpr(e.errorPath,k,e.opts.jsonPointers,!0),g.dataPathArr[_]=k;var N=e.validate(g);g.baseId=v,e.util.varOccurences(N,y)<2?n+=" "+e.util.varReplace(N,y,R)+" ":n+=" var "+y+" = "+R+"; "+N+" ",n+=" } ",u&&(n+=" if ("+f+") { ",p+="}")}if("object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))){g.schema=b,g.schemaPath=e.schemaPath+".additionalItems",g.errSchemaPath=e.errSchemaPath+"/additionalItems",n+=" "+f+" = true; if ("+c+".length > "+s.length+") { for (var "+m+" = "+s.length+"; "+m+" < "+c+".length; "+m+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);R=c+"["+m+"]";g.dataPathArr[_]=m;N=e.validate(g);g.baseId=v,e.util.varOccurences(N,y)<2?n+=" "+e.util.varReplace(N,y,R)+" ":n+=" var "+y+" = "+R+"; "+N+" ",u&&(n+=" if (!"+f+") break; "),n+=" } } ",u&&(n+=" if ("+f+") { ",p+="}")}}else if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+=" for (var "+m+" = 0; "+m+" < "+c+".length; "+m+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);R=c+"["+m+"]";g.dataPathArr[_]=m;N=e.validate(g);g.baseId=v,e.util.varOccurences(N,y)<2?n+=" "+e.util.varReplace(N,y,R)+" ":n+=" var "+y+" = "+R+"; "+N+" ",u&&(n+=" if (!"+f+") break; "),n+=" }"}return u&&(n+=" "+p+" if ("+d+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="var division"+r+";if (",d&&(i+=" "+n+" !== undefined && ( typeof "+n+" != 'number' || "),i+=" (division"+r+" = "+h+" / "+n+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+r+") - division"+r+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+r+" !== parseInt(division"+r+") ",i+=" ) ",d&&(i+=" ) "),i+=" ) { ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=d?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var p=i;return i=g.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e);d.level++;var g="valid"+d.level;if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){d.schema=s,d.schemaPath=a,d.errSchemaPath=l,n+=" var "+h+" = errors; ";var p,f=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1,d.opts.allErrors&&(p=d.opts.allErrors,d.opts.allErrors=!1),n+=" "+e.validate(d)+" ",d.createErrors=!0,p&&(d.opts.allErrors=p),e.compositeRule=d.compositeRule=f,n+=" if ("+g+") { ";var m=m||[];m.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var _=n;n=m.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } ")}else n+=" var err = ",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(n+=" if (false) { ");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level,m=g.baseId,_="prevValid"+i,y="passingSchemas"+i;n+="var "+d+" = errors , "+_+" = false , "+h+" = false , "+y+" = null; ";var v=e.compositeRule;e.compositeRule=g.compositeRule=!0;var b=s;if(b)for(var E,C=-1,S=b.length-1;C0:e.util.schemaHasRules(E,e.RULES.all))?(g.schema=E,g.schemaPath=a+"["+C+"]",g.errSchemaPath=l+"/"+C,n+=" "+e.validate(g)+" ",g.baseId=m):n+=" var "+f+" = true; ",C&&(n+=" if ("+f+" && "+_+") { "+h+" = false; "+y+" = ["+y+", "+C+"]; } else { ",p+="}"),n+=" if ("+f+") { "+h+" = "+_+" = true; "+y+" = "+C+"; }";return e.compositeRule=g.compositeRule=v,n+=p+"if (!"+h+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+y+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+="} else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }",e.opts.allErrors&&(n+=" } "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'string') || "),i+=" !"+(d?"(new RegExp("+n+"))":e.usePattern(a))+".test("+h+") ) { ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",i+=d?""+n:""+e.util.toQuotedString(a),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=d?"' + "+n+" + '":""+e.util.escapeQuotes(a),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=d?"validate.schema"+l:""+e.util.toQuotedString(a),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var p=i;return i=g.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e),g="";d.level++;var p="valid"+d.level,f="key"+i,m="idx"+i,_=d.dataLevel=e.dataLevel+1,y="data"+_,v="dataProperties"+i,b=Object.keys(s||{}),E=e.schema.patternProperties||{},C=Object.keys(E),S=e.schema.additionalProperties,T=b.length||C.length,w=!1===S,k="object"==typeof S&&Object.keys(S).length,O=e.opts.removeAdditional,R=w||k||O,N=e.opts.ownProperties,I=e.baseId,L=e.schema.required;if(L&&(!e.opts.$data||!L.$data)&&L.length8)n+=" || validate.schema"+a+".hasOwnProperty("+f+") ";else{var A=b;if(A)for(var P=-1,x=A.length-1;P0:e.util.schemaHasRules(J,e.RULES.all)){var Z=e.util.getProperty(X),Q=(G=c+Z,K&&void 0!==J.default);d.schema=J,d.schemaPath=a+Z,d.errSchemaPath=l+"/"+e.util.escapeFragment(X),d.errorPath=e.util.getPath(e.errorPath,X,e.opts.jsonPointers),d.dataPathArr[_]=e.util.toQuotedString(X);z=e.validate(d);if(d.baseId=I,e.util.varOccurences(z,y)<2){z=e.util.varReplace(z,y,G);var ee=G}else{ee=y;n+=" var "+y+" = "+G+"; "}if(Q)n+=" "+z+" ";else{if(D&&D[X]){n+=" if ( "+ee+" === undefined ",N&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=") { "+p+" = false; ";H=e.errorPath,V=l;var te,oe=e.util.escapeQuotes(X);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(H,X,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+oe+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+oe+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";W=n;n=te.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+W+"]); ":n+=" validate.errors = ["+W+"]; return false; ":n+=" var err = "+W+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=V,e.errorPath=H,n+=" } else { "}else u?(n+=" if ( "+ee+" === undefined ",N&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=") { "+p+" = true; } else { "):(n+=" if ("+ee+" !== undefined ",N&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=" ) { ");n+=" "+z+" } "}}u&&(n+=" if ("+p+") { ",g+="}")}}if(C.length){var ne=C;if(ne)for(var ie,re=-1,se=ne.length-1;re0:e.util.schemaHasRules(J,e.RULES.all)){d.schema=J,d.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ie),d.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ie),n+=N?" "+v+" = "+v+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+f+" = "+v+"["+m+"]; ":" for (var "+f+" in "+c+") { ",n+=" if ("+e.usePattern(ie)+".test("+f+")) { ",d.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);G=c+"["+f+"]";d.dataPathArr[_]=f;z=e.validate(d);d.baseId=I,e.util.varOccurences(z,y)<2?n+=" "+e.util.varReplace(z,y,G)+" ":n+=" var "+y+" = "+G+"; "+z+" ",u&&(n+=" if (!"+p+") break; "),n+=" } ",u&&(n+=" else "+p+" = true; "),n+=" } ",u&&(n+=" if ("+p+") { ",g+="}")}}}return u&&(n+=" "+g+" if ("+h+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e);d.level++;var g="valid"+d.level;if(n+="var "+h+" = errors;",e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){d.schema=s,d.schemaPath=a,d.errSchemaPath=l;var p="key"+i,f="idx"+i,m="i"+i,_="' + "+p+" + '",y="data"+(d.dataLevel=e.dataLevel+1),v="dataProperties"+i,b=e.opts.ownProperties,E=e.baseId;b&&(n+=" var "+v+" = undefined; "),n+=b?" "+v+" = "+v+" || Object.keys("+c+"); for (var "+f+"=0; "+f+"<"+v+".length; "+f+"++) { var "+p+" = "+v+"["+f+"]; ":" for (var "+p+" in "+c+") { ",n+=" var startErrs"+i+" = errors; ";var C=p,S=e.compositeRule;e.compositeRule=d.compositeRule=!0;var T=e.validate(d);d.baseId=E,e.util.varOccurences(T,y)<2?n+=" "+e.util.varReplace(T,y,C)+" ":n+=" var "+y+" = "+C+"; "+T+" ",e.compositeRule=d.compositeRule=S,n+=" if (!"+g+") { for (var "+m+"=startErrs"+i+"; "+m+"0:e.util.schemaHasRules(v,e.RULES.all))||(p[p.length]=m)}}else p=s;if(d||p.length){var b=e.errorPath,E=d||p.length>=e.opts.loopRequired,C=e.opts.ownProperties;if(u)if(n+=" var missing"+i+"; ",E){d||(n+=" var "+g+" = validate.schema"+a+"; ");var S="' + "+(N="schema"+i+"["+(k="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,N,e.opts.jsonPointers)),n+=" var "+h+" = true; ",d&&(n+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),n+=" for (var "+k+" = 0; "+k+" < "+g+".length; "+k+"++) { "+h+" = "+c+"["+g+"["+k+"]] !== undefined ",C&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", "+g+"["+k+"]) "),n+="; if (!"+h+") break; } ",d&&(n+=" } "),n+=" if (!"+h+") { ",(R=R||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var T=n;n=R.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else{n+=" if ( ";var w=p;if(w)for(var k=-1,O=w.length-1;k 1) { ";var p=e.schema.items&&e.schema.items.type,f=Array.isArray(p);if(!p||"object"==p||"array"==p||f&&(p.indexOf("object")>=0||p.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+d+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ";var m="checkDataType"+(f?"s":"");i+=" if ("+e.util[m](p,"item",!0)+") continue; ",f&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+d+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",g&&(i+=" } "),i+=" if (!"+d+") { ";var _=_||[];_.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=g?"validate.schema"+l:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var y=i;i=_.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+y+"]); ":i+=" validate.errors = ["+y+"]; return false; ":i+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { ")}else c&&(i+=" if (true) { ");return i}},function(e,t,o){"use strict";var n=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,t){for(var o=0;o=i?e:n(e,t,o)}},function(e,t){e.exports=function(e,t,o){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(o=o>i?i:o)<0&&(o+=i),i=t>o?0:o-t>>>0,t>>>=0;for(var r=Array(i);++n{o=e});return new Promise((i,r)=>{let u=s.createServer(e=>{u.close(),o([new a.SocketMessageReader(e,t),new l.SocketMessageWriter(e,t)])});u.on("error",r),u.listen(e,()=>{u.removeListener("error",r),i({onConnected:()=>n})})})},t.createServerPipeTransport=function(e,t="utf-8"){const o=s.createConnection(e);return[new a.SocketMessageReader(o,t),new l.SocketMessageWriter(o,t)]}}).call(this,o(108))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(150),i=o(245),r=o(246);t.createClientSocketTransport=function(e,t="utf-8"){let o,s=new Promise((e,t)=>{o=e});return new Promise((a,l)=>{let u=n.createServer(e=>{u.close(),o([new i.SocketMessageReader(e,t),new r.SocketMessageWriter(e,t)])});u.on("error",l),u.listen(e,"127.0.0.1",()=>{u.removeListener("error",l),a({onConnected:()=>s})})})},t.createServerSocketTransport=function(e,t="utf-8"){const o=n.createConnection(e,"127.0.0.1");return[new i.SocketMessageReader(o,t),new r.SocketMessageWriter(o,t)]}},function(e,t,o){"use strict";var n,i,r,s,a,l,u,c,h,d,g,p,f,m,_,y,v,b,E;o.r(t),o.d(t,"Position",(function(){return n})),o.d(t,"Range",(function(){return i})),o.d(t,"Location",(function(){return r})),o.d(t,"LocationLink",(function(){return s})),o.d(t,"Color",(function(){return a})),o.d(t,"ColorInformation",(function(){return l})),o.d(t,"ColorPresentation",(function(){return u})),o.d(t,"FoldingRangeKind",(function(){return c})),o.d(t,"FoldingRange",(function(){return h})),o.d(t,"DiagnosticRelatedInformation",(function(){return d})),o.d(t,"DiagnosticSeverity",(function(){return g})),o.d(t,"Diagnostic",(function(){return p})),o.d(t,"Command",(function(){return f})),o.d(t,"TextEdit",(function(){return m})),o.d(t,"TextDocumentEdit",(function(){return _})),o.d(t,"CreateFile",(function(){return y})),o.d(t,"RenameFile",(function(){return v})),o.d(t,"DeleteFile",(function(){return b})),o.d(t,"WorkspaceEdit",(function(){return E})),o.d(t,"WorkspaceChange",(function(){return U})),o.d(t,"TextDocumentIdentifier",(function(){return C})),o.d(t,"VersionedTextDocumentIdentifier",(function(){return S})),o.d(t,"TextDocumentItem",(function(){return T})),o.d(t,"MarkupKind",(function(){return w})),o.d(t,"MarkupContent",(function(){return k})),o.d(t,"CompletionItemKind",(function(){return O})),o.d(t,"InsertTextFormat",(function(){return R})),o.d(t,"CompletionItem",(function(){return N})),o.d(t,"CompletionList",(function(){return I})),o.d(t,"MarkedString",(function(){return L})),o.d(t,"Hover",(function(){return D})),o.d(t,"ParameterInformation",(function(){return A})),o.d(t,"SignatureInformation",(function(){return P})),o.d(t,"DocumentHighlightKind",(function(){return x})),o.d(t,"DocumentHighlight",(function(){return M})),o.d(t,"SymbolKind",(function(){return B})),o.d(t,"SymbolInformation",(function(){return F})),o.d(t,"DocumentSymbol",(function(){return K})),o.d(t,"CodeActionKind",(function(){return V})),o.d(t,"CodeActionContext",(function(){return W})),o.d(t,"CodeAction",(function(){return j})),o.d(t,"CodeLens",(function(){return G})),o.d(t,"FormattingOptions",(function(){return z})),o.d(t,"DocumentLink",(function(){return Y})),o.d(t,"EOL",(function(){return $})),o.d(t,"TextDocument",(function(){return X})),o.d(t,"TextDocumentSaveReason",(function(){return q})),function(e){e.create=function(e,t){return{line:e,character:t}},e.is=function(e){var t=e;return J.objectLiteral(t)&&J.number(t.line)&&J.number(t.character)}}(n||(n={})),function(e){e.create=function(e,t,o,i){if(J.number(e)&&J.number(t)&&J.number(o)&&J.number(i))return{start:n.create(e,t),end:n.create(o,i)};if(n.is(e)&&n.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+o+", "+i+"]")},e.is=function(e){var t=e;return J.objectLiteral(t)&&n.is(t.start)&&n.is(t.end)}}(i||(i={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&(J.string(t.uri)||J.undefined(t.uri))}}(r||(r={})),function(e){e.create=function(e,t,o,n){return{targetUri:e,targetRange:t,targetSelectionRange:o,originSelectionRange:n}},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.targetRange)&&J.string(t.targetUri)&&(i.is(t.targetSelectionRange)||J.undefined(t.targetSelectionRange))&&(i.is(t.originSelectionRange)||J.undefined(t.originSelectionRange))}}(s||(s={})),function(e){e.create=function(e,t,o,n){return{red:e,green:t,blue:o,alpha:n}},e.is=function(e){var t=e;return J.number(t.red)&&J.number(t.green)&&J.number(t.blue)&&J.number(t.alpha)}}(a||(a={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return i.is(t.range)&&a.is(t.color)}}(l||(l={})),function(e){e.create=function(e,t,o){return{label:e,textEdit:t,additionalTextEdits:o}},e.is=function(e){var t=e;return J.string(t.label)&&(J.undefined(t.textEdit)||m.is(t))&&(J.undefined(t.additionalTextEdits)||J.typedArray(t.additionalTextEdits,m.is))}}(u||(u={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(c||(c={})),function(e){e.create=function(e,t,o,n,i){var r={startLine:e,endLine:t};return J.defined(o)&&(r.startCharacter=o),J.defined(n)&&(r.endCharacter=n),J.defined(i)&&(r.kind=i),r},e.is=function(e){var t=e;return J.number(t.startLine)&&J.number(t.startLine)&&(J.undefined(t.startCharacter)||J.number(t.startCharacter))&&(J.undefined(t.endCharacter)||J.number(t.endCharacter))&&(J.undefined(t.kind)||J.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return J.defined(t)&&r.is(t.location)&&J.string(t.message)}}(d||(d={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(g||(g={})),function(e){e.create=function(e,t,o,n,i,r){var s={range:e,message:t};return J.defined(o)&&(s.severity=o),J.defined(n)&&(s.code=n),J.defined(i)&&(s.source=i),J.defined(r)&&(s.relatedInformation=r),s},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&J.string(t.message)&&(J.number(t.severity)||J.undefined(t.severity))&&(J.number(t.code)||J.string(t.code)||J.undefined(t.code))&&(J.string(t.source)||J.undefined(t.source))&&(J.undefined(t.relatedInformation)||J.typedArray(t.relatedInformation,d.is))}}(p||(p={})),function(e){e.create=function(e,t){for(var o=[],n=2;n0&&(i.arguments=o),i},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.title)&&J.string(t.command)}}(f||(f={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return J.objectLiteral(t)&&J.string(t.newText)&&i.is(t.range)}}(m||(m={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return J.defined(t)&&S.is(t.textDocument)&&Array.isArray(t.edits)}}(_||(_={})),function(e){e.create=function(e,t){var o={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(o.options=t),o},e.is=function(e){var t=e;return t&&"create"===t.kind&&J.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||J.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||J.boolean(t.options.ignoreIfExists)))}}(y||(y={})),function(e){e.create=function(e,t,o){var n={kind:"rename",oldUri:e,newUri:t};return void 0===o||void 0===o.overwrite&&void 0===o.ignoreIfExists||(n.options=o),n},e.is=function(e){var t=e;return t&&"rename"===t.kind&&J.string(t.oldUri)&&J.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||J.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||J.boolean(t.options.ignoreIfExists)))}}(v||(v={})),function(e){e.create=function(e,t){var o={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(o.options=t),o},e.is=function(e){var t=e;return t&&"delete"===t.kind&&J.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||J.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||J.boolean(t.options.ignoreIfNotExists)))}}(b||(b={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return J.string(e.kind)?y.is(e)||v.is(e)||b.is(e):_.is(e)})))}}(E||(E={}));var C,S,T,w,k,O,R,N,I,L,D,A,P,x,M,B,F,H=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,t){this.edits.push(m.insert(e,t))},e.prototype.replace=function(e,t){this.edits.push(m.replace(e,t))},e.prototype.delete=function(e){this.edits.push(m.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}(),U=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach((function(e){if(_.is(e)){var o=new H(e.edits);t._textEditChanges[e.textDocument.uri]=o}})):e.changes&&Object.keys(e.changes).forEach((function(o){var n=new H(e.changes[o]);t._textEditChanges[o]=n})))}return Object.defineProperty(e.prototype,"edit",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(S.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t=e;if(!(n=this._textEditChanges[t.uri])){var o={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(o),n=new H(i),this._textEditChanges[t.uri]=n}return n}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var n;if(!(n=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,n=new H(i),this._textEditChanges[e]=n}return n},e.prototype.createFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(y.create(e,t))},e.prototype.renameFile=function(e,t,o){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(v.create(e,t,o))},e.prototype.deleteFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(b.create(e,t))},e.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.")},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)}}(C||(C={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)&&(null===t.version||J.number(t.version))}}(S||(S={})),function(e){e.create=function(e,t,o,n){return{uri:e,languageId:t,version:o,text:n}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)&&J.string(t.languageId)&&J.number(t.version)&&J.string(t.text)}}(T||(T={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(w||(w={})),function(e){e.is=function(t){var o=t;return o===e.PlainText||o===e.Markdown}}(w||(w={})),function(e){e.is=function(e){var t=e;return J.objectLiteral(e)&&w.is(t.kind)&&J.string(t.value)}}(k||(k={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(O||(O={})),function(e){e.PlainText=1,e.Snippet=2}(R||(R={})),function(e){e.create=function(e){return{label:e}}}(N||(N={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(I||(I={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return J.string(t)||J.objectLiteral(t)&&J.string(t.language)&&J.string(t.value)}}(L||(L={})),function(e){e.is=function(e){var t=e;return!!t&&J.objectLiteral(t)&&(k.is(t.contents)||L.is(t.contents)||J.typedArray(t.contents,L.is))&&(void 0===e.range||i.is(e.range))}}(D||(D={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(A||(A={})),function(e){e.create=function(e,t){for(var o=[],n=2;n=0;r--){var s=n[r],a=e.offsetAt(s.range.start),l=e.offsetAt(s.range.end);if(!(l<=i))throw new Error("Overlapping edit");o=o.substring(0,a)+s.newText+o.substring(l,o.length),i=a}return o}}(X||(X={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(q||(q={}));var J,Z=function(){function e(e,t,o,n){this._uri=e,this._languageId=t,this._version=o,this._content=n,this._lineOffsets=null}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),o=this.offsetAt(e.end);return this._content.substring(t,o)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=null},e.prototype.getLineOffsets=function(){if(null===this._lineOffsets){for(var e=[],t=this._content,o=!0,n=0;n0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),o=0,i=t.length;if(0===i)return n.create(0,e);for(;oe?i=r:o=r+1}var s=o-1;return n.create(s,e-t[s])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var o=t[e.line],n=e.line+10)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},s=this&&this.__spread||function(){for(var e=[],t=0;t=0}var a=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//,c=!0;function h(e){var t=c;return c=e,t}var d="",g="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,o,n,i,r){void 0===r&&(r=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return t||c?e||d:(e||(e="file"),e)}(e,r),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==g&&(t=g+t):t=g}return t}(this.scheme,o||d),this.query=n||d,this.fragment=i||d,function(e,t){if(!e.scheme&&(t||c))throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}');if(e.scheme&&!a.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!l.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,r))}return e.isUri=function(t){return t instanceof e||!!t&&("string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"function"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString)},Object.defineProperty(e.prototype,"fsPath",{get:function(){return C(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,o=e.authority,n=e.path,i=e.query,r=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===o?o=this.authority:null===o&&(o=d),void 0===n?n=this.path:null===n&&(n=d),void 0===i?i=this.query:null===i&&(i=d),void 0===r?r=this.fragment:null===r&&(r=d),t===this.scheme&&o===this.authority&&n===this.path&&i===this.query&&r===this.fragment?this:new y(t,o,n,i,r)},e.parse=function(e,t){void 0===t&&(t=!1);var o=p.exec(e);return o?new y(o[2]||d,decodeURIComponent(o[4]||d),decodeURIComponent(o[5]||d),decodeURIComponent(o[7]||d),decodeURIComponent(o[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,g)),e[0]===g&&e[1]===g){var o=e.indexOf(g,2);-1===o?(t=e.substring(2),e=g):(t=e.substring(2,o),e=e.substring(o)||g)}return new y("file",t,e,d,d)},e.from=function(e){return new y(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),S(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var o=new y(t);return o._formatted=t.external,o._fsPath=t._sep===_?t.fsPath:null,o}return t},e}();t.default=f;var m,_=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return r(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=C(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?S(this,!0):(this._formatted||(this._formatted=S(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=_),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),v=((m={})[58]="%3A",m[47]="%2F",m[63]="%3F",m[35]="%23",m[91]="%5B",m[93]="%5D",m[64]="%40",m[33]="%21",m[36]="%24",m[38]="%26",m[39]="%27",m[40]="%28",m[41]="%29",m[42]="%2A",m[43]="%2B",m[44]="%2C",m[59]="%3B",m[61]="%3D",m[32]="%20",m);function b(e,t){for(var o=void 0,n=-1,i=0;i=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r)-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),void 0!==o&&(o+=e.charAt(i));else{void 0===o&&(o=e.substr(0,i));var s=v[r];void 0!==s?(-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),o+=s):-1===n&&(n=i)}}return-1!==n&&(o+=encodeURIComponent(e.substring(n))),void 0!==o?o:e}function E(e){for(var t=void 0,o=0;o1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(t=t.replace(/\//g,"\\")),t}function S(e,t){var o=t?E:b,n="",i=e.scheme,r=e.authority,s=e.path,a=e.query,l=e.fragment;if(i&&(n+=i,n+=":"),(r||"file"===i)&&(n+=g,n+=g),r){var u=r.indexOf("@");if(-1!==u){var c=r.substr(0,u);r=r.substr(u+1),-1===(u=c.indexOf(":"))?n+=o(c,!1):(n+=o(c.substr(0,u),!1),n+=":",n+=o(c.substr(u+1),!1)),n+="@"}-1===(u=(r=r.toLowerCase()).indexOf(":"))?n+=o(r,!1):(n+=o(r.substr(0,u),!1),n+=r.substr(u))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(h=s.charCodeAt(1))>=65&&h<=90&&(s="/"+String.fromCharCode(h+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var h;(h=s.charCodeAt(0))>=65&&h<=90&&(s=String.fromCharCode(h+32)+":"+s.substr(2))}n+=o(s,!0)}return a&&(n+="?",n+=o(a,!1)),l&&(n+="#",n+=t?l:b(l,!1)),n}}.call(this,o(108))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(109),i=o(101),r=o(138),s=o(310),a=o(311),l=o(312);t.createConverter=function(e){var t=e||function(e){return e.toString()};function o(e){return t(e)}function u(e){return{uri:t(e.uri)}}function c(e){return{uri:t(e.uri),version:e.version}}function h(e){switch(e){case n.TextDocumentSaveReason.Manual:return i.TextDocumentSaveReason.Manual;case n.TextDocumentSaveReason.AfterDelay:return i.TextDocumentSaveReason.AfterDelay;case n.TextDocumentSaveReason.FocusOut:return i.TextDocumentSaveReason.FocusOut}return i.TextDocumentSaveReason.Manual}function d(e){switch(e){case n.CompletionTriggerKind.TriggerCharacter:return i.CompletionTriggerKind.TriggerCharacter;case n.CompletionTriggerKind.TriggerForIncompleteCompletions:return i.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return i.CompletionTriggerKind.Invoked}}function g(e){return{line:e.line,character:e.character}}function p(e){if(void 0!==e)return null===e?null:{line:e.line,character:e.character}}function f(e){return null==e?e:{start:p(e.start),end:p(e.end)}}function m(e){switch(e){case n.DiagnosticSeverity.Error:return i.DiagnosticSeverity.Error;case n.DiagnosticSeverity.Warning:return i.DiagnosticSeverity.Warning;case n.DiagnosticSeverity.Information:return i.DiagnosticSeverity.Information;case n.DiagnosticSeverity.Hint:return i.DiagnosticSeverity.Hint}}function _(e){var t=i.Diagnostic.create(f(e.range),e.message);return r.number(e.severity)&&(t.severity=m(e.severity)),(r.number(e.code)||r.string(e.code))&&(t.code=e.code),e.source&&(t.source=e.source),t}function y(e){return null==e?e:e.map(_)}function v(e){return{range:f(e.range),newText:e.newText}}function b(e){var t=i.Command.create(e.title,e.command);return e.arguments&&(t.arguments=e.arguments),t}return{asUri:o,asTextDocumentIdentifier:u,asOpenTextDocumentParams:function(e){return{textDocument:{uri:t(e.uri),languageId:e.languageId,version:e.version,text:e.getText()}}},asChangeTextDocumentParams:function(e){var o;if((o=e).uri&&o.version)return{textDocument:{uri:t(e.uri),version:e.version},contentChanges:[{text:e.getText()}]};if(function(e){var t=e;return!!t.document&&!!t.contentChanges}(e)){var n=e.document;return{textDocument:{uri:t(n.uri),version:n.version},contentChanges:e.contentChanges.map((function(e){var t=e.range;return{range:{start:{line:t.start.line,character:t.start.character},end:{line:t.end.line,character:t.end.character}},rangeLength:e.rangeLength,text:e.text}}))}}throw Error("Unsupported text document change parameter")},asCloseTextDocumentParams:function(e){return{textDocument:u(e)}},asSaveTextDocumentParams:function(e,t){void 0===t&&(t=!1);var o={textDocument:c(e)};return t&&(o.text=e.getText()),o},asWillSaveTextDocumentParams:function(e){return{textDocument:u(e.document),reason:h(e.reason)}},asTextDocumentPositionParams:function(e,t){return{textDocument:u(e),position:g(t)}},asCompletionParams:function(e,t,o){return{textDocument:u(e),position:g(t),context:{triggerKind:d(o.triggerKind),triggerCharacter:o.triggerCharacter}}},asWorkerPosition:g,asRange:f,asPosition:p,asDiagnosticSeverity:m,asDiagnostic:_,asDiagnostics:y,asCompletionItem:function(e){var t,o,a={label:e.label},l=e instanceof s.default?e:void 0;return e.detail&&(a.detail=e.detail),e.documentation&&(l&&"$string"!==l.documentationFormat?a.documentation=function(e,t){switch(e){case"$string":return t;case i.MarkupKind.PlainText:return{kind:e,value:t};case i.MarkupKind.Markdown:return{kind:e,value:t.value};default:return"Unsupported Markup content received. Kind is: "+e}}(l.documentationFormat,e.documentation):a.documentation=e.documentation),e.filterText&&(a.filterText=e.filterText),function(e,t){var o,r=i.InsertTextFormat.PlainText,s=void 0;t.textEdit?(o=t.textEdit.newText,s=f(t.textEdit.range)):t.insertText instanceof n.SnippetString?(r=i.InsertTextFormat.Snippet,o=t.insertText.value):o=t.insertText;t.range&&(s=f(t.range));e.insertTextFormat=r,t.fromEdit&&o&&s?e.textEdit={newText:o,range:s}:e.insertText=o}(a,e),r.number(e.kind)&&(a.kind=(t=e.kind,void 0!==(o=l&&l.originalItemKind)?o:t+1)),e.sortText&&(a.sortText=e.sortText),e.additionalTextEdits&&(a.additionalTextEdits=function(e){if(null==e)return e;return e.map(v)}(e.additionalTextEdits)),e.commitCharacters&&(a.commitCharacters=e.commitCharacters.slice()),e.command&&(a.command=b(e.command)),!0!==e.preselect&&!1!==e.preselect||(a.preselect=e.preselect),l&&(void 0!==l.data&&(a.data=l.data),!0!==l.deprecated&&!1!==l.deprecated||(a.deprecated=l.deprecated)),a},asTextEdit:v,asReferenceParams:function(e,t,o){return{textDocument:u(e),position:g(t),context:{includeDeclaration:o.includeDeclaration}}},asCodeActionContext:function(e){return null==e?e:i.CodeActionContext.create(y(e.diagnostics),r.string(e.only)?[e.only]:void 0)},asCommand:b,asCodeLens:function(e){var t=i.CodeLens.create(f(e.range));return e.command&&(t.command=b(e.command)),e instanceof a.default&&e.data&&(t.data=e.data),t},asFormattingOptions:function(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}},asDocumentSymbolParams:function(e){return{textDocument:u(e)}},asCodeLensParams:function(e){return{textDocument:u(e)}},asDocumentLink:function(e){var t=i.DocumentLink.create(f(e.range));e.target&&(t.target=o(e.target));var n=e instanceof l.default?e:void 0;return n&&n.data&&(t.data=n.data),t},asDocumentLinkParams:function(e){return{textDocument:u(e)}}}}},function(e,t,o){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}},i=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s};Object.defineProperty(t,"__esModule",{value:!0});var r,s=o(109),a=o(101),l=o(138),u=o(310),c=o(311),h=o(312);!function(e){e.is=function(e){var t=e;return t&&l.string(t.language)&&l.string(t.value)}}(r||(r={})),t.createConverter=function(e){var t=e||function(e){return s.Uri.parse(e)};function o(e){return t(e)}function d(e){return e.map(g)}function g(e){var t=new s.Diagnostic(m(e.range),e.message,_(e.severity));return(l.number(e.code)||l.string(e.code))&&(t.code=e.code),e.source&&(t.source=e.source),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(p)),t}function p(e){return new s.DiagnosticRelatedInformation(k(e.location),e.message)}function f(e){if(e)return new s.Position(e.line,e.character)}function m(e){if(e)return new s.Range(f(e.start),f(e.end))}function _(e){if(null==e)return s.DiagnosticSeverity.Error;switch(e){case a.DiagnosticSeverity.Error:return s.DiagnosticSeverity.Error;case a.DiagnosticSeverity.Warning:return s.DiagnosticSeverity.Warning;case a.DiagnosticSeverity.Information:return s.DiagnosticSeverity.Information;case a.DiagnosticSeverity.Hint:return s.DiagnosticSeverity.Hint}return s.DiagnosticSeverity.Error}function y(e){if(l.string(e))return e;switch(e.kind){case a.MarkupKind.Markdown:return new s.MarkdownString(e.value);case a.MarkupKind.PlainText:return e.value;default:return"Unsupported Markup content received. Kind is: "+e.kind}}function v(e){var t=new u.default(e.label);e.detail&&(t.detail=e.detail),e.documentation&&(t.documentation=y(e.documentation),t.documentationFormat=l.string(e.documentation)?"$string":e.documentation.kind),e.filterText&&(t.filterText=e.filterText);var o,n=function(e){return e.textEdit?e.insertTextFormat===a.InsertTextFormat.Snippet?{text:new s.SnippetString(e.textEdit.newText),range:m(e.textEdit.range),fromEdit:!0}:{text:e.textEdit.newText,range:m(e.textEdit.range),fromEdit:!0}:e.insertText?e.insertTextFormat===a.InsertTextFormat.Snippet?{text:new s.SnippetString(e.insertText),fromEdit:!1}:{text:e.insertText,fromEdit:!1}:void 0}(e);if(n&&(t.insertText=n.text,t.range=n.range,t.fromEdit=n.fromEdit),l.number(e.kind)){var r=i((o=e.kind,a.CompletionItemKind.Text<=o&&o<=a.CompletionItemKind.TypeParameter?[o-1,void 0]:[s.CompletionItemKind.Text,o]),2),c=r[0],h=r[1];t.kind=c,h&&(t.originalItemKind=h)}return e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=E(e.additionalTextEdits)),l.stringArray(e.commitCharacters)&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=D(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(t.deprecated=e.deprecated),!0!==e.preselect&&!1!==e.preselect||(t.preselect=e.preselect),void 0!==e.data&&(t.data=e.data),t}function b(e){if(e)return new s.TextEdit(m(e.range),e.newText)}function E(e){if(e)return e.map(b)}function C(e){return e.map(S)}function S(e){var t=new s.SignatureInformation(e.label);return e.documentation&&(t.documentation=y(e.documentation)),e.parameters&&(t.parameters=T(e.parameters)),t}function T(e){return e.map(w)}function w(e){var t=new s.ParameterInformation(e.label);return e.documentation&&(t.documentation=y(e.documentation)),t}function k(e){if(e)return new s.Location(t(e.uri),m(e.range))}function O(e){var t=new s.DocumentHighlight(m(e.range));return l.number(e.kind)&&(t.kind=R(e.kind)),t}function R(e){switch(e){case a.DocumentHighlightKind.Text:return s.DocumentHighlightKind.Text;case a.DocumentHighlightKind.Read:return s.DocumentHighlightKind.Read;case a.DocumentHighlightKind.Write:return s.DocumentHighlightKind.Write}return s.DocumentHighlightKind.Text}function N(e){return e<=a.SymbolKind.TypeParameter?e-1:s.SymbolKind.Property}function I(e,o){var n=new s.SymbolInformation(e.name,N(e.kind),m(e.location.range),e.location.uri?t(e.location.uri):o);return e.containerName&&(n.containerName=e.containerName),n}function L(e){var t,o,i=new s.DocumentSymbol(e.name,void 0!==e.detail?e.detail:e.name,N(e.kind),m(e.range),m(e.selectionRange));if(void 0!==e.children&&e.children.length>0){var r=[];try{for(var a=n(e.children),l=a.next();!l.done;l=a.next()){var u=l.value;r.push(L(u))}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}i.children=r}return i}function D(e){var t={title:e.title,command:e.command};return e.arguments&&(t.arguments=e.arguments),t}var A=new Map;function P(e){if(e){var t=new c.default(m(e.range));return e.command&&(t.command=D(e.command)),void 0!==e.data&&null!==e.data&&(t.data=e.data),t}}function x(e){if(e){var o=new s.WorkspaceEdit;return e.documentChanges?e.documentChanges.forEach((function(e){o.set(t(e.textDocument.uri),E(e.edits))})):e.changes&&Object.keys(e.changes).forEach((function(n){o.set(t(n),E(e.changes[n]))})),o}}function M(e){var t=m(e.range),n=e.target?o(e.target):void 0,i=new h.default(t,n);return void 0!==e.data&&null!==e.data&&(i.data=e.data),i}function B(e){return new s.Color(e.red,e.green,e.blue,e.alpha)}function F(e){return new s.ColorInformation(m(e.range),B(e.color))}function H(e){var t=new s.ColorPresentation(e.label);return t.additionalTextEdits=E(e.additionalTextEdits),e.textEdit&&(t.textEdit=b(e.textEdit)),t}function U(e){if(e)switch(e){case a.FoldingRangeKind.Comment:return s.FoldingRangeKind.Comment;case a.FoldingRangeKind.Imports:return s.FoldingRangeKind.Imports;case a.FoldingRangeKind.Region:return s.FoldingRangeKind.Region}}function V(e){return new s.FoldingRange(e.startLine,e.endLine,U(e.kind))}return A.set("",s.CodeActionKind.Empty),A.set(a.CodeActionKind.QuickFix,s.CodeActionKind.QuickFix),A.set(a.CodeActionKind.Refactor,s.CodeActionKind.Refactor),A.set(a.CodeActionKind.RefactorExtract,s.CodeActionKind.RefactorExtract),A.set(a.CodeActionKind.RefactorInline,s.CodeActionKind.RefactorInline),A.set(a.CodeActionKind.RefactorRewrite,s.CodeActionKind.RefactorRewrite),A.set(a.CodeActionKind.Source,s.CodeActionKind.Source),A.set(a.CodeActionKind.SourceOrganizeImports,s.CodeActionKind.SourceOrganizeImports),{asUri:o,asDiagnostics:d,asDiagnostic:g,asRange:m,asPosition:f,asDiagnosticSeverity:_,asHover:function(e){if(e)return new s.Hover(function(e){var t,o;if(l.string(e))return new s.MarkdownString(e);if(r.is(e))return(i=new s.MarkdownString).appendCodeblock(e.value,e.language);if(Array.isArray(e)){var i=[];try{for(var u=n(e),c=u.next();!c.done;c=u.next()){var h=c.value,d=new s.MarkdownString;r.is(h)?d.appendCodeblock(h.value,h.language):d.appendMarkdown(h),i.push(d)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(o=u.return)&&o.call(u)}finally{if(t)throw t.error}}return i}switch(i=void 0,e.kind){case a.MarkupKind.Markdown:return new s.MarkdownString(e.value);case a.MarkupKind.PlainText:return(i=new s.MarkdownString).appendText(e.value),i;default:return(i=new s.MarkdownString).appendText("Unsupported Markup content received. Kind is: "+e.kind),i}}(e.contents),m(e.range))},asCompletionResult:function(e){if(e){if(Array.isArray(e))return e.map(v);var t=e;return new s.CompletionList(t.items.map(v),t.isIncomplete)}},asCompletionItem:v,asTextEdit:b,asTextEdits:E,asSignatureHelp:function(e){if(e){var t=new s.SignatureHelp;return l.number(e.activeSignature)?t.activeSignature=e.activeSignature:t.activeSignature=0,l.number(e.activeParameter)?t.activeParameter=e.activeParameter:t.activeParameter=0,e.signatures&&(t.signatures=C(e.signatures)),t}},asSignatureInformations:C,asSignatureInformation:S,asParameterInformations:T,asParameterInformation:w,asDefinitionResult:function(e){if(e)return l.array(e)?e.map((function(e){return k(e)})):k(e)},asLocation:k,asReferences:function(e){if(e)return e.map((function(e){return k(e)}))},asDocumentHighlights:function(e){if(e)return e.map(O)},asDocumentHighlight:O,asDocumentHighlightKind:R,asSymbolInformations:function(e,t){if(e)return e.map((function(e){return I(e,t)}))},asSymbolInformation:I,asDocumentSymbols:function(e){if(null!=e)return e.map(L)},asDocumentSymbol:L,asCommand:D,asCommands:function(e){if(e)return e.map(D)},asCodeAction:function(e){if(null!=e){var t=new s.CodeAction(e.title);return void 0!==e.kind&&(t.kind=function(e){var t,o;if(null!=e){var i=A.get(e);if(i)return i;var r=e.split(".");i=s.CodeActionKind.Empty;try{for(var a=n(r),l=a.next();!l.done;l=a.next()){var u=l.value;i=i.append(u)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}return i}}(e.kind)),e.diagnostics&&(t.diagnostics=d(e.diagnostics)),e.edit&&(t.edit=x(e.edit)),e.command&&(t.command=D(e.command)),t}},asCodeLens:P,asCodeLenses:function(e){if(e)return e.map((function(e){return P(e)}))},asWorkspaceEdit:x,asDocumentLink:M,asDocumentLinks:function(e){if(e)return e.map(M)},asFoldingRangeKind:U,asFoldingRange:V,asFoldingRanges:function(e){if(Array.isArray(e))return e.map(V)},asColor:B,asColorInformation:F,asColorInformations:function(e){if(Array.isArray(e))return e.map(F)},asColorPresentation:H,asColorPresentations:function(e){if(Array.isArray(e))return e.map(H)}}}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.defaultDelay=e,this.timeout=void 0,this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0}return e.prototype.trigger=function(e,t){var o=this;return void 0===t&&(t=this.defaultDelay),this.task=e,t>=0&&this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((function(e){o.onSuccess=e})).then((function(){o.completionPromise=void 0,o.onSuccess=void 0;var e=o.task();return o.task=void 0,e}))),(t>=0||void 0===this.timeout)&&(this.timeout=setTimeout((function(){o.timeout=void 0,o.onSuccess(void 0)}),t>=0?t:this.defaultDelay)),this.completionPromise},e.prototype.forceDelivery=function(){if(this.completionPromise){this.cancelTimeout();var e=this.task();return this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0,e}},e.prototype.isTriggered=function(){return void 0!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise=void 0},e.prototype.cancelTimeout=function(){void 0!==this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)},e}();t.Delayer=n},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.TypeDefinitionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"typeDefinition").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.typeDefinitionProvider)if(!0===e.typeDefinitionProvider){if(!t)return;this.register(this.messages,{id:r.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})}else{var o=e.typeDefinitionProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(l.TypeDefinitionRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(l.TypeDefinitionRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return a.languages.registerTypeDefinitionProvider(e.documentSelector,{provideTypeDefinition:function(e,t,i){return n.provideTypeDefinition?n.provideTypeDefinition(e,t,i,o):o(e,t,i)}})},t}(o(151).TextDocumentFeature);t.TypeDefinitionFeature=c},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.ImplementationRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"implementation").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.implementationProvider)if(!0===e.implementationProvider){if(!t)return;this.register(this.messages,{id:r.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})}else{var o=e.implementationProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(l.ImplementationRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(l.ImplementationRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return a.languages.registerImplementationProvider(e.documentSelector,{provideImplementation:function(e,t,i){return n.provideImplementation?n.provideImplementation(e,t,i,o):o(e,t,i)}})},t}(o(151).TextDocumentFeature);t.ImplementationFeature=c},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.DocumentColorRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"colorProvider").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.colorProvider){var o=e.colorProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this,o=this._client,n=function(e,n,i){var r={color:e,textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(n.document),range:o.code2ProtocolConverter.asRange(n.range)};return o.sendRequest(l.ColorPresentationRequest.type,r,i).then(t.asColorPresentations.bind(t),(function(e){return o.logFailedRequest(l.ColorPresentationRequest.type,e),Promise.resolve(null)}))},i=function(e,n){var i={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e)};return o.sendRequest(l.DocumentColorRequest.type,i,n).then(t.asColorInformations.bind(t),(function(e){return o.logFailedRequest(l.ColorPresentationRequest.type,e),Promise.resolve(null)}))},r=o.clientOptions.middleware;return a.languages.registerColorProvider(e.documentSelector,{provideColorPresentations:function(e,t,o){return r.provideColorPresentations?r.provideColorPresentations(e,t,o,n):n(e,t,o)},provideDocumentColors:function(e,t){return r.provideDocumentColors?r.provideDocumentColors(e,t,i):i(e,t)}})},t.prototype.asColor=function(e){return new a.Color(e.red,e.green,e.blue,e.alpha)},t.prototype.asColorInformations=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return new a.ColorInformation(t._client.protocol2CodeConverter.asRange(e.range),t.asColor(e.color))})):[]},t.prototype.asColorPresentations=function(e){var t=this;return Array.isArray(e)?e.map((function(e){var o=new a.ColorPresentation(e.label);return o.additionalTextEdits=t._client.protocol2CodeConverter.asTextEdits(e.additionalTextEdits),o.textEdit=t._client.protocol2CodeConverter.asTextEdit(e.textEdit),o})):[]},t}(o(151).TextDocumentFeature);t.ColorProviderFeature=c},function(e,t,o){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(152),r=o(109),s=o(101);function a(e,t){if(void 0!==e)return e[t]}var l=function(){function e(e){this._client=e,this._listeners=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return s.DidChangeWorkspaceFoldersNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillInitializeParams=function(e){var t=this,o=r.workspace.workspaceFolders;e.workspaceFolders=void 0===o?null:o.map((function(e){return t.asProtocol(e)}))},e.prototype.fillClientCapabilities=function(e){e.workspace=e.workspace||{},e.workspace.workspaceFolders=!0},e.prototype.initialize=function(e){var t=this,o=this._client;o.onRequest(s.WorkspaceFoldersRequest.type,(function(e){var n=function(){var e=r.workspace.workspaceFolders;return void 0===e?null:e.map((function(e){return t.asProtocol(e)}))},i=o.clientOptions.middleware.workspace;return i&&i.workspaceFolders?i.workspaceFolders(e,n):n()}));var n,l=a(a(a(e,"workspace"),"workspaceFolders"),"changeNotifications");"string"==typeof l?n=l:!0===l&&(n=i.generateUuid()),n&&this.register(this.messages,{id:n,registerOptions:void 0})},e.prototype.register=function(e,t){var o=this,n=t.id,i=this._client,a=r.workspace.onDidChangeWorkspaceFolders((function(e){var t=function(e){var t={event:{added:e.added.map((function(e){return o.asProtocol(e)})),removed:e.removed.map((function(e){return o.asProtocol(e)}))}};o._client.sendNotification(s.DidChangeWorkspaceFoldersNotification.type,t)},n=i.clientOptions.middleware.workspace;n&&n.didChangeWorkspaceFolders?n.didChangeWorkspaceFolders(e,t):t(e)}));this._listeners.set(n,a)},e.prototype.unregister=function(e){var t=this._listeners.get(e);void 0!==t&&(this._listeners.delete(e),t.dispose())},e.prototype.dispose=function(){var e,t;try{for(var o=n(this._listeners.values()),i=o.next();!i.done;i=o.next()){i.value.dispose()}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}this._listeners.clear()},e.prototype.asProtocol=function(e){return void 0===e?null:{uri:this._client.code2ProtocolConverter.asUri(e.uri),name:e.name}},e}();t.WorkspaceFoldersFeature=l},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.FoldingRangeRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=u(u(e,"textDocument"),"foldingRange");t.dynamicRegistration=!0,t.rangeLimit=5e3,t.lineFoldingOnly=!0},t.prototype.initialize=function(e,t){if(e.foldingRangeProvider){var o=e.foldingRangeProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this,o=this._client,n=function(e,n,i){var r={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e)};return o.sendRequest(l.FoldingRangeRequest.type,r,i).then(t.asFoldingRanges.bind(t),(function(e){return o.logFailedRequest(l.FoldingRangeRequest.type,e),Promise.resolve(null)}))},i=o.clientOptions.middleware;return a.languages.registerFoldingRangeProvider(e.documentSelector,{provideFoldingRanges:function(e,t,o){return i.provideFoldingRanges?i.provideFoldingRanges(e,t,o,n):n(e,0,o)}})},t.prototype.asFoldingRangeKind=function(e){if(e)switch(e){case l.FoldingRangeKind.Comment:return a.FoldingRangeKind.Comment;case l.FoldingRangeKind.Imports:return a.FoldingRangeKind.Imports;case l.FoldingRangeKind.Region:return a.FoldingRangeKind.Region}},t.prototype.asFoldingRanges=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return new a.FoldingRange(e.startLine,e.endLine,t.asFoldingRangeKind(e.kind))})):[]},t}(o(151).TextDocumentFeature);t.FoldingRangeFeature=c},function(e,t){e.exports=function(e,t){if("string"!=typeof e)throw new TypeError("Expected a string");for(var o,n=String(e),i="",r=!!t&&!!t.extended,s=!!t&&!!t.globstar,a=!1,l=t&&"string"==typeof t.flags?t.flags:"",u=0,c=n.length;u1&&("/"===h||void 0===h)&&("/"===g||void 0===g)?(i+="(?:[^/]*(?:/|$))*",u++):i+="[^/]*";else i+=".*";break;default:i+=o}return l&&~l.indexOf("g")||(i="^"+i+"$"),new RegExp(i,l)}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(185),i=function(){function e(e,t){this.name=e,this.p2m=t,this.diagnostics=new Map,this.toDispose=new n.DisposableCollection}return e.prototype.dispose=function(){this.toDispose.dispose()},e.prototype.get=function(e){var t=this.diagnostics.get(e);return t?t.diagnostics:[]},e.prototype.set=function(e,t){var o=this,i=this.diagnostics.get(e);if(i)i.diagnostics=t;else{var s=new r(e,t,this.name,this.p2m);this.diagnostics.set(e,s),this.toDispose.push(n.Disposable.create((function(){o.diagnostics.delete(e),s.dispose()})))}},e}();t.MonacoDiagnosticCollection=i;var r=function(){function e(e,t,o,n){var i=this;this.owner=o,this.p2m=n,this._markers=[],this._diagnostics=[],this.uri=monaco.Uri.parse(e),this.diagnostics=t,monaco.editor.onDidCreateModel((function(e){return i.doUpdateModelMarkers(e)}))}return Object.defineProperty(e.prototype,"diagnostics",{get:function(){return this._diagnostics},set:function(e){this._diagnostics=e,this._markers=this.p2m.asDiagnostics(e),this.updateModelMarkers()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"markers",{get:function(){return this._markers},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._markers=[],this.updateModelMarkers()},e.prototype.updateModelMarkers=function(){var e=monaco.editor.getModel(this.uri);this.doUpdateModelMarkers(e)},e.prototype.doUpdateModelMarkers=function(e){e&&this.uri.toString()===e.uri.toString()&&monaco.editor.setModelMarkers(e,this.owner,this._markers)},e}();t.MonacoModelDiagnostics=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(317),i=o(313),r=o(315),s=o(316),a=o(314),l=o(121);!function(e){function t(e,t){void 0===t&&(t={});var o=new n.MonacoToProtocolConverter,l=new n.ProtocolToMonacoConverter;return{commands:new i.MonacoCommands(e),languages:new r.MonacoLanguages(l,o),workspace:new s.MonacoWorkspace(l,o,t.rootUri),window:new a.ConsoleWindow}}e.create=t,e.install=function(e,o){void 0===o&&(o={});var n=t(e,o);return l.Services.install(n),n},e.get=function(){return l.Services.get()}}(t.MonacoServices||(t.MonacoServices={}))},function(e,t,o){const n=o(537);n.setLocale=function(e){"function"==typeof e.default?n.Msg=Object.assign(n.Msg,e.default()):n.Msg=Object.assign(e,n.Msg)()},n.setLocale(o(538)),n.Blocks=Object.assign(n.Blocks,o(539)(n)),n.JavaScript=o(540)(n),n.Lua=o(541)(n),n.Dart=o(542)(n),n.PHP=o(543)(n),n.Python=o(544)(n),e.exports=n},function(module,exports){module.exports=function(){"use strict";var $jscomp=$jscomp||{};$jscomp.scope={};var COMPILED=!0,goog=goog||{};goog.global=this||self,goog.isDef=function(e){return void 0!==e},goog.isString=function(e){return"string"==typeof e},goog.isBoolean=function(e){return"boolean"==typeof e},goog.isNumber=function(e){return"number"==typeof e},goog.exportPath_=function(e,t,o){e=e.split("."),o=o||goog.global,e[0]in o||void 0===o.execScript||o.execScript("var "+e[0]);for(var n;e.length&&(n=e.shift());)!e.length&&goog.isDef(t)?o[n]=t:o=o[n]&&o[n]!==Object.prototype[n]?o[n]:o[n]={}},goog.define=function(e,t){var o=t;if(!COMPILED){var n=goog.global.CLOSURE_UNCOMPILED_DEFINES,i=goog.global.CLOSURE_DEFINES;n&&void 0===n.nodeType&&Object.prototype.hasOwnProperty.call(n,e)?o=n[e]:i&&void 0===i.nodeType&&Object.prototype.hasOwnProperty.call(i,e)&&(o=i[e])}return o},goog.FEATURESET_YEAR=2012,goog.DEBUG=!1,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(e){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');goog.constructNamespace_(e)},goog.constructNamespace_=function(e,t){if(!COMPILED){delete goog.implicitNamespaces_[e];for(var o=e;(o=o.substring(0,o.lastIndexOf(".")))&&!goog.getObjectByName(o);)goog.implicitNamespaces_[o]=!0}goog.exportPath_(e,t)},goog.getScriptNonce=function(e){return e&&e!=goog.global?goog.getScriptNonce_(e.document):(null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(e){return(e=e.querySelector&&e.querySelector("script[nonce]"))&&(e=e.nonce||e.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(e)?e:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(e){if(!goog.isString(e)||!e||-1==e.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+e+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");if(goog.moduleLoaderState_.moduleName=e,!COMPILED){if(goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');delete goog.implicitNamespaces_[e]}},goog.module.get=function(e){return goog.module.getInternal_(e)},goog.module.getInternal_=function(e){if(!COMPILED){if(e in goog.loadedModules_)return goog.loadedModules_[e].exports;if(!goog.implicitNamespaces_[e])return null!=(e=goog.getObjectByName(e))?e:null}return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var e=goog.global.$jscomp;return!!e&&("function"==typeof e.getCurrentModulePath&&!!e.getCurrentModulePath())},goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(e){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.declareModuleId may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.declareModuleId may only be called once per module.");if(e in goog.loadedModules_)throw Error('Module with namespace "'+e+'" already exists.')}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=e;else{var t=goog.global.$jscomp;if(!t||"function"!=typeof t.getCurrentModulePath)throw Error('Module with namespace "'+e+'" has been loaded incorrectly.');t=t.require(t.getCurrentModulePath()),goog.loadedModules_[e]={exports:t,type:goog.ModuleType.ES6,moduleId:e}}},goog.setTestOnly=function(e){if(goog.DISALLOW_TEST_ONLY_CODE)throw e=e||"",Error("Importing test-only code into non-debug environment"+(e?": "+e:"."))},goog.forwardDeclare=function(e){},COMPILED||(goog.isProvided_=function(e){return e in goog.loadedModules_||!goog.implicitNamespaces_[e]&&goog.isDefAndNotNull(goog.getObjectByName(e))},goog.implicitNamespaces_={"goog.module":!0}),goog.getObjectByName=function(e,t){for(var o=e.split("."),n=t||goog.global,i=0;i>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(e){var t=goog.typeOf(e);if("object"==t||"array"==t){if("function"==typeof e.clone)return e.clone();for(var o in t="array"==t?[]:{},e)t[o]=goog.cloneObject(e[o]);return t}return e},goog.bindNative_=function(e,t,o){return e.call.apply(e.bind,arguments)},goog.bindJs_=function(e,t,o){if(!e)throw Error();if(2{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')})),a("es7",(function(){return b("2 ** 2 == 4")})),a("es8",(function(){return b("async () => 1, true")})),a("es9",(function(){return b("({...rest} = {}), true")})),a("es_next",(function(){return!1})),{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(e,t){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var o=this.createRequiresTranspilation_();this.requiresTranspilation_=o.map,this.transpilationTarget_=this.transpilationTarget_||o.target}if(e in this.requiresTranspilation_)return!!this.requiresTranspilation_[e]||!(!goog.inHtmlDocument_()||"es6"!=t||"noModule"in goog.global.document.createElement("script"));throw Error("Unknown language mode: "+e)},goog.Transpiler.prototype.transpile=function(e,t){return goog.transpile_(e,t,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(e){return e.replace(/<\/(SCRIPT)/gi,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={},this.idToPath_={},this.written_={},this.loadingDeps_=[],this.depsToLoad_=[],this.paused_=!1,this.factory_=new goog.DependencyFactory(goog.transpiler_),this.deferredCallbacks_={},this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(e,t){function o(){n&&(goog.global.setTimeout(n,0),n=null)}var n=t;if(e.length){for(var i=[],r=0;r<\/script>",t.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}else{var i=t.createElement("script");i.defer=goog.Dependency.defer_,i.async=!1,i.type="text/javascript",(n=goog.getScriptNonce())&&i.setAttribute("nonce",n),goog.DebugLoader_.IS_OLD_IE_?(e.pause(),i.onreadystatechange=function(){"loaded"!=i.readyState&&"complete"!=i.readyState||(e.loaded(),e.resume())}):i.onload=function(){i.onload=null,e.loaded()},i.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path,t.head.appendChild(i)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),e.loaded()):e.pause()},goog.Es6ModuleDependency=function(e,t,o,n,i){goog.Dependency.call(this,e,t,o,n,i)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(e){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?e.loaded():e.pause();else if(goog.inHtmlDocument_()){var t=goog.global.document,o=this;if(goog.isDocumentLoading_()){var n=function(e,o){var n=o?' - \ No newline at end of file diff --git a/shepherd/blueprints/staticroutes/editor/json.worker.js b/shepherd/blueprints/staticroutes/editor/json.worker.js deleted file mode 100644 index 4545cf5..0000000 --- a/shepherd/blueprints/staticroutes/editor/json.worker.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=5)}([function(e,t,n){"use strict";(function(e,r){var i;n.d(t,"a",(function(){return o})),function(){var t=Object.create(null);t["WinJS/Core/_WinJS"]={};var n=function(e,n,r){var i={},o=!1,a=n.map((function(e){return"exports"===e?(o=!0,i):t[e]})),s=r.apply({},a);t[e]=o?i:s};n("WinJS/Core/_Global",[],(function(){return"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0!==e?e:{}})),n("WinJS/Core/_BaseCoreUtils",["WinJS/Core/_Global"],(function(e){var t=!!e.Windows;var n=null;return{hasWinRT:t,markSupportedForProcessing:function(e){return e.supportedForProcessing=!0,e},_setImmediate:function(t){null===n&&(n=e.setImmediate?e.setImmediate.bind(e):void 0!==r&&"function"==typeof r.nextTick?r.nextTick.bind(r):e.setTimeout.bind(e)),n(t)}}})),n("WinJS/Core/_WriteProfilerMark",["WinJS/Core/_Global"],(function(e){return e.msWriteProfilerMark||function(){}})),n("WinJS/Core/_Base",["WinJS/Core/_WinJS","WinJS/Core/_Global","WinJS/Core/_BaseCoreUtils","WinJS/Core/_WriteProfilerMark"],(function(e,t,n,r){function i(e,t,n){var r,i,o,a=Object.keys(t),s=Array.isArray(e);for(i=0,o=a.length;i"),r}n.Namespace||(n.Namespace=Object.create(Object.prototype));var s={uninitialized:1,working:2,initialized:3};Object.defineProperties(n.Namespace,{defineWithParent:{value:a,writable:!0,enumerable:!0,configurable:!0},define:{value:function(e,n){return a(t,e,n)},writable:!0,enumerable:!0,configurable:!0},_lazy:{value:function(e){var t,n,i=s.uninitialized;return{setName:function(e){t=e},get:function(){switch(i){case s.initialized:return n;case s.uninitialized:i=s.working;try{r("WinJS.Namespace._lazy:"+t+",StartTM"),n=e()}finally{r("WinJS.Namespace._lazy:"+t+",StopTM"),i=s.uninitialized}return e=null,i=s.initialized,n;case s.working:throw"Illegal: reentrancy on initialization";default:throw"Illegal"}},set:function(e){switch(i){case s.working:throw"Illegal: reentrancy on initialization";default:i=s.initialized,n=e}},enumerable:!0,configurable:!0}},writable:!0,enumerable:!0,configurable:!0},_moduleDefine:{value:function(e,n,r){var a=[e],s=null;return n&&(s=o(t,n),a.push(s)),i(a,r,n||""),s},writable:!0,enumerable:!0,configurable:!0}})}(),function(){function t(e,t,r){return e=e||function(){},n.markSupportedForProcessing(e),t&&i(e.prototype,t),r&&i(e,r),e}e.Namespace.define("WinJS.Class",{define:t,derive:function(e,r,o,a){if(e){r=r||function(){};var s=e.prototype;return r.prototype=Object.create(s),n.markSupportedForProcessing(r),Object.defineProperty(r.prototype,"constructor",{value:r,writable:!0,configurable:!0,enumerable:!0}),o&&i(r.prototype,o),a&&i(r,a),r}return t(r,o,a)},mix:function(e){var t,n;for(e=e||function(){},t=1,n=arguments.length;t=0,a=p.indexOf("Macintosh")>=0,s=p.indexOf("Linux")>=0,c=!0,navigator.language}!function(e){e[e.Web=0]="Web",e[e.Mac=1]="Mac",e[e.Linux=2]="Linux",e[e.Windows=3]="Windows"}(i||(i={}));i.Web;u&&(a?i.Mac:o?i.Windows:s&&i.Linux);var d=o,m=c,g="object"==typeof self?self:"object"==typeof r?r:{}}).call(this,n(3),n(4))},function(e,t,n){"use strict";(function(e){var n,r,i=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});if("object"==typeof e)r="win32"===e.platform;else if("object"==typeof navigator){var o=navigator.userAgent;r=o.indexOf("Windows")>=0}var a=/^\w[\w\d+.-]*$/,s=/^\//,u=/^\/\//;var c="",l="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,h=function(){function e(e,t,n,r,i){"object"==typeof e?(this.scheme=e.scheme||c,this.authority=e.authority||c,this.path=e.path||c,this.query=e.query||c,this.fragment=e.fragment||c):(this.scheme=e||c,this.authority=t||c,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==l&&(t=l+t):t=l}return t}(this.scheme,n||c),this.query=r||c,this.fragment=i||c,function(e){if(e.scheme&&!a.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!s.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this))}return e.isUri=function(t){return t instanceof e||!!t&&("string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme)},Object.defineProperty(e.prototype,"fsPath",{get:function(){return y(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,r=e.path,i=e.query,o=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=c),void 0===n?n=this.authority:null===n&&(n=c),void 0===r?r=this.path:null===r&&(r=c),void 0===i?i=this.query:null===i&&(i=c),void 0===o?o=this.fragment:null===o&&(o=c),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&o===this.fragment?this:new d(t,n,r,i,o)},e.parse=function(e){var t=f.exec(e);return t?new d(t[2]||c,decodeURIComponent(t[4]||c),decodeURIComponent(t[5]||c),decodeURIComponent(t[7]||c),decodeURIComponent(t[9]||c)):new d(c,c,c,c,c)},e.file=function(e){var t=c;if(r&&(e=e.replace(/\\/g,l)),e[0]===l&&e[1]===l){var n=e.indexOf(l,2);-1===n?(t=e.substring(2),e=l):(t=e.substring(2,n),e=e.substring(n)||l)}return new d("file",t,e,c,c)},e.from=function(e){return new d(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),b(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new d(t);return n._fsPath=t.fsPath,n._formatted=t.external,n}return t},e}();t.a=h;var p,d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return i(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=y(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(h),m=((p={})[58]="%3A",p[47]="%2F",p[63]="%3F",p[35]="%23",p[91]="%5B",p[93]="%5D",p[64]="%40",p[33]="%21",p[36]="%24",p[38]="%26",p[39]="%27",p[40]="%28",p[41]="%29",p[42]="%2A",p[43]="%2B",p[44]="%2C",p[59]="%3B",p[61]="%3D",p[32]="%20",p);function g(e,t){for(var n=void 0,r=-1,i=0;i=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o)-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));var a=m[o];void 0!==a?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=a):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),void 0!==n?n:e}function v(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,r&&(t=t.replace(/\//g,"\\")),t}function b(e,t){var n=t?v:g,r="",i=e.scheme,o=e.authority,a=e.path,s=e.query,u=e.fragment;if(i&&(r+=i,r+=":"),(o||"file"===i)&&(r+=l,r+=l),o){var c=o.indexOf("@");if(-1!==c){var f=o.substr(0,c);o=o.substr(c+1),-1===(c=f.indexOf(":"))?r+=n(f,!1):(r+=n(f.substr(0,c),!1),r+=":",r+=n(f.substr(c+1),!1)),r+="@"}-1===(c=(o=o.toLowerCase()).indexOf(":"))?r+=n(o,!1):(r+=n(o.substr(0,c),!1),r+=o.substr(c))}if(a){if(a.length>=3&&47===a.charCodeAt(0)&&58===a.charCodeAt(2))(h=a.charCodeAt(1))>=65&&h<=90&&(a="/"+String.fromCharCode(h+32)+":"+a.substr(3));else if(a.length>=2&&58===a.charCodeAt(1)){var h;(h=a.charCodeAt(0))>=65&&h<=90&&(a=String.fromCharCode(h+32)+":"+a.substr(2))}r+=n(a,!0)}return s&&(r+="?",r+=n(s,!1)),u&&(r+="#",r+=n(u,!1)),r}}).call(this,n(3))},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,c=[],l=!1,f=-1;function h(){l&&u&&(l=!1,u.length?c=u.concat(c):f=-1,c.length&&p())}function p(){if(!l){var e=s(h);l=!0;for(var t=c.length;t;){for(u=c,c=[];++f1)for(var n=1;n=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o)-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));var a=g[o];void 0!==a?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=a):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),void 0!==n?n:e}function y(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,o.c&&(t=t.replace(/\//g,"\\")),t}function _(e,t){var n=t?y:v,r="",i=e.scheme,o=e.authority,a=e.path,s=e.query,u=e.fragment;if(i&&(r+=i,r+=":"),(o||"file"===i)&&(r+=f,r+=f),o){var c=o.indexOf("@");if(-1!==c){var l=o.substr(0,c);o=o.substr(c+1),-1===(c=l.indexOf(":"))?r+=n(l,!1):(r+=n(l.substr(0,c),!1),r+=":",r+=n(l.substr(c+1),!1)),r+="@"}-1===(c=(o=o.toLowerCase()).indexOf(":"))?r+=n(o,!1):(r+=n(o.substr(0,c),!1),r+=o.substr(c))}if(a){if(a.length>=3&&47===a.charCodeAt(0)&&58===a.charCodeAt(2))(h=a.charCodeAt(1))>=65&&h<=90&&(a="/"+String.fromCharCode(h+32)+":"+a.substr(3));else if(a.length>=2&&58===a.charCodeAt(1)){var h;(h=a.charCodeAt(0))>=65&&h<=90&&(a=String.fromCharCode(h+32)+":"+a.substr(2))}r+=n(a,!0)}return s&&(r+="?",r+=n(s,!1)),u&&(r+="#",r+=t?u:v(u,!1)),r}var C=n(0),S=function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.equals=function(t){return e.equals(this,t)},e.equals=function(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column},e.prototype.isBefore=function(t){return e.isBefore(this,t)},e.isBefore=function(e,t){return e.lineNumbern||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.containsPosition=function(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.plusRange=function(t,n){var r,i,o,a;return n.startLineNumbert.endLineNumber?(o=n.endLineNumber,a=n.endColumn):n.endLineNumber===t.endLineNumber?(o=n.endLineNumber,a=Math.max(n.endColumn,t.endColumn)):(o=t.endLineNumber,a=t.endColumn),new e(r,i,o,a)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var r=t.startLineNumber,i=t.startColumn,o=t.endLineNumber,a=t.endColumn,s=n.startLineNumber,u=n.startColumn,c=n.endLineNumber,l=n.endColumn;return rc?(o=c,a=l):o===c&&(a=Math.min(a,l)),r>o?null:r===o&&i>a?null:new e(r,i,o,a)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.prototype.getEndPosition=function(){return new S(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new S(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return e.collapseToStart(this)},e.collapseToStart=function(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)},e.fromPositions=function(t,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.column)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn},e.areIntersectingOrTouching=function(e,t){return!(e.endLineNumbere.startLineNumber},e}(),A=function(){function e(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}return e.prototype.getOriginalEnd=function(){return this.originalStart+this.originalLength},e.prototype.getModifiedEnd=function(){return this.modifiedStart+this.modifiedLength},e}();function x(e){return{getLength:function(){return e.length},getElementAtIndex:function(t){return e.charCodeAt(t)}}}function N(e,t,n){return new O(x(e),x(t)).ComputeDiff(n)}var k=function(){function e(){}return e.Assert=function(e,t){if(!e)throw new Error(t)},e}(),w=function(){function e(){}return e.Copy=function(e,t,n,r,i){for(var o=0;o0||this.m_modifiedCount>0)&&this.m_changes.push(new A(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),O=function(){function e(e,t,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,this.m_forwardHistory=[],this.m_reverseHistory=[]}return e.prototype.ElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.OriginalElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.OriginalSequence.getElementAtIndex(t)},e.prototype.ModifiedElementsAreEqual=function(e,t){return this.ModifiedSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.ComputeDiff=function(e){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1,e)},e.prototype._ComputeDiff=function(e,t,n,r,i){var o=this.ComputeDiffRecursive(e,t,n,r,[!1]);return i?this.ShiftChanges(o):o},e.prototype.ComputeDiffRecursive=function(e,t,n,r,i){for(i[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){var o=void 0;return n<=r?(k.Assert(e===t+1,"originalStart should only be one more than originalEnd"),o=[new A(e,0,n,r-n+1)]):e<=t?(k.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),o=[new A(e,t-e+1,n,0)]):(k.Assert(e===t+1,"originalStart should only be one more than originalEnd"),k.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),o=[]),o}var a=[0],s=[0],u=this.ComputeRecursionPoint(e,t,n,r,a,s,i),c=a[0],l=s[0];if(null!==u)return u;if(!i[0]){var f=this.ComputeDiffRecursive(e,c,n,l,i),h=[];return h=i[0]?[new A(c+1,t-(c+1)+1,l+1,r-(l+1)+1)]:this.ComputeDiffRecursive(c+1,t,l+1,r,i),this.ConcatenateChanges(f,h)}return[new A(e,t-e+1,n,r-n+1)]},e.prototype.WALKTRACE=function(e,t,n,r,i,o,a,s,u,c,l,f,h,p,d,m,g,v){var y,b,_=null,C=new L,S=t,E=n,x=h[0]-m[0]-r,N=Number.MIN_VALUE,k=this.m_forwardHistory.length-1;do{(b=x+e)===S||b=0&&(e=(u=this.m_forwardHistory[k])[0],S=1,E=u.length-1)}while(--k>=-1);if(y=C.getReverseChanges(),v[0]){var w=h[0]+1,O=m[0]+1;if(null!==y&&y.length>0){var P=y[y.length-1];w=Math.max(w,P.getOriginalEnd()),O=Math.max(O,P.getModifiedEnd())}_=[new A(w,f-w+1,O,d-O+1)]}else{C=new L,S=o,E=a,x=h[0]-m[0]-s,N=Number.MAX_VALUE,k=g?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(b=x+i)===S||b=c[b+1]?(p=(l=c[b+1]-1)-x-s,l>N&&C.MarkNextChange(),N=l+1,C.AddOriginalElement(l+1,p+1),x=b+1-i):(p=(l=c[b-1])-x-s,l>N&&C.MarkNextChange(),N=l,C.AddModifiedElement(l+1,p+1),x=b-1-i),k>=0&&(i=(c=this.m_reverseHistory[k])[0],S=1,E=c.length-1)}while(--k>=-1);_=C.getChanges()}return this.ConcatenateChanges(y,_)},e.prototype.ComputeRecursionPoint=function(e,t,n,r,i,o,a){var s,u,c,l=0,f=0,h=0,p=0;e--,n--,i[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var d,m,g=t-e+(r-n),v=g+1,y=new Array(v),b=new Array(v),_=r-n,C=t-e,S=e-n,E=t-r,x=(C-_)%2==0;for(y[_]=e,b[C]=t,a[0]=!1,c=1;c<=g/2+1;c++){var N=0,k=0;for(l=this.ClipDiagonalBound(_-c,c,_,v),f=this.ClipDiagonalBound(_+c,c,_,v),d=l;d<=f;d+=2){for(u=(s=d===l||dN+k&&(N=s,k=u),!x&&Math.abs(d-C)<=c-1&&s>=b[d])return i[0]=s,o[0]=u,m<=b[d]&&c<=1448?this.WALKTRACE(_,l,f,S,C,h,p,E,y,b,s,t,i,u,r,o,x,a):null}var L=(N-e+(k-n)-c)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(N,this.OriginalSequence,L))return a[0]=!0,i[0]=N,o[0]=k,L>0&&c<=1448?this.WALKTRACE(_,l,f,S,C,h,p,E,y,b,s,t,i,u,r,o,x,a):[new A(++e,t-e+1,++n,r-n+1)];for(h=this.ClipDiagonalBound(C-c,c,C,v),p=this.ClipDiagonalBound(C+c,c,C,v),d=h;d<=p;d+=2){for(u=(s=d===h||d=b[d+1]?b[d+1]-1:b[d-1])-(d-C)-E,m=s;s>e&&u>n&&this.ElementsAreEqual(s,u);)s--,u--;if(b[d]=s,x&&Math.abs(d-_)<=c&&s<=y[d])return i[0]=s,o[0]=u,m>=y[d]&&c<=1448?this.WALKTRACE(_,l,f,S,C,h,p,E,y,b,s,t,i,u,r,o,x,a):null}if(c<=1447){var O=new Array(f-l+2);O[0]=_-l+1,w.Copy(y,l,O,1,f-l+1),this.m_forwardHistory.push(O),(O=new Array(p-h+2))[0]=C-h+1,w.Copy(b,h,O,1,p-h+1),this.m_reverseHistory.push(O)}}return this.WALKTRACE(_,l,f,S,C,h,p,E,y,b,s,t,i,u,r,o,x,a)},e.prototype.ShiftChanges=function(e){var t;do{t=!1;for(var n=0;n0,s=r.modifiedLength>0;r.originalStart+r.originalLength=0;n--){r=e[n],i=0,o=0;if(n>0){var l=e[n-1];l.originalLength>0&&(i=l.originalStart+l.originalLength),l.modifiedLength>0&&(o=l.modifiedStart+l.modifiedLength)}a=r.originalLength>0,s=r.modifiedLength>0;for(var f=0,h=this._boundaryScore(r.originalStart,r.originalLength,r.modifiedStart,r.modifiedLength),p=1;;p++){var d=r.originalStart-p,m=r.modifiedStart-p;if(dh&&(h=g,f=p)}r.originalStart-=f,r.modifiedStart-=f}return e},e.prototype._OriginalIsBoundary=function(e){if(e<=0||e>=this.OriginalSequence.getLength()-1)return!0;var t=this.OriginalSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){if(e<=0||e>=this.ModifiedSequence.getLength()-1)return!0;var t=this.ModifiedSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._ModifiedRegionIsBoundary=function(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[],r=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],n)?(r=new Array(e.length+t.length-1),w.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],w.Copy(t,1,r,e.length,t.length-1),r):(r=new Array(e.length+t.length),w.Copy(e,0,r,0,e.length),w.Copy(t,0,r,e.length,t.length),r)},e.prototype.ChangesOverlap=function(e,t,n){if(k.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),k.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){var r=e.originalStart,i=e.originalLength,o=e.modifiedStart,a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new A(r,i,o,a),!0}return n[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,r){if(e>=0&&e=0;n--){var r=e.charCodeAt(n);if(32!==r&&9!==r)return n}return-1}(e);return-1===n?t:n+2},e.prototype.getCharSequence=function(e,t,n){for(var r=[],i=[],o=[],a=0,s=t;s<=n;s++)for(var u=this._lines[s],c=e?this._startColumns[s]:1,l=e?this._endColumns[s]:u.length+1,f=c;f1&&d>1;){if(f.charCodeAt(p-2)!==h.charCodeAt(d-2))break;p--,d--}(p>1||d>1)&&this._pushTrimWhitespaceCharChange(i,o+1,1,p,a+1,1,d);for(var m=I._getLastNonBlankColumn(f,1),g=I._getLastNonBlankColumn(h,1),v=f.length+1,y=h.length+1;m255?255:0|e}function W(e){return e<0?0:e>4294967295?4294967295:0|e}var q=function(e,t){this.index=e,this.remainder=t},K=function(){function e(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValues=function(e,t){e=W(e);var n=this.values,r=this.prefixSum,i=t.length;return 0!==i&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=W(e),t=W(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;var i=n.length-e;return t>=i&&(t=i),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=W(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t,n,r,i=0,o=this.values.length-1;i<=o;)if(t=i+(o-i)/2|0,e<(r=(n=this.prefixSum[t])-this.values[t]))o=t-1;else{if(!(e>=n))break;i=t+1}return new q(t,e-r)},e}(),B=(function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new K(e),this._bustCache()}e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}(),$=(function(){function e(){this._actual=new Y(0)}e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)}}(),function(){function e(e){for(var t=0,n=0,r=0,i=e.length;rt&&(t=c),a>n&&(n=a),(l=o[2])>n&&(n=l)}var s=new R(++n,++t,0);for(r=0,i=e.length;r=this._maxCharCode?0:this._states.get(e,t)},e}()),J=null;var H=null;var z=function(){function e(){}return e._createLink=function(e,t,n,r,i){var o=i-1;do{var a=t.charCodeAt(o);if(2!==e.get(a))break;o--}while(o>r);if(r>0){var s=t.charCodeAt(r-1),u=t.charCodeAt(o);(40===s&&41===u||91===s&&93===u||123===s&&125===u)&&o--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:o+2},url:t.substring(r,o+1)}},e.computeLinks=function(t){for(var n=(null===J&&(J=new $([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),J),r=function(){if(null===H){H=new Y(0);for(var e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)H.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(e=0;e<".,;".length;e++)H.set(".,;".charCodeAt(e),2)}return H}(),i=[],o=1,a=t.getLineCount();o<=a;o++){for(var s=t.getLineContent(o),u=s.length,c=0,l=0,f=0,h=1,p=!1,d=!1,m=!1;c=0?((r+=n?1:-1)<0?r=e.length-1:r%=e.length,e[r]):null},e.INSTANCE=new e,e}(),Q="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";var X=function(e){void 0===e&&(e="");for(var t="(-?\\d*\\.\\d\\w*)|([^",n=0;n=0||(t+="\\"+Q[n]);return t+="\\s]+)",new RegExp(t,"g")}();var Z={};C.a.addEventListener("error",(function(e){var t=e.detail,n=t.id;t.parent?t.handler&&Z&&delete Z[n]:(Z[n]=t,1===Object.keys(Z).length&&setTimeout((function(){var e=Z;Z={},Object.keys(e).forEach((function(t){var n=e[t];n.exception?te(n.exception):n.error&&te(n.error),console.log("WARNING: Promise with no error callback:"+n.id),console.log(n),n.exception&&console.log(n.exception.stack)}))}),0))}));var ee=new(function(){function e(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((function(){if(e.stack)throw new Error(e.message+"\n\n"+e.stack);throw e}),0)}}return e.prototype.emit=function(e){this.listeners.forEach((function(t){t(e)}))},e.prototype.onUnexpectedError=function(e){this.unexpectedErrorHandler(e),this.emit(e)},e.prototype.onUnexpectedExternalError=function(e){this.unexpectedErrorHandler(e)},e}());function te(e){ie(e)||ee.onUnexpectedError(e)}function ne(e){return e instanceof Error?{$isError:!0,name:e.name,message:e.message,stack:e.stacktrace||e.stack}:e}var re="Canceled";function ie(e){return e instanceof Error&&e.name===re&&e.message===re}function oe(){var e=new Error(re);return e.name=e.message,e}function ae(e){for(var t=[],n=1;n0;){var r=this._deliveryQueue.shift(),i=r[0],o=r[1];try{"function"==typeof i?i.call(void 0,o):i[0].call(i[1],o)}catch(n){te(n)}}}},e.prototype.dispose=function(){this._listeners&&(this._listeners=void 0),this._deliveryQueue&&(this._deliveryQueue.length=0),this._disposed=!0},e._noop=function(){},e}();!function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new fe({onFirstListenerAdd:function(){return e.onFirstListenerAdd()},onLastListenerRemove:function(){return e.onLastListenerRemove()}})}Object.defineProperty(e.prototype,"event",{get:function(){return this.emitter.event},enumerable:!0,configurable:!0}),e.prototype.add=function(e){var t=this,n={event:e,listener:null};this.events.push(n),this.hasListeners&&this.hook(n);return function(e){return{dispose:function(){e()}}}(function(e){var t,n=this,r=!1;return function(){return r?t:(r=!0,t=e.apply(n,arguments))}}((function(){t.hasListeners&&t.unhook(n);var e=t.events.indexOf(n);t.events.splice(e,1)})))},e.prototype.onFirstListenerAdd=function(){var e=this;this.hasListeners=!0,this.events.forEach((function(t){return e.hook(t)}))},e.prototype.onLastListenerRemove=function(){var e=this;this.hasListeners=!1,this.events.forEach((function(t){return e.unhook(t)}))},e.prototype.hook=function(e){var t=this;e.listener=e.event((function(e){return t.emitter.fire(e)}))},e.prototype.unhook=function(e){e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()}}();!function(){function e(){this.buffers=[]}e.prototype.wrapEvent=function(e){var t=this;return function(n,r,i){return e((function(e){var i=t.buffers[t.buffers.length-1];i?i.push((function(){return n.call(r,e)})):n.call(r,e)}),void 0,i)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t),e(),this.buffers.pop(),t.forEach((function(e){return e()}))}}();!function(){function e(e){this._event=e}Object.defineProperty(e.prototype,"event",{get:function(){return this._event},enumerable:!0,configurable:!0}),e.prototype.map=function(t){return new e((n=this._event,r=t,function(e,t,i){return void 0===t&&(t=null),n((function(n){return e.call(t,r(n))}),null,i)}));var n,r},e.prototype.filter=function(t){return new e((n=this._event,r=t,function(e,t,i){return void 0===t&&(t=null),n((function(n){return r(n)&&e.call(t,n)}),null,i)}));var n,r},e.prototype.on=function(e,t,n){return this._event(e,t,n)}}();!function(){function e(){this.emitter=new fe,this.event=this.emitter.event,this.disposable=ue.None}Object.defineProperty(e.prototype,"input",{set:function(e){this.disposable.dispose(),this.disposable=e(this.emitter.fire,this.emitter)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposable.dispose(),this.emitter.dispose()}}();var he,pe=function(){function e(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}return e.prototype.define=function(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e},e.prototype.keyCodeToStr=function(e){return this._keyCodeToStr[e]},e.prototype.strToKeyCode=function(e){return this._strToKeyCode[e.toLowerCase()]||0},e}(),de=new pe,me=new pe,ge=new pe;!function(){function e(e,t,n,r){void 0===n&&(n=t),void 0===r&&(r=n),de.define(e,t),me.define(e,n),ge.define(e,r)}e(0,"unknown"),e(1,"Backspace"),e(2,"Tab"),e(3,"Enter"),e(4,"Shift"),e(5,"Ctrl"),e(6,"Alt"),e(7,"PauseBreak"),e(8,"CapsLock"),e(9,"Escape"),e(10,"Space"),e(11,"PageUp"),e(12,"PageDown"),e(13,"End"),e(14,"Home"),e(15,"LeftArrow","Left"),e(16,"UpArrow","Up"),e(17,"RightArrow","Right"),e(18,"DownArrow","Down"),e(19,"Insert"),e(20,"Delete"),e(21,"0"),e(22,"1"),e(23,"2"),e(24,"3"),e(25,"4"),e(26,"5"),e(27,"6"),e(28,"7"),e(29,"8"),e(30,"9"),e(31,"A"),e(32,"B"),e(33,"C"),e(34,"D"),e(35,"E"),e(36,"F"),e(37,"G"),e(38,"H"),e(39,"I"),e(40,"J"),e(41,"K"),e(42,"L"),e(43,"M"),e(44,"N"),e(45,"O"),e(46,"P"),e(47,"Q"),e(48,"R"),e(49,"S"),e(50,"T"),e(51,"U"),e(52,"V"),e(53,"W"),e(54,"X"),e(55,"Y"),e(56,"Z"),e(57,"Meta"),e(58,"ContextMenu"),e(59,"F1"),e(60,"F2"),e(61,"F3"),e(62,"F4"),e(63,"F5"),e(64,"F6"),e(65,"F7"),e(66,"F8"),e(67,"F9"),e(68,"F10"),e(69,"F11"),e(70,"F12"),e(71,"F13"),e(72,"F14"),e(73,"F15"),e(74,"F16"),e(75,"F17"),e(76,"F18"),e(77,"F19"),e(78,"NumLock"),e(79,"ScrollLock"),e(80,";",";","OEM_1"),e(81,"=","=","OEM_PLUS"),e(82,",",",","OEM_COMMA"),e(83,"-","-","OEM_MINUS"),e(84,".",".","OEM_PERIOD"),e(85,"/","/","OEM_2"),e(86,"`","`","OEM_3"),e(110,"ABNT_C1"),e(111,"ABNT_C2"),e(87,"[","[","OEM_4"),e(88,"\\","\\","OEM_5"),e(89,"]","]","OEM_6"),e(90,"'","'","OEM_7"),e(91,"OEM_8"),e(92,"OEM_102"),e(93,"NumPad0"),e(94,"NumPad1"),e(95,"NumPad2"),e(96,"NumPad3"),e(97,"NumPad4"),e(98,"NumPad5"),e(99,"NumPad6"),e(100,"NumPad7"),e(101,"NumPad8"),e(102,"NumPad9"),e(103,"NumPad_Multiply"),e(104,"NumPad_Add"),e(105,"NumPad_Separator"),e(106,"NumPad_Subtract"),e(107,"NumPad_Decimal"),e(108,"NumPad_Divide")}(),function(e){e.toString=function(e){return de.keyCodeToStr(e)},e.fromString=function(e){return de.strToKeyCode(e)},e.toUserSettingsUS=function(e){return me.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return ge.keyCodeToStr(e)},e.fromUserSettings=function(e){return me.strToKeyCode(e)||ge.strToKeyCode(e)}}(he||(he={}));!function(){function e(e,t,n,r,i){this.type=1,this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}e.prototype.equals=function(e){return 1===e.type&&(this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode)},e.prototype.isModifierKey=function(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode},e.prototype.isDuplicateModifierCase=function(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode}}();var ve,ye=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(ve||(ve={}));var be,_e,Ce=function(e){function t(t,n,r,i){var o=e.call(this,t,n,r,i)||this;return o.selectionStartLineNumber=t,o.selectionStartColumn=n,o.positionLineNumber=r,o.positionColumn=i,o}return ye(t,e),t.prototype.clone=function(){return new t(this.selectionStartLineNumber,this.selectionStartColumn,this.positionLineNumber,this.positionColumn)},t.prototype.toString=function(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"},t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?ve.LTR:ve.RTL},t.prototype.setEndPosition=function(e,n){return this.getDirection()===ve.LTR?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new S(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return this.getDirection()===ve.LTR?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.column)},t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var n=0,r=e.length;n>>0)>>>0}(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();!function(e){e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.KEY_0=21]="KEY_0",e[e.KEY_1=22]="KEY_1",e[e.KEY_2=23]="KEY_2",e[e.KEY_3=24]="KEY_3",e[e.KEY_4=25]="KEY_4",e[e.KEY_5=26]="KEY_5",e[e.KEY_6=27]="KEY_6",e[e.KEY_7=28]="KEY_7",e[e.KEY_8=29]="KEY_8",e[e.KEY_9=30]="KEY_9",e[e.KEY_A=31]="KEY_A",e[e.KEY_B=32]="KEY_B",e[e.KEY_C=33]="KEY_C",e[e.KEY_D=34]="KEY_D",e[e.KEY_E=35]="KEY_E",e[e.KEY_F=36]="KEY_F",e[e.KEY_G=37]="KEY_G",e[e.KEY_H=38]="KEY_H",e[e.KEY_I=39]="KEY_I",e[e.KEY_J=40]="KEY_J",e[e.KEY_K=41]="KEY_K",e[e.KEY_L=42]="KEY_L",e[e.KEY_M=43]="KEY_M",e[e.KEY_N=44]="KEY_N",e[e.KEY_O=45]="KEY_O",e[e.KEY_P=46]="KEY_P",e[e.KEY_Q=47]="KEY_Q",e[e.KEY_R=48]="KEY_R",e[e.KEY_S=49]="KEY_S",e[e.KEY_T=50]="KEY_T",e[e.KEY_U=51]="KEY_U",e[e.KEY_V=52]="KEY_V",e[e.KEY_W=53]="KEY_W",e[e.KEY_X=54]="KEY_X",e[e.KEY_Y=55]="KEY_Y",e[e.KEY_Z=56]="KEY_Z",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.NumLock=78]="NumLock",e[e.ScrollLock=79]="ScrollLock",e[e.US_SEMICOLON=80]="US_SEMICOLON",e[e.US_EQUAL=81]="US_EQUAL",e[e.US_COMMA=82]="US_COMMA",e[e.US_MINUS=83]="US_MINUS",e[e.US_DOT=84]="US_DOT",e[e.US_SLASH=85]="US_SLASH",e[e.US_BACKTICK=86]="US_BACKTICK",e[e.US_OPEN_SQUARE_BRACKET=87]="US_OPEN_SQUARE_BRACKET",e[e.US_BACKSLASH=88]="US_BACKSLASH",e[e.US_CLOSE_SQUARE_BRACKET=89]="US_CLOSE_SQUARE_BRACKET",e[e.US_QUOTE=90]="US_QUOTE",e[e.OEM_8=91]="OEM_8",e[e.OEM_102=92]="OEM_102",e[e.NUMPAD_0=93]="NUMPAD_0",e[e.NUMPAD_1=94]="NUMPAD_1",e[e.NUMPAD_2=95]="NUMPAD_2",e[e.NUMPAD_3=96]="NUMPAD_3",e[e.NUMPAD_4=97]="NUMPAD_4",e[e.NUMPAD_5=98]="NUMPAD_5",e[e.NUMPAD_6=99]="NUMPAD_6",e[e.NUMPAD_7=100]="NUMPAD_7",e[e.NUMPAD_8=101]="NUMPAD_8",e[e.NUMPAD_9=102]="NUMPAD_9",e[e.NUMPAD_MULTIPLY=103]="NUMPAD_MULTIPLY",e[e.NUMPAD_ADD=104]="NUMPAD_ADD",e[e.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",e[e.NUMPAD_SUBTRACT=106]="NUMPAD_SUBTRACT",e[e.NUMPAD_DECIMAL=107]="NUMPAD_DECIMAL",e[e.NUMPAD_DIVIDE=108]="NUMPAD_DIVIDE",e[e.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",e[e.ABNT_C1=110]="ABNT_C1",e[e.ABNT_C2=111]="ABNT_C2",e[e.MAX_VALUE=112]="MAX_VALUE"}(we||(we={}));var Oe=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Pe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Oe(t,e),Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._versionId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"eol",{get:function(){return this._eol},enumerable:!0,configurable:!0}),t.prototype.getValue=function(){return this.getText()},t.prototype.getLinesContent=function(){return this._lines.slice(0)},t.prototype.getLineCount=function(){return this._lines.length},t.prototype.getLineContent=function(e){return this._lines[e-1]},t.prototype.getWordAtPosition=function(e,t){var n=function(e,t,n,r){t.lastIndex=0;var i=t.exec(n);if(!i)return null;var o=i[0].indexOf(" ")>=0?function(e,t,n,r){var i,o=e-1-r;for(t.lastIndex=0;i=t.exec(n);){if(i.index>o)return null;if(t.lastIndex>=o)return{word:i[0],startColumn:r+1+i.index,endColumn:r+1+t.lastIndex}}return null}(e,t,n,r):function(e,t,n,r){var i,o=e-1-r,a=n.lastIndexOf(" ",o-1)+1,s=n.indexOf(" ",o);for(-1===s&&(s=n.length),t.lastIndex=a;i=t.exec(n);)if(i.index<=o&&t.lastIndex>=o)return{word:i[0],startColumn:r+1+i.index,endColumn:r+1+t.lastIndex};return null}(e,t,n,r);return t.lastIndex=0,o}(e.column,function(e){var t=X;if(e&&e instanceof RegExp)if(e.global)t=e;else{var n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}(t),this._lines[e.lineNumber-1],0);return n?new E(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var n=this.getWordAtPosition(e,t);return n?{word:this._lines[e.lineNumber-1].substring(n.startColumn-1,e.column-1),startColumn:n.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,n=this,r={done:!1,value:""},i=0,o=0,a=[],s=function(){if(o=n._lines.length))return t=n._lines[i],a=n._wordenize(t,e),o=0,i+=1,s();r.done=!0,r.value=void 0}return r};return{next:s}},t.prototype._wordenize=function(e,t){var n,r=[];for(t.lastIndex=0;(n=t.exec(e))&&0!==n[0].length;)r.push({start:n.index,end:n.index+n[0].length});return r},t.prototype.getValueInRange=function(e){if((e=this._validateRange(e)).startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);var t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(var o=n+1;othis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{var i=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>i&&(n=i,r=!0)}return r?{lineNumber:t,column:n}:e},t}(B),Te=function(e){function t(t){var n=e.call(this,t)||this;return n._models=Object.create(null),n}return Oe(t,e),t.prototype.dispose=function(){this._models=Object.create(null)},t.prototype._getModel=function(e){return this._models[e]},t.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach((function(n){return t.push(e._models[n])})),t},t.prototype.acceptNewModel=function(e){this._models[e.url]=new Pe(d.parse(e.url),e.lines,e.EOL,e.versionId)},t.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},t.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},t}(function(){function e(e){this._foreignModuleFactory=e,this._foreignModule=null}return e.prototype.computeDiff=function(e,t,n){var r=this._getModel(e),i=this._getModel(t);if(!r||!i)return null;var o=r.getLinesContent(),a=i.getLinesContent(),s=new F(o,a,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0});return C.a.as(s.computeDiff())},e.prototype.computeMoreMinimalEdits=function(t,n){var r=this._getModel(t);if(!r)return C.a.as(n);for(var i,o=[],a=0,s=n;ae._diffLimit)o.push({range:c,text:l});else for(var p=N(h,l,!1),d=r.offsetAt(E.lift(c).getStartPosition()),m=0,g=p;m0&&(i.arguments=n),i},e.is=function(e){var t=e;return Ot.defined(t)&&Ot.string(t.title)&&Ot.string(t.command)}}(Qe||(Qe={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return Ot.objectLiteral(t)&&Ot.string(t.newText)&&Ue.is(t.range)}}(Xe||(Xe={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return Ot.defined(t)&&it.is(t.textDocument)&&Array.isArray(t.edits)}}(Ze||(Ze={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||Ot.typedArray(t.documentChanges,Ze.is))}}(et||(et={}));var rt,it,ot,at,st,ut,ct,lt,ft,ht,pt,dt,mt,gt,vt,yt,bt,_t=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,t){this.edits.push(Xe.insert(e,t))},e.prototype.replace=function(e,t){this.edits.push(Xe.replace(e,t))},e.prototype.delete=function(e){this.edits.push(Xe.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach((function(e){var n=new _t(e.edits);t._textEditChanges[e.textDocument.uri]=n})):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new _t(e.changes[n]);t._textEditChanges[n]=r})))}Object.defineProperty(e.prototype,"edit",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(it.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for versioned document changes.");var t=e;if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new _t(i),this._textEditChanges[t.uri]=r}return r}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new _t(i),this._textEditChanges[e]=r}return r}}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return Ot.defined(t)&&Ot.string(t.uri)}}(rt||(rt={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return Ot.defined(t)&&Ot.string(t.uri)&&Ot.number(t.version)}}(it||(it={})),function(e){e.create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function(e){var t=e;return Ot.defined(t)&&Ot.string(t.uri)&&Ot.string(t.languageId)&&Ot.number(t.version)&&Ot.string(t.text)}}(ot||(ot={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(at||(at={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(at||(at={})),function(e){e.is=function(e){var t=e;return Ot.objectLiteral(e)&&at.is(t.kind)&&Ot.string(t.value)}}(st||(st={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(ut||(ut={})),function(e){e.PlainText=1,e.Snippet=2}(ct||(ct={})),function(e){e.create=function(e){return{label:e}}}(lt||(lt={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(ft||(ft={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return Ot.string(t)||Ot.objectLiteral(t)&&Ot.string(t.language)&&Ot.string(t.value)}}(ht||(ht={})),function(e){e.is=function(e){var t=e;return Ot.objectLiteral(t)&&(st.is(t.contents)||ht.is(t.contents)||Ot.typedArray(t.contents,ht.is))&&(void 0===e.range||Ue.is(e.range))}}(pt||(pt={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(dt||(dt={})),function(e){e.create=function(e,t){for(var n=[],r=2;r=0;o--){var a=r[o],s=e.offsetAt(a.range.start),u=e.offsetAt(a.range.end);if(!(u<=i))throw new Error("Ovelapping edit");n=n.substring(0,s)+a.newText+n.substring(u,n.length),i=s}return n}}(wt||(wt={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(Lt||(Lt={}));var Ot,Pt=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=null}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=null},e.prototype.getLineOffsets=function(){if(null===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return Re.create(0,e);for(;ne?r=i:n=i+1}var o=n-1;return Re.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1=48&&a<=57)o=16*o+a-48;else if(a>=65&&a<=70)o=16*o+a-65+10;else{if(!(a>=97&&a<=102))break;o=16*o+a-97+10}n++,i++}return i=r)return o=r,a=17;var t=e.charCodeAt(n);if(Mt(t)){do{n++,i+=String.fromCharCode(t),t=e.charCodeAt(n)}while(Mt(t));return a=15}if(It(t))return n++,i+=String.fromCharCode(t),13===t&&10===e.charCodeAt(n)&&(n++,i+="\n"),a=14;switch(t){case 123:return n++,a=1;case 125:return n++,a=2;case 91:return n++,a=3;case 93:return n++,a=4;case 58:return n++,a=6;case 44:return n++,a=5;case 34:return n++,i=function(){for(var t="",i=n;;){if(n>=r){t+=e.substring(i,n),s=2;break}var o=e.charCodeAt(n);if(34===o){t+=e.substring(i,n),n++;break}if(92!==o){if(o>=0&&o<=31){if(It(o)){t+=e.substring(i,n),s=2;break}s=6}n++}else{if(t+=e.substring(i,n),++n>=r){s=2;break}switch(o=e.charCodeAt(n++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var a=u(4,!0);a>=0?t+=String.fromCharCode(a):s=4;break;default:s=5}i=n}}return t}(),a=10;case 47:var c=n-1;if(47===e.charCodeAt(n+1)){for(n+=2;n=12&&e<=15);return e}:c,getToken:function(){return a},getTokenValue:function(){return i},getTokenOffset:function(){return o},getTokenLength:function(){return n-o},getTokenError:function(){return s}}}function Mt(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function It(e){return 10===e||13===e||8232===e||8233===e}function Vt(e){return e>=48&&e<=57}function jt(e,t,n){var r,i,o,a,s;if(t){for(a=t.offset,s=a+t.length,o=a;o>0&&!Ft(e,o-1);)o--;for(var u=s;ua&&e.substring(n,r)!==t&&v.push({offset:n,length:r-n,content:t})}var b=g();if(17!==b){var _=p.getTokenOffset()+o;y(Dt(c,r),o,_)}for(;17!==b;){for(var C=p.getTokenOffset()+p.getTokenLength()+o,S=g(),E="";!f&&(12===S||13===S);){y(" ",C,p.getTokenOffset()+o),C=p.getTokenOffset()+p.getTokenLength()+o,E=12===S?m():"",S=g()}if(2===S)1!==b&&(h--,E=m());else if(4===S)3!==b&&(h--,E=m());else{switch(b){case 3:case 1:h++,E=m();break;case 5:case 12:E=m();break;case 13:E=f?m():" ";break;case 6:E=" ";break;case 10:if(6===S){E="";break}case 7:case 8:case 9:case 11:case 2:case 4:12===S||13===S?E=" ":5!==S&&17!==S&&(d=!0);break;case 16:d=!0}!f||12!==S&&13!==S||(E=m())}y(E,C,p.getTokenOffset()+o),b=S}return v}function Dt(e,t){for(var n="",r=0;r0)for(var i=r.getToken();17!==i;){if(-1!==t.indexOf(i)){v();break}if(-1!==n.indexOf(i))break;i=v()}}function b(e){var t=r.getTokenValue();return e?f(t):s(t),v(),!0}function _(){switch(r.getToken()){case 3:return function(){c(),v();for(var e=!1;4!==r.getToken()&&17!==r.getToken();){if(5===r.getToken()){if(e||y(4,[],[]),h(","),v(),4===r.getToken()&&g)break}else e&&y(6,[],[]);_()||y(4,[],[4,5]),e=!0}return l(),4!==r.getToken()?y(8,[4],[]):v(),!0}();case 1:return function(){a(),v();for(var e=!1;2!==r.getToken()&&17!==r.getToken();){if(5===r.getToken()){if(e||y(4,[],[]),h(","),v(),2===r.getToken()&&g)break}else e&&y(6,[],[]);(10!==r.getToken()?(y(3,[],[2,5]),0):(b(!1),6===r.getToken()?(h(":"),v(),_()||y(4,[],[2,5])):y(5,[],[2,5]),1))||y(4,[],[2,5]),e=!0}return u(),2!==r.getToken()?y(7,[2],[]):v(),!0}();case 10:return b(!0);default:return function(){switch(r.getToken()){case 11:var e=0;try{"number"!=typeof(e=JSON.parse(r.getTokenValue()))&&(y(2),e=0)}catch(e){y(2)}f(e);break;case 7:f(null);break;case 8:f(!0);break;case 9:f(!1);break;default:return!1}return v(),!0}()}}return v(),17===r.getToken()||(_()?(17!==r.getToken()&&y(9,[],[]),!0):(y(4,[],[]),!1))}!function(e){var t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(Ot||(Ot={}));var Ut,Wt=Tt,qt=function(e,t,n){void 0===t&&(t=[]);var r=null,i=[],o=[];function a(e){Array.isArray(i)?i.push(e):r&&(i[r]=e)}return Rt(e,{onObjectBegin:function(){var e={};a(e),o.push(i),i=e,r=null},onObjectProperty:function(e){r=e},onObjectEnd:function(){i=o.pop()},onArrayBegin:function(){var e=[];a(e),o.push(i),i=e,r=null},onArrayEnd:function(){i=o.pop()},onLiteralValue:a,onError:function(e,n,r){t.push({error:e,offset:n,length:r})}},n),i[0]},Kt=function e(t,n,r){if(void 0===r&&(r=!1),function(e,t,n){return void 0===n&&(n=!1),t>=e.offset&&t()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,tn=function(){function e(e,t,n){this.offset=t,this.length=n,this.parent=e}return Object.defineProperty(e.prototype,"children",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return"type: "+this.type+" ("+this.offset+"/"+this.length+")"+(this.parent?" parent: {"+this.parent.toString()+"}":"")},e}(),nn=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type="null",r.value=null,r}return Qt(t,e),t}(tn),rn=function(e){function t(t,n,r){var i=e.call(this,t,r)||this;return i.type="boolean",i.value=n,i}return Qt(t,e),t}(tn),on=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type="array",r.items=[],r}return Qt(t,e),Object.defineProperty(t.prototype,"children",{get:function(){return this.items},enumerable:!0,configurable:!0}),t}(tn),an=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type="number",r.isInteger=!0,r.value=Number.NaN,r}return Qt(t,e),t}(tn),sn=function(e){function t(t,n,r){var i=e.call(this,t,n,r)||this;return i.type="string",i.value="",i}return Qt(t,e),t}(tn),un=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type="property",r.colonOffset=-1,r}return Qt(t,e),Object.defineProperty(t.prototype,"children",{get:function(){return this.valueNode?[this.keyNode,this.valueNode]:[this.keyNode]},enumerable:!0,configurable:!0}),t}(tn),cn=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type="object",r.properties=[],r}return Qt(t,e),Object.defineProperty(t.prototype,"children",{get:function(){return this.properties},enumerable:!0,configurable:!0}),t}(tn);function ln(e){return"boolean"==typeof e?e?{}:{not:{}}:e}!function(e){e[e.Key=0]="Key",e[e.Enum=1]="Enum"}(zt||(zt={}));var fn=function(){function e(e,t){void 0===e&&(e=-1),void 0===t&&(t=null),this.focusOffset=e,this.exclude=t,this.schemas=[]}return e.prototype.add=function(e){this.schemas.push(e)},e.prototype.merge=function(e){var t;(t=this.schemas).push.apply(t,e.schemas)},e.prototype.include=function(e){return(-1===this.focusOffset||gn(e,this.focusOffset))&&e!==this.exclude},e.prototype.newSub=function(){return new e(-1,this.exclude)},e}(),hn=function(){function e(){}return Object.defineProperty(e.prototype,"schemas",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.add=function(e){},e.prototype.merge=function(e){},e.prototype.include=function(e){return!0},e.prototype.newSub=function(){return this},e.instance=new e,e}(),pn=function(){function e(){this.problems=[],this.propertiesMatches=0,this.propertiesValueMatches=0,this.primaryValueMatches=0,this.enumValueMatch=!1,this.enumValues=null}return e.prototype.hasProblems=function(){return!!this.problems.length},e.prototype.mergeAll=function(e){var t=this;e.forEach((function(e){t.merge(e)}))},e.prototype.merge=function(e){this.problems=this.problems.concat(e.problems)},e.prototype.mergeEnumValues=function(e){if(!this.enumValueMatch&&!e.enumValueMatch&&this.enumValues&&e.enumValues){this.enumValues=this.enumValues.concat(e.enumValues);for(var t=0,n=this.problems;t=e.offset&&t=0;)o.splice(t,1),t=o.indexOf(e)};t.properties&&Object.keys(t.properties).forEach((function(e){a(e);var o=t.properties[e],s=i[e];if(s)if("boolean"==typeof o)if(o)n.propertiesMatches++,n.propertiesValueMatches++;else{var u=s.parent;n.problems.push({location:{offset:u.keyNode.offset,length:u.keyNode.length},severity:ze.Warning,message:t.errorMessage||Xt("DisallowedExtraPropWarning","Property {0} is not allowed.",e)})}else{var c=new pn;yn(s,o,c,r),n.mergePropertyMatch(c)}}));t.patternProperties&&Object.keys(t.patternProperties).forEach((function(e){var s=new RegExp(e);o.slice(0).forEach((function(o){if(s.test(o)){a(o);var u=i[o];if(u){var c=t.patternProperties[e];if("boolean"==typeof c)if(c)n.propertiesMatches++,n.propertiesValueMatches++;else{var l=u.parent;n.problems.push({location:{offset:l.keyNode.offset,length:l.keyNode.length},severity:ze.Warning,message:t.errorMessage||Xt("DisallowedExtraPropWarning","Property {0} is not allowed.",o)})}else{var f=new pn;yn(u,c,f,r),n.mergePropertyMatch(f)}}}}))}));"object"==typeof t.additionalProperties?o.forEach((function(e){var o=i[e];if(o){var a=new pn;yn(o,t.additionalProperties,a,r),n.mergePropertyMatch(a)}})):!1===t.additionalProperties&&o.length>0&&o.forEach((function(e){var r=i[e];if(r){var o=r.parent;n.problems.push({location:{offset:o.keyNode.offset,length:o.keyNode.length},severity:ze.Warning,message:t.errorMessage||Xt("DisallowedExtraPropWarning","Property {0} is not allowed.",e)})}}));t.maxProperties&&e.properties.length>t.maxProperties&&n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:Xt("MaxPropWarning","Object has more properties than limit of {0}.",t.maxProperties)});t.minProperties&&e.properties.length=i.length&&n.propertiesValueMatches++})),e.items.length>i.length)if("object"==typeof t.additionalItems)for(var o=i.length;ot.maxItems&&n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:Xt("maxItemsWarning","Array has too many items. Expected {0} or fewer.",t.maxItems)});if(!0===t.uniqueItems){var c=dn(e);c.some((function(e,t){return t!==c.lastIndexOf(e)}))&&n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:Xt("uniqueItemsWarning","Array has duplicate items.")})}}(e,t,n,r);break;case"string":!function(e,t,n,r){t.minLength&&e.value.lengtht.maxLength&&n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:Xt("maxLengthWarning","String is longer than the maximum length of {0}.",t.maxLength)});if(t.pattern){new RegExp(t.pattern).test(e.value)||n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:t.patternErrorMessage||t.errorMessage||Xt("patternWarning",'String does not match the pattern of "{0}".',t.pattern)})}if(t.format)switch(t.format){case"uri":case"uri-reference":var i=void 0;if(e.value)try{Gt.a.parse(e.value).scheme||"uri"!==t.format||(i=Xt("uriSchemeMissing","URI with a scheme is expected."))}catch(e){i=e.message}else i=Xt("uriEmpty","URI expected.");i&&n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:t.patternErrorMessage||t.errorMessage||Xt("uriFormatWarning","String is not a URI: {0}",i)});break;case"email":e.value.match(en)||n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:t.patternErrorMessage||t.errorMessage||Xt("emailFormatWarning","String is not an e-mail address.")});break;case"color-hex":e.value.match(Zt)||n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:t.patternErrorMessage||t.errorMessage||Xt("colorHexFormatWarning","Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA.")})}}(e,t,n);break;case"number":!function(e,t,n,r){var i=e.value;"number"==typeof t.multipleOf&&i%t.multipleOf!=0&&n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:Xt("multipleOfWarning","Value is not divisible by {0}.",t.multipleOf)});function o(e,t){return"number"==typeof t?t:"boolean"==typeof t&&t?e:void 0}function a(e,t){if("boolean"!=typeof t||!t)return e}var s=o(t.minimum,t.exclusiveMinimum);"number"==typeof s&&i<=s&&n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:Xt("exclusiveMinimumWarning","Value is below the exclusive minimum of {0}.",s)});var u=o(t.maximum,t.exclusiveMaximum);"number"==typeof u&&i>=u&&n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:Xt("exclusiveMaximumWarning","Value is above the exclusive maximum of {0}.",u)});var c=a(t.minimum,t.exclusiveMinimum);"number"==typeof c&&il&&n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:Xt("maximumWarning","Value is above the maximum of {0}.",l)})}(e,t,n);break;case"property":return yn(e.valueNode,t,n,r)}!function(){function i(t){return e.type===t||"integer"===t&&"number"===e.type&&e.isInteger}Array.isArray(t.type)?t.type.some(i)||n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:t.errorMessage||Xt("typeArrayMismatchWarning","Incorrect type. Expected one of {0}.",t.type.join(", "))}):t.type&&(i(t.type)||n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:t.errorMessage||Xt("typeMismatchWarning",'Incorrect type. Expected "{0}".',t.type)}));Array.isArray(t.allOf)&&t.allOf.forEach((function(t){yn(e,ln(t),n,r)}));var o=ln(t.not);if(o){var a=new pn,s=r.newSub();yn(e,o,a,s),a.hasProblems()||n.problems.push({location:{offset:e.offset,length:e.length},severity:ze.Warning,message:Xt("notSchemaWarning","Matches a schema that is not allowed.")}),s.schemas.forEach((function(e){e.inverted=!e.inverted,r.add(e)}))}var u=function(t,i){var o=[],a=null;return t.forEach((function(t){var n=ln(t),s=new pn,u=r.newSub();if(yn(e,n,s,u),s.hasProblems()||o.push(n),a)if(i||s.hasProblems()||a.validationResult.hasProblems()){var c=s.compare(a.validationResult);c>0?a={schema:n,validationResult:s,matchingSchemas:u}:0===c&&(a.matchingSchemas.merge(u),a.validationResult.mergeEnumValues(s))}else a.matchingSchemas.merge(u),a.validationResult.propertiesMatches+=s.propertiesMatches,a.validationResult.propertiesValueMatches+=s.propertiesValueMatches;else a={schema:n,validationResult:s,matchingSchemas:u}})),o.length>1&&i&&n.problems.push({location:{offset:e.offset,length:1},severity:ze.Warning,message:Xt("oneOfWarning","Matches multiple schemas when only one must validate.")}),null!==a&&(n.merge(a.validationResult),n.propertiesMatches+=a.validationResult.propertiesMatches,n.propertiesValueMatches+=a.validationResult.propertiesValueMatches,r.merge(a.matchingSchemas)),o.length};Array.isArray(t.anyOf)&&u(t.anyOf,!1);Array.isArray(t.oneOf)&&u(t.oneOf,!0);if(Array.isArray(t.enum)){for(var c=dn(e),l=!1,f=0,h=t.enum;f0){for(c--;c>0&&/\s/.test(i.charAt(c));)c--;l=c+1}if(u(e,t,c,l),n&&f(n,!1),r.length+a.length>0)for(var h=o.getToken();17!==h;){if(-1!==r.indexOf(h)){s();break}if(-1!==a.indexOf(h))break;h=s()}return n}function l(){switch(o.getTokenError()){case 4:return c(Xt("InvalidUnicode","Invalid unicode sequence in string."),Ut.InvalidUnicode),!0;case 5:return c(Xt("InvalidEscapeCharacter","Invalid escape character in string."),Ut.InvalidEscapeCharacter),!0;case 3:return c(Xt("UnexpectedEndOfNumber","Unexpected end of number."),Ut.UnexpectedEndOfNumber),!0;case 1:return c(Xt("UnexpectedEndOfComment","Unexpected end of comment."),Ut.UnexpectedEndOfComment),!0;case 2:return c(Xt("UnexpectedEndOfString","Unexpected end of string."),Ut.UnexpectedEndOfString),!0;case 6:return c(Xt("InvalidCharacter","Invalid characters in string. Control characters must be escaped."),Ut.InvalidCharacter),!0}return!1}function f(e,t){return e.length=o.getTokenOffset()+o.getTokenLength()-e.offset,t&&s(),e}function h(t,n){var r=new un(t,o.getTokenOffset()),i=p(r);if(!i){if(16!==o.getToken())return null;c(Xt("DoubleQuotesExpected","Property keys must be doublequoted"),Ut.Undefined);var a=new sn(r,o.getTokenOffset(),o.getTokenLength());a.value=o.getTokenValue(),i=a,s()}r.keyNode=i;var l=n[i.value];if(l?(u(Xt("DuplicateKeyWarning","Duplicate object key"),Ut.DuplicateKey,r.keyNode.offset,r.keyNode.offset+r.keyNode.length,ze.Warning),"object"==typeof l&&u(Xt("DuplicateKeyWarning","Duplicate object key"),Ut.DuplicateKey,l.keyNode.offset,l.keyNode.offset+l.keyNode.length,ze.Warning),n[i.value]=!0):n[i.value]=r,6===o.getToken())r.colonOffset=o.getTokenOffset(),s();else if(c(Xt("ColonExpected","Colon expected"),Ut.ColonExpected),10===o.getToken()&&e.positionAt(i.offset+i.length).line0?e.lastIndexOf(t)===n:0===n&&e===t}var Cn=Ht(),Sn=function(){function e(e,t,n){void 0===t&&(t=[]),this.templateVarIdCounter=0,this.schemaService=e,this.contributions=t,this.promise=n||Promise}return e.prototype.doResolve=function(e){for(var t=this.contributions.length-1;t>=0;t--)if(this.contributions[t].resolveCompletion){var n=this.contributions[t].resolveCompletion(e);if(n)return n}return this.promise.resolve(e)},e.prototype.doComplete=function(e,t,n){var r=this,i={items:[],isIncomplete:!1},o=e.offsetAt(t),a=n.getNodeFromOffset(o,!0);if(this.isInComment(e,a?a.offset:0,o))return Promise.resolve(i);var s=this.getCurrentWord(e,o),u=null;if(!a||"string"!==a.type&&"number"!==a.type&&"boolean"!==a.type&&"null"!==a.type){var c=o-s.length;c>0&&'"'===e.getText()[c-1]&&c--,u=Ue.create(e.positionAt(c),t)}else u=Ue.create(e.positionAt(a.offset),e.positionAt(a.offset+a.length));var l={},f={add:function(e){var t=l[e.label];t?t.documentation||(t.documentation=e.documentation):(l[e.label]=e,u&&(e.textEdit=Xe.replace(u,e.insertText)),i.items.push(e))},setAsIncomplete:function(){i.isIncomplete=!0},error:function(e){console.error(e)},log:function(e){console.log(e)},getNumberOfProposals:function(){return i.items.length}};return this.schemaService.getSchemaForResource(e.uri,n).then((function(t){var c=[],h=!0,p="",d=null;if(a&&"string"===a.type){var m=a.parent;m&&"property"===m.type&&m.keyNode===a&&(h=!m.valueNode,d=m,p=e.getText().substr(a.offset+1,a.length-2),m&&(a=m.parent))}if(a&&"object"===a.type){if(a.offset===o)return i;a.properties.forEach((function(e){d&&d===e||(l[e.keyNode.value]=lt.create("__"))}));var g="";h&&(g=r.evaluateSeparatorAfter(e,e.offsetAt(u.end))),t?r.getPropertyCompletions(t,n,a,h,g,f):r.getSchemaLessPropertyCompletions(n,a,p,f);var v=mn(a);r.contributions.forEach((function(t){var n=t.collectPropertyCompletions(e.uri,v,s,h,""===g,f);n&&c.push(n)})),!t&&s.length>0&&'"'!==e.getText().charAt(o-s.length-1)&&f.add({kind:ut.Property,label:r.getLabelForValue(s),insertText:r.getInsertTextForProperty(s,null,!1,g),insertTextFormat:ct.Snippet,documentation:""})}var y={};return t?r.getValueCompletions(t,n,a,o,e,f,y):r.getSchemaLessValueCompletions(n,a,o,e,f),r.contributions.length>0&&r.getContributedValueCompletions(n,a,o,e,f,c),r.promise.all(c).then((function(){if(0===f.getNumberOfProposals()){var t=o;!a||"string"!==a.type&&"number"!==a.type&&"boolean"!==a.type&&"null"!==a.type||(t=a.offset+a.length);var n=r.evaluateSeparatorAfter(e,t);r.addFillerValueCompletions(y,n,f)}return i}))}))},e.prototype.getPropertyCompletions=function(e,t,n,r,i,o){var a=this;t.getMatchingSchemas(e.schema,n.offset).forEach((function(e){if(e.node===n&&!e.inverted){var t=e.schema.properties;t&&Object.keys(t).forEach((function(e){var n=t[e];if("object"==typeof n&&!n.deprecationMessage&&!n.doNotSuggest){var s={kind:ut.Property,label:e,insertText:a.getInsertTextForProperty(e,n,r,i),insertTextFormat:ct.Snippet,filterText:a.getFilterTextForValue(e),documentation:n.description||""};_n(s.insertText,"$1"+i)&&(s.command={title:"Suggest",command:"editor.action.triggerSuggest"}),o.add(s)}}))}}))},e.prototype.getSchemaLessPropertyCompletions=function(e,t,n,r){var i=this,o=function(e){e.properties.forEach((function(e){var t=e.keyNode.value;r.add({kind:ut.Property,label:t,insertText:i.getInsertTextForValue(t,""),insertTextFormat:ct.Snippet,filterText:i.getFilterTextForValue(t),documentation:""})}))};if(t.parent)if("property"===t.parent.type){var a=t.parent.keyNode.value;e.visit((function(e){return"property"===e.type&&e!==t.parent&&e.keyNode.value===a&&e.valueNode&&"object"===e.valueNode.type&&o(e.valueNode),!0}))}else"array"===t.parent.type&&t.parent.items.forEach((function(e){"object"===e.type&&e!==t&&o(e)}));else"object"===t.type&&r.add({kind:ut.Property,label:"$schema",insertText:this.getInsertTextForProperty("$schema",null,!0,""),insertTextFormat:ct.Snippet,documentation:"",filterText:this.getFilterTextForValue("$schema")})},e.prototype.getSchemaLessValueCompletions=function(e,t,n,r,i){var o=this,a=n;if(!t||"string"!==t.type&&"number"!==t.type&&"boolean"!==t.type&&"null"!==t.type||(a=t.offset+t.length,t=t.parent),!t)return i.add({kind:this.getSuggestionKind("object"),label:"Empty object",insertText:this.getInsertTextForValue({},""),insertTextFormat:ct.Snippet,documentation:""}),void i.add({kind:this.getSuggestionKind("array"),label:"Empty array",insertText:this.getInsertTextForValue([],""),insertTextFormat:ct.Snippet,documentation:""});var s=this.evaluateSeparatorAfter(r,a),u=function(e){gn(e.parent,n,!0)||i.add({kind:o.getSuggestionKind(e.type),label:o.getLabelTextForMatchingNode(e,r),insertText:o.getInsertTextForMatchingNode(e,r,s),insertTextFormat:ct.Snippet,documentation:""}),"boolean"===e.type&&o.addBooleanValueCompletion(!e.value,s,i)};if("property"===t.type&&n>t.colonOffset){var c=t.valueNode;if(c&&(n>c.offset+c.length||"object"===c.type||"array"===c.type))return;var l=t.keyNode.value;e.visit((function(e){return"property"===e.type&&e.keyNode.value===l&&e.valueNode&&u(e.valueNode),!0})),"$schema"===l&&t.parent&&!t.parent.parent&&this.addDollarSchemaCompletions(s,i)}if("array"===t.type)if(t.parent&&"property"===t.parent.type){var f=t.parent.keyNode.value;e.visit((function(e){return"property"===e.type&&e.keyNode.value===f&&e.valueNode&&"array"===e.valueNode.type&&e.valueNode.items.forEach(u),!0}))}else t.items.forEach(u)},e.prototype.getValueCompletions=function(e,t,n,r,i,o,a){var s=this,u=r,c=null,l=null;if(!n||"string"!==n.type&&"number"!==n.type&&"boolean"!==n.type&&"null"!==n.type||(u=n.offset+n.length,l=n,n=n.parent),n){if("property"===n.type&&r>n.colonOffset){var f=n.valueNode;if(f&&r>f.offset+f.length)return;c=n.keyNode.value,n=n.parent}if(n&&(null!==c||"array"===n.type)){var h=this.evaluateSeparatorAfter(i,u);t.getMatchingSchemas(e.schema,n.offset,l).forEach((function(e){if(e.node===n&&!e.inverted&&e.schema){if("array"===n.type&&e.schema.items)if(Array.isArray(e.schema.items)){var t=s.findItemAtOffset(n,i,r);tt.colonOffset){var a=t.keyNode.value,s=t.valueNode;if(!s||n<=s.offset+s.length){var u=mn(t.parent);this.contributions.forEach((function(e){var t=e.collectValueCompletions(r.uri,u,a,i);t&&o.push(t)}))}}}else this.contributions.forEach((function(e){var t=e.collectDefaultCompletions(r.uri,i);t&&o.push(t)}))},e.prototype.addSchemaValueCompletions=function(e,t,n,r){var i=this;"object"==typeof e&&(this.addEnumValueCompletions(e,t,n),this.addDefaultValueCompletions(e,t,n),this.collectTypes(e,r),Array.isArray(e.allOf)&&e.allOf.forEach((function(e){return i.addSchemaValueCompletions(e,t,n,r)})),Array.isArray(e.anyOf)&&e.anyOf.forEach((function(e){return i.addSchemaValueCompletions(e,t,n,r)})),Array.isArray(e.oneOf)&&e.oneOf.forEach((function(e){return i.addSchemaValueCompletions(e,t,n,r)})))},e.prototype.addDefaultValueCompletions=function(e,t,n,r){var i=this;void 0===r&&(r=0);var o=!1;if(En(e.default)){for(var a=e.type,s=e.default,u=r;u>0;u--)s=[s],a="array";n.add({kind:this.getSuggestionKind(a),label:this.getLabelForValue(s),insertText:this.getInsertTextForValue(s,t),insertTextFormat:ct.Snippet,detail:Cn("json.suggest.default","Default value")}),o=!0}Array.isArray(e.defaultSnippets)&&e.defaultSnippets.forEach((function(a){var s,u,c=e.type,l=a.body,f=a.label;if(En(l)){e.type;for(var h=r;h>0;h--)l=[l],"array";s=i.getInsertTextForSnippetValue(l,t),u=i.getFilterTextForSnippetValue(l),f=f||i.getLabelForSnippetValue(l)}else if("string"==typeof a.bodyText){var p="",d="",m="";for(h=r;h>0;h--)p=p+m+"[\n",d=d+"\n"+m+"]",m+="\t",c="array";s=p+m+a.bodyText.split("\n").join("\n"+m)+d+t,f=f||s,u=s.replace(/[\n]/g,"")}n.add({kind:i.getSuggestionKind(c),label:f,documentation:a.description,insertText:s,insertTextFormat:ct.Snippet,filterText:u}),o=!0})),o||"object"!=typeof e.items||Array.isArray(e.items)||this.addDefaultValueCompletions(e.items,t,n,r+1)},e.prototype.addEnumValueCompletions=function(e,t,n){if(En(e.const)&&n.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(e.const),insertText:this.getInsertTextForValue(e.const,t),insertTextFormat:ct.Snippet,documentation:e.description}),Array.isArray(e.enum))for(var r=0,i=e.enum.length;r57?t.substr(0,57).trim()+"...":t},e.prototype.getFilterTextForValue=function(e){return JSON.stringify(e)},e.prototype.getFilterTextForSnippetValue=function(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")},e.prototype.getLabelForSnippetValue=function(e){var t=JSON.stringify(e);return(t=t.replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")).length>57?t.substr(0,57).trim()+"...":t},e.prototype.getInsertTextForPlainText=function(e){return e.replace(/[\\\$\}]/g,"\\$&")},e.prototype.getInsertTextForValue=function(e,t){var n=JSON.stringify(e,null,"\t");return"{}"===n?"{\n\t$1\n}"+t:"[]"===n?"[\n\t$1\n]"+t:this.getInsertTextForPlainText(n+t)},e.prototype.getInsertTextForSnippetValue=function(e,t){return function e(t,n,r){if(null!==t&&"object"==typeof t){var i=n+"\t";if(Array.isArray(t)){if(0===t.length)return"[]";for(var o="[\n",a=0;a0?t[0]:null}if(!e)return ut.Value;switch(e){case"string":return ut.Value;case"object":return ut.Module;case"property":return ut.Property;default:return ut.Value}},e.prototype.getLabelTextForMatchingNode=function(e,t){switch(e.type){case"array":return"[]";case"object":return"{}";default:return t.getText().substr(e.offset,e.length)}},e.prototype.getInsertTextForMatchingNode=function(e,t,n){switch(e.type){case"array":return this.getInsertTextForValue([],n);case"object":return this.getInsertTextForValue({},n);default:var r=t.getText().substr(e.offset,e.length)+n;return this.getInsertTextForPlainText(r)}},e.prototype.getInsertTextForProperty=function(e,t,n,r){var i=this.getInsertTextForValue(e,"");if(!n)return i;var o,a=i+": ",s=0;if(t){if(Array.isArray(t.defaultSnippets)){if(1===t.defaultSnippets.length){var u=t.defaultSnippets[0].body;En(u)&&(o=this.getInsertTextForSnippetValue(u,""))}s+=t.defaultSnippets.length}if(t.enum&&(o||1!==t.enum.length||(o=this.getInsertTextForGuessedValue(t.enum[0],"")),s+=t.enum.length),En(t.default)&&(o||(o=this.getInsertTextForGuessedValue(t.default,"")),s++),0===s){var c=Array.isArray(t.type)?t.type[0]:t.type;switch(c||(t.properties?c="object":t.items&&(c="array")),c){case"boolean":o="$1";break;case"string":o='"$1"';break;case"object":o="{\n\t$1\n}";break;case"array":o="[\n\t$1\n]";break;case"number":case"integer":o="${1:0}";break;case"null":o="${1:null}";break;default:return i}}}return(!o||s>1)&&(o="$1"),a+o+r},e.prototype.getCurrentWord=function(e,t){for(var n=t-1,r=e.getText();n>=0&&-1===' \t\n\r\v":{[,]}'.indexOf(r.charAt(n));)n--;return r.substring(n+1,t)},e.prototype.evaluateSeparatorAfter=function(e,t){var n=Wt(e.getText(),!0);switch(n.setPosition(t),n.scan()){case 5:case 2:case 4:case 17:return"";default:return","}},e.prototype.findItemAtOffset=function(e,t,n){for(var r=Wt(t.getText(),!0),i=e.items,o=i.length-1;o>=0;o--){var a=i[o];if(n>a.offset+a.length)return r.setPosition(a.offset+a.length),5===r.scan()&&n>=r.getTokenOffset()+r.getTokenLength()?o+1:o;if(n>=a.offset)return o}return 0},e.prototype.isInComment=function(e,t,n){var r=Wt(e.getText(),!1);r.setPosition(t);for(var i=r.scan();17!==i&&r.getTokenOffset()+r.getTokenLength()i.offset+1&&r=0;l--){var f=this.contributions[l].getInfoContribution(e.uri,c);if(f)return f.then((function(e){return u(e)}))}return this.schemaService.getSchemaForResource(e.uri,n).then((function(e){if(e){var t=n.getMatchingSchemas(e.schema,i.offset),r=null,o=null,a=null,s=null;t.every((function(e){if(e.node===i&&!e.inverted&&e.schema&&(r=r||e.schema.title,o=o||e.schema.markdownDescription||xn(e.schema.description),e.schema.enum)){var t=e.schema.enum.indexOf(dn(i));e.schema.markdownEnumDescriptions?a=e.schema.markdownEnumDescriptions[t]:e.schema.enumDescriptions&&(a=xn(e.schema.enumDescriptions[t])),a&&"string"!=typeof(s=e.schema.enum[t])&&(s=JSON.stringify(s))}return!0}));var c="";return r&&(c=xn(r)),o&&(c.length>0&&(c+="\n\n"),c+=o),a&&(c.length>0&&(c+="\n\n"),c+="`"+xn(s)+"`: "+a),u([c])}return null}))},e}();function xn(e){if(e)return e.replace(/([^\n\r])(\r?\n)([^\n\r])/gm,"$1\n\n$3").replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}var Nn=Ht(),kn=function(){function e(e,t){this.jsonSchemaService=e,this.promise=t,this.validationEnabled=!0}return e.prototype.configure=function(e){e&&(this.validationEnabled=e.validate,this.commentSeverity=e.allowComments?void 0:ze.Error)},e.prototype.doValidation=function(e,t,n,r){var i=this;if(!this.validationEnabled)return this.promise.resolve([]);var o=[],a={},s=function(e){var t=e.range.start.line+" "+e.range.start.character+" "+e.message;a[t]||(a[t]=!0,o.push(e))},u=function(r){var a=n?Ln(n.trailingCommas):ze.Error,u=n?Ln(n.comments):i.commentSeverity;if(r){if(r.errors.length&&t.root){var c=t.root,l="object"===c.type?c.properties[0]:null;if(l&&"$schema"===l.keyNode.value){var f=l.valueNode||l,h=Ue.create(e.positionAt(f.offset),e.positionAt(f.offset+f.length));s(Ge.create(h,r.errors[0],ze.Warning,Ut.SchemaResolveError))}else{h=Ue.create(e.positionAt(c.offset),e.positionAt(c.offset+1));s(Ge.create(h,r.errors[0],ze.Warning,Ut.SchemaResolveError))}}else{var p=t.validate(e,r.schema);p&&p.forEach(s)}wn(r.schema)&&(a=u=void 0)}if(t.syntaxErrors.forEach((function(e){if(e.code===Ut.TrailingComma){if("number"!=typeof u)return;e.severity=a}s(e)})),"number"==typeof u){var d=Nn("InvalidCommentToken","Comments are not permitted in JSON.");t.comments.forEach((function(e){s(Ge.create(e,d,u,Ut.CommentNotPermitted))}))}return o};return r?this.promise.resolve(u(r)):this.jsonSchemaService.getSchemaForResource(e.uri,t).then((function(e){return u(e)}))},e}();function wn(e){if(e&&"object"==typeof e){if(e.allowComments)return!0;if(e.allOf)return e.allOf.some(wn)}return!1}function Ln(e){switch(e){case"error":return ze.Error;case"warning":return ze.Warning;case"ignore":return}}var On=48,Pn=57,Tn=65,Mn=97,In=102;function Vn(e){return e=Mn&&e<=In?e-Mn+10:0)}function jn(e){if("#"!==e[0])return null;switch(e.length){case 4:return{red:17*Vn(e.charCodeAt(1))/255,green:17*Vn(e.charCodeAt(2))/255,blue:17*Vn(e.charCodeAt(3))/255,alpha:1};case 5:return{red:17*Vn(e.charCodeAt(1))/255,green:17*Vn(e.charCodeAt(2))/255,blue:17*Vn(e.charCodeAt(3))/255,alpha:17*Vn(e.charCodeAt(4))/255};case 7:return{red:(16*Vn(e.charCodeAt(1))+Vn(e.charCodeAt(2)))/255,green:(16*Vn(e.charCodeAt(3))+Vn(e.charCodeAt(4)))/255,blue:(16*Vn(e.charCodeAt(5))+Vn(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(16*Vn(e.charCodeAt(1))+Vn(e.charCodeAt(2)))/255,green:(16*Vn(e.charCodeAt(3))+Vn(e.charCodeAt(4)))/255,blue:(16*Vn(e.charCodeAt(5))+Vn(e.charCodeAt(6)))/255,alpha:(16*Vn(e.charCodeAt(7))+Vn(e.charCodeAt(8)))/255}}return null}var Dn=function(){function e(e){this.schemaService=e}return e.prototype.findDocumentSymbols=function(e,t){var n=this,r=t.root;if(!r)return null;var i=e.uri;if(("vscode://defaultsettings/keybindings.json"===i||_n(i.toLowerCase(),"/user/keybindings.json"))&&"array"===r.type){var o=[];return r.items.forEach((function(t){if("object"===t.type)for(var n=0,r=t.properties;n0;)this.callOnDispose.pop()()},e.prototype.onResourceChange=function(e){e=this.normalizeId(e);var t=this.schemasById[e];return!!t&&(t.clearSchema(),!0)},e.prototype.normalizeId=function(e){return Gt.a.parse(e).toString()},e.prototype.setSchemaContributions=function(e){var t=this;if(e.schemas){var n=e.schemas;for(var r in n){var i=this.normalizeId(r);this.contributionSchemas[i]=this.addSchemaHandle(i,n[r])}}if(e.schemaAssociations){var o=e.schemaAssociations;for(var a in o){var s=o[a];this.contributionAssociations[a]=s;var u=this.getOrAddFilePatternAssociation(a);s.forEach((function(e){var n=t.normalizeId(e);u.addSchema(n)}))}}},e.prototype.addSchemaHandle=function(e,t){var n=new qn(this,e,t);return this.schemasById[e]=n,n},e.prototype.getOrAddSchemaHandle=function(e,t){return this.schemasById[e]||this.addSchemaHandle(e,t)},e.prototype.getOrAddFilePatternAssociation=function(e){var t=this.filePatternAssociationById[e];return t||(t=new Wn(e),this.filePatternAssociationById[e]=t,this.filePatternAssociations.push(t)),t},e.prototype.registerExternalSchema=function(e,t,n){var r=this;void 0===t&&(t=null);var i=this.normalizeId(e);return this.registeredSchemasIds[i]=!0,t&&t.forEach((function(e){r.getOrAddFilePatternAssociation(e).addSchema(i)})),n?this.addSchemaHandle(i,n):this.getOrAddSchemaHandle(i)},e.prototype.clearExternalSchemas=function(){var e=this;for(var t in this.schemasById={},this.filePatternAssociations=[],this.filePatternAssociationById={},this.registeredSchemasIds={},this.contributionSchemas)this.schemasById[t]=this.contributionSchemas[t],this.registeredSchemasIds[t]=!0;for(var n in this.contributionAssociations){var r=this.getOrAddFilePatternAssociation(n);this.contributionAssociations[n].forEach((function(t){var n=e.normalizeId(t);r.addSchema(n)}))}},e.prototype.getResolvedSchema=function(e){var t=this.normalizeId(e),n=this.schemasById[t];return n?n.getResolvedSchema():this.promise.resolve(null)},e.prototype.loadSchema=function(e){if(!this.requestService){var t=Un("json.schema.norequestservice","Unable to load schema from '{0}'. No schema request service available",$n(e));return this.promise.resolve(new Kn({},[t]))}return this.requestService(e).then((function(t){if(!t){var n=Un("json.schema.nocontent","Unable to load schema from '{0}': No content.",$n(e));return new Kn({},[n])}var r,i=[];r=qt(t,i);var o=i.length?[Un("json.schema.invalidFormat","Unable to parse content from '{0}': Parse error at offset {1}.",$n(e),i[0].offset)]:[];return new Kn(r,o)}),(function(t){var n=Un("json.schema.unabletoload","Unable to load schema from '{0}': {1}",$n(e),t.toString());return new Kn({},[n])}))},e.prototype.resolveSchemaContent=function(e,t){var n=this,r=e.errors.slice(0),i=e.schema,o=this.contextService,a=function(e,t,n,i){var o=function(e,t){if(!t)return e;var n=e;return"/"===t[0]&&(t=t.substr(1)),t.split("/").some((function(e){return!(n=n[e])})),n}(t,i);if(o)for(var a in o)o.hasOwnProperty(a)&&!e.hasOwnProperty(a)&&(e[a]=o[a]);else r.push(Un("json.schema.invalidref","$ref '{0}' in '{1}' can not be resolved.",i,n))},s=function(e,t,i,s){return o&&!/^\w+:\/\/.*/.test(t)&&(t=o.resolveRelativePath(t,s)),t=n.normalizeId(t),n.getOrAddSchemaHandle(t).getUnresolvedSchema().then((function(n){if(n.errors.length){var o=i?t+"#"+i:t;r.push(Un("json.schema.problemloadingref","Problems loading reference '{0}': {1}",o,n.errors[0]))}return a(e,n.schema,t,i),u(e,n.schema,t)}))},u=function(e,t,r){if(!e||"object"!=typeof e)return Promise.resolve(null);for(var i=[e],o=[],u=[],c=function(e){for(;e.$ref;){var n=e.$ref.split("#",2);if(delete e.$ref,n[0].length>0)return void u.push(s(e,n[0],n[1],r));a(e,t,r,n[1])}!function(){for(var e=[],t=0;t=0||(o.push(l),c(l))}return n.promise.all(u)};return u(i,i,t).then((function(e){return new Bn(i,r)}))},e.prototype.getSchemaForResource=function(e,t){if(t&&t.root&&"object"===t.root.type){var n=t.root.properties.filter((function(e){return"$schema"===e.keyNode.value&&e.valueNode&&"string"===e.valueNode.type}));if(n.length>0){var r=dn(n[0].valueNode);if(r&&function(e,t){if(e.length0?this.createCombinedSchema(e,a).getResolvedSchema():this.promise.resolve(null)},e.prototype.createCombinedSchema=function(e,t){if(1===t.length)return this.getOrAddSchemaHandle(t[0]);var n="schemaservice://combinedSchema/"+encodeURIComponent(e),r={allOf:t.map((function(e){return{$ref:e}}))};return this.addSchemaHandle(n,r)},e}();function $n(e){try{var t=Gt.a.parse(e);if("file"===t.scheme)return t.fsPath}catch(e){}return e}function Jn(e,t){var n=[],r=[],i=[],o=-1,a=Wt(e.getText(),!1),s=a.scan();function u(e){n.push(e),r.push(i.length)}for(;17!==s;){switch(s){case 1:case 3:var c={startLine:h=e.positionAt(a.getTokenOffset()).line,endLine:h,kind:1===s?"object":"array"};i.push(c);break;case 2:case 4:var l=2===s?"object":"array";if(i.length>0&&i[i.length-1].kind===l){c=i.pop();var f=e.positionAt(a.getTokenOffset()).line;c&&f>c.startLine+1&&o!==c.startLine&&(c.endLine=f-1,u(c),o=c.startLine)}break;case 13:var h=e.positionAt(a.getTokenOffset()).line,p=e.positionAt(a.getTokenOffset()+a.getTokenLength()).line;1===a.getTokenError()&&h+1=0&&i[m].kind!==$e.Region;)m--;if(m>=0){c=i[m];i.length=m,f>c.startLine&&o!==c.startLine&&(c.endLine=f,u(c),o=c.startLine)}}}}s=a.scan()}var g=t&&t.rangeLimit;if("number"!=typeof g||n.length<=g)return n;for(var v=[],y=0,b=r;yg){C=m;break}_+=S}}var E=[];for(m=0;mcode[class*=language-]{padding:4px 7px;border-radius:.3em;white-space:normal}.limit-300{height:300px!important}.limit-400{height:400px!important}.limit-500{height:500px!important}.limit-600{height:600px!important}.limit-700{height:700px!important}.limit-800{height:800px!important}.token.comment{color:#6272a4}.token.prolog{color:#cfcfc2}.token.tag{color:#dc68aa}.token.entity{color:#8be9fd}.token.atrule{color:#62ef75}.token.url{color:#66d9ef}.token.selector{color:#cfcfc2}.token.string{color:#f1fa8c}.token.property{color:#ffb86c}.token.important{color:#ff79c6;font-weight:700}.token.punctuation{color:#e6db74}.token.number{color:#bd93f9}.token.function{color:#50fa7b}.token.class-name{color:#ffb86c}.token.keyword{color:#ff79c6}.token.boolean{color:#ffb86c}.token.operator{color:#8be9fd}.token.char{color:#ff879d}.token.regex,.token.variable{color:#50fa7b}.token.constant,.token.symbol{color:#ffb86c}.token.builtin{color:#ff79c6}.token.attr-value{color:#7ec699}.token.deleted,.token.namespace{color:#e2777a}.token.bold{font-weight:700}.token.italic{font-style:italic}.token{color:#ff79c6}.langague-c .token.string,.langague-cpp .token.string{color:#8be9fd}.language-css .token.selector{color:#50fa7b}.language-css .token.property{color:#ffb86c}.language-java .token.class-name,.language-java span.token.class-name{color:#8be9fd}.language-markup .token.attr-value{color:#66d9ef}.language-markup .token.tag{color:#50fa7b}.language-objectivec .token.property{color:#66d9ef}.language-objectivec .token.string{color:#50fa7b}.language-php .token.boolean{color:#8be9fd}.language-php .token.function{color:#ff79c6}.language-php .token.keyword{color:#66d9ef}.language-ruby .token.symbol{color:#8be9fd}.language-ruby .token.class-name{color:#cfcfc2}input[type=text]{width:100%;background-color:#2b2b2b}button,input[type=text]{color:#aaa;outline:0;border:none;border-radius:2px;padding:4px}button{background-color:transparent;transition:all .1s ease-in-out;user-select:none}button:hover{background-color:hsla(0,0%,100%,.1)}button:active{background-color:hsla(0,0%,100%,.2)}button:disabled{pointer-events:none;cursor:not-allowed;background-color:transparent;opacity:.5}.close{display:inline-block;width:16px;height:16px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.428 8L12 10.573 10.572 12 8 9.428 5.428 12 4 10.573 6.572 8 4 5.428 5.427 4 8 6.572 10.573 4 12 5.428 9.428 8z' fill='%23E8E8E8'/%3E%3C/svg%3E") 50% no-repeat;cursor:pointer}#app{overflow-y:hidden}#app,.empty-state{position:absolute;top:0;left:0;bottom:0;right:0;display:flex}#app{flex-direction:row;overflow-x:hidden}.empty-state{flex-direction:column;align-items:center;justify-content:center}.empty-state h2{margin-top:16px;font-size:24px}.gutter{background-color:#222!important;background-image:none!important}.icon-button{width:26px;height:26px;border-radius:13px;margin-right:5px;display:flex;align-items:center;justify-content:center;transition:background-color .1s ease-in-out}.icon-button:hover{background-color:hsla(0,0%,100%,.1)}.icon-button:active{background-color:hsla(0,0%,100%,.2)}.icon-button.disabled{pointer-events:none;cursor:not-allowed;background-color:transparent}.messages{position:fixed;bottom:10px;right:10px;width:350px;z-index:2500}.message{padding:10px;background-color:#2f2f2f;display:flex;flex-direction:row}.message:not(:first-child){margin-top:10px}.message a,.message svg{margin-top:3px}.message p{width:294px;padding:0 10px}.message-enter-active,.message-leave-active{transition:all .5s}.message-enter,.message-leave-to{opacity:0;transform:translateX(30px)}#container{flex-grow:1;display:flex;flex-direction:column;height:100%}#container #editor-container{position:relative;flex:1 1 auto;width:100%;height:100%;display:flex}#container #editor-container>*{flex:1 1 auto;width:100%;height:100%;position:relative;top:0;left:0;right:0;bottom:0;overflow:hidden}#tabs{height:35px;display:flex;flex-direction:row}.monaco-editor .accessibilityHelpWidget{padding:10px;vertical-align:middle;overflow:scroll}.monaco-aria-container{position:absolute;left:-999em}.monaco-editor .bracket-match{box-sizing:border-box}.monaco-menu .monaco-action-bar.vertical .action-label.hover{background-color:#eee}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:1px 4px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;z-index:1000;border:8px solid transparent;position:absolute}.monaco-editor .lightbulb-glyph{display:flex;align-items:center;justify-content:center;height:16px;width:20px;padding-left:2px}.monaco-editor .lightbulb-glyph:hover{cursor:pointer}.monaco-editor.vs .lightbulb-glyph{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiI+PHBhdGggZmlsbD0iI0Y2RjZGNiIgZD0iTTEzLjUgNC4yQzEzLjEgMi4xIDEwLjggMCA5LjMgMEg2LjdjLS40IDAtLjYuMi0uNi4yQzQgLjggMi41IDIuNyAyLjUgNC45YzAgLjUtLjEgMi4zIDEuNyAzLjguNS41IDEuMiAyIDEuMyAyLjR2My4zTDcuMSAxNmgybDEuNS0xLjZWMTFjLjEtLjQuOC0xLjkgMS4zLTIuMyAxLjEtLjkgMS41LTEuOSAxLjYtMi43VjQuMnoiLz48cGF0aCBkPSJNNi41IDEyaDN2MWgtM3ptMSAzaDEuMWwuOS0xaC0zeiIgZmlsbD0iIzg0ODQ4NCIvPjxwYXRoIGZpbGw9IiNmYzAiIGQ9Ik0xMi42IDVjMC0yLjMtMS44LTQuMS00LjEtNC4xLS4xIDAtMS40LjEtMS40LjEtMi4xLjMtMy43IDItMy43IDQgMCAuMS0uMiAxLjYgMS40IDMgLjcuNyAxLjUgMi40IDEuNiAyLjlsLjEuMWgzbC4xLS4yYy4xLS41LjktMi4yIDEuNi0yLjkgMS42LTEuMyAxLjQtMi44IDEuNC0yLjl6bS0zIDFsLS41IDNoLS42VjZjMS4xIDAgLjktMSAuOS0xSDYuNXYuMWMwIC4yLjEuOSAxIC45djNIN2wtLjItLjdMNi41IDZjLS43IDAtLjktLjQtMS0uN3YtLjRjMC0uOC45LS45LjktLjloMy4xczEgLjEgMSAxYzAgMCAuMSAxLS45IDF6Ii8+PHBhdGggZmlsbD0iI0YwRUZGMSIgZD0iTTEwLjUgNWMwLS45LTEtMS0xLTFINi40cy0uOS4xLS45Ljl2LjRjMCAuMy4zLjcuOS43bC40IDIuMy4yLjdoLjVWNmMtMSAwLTEtLjctMS0uOVY1aDNzLjEgMS0uOSAxdjNoLjZsLjUtM2MuOSAwIC44LTEgLjgtMXoiLz48L3N2Zz4=") 50% no-repeat}.monaco-editor.hc-black .lightbulb-glyph,.monaco-editor.vs-dark .lightbulb-glyph{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiI+PHBhdGggZmlsbD0iIzFFMUUxRSIgZD0iTTEzLjUgNC4yQzEzLjEgMi4xIDEwLjggMCA5LjMgMEg2LjdjLS40IDAtLjYuMi0uNi4yQzQgLjggMi41IDIuNyAyLjUgNC45YzAgLjUtLjEgMi4zIDEuNyAzLjguNS41IDEuMiAyIDEuMyAyLjR2My4zTDcuMSAxNmgybDEuNS0xLjZWMTFjLjEtLjQuOC0xLjkgMS4zLTIuMyAxLjEtLjkgMS41LTEuOSAxLjYtMi43VjQuMnoiLz48cGF0aCBkPSJNNi41IDEyaDN2MWgtM3ptMSAzaDEuMWwuOS0xaC0zeiIgZmlsbD0iI0M1QzVDNSIvPjxwYXRoIGZpbGw9IiNEREIyMDQiIGQ9Ik0xMi42IDVjMC0yLjMtMS44LTQuMS00LjEtNC4xLS4xIDAtMS40LjEtMS40LjEtMi4xLjMtMy43IDItMy43IDQgMCAuMS0uMiAxLjYgMS40IDMgLjcuNyAxLjUgMi40IDEuNiAyLjlsLjEuMWgzbC4xLS4yYy4xLS41LjktMi4yIDEuNi0yLjkgMS42LTEuMyAxLjQtMi44IDEuNC0yLjl6bS0zIDFsLS41IDNoLS42VjZjMS4xIDAgLjktMSAuOS0xSDYuNXYuMWMwIC4yLjEuOSAxIC45djNIN2wtLjItLjdMNi41IDZjLS43IDAtLjktLjQtMS0uN3YtLjRjMC0uOC45LS45LjktLjloMy4xczEgLjEgMSAxYzAgMCAuMSAxLS45IDF6Ii8+PHBhdGggZmlsbD0iIzI1MjUyNiIgZD0iTTEwLjUgNWMwLS45LTEtMS0xLTFINi40cy0uOS4xLS45Ljl2LjRjMCAuMy4zLjcuOS43bC40IDIuMy4yLjdoLjVWNmMtMSAwLTEtLjctMS0uOVY1aDNzLjEgMS0uOSAxdjNoLjZsLjUtM2MuOSAwIC44LTEgLjgtMXoiLz48L3N2Zz4=") 50% no-repeat}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{text-decoration:underline;cursor:pointer}.monaco-editor .codelens-decoration.invisible-cl{opacity:0}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}@-moz-keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}@-o-keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}@-webkit-keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{-webkit-animation:fadein .5s linear;-moz-animation:fadein .5s linear;-o-animation:fadein .5s linear;animation:fadein .5s linear}.monaco-action-bar{text-align:right;overflow:hidden;white-space:nowrap}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;width:100%;justify-content:flex-end}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar.reverse .actions-container{flex-direction:row-reverse}.monaco-action-bar .action-item{cursor:pointer;display:inline-block;-ms-transition:-ms-transform 50ms ease;-webkit-transition:-webkit-transform 50ms ease;-moz-transition:-moz-transform 50ms ease;-o-transition:-o-transform 50ms ease;transition:transform 50ms ease;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar.animated .action-item.active{-ms-transform:scale(1.27202);-webkit-transform:scale(1.27202);-moz-transform:scale(1.27202);-o-transform:scale(1.27202);transform:scale(1.27202)}.monaco-action-bar .action-item .icon{display:inline-block}.monaco-action-bar .action-label{font-size:11px;margin-right:4px}.monaco-action-bar .action-label.octicon{font-size:15px;line-height:35px;text-align:center}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.4}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar.animated.vertical .action-item.active{-ms-transform:translate(5px);-webkit-transform:translate(5px);-moz-transform:translate(5px);-o-transform:translate(5px);transform:translate(5px)}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center}.monaco-builder-hidden{display:none!important}.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.monaco-checkbox .label{width:12px;height:12px;border:1px solid #000;background-color:transparent;display:inline-block}.monaco-checkbox .checkbox{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.monaco-checkbox .checkbox:checked+.label{background-color:#000}.monaco-editor .find-widget{position:absolute;z-index:10;top:-44px;height:34px;overflow:hidden;line-height:19px;-webkit-transition:top .2s linear;-o-transition:top .2s linear;-moz-transition:top .2s linear;-ms-transition:top .2s linear;transition:top .2s linear;padding:0 4px}.monaco-editor .find-widget.replaceToggled{top:-74px;height:64px}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex;display:-webkit-flex;align-items:center}.monaco-editor .find-widget.replaceToggled.visible,.monaco-editor .find-widget.visible{top:0}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .replace-input .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:4px 0 0 17px;font-size:12px;display:flex;display:-webkit-flex;align-items:center}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{height:25px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.wrapper>.input{width:100%!important;padding-right:66px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.wrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.wrapper>.input{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;display:-webkit-flex;flex:1}.monaco-editor .find-widget .matchesCount{display:flex;display:-webkit-flex;flex:initial;margin:0 1px 0 3px;padding:2px 2px 0;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{min-width:20px;width:20px;height:20px;display:flex;display:-webkit-flex;flex:initial;margin-left:3px;background-position:50%;background-repeat:no-repeat;cursor:pointer}.monaco-editor .find-widget .button:not(.disabled):hover{background-color:rgba(0,0,0,.1)}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:0;width:18px;height:100%;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .previous{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iLTEgLTMgMTYgMTYiPjxwYXRoIGZpbGw9IiM0MjQyNDIiIGQ9Ik0xMyA0SDZsMy0zSDZMMiA1bDQgNGgzTDYgNmg3eiIvPjwvc3ZnPg==")}.monaco-editor .find-widget .next{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iLTEgLTMgMTYgMTYiPjxwYXRoIGZpbGw9IiM0MjQyNDIiIGQ9Ik0xIDRoN0w1IDFoM2w0IDQtNCA0SDVsMy0zSDFWNHoiLz48L3N2Zz4=")}.monaco-editor .find-widget .disabled{opacity:.3;cursor:default}.monaco-editor .find-widget .monaco-checkbox{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-left:3px}.monaco-editor .find-widget .monaco-checkbox .label{content:"";display:inline-block;background-repeat:no-repeat;background-position:0 0;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0iIzQyNDI0MiI+PHBhdGggZD0iTTIgMTRoOXYySDJ6TTIgMTFoMTN2Mkgyek0yIDhoNnYySDJ6TTIgNWgxMnYySDJ6Ii8+PC9nPjwvc3ZnPg==");width:20px;height:20px;border:none}.monaco-editor .find-widget .monaco-checkbox .checkbox:disabled+.label{opacity:.3;cursor:default}.monaco-editor .find-widget .monaco-checkbox .checkbox:not(:disabled)+.label{cursor:pointer}.monaco-editor .find-widget .monaco-checkbox .checkbox:not(:disabled):hover:before+.label{background-color:#ddd}.monaco-editor .find-widget .monaco-checkbox .checkbox:checked+.label{background-color:hsla(0,0%,39.2%,.2)}.monaco-editor .find-widget .close-fw{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2Ij48cGF0aCBmaWxsPSIjNDI0MjQyIiBkPSJNMTIuNTk3IDExLjA0MmwyLjgwMyAyLjgwMy0xLjU1NiAxLjU1NS0yLjgwMi0yLjgwMkw4LjIzOSAxNS40bC0xLjU1Ni0xLjU1NSAyLjgwMi0yLjgwMy0yLjgwMi0yLjgwMyAxLjU1NS0xLjU1NiAyLjgwNCAyLjgwMyAyLjgwMy0yLjgwM0wxNS40IDguMjM5eiIvPjwvc3ZnPg==")}.monaco-editor .find-widget .expand{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzY0NjQ2NSIgZD0iTTExIDEwLjA3SDUuMzQ0TDExIDQuNDE0djUuNjU2eiIvPjwvc3ZnPg==")}.monaco-editor .find-widget .collapse{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzY0NjQ2NSIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRMOC41ODYgOCA3IDkuNTg2VjYuNDE0eiIvPjwvc3ZnPg==")}.monaco-editor .find-widget .replace{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PGcgZmlsbD0iIzQyNDI0MiI+PHBhdGggZD0iTTExIDNWMWgtMXY2aDRWM2gtM3ptMiAzaC0yVjRoMnYyek0yIDE1aDdWOUgydjZ6bTItNWgzdjFINXYyaDJ2MUg0di00eiIvPjwvZz48cGF0aCBmaWxsPSIjMDA1MzlDIiBkPSJNMy45NzkgMy41TDQgNiAzIDV2MS41TDQuNSA4IDYgNi41VjVMNSA2bC0uMDIxLTIuNWMwLS4yNzUuMjI1LS41LjUtLjVIOVYySDUuNDc5Yy0uODI4IDAtMS41LjY3My0xLjUgMS41eiIvPjwvc3ZnPg==")}.monaco-editor .find-widget .replace-all{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTExIDE1VjlIMXY2aDEwem0tOS0xdi0yaDF2LTFIMnYtMWgzdjRIMnptOC0zSDh2MmgydjFIN3YtNGgzdjF6bS03IDJ2LTFoMXYxSDN6bTEwLTZ2NmgtMVY4SDVWN2g4em0wLTVWMWgtMXY1aDNWMmgtMnptMSAzaC0xVjNoMXYyem0tMy0zdjRIOFY0aDF2MWgxVjRIOVYzSDhWMmgzeiIvPjxwYXRoIGZpbGw9IiMwMDUzOUMiIGQ9Ik0xLjk3OSAzLjVMMiA2IDEgNXYxLjVMMi41IDggNCA2LjVWNUwzIDZsLS4wMjEtMi41YzAtLjI3NS4yMjUtLjUuNS0uNUg3VjJIMy40NzljLS44MjggMC0xLjUuNjczLTEuNSAxLjV6Ii8+PC9zdmc+")}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.replace-input{display:flex;display:-webkit-flex;vertical-align:middle;width:auto!important}.monaco-editor .find-widget.reduced-find-widget .matchesCount,.monaco-editor .find-widget.reduced-find-widget .monaco-checkbox{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:111px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-inputbox>.wrapper>.input{padding-right:0}.monaco-editor .findMatch{-webkit-animation-duration:0;-webkit-animation-name:inherit!important;-moz-animation-duration:0;-moz-animation-name:inherit!important;-ms-animation-duration:0;-ms-animation-name:inherit!important;animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{width:2px!important;margin-left:-4px}.monaco-editor.hc-black .find-widget .previous,.monaco-editor.vs-dark .find-widget .previous{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iLTEgLTMgMTYgMTYiPjxwYXRoIGZpbGw9IiNDNUM1QzUiIGQ9Ik0xMyA0SDZsMy0zSDZMMiA1bDQgNGgzTDYgNmg3eiIvPjwvc3ZnPg==")}.monaco-editor.hc-black .find-widget .next,.monaco-editor.vs-dark .find-widget .next{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iLTEgLTMgMTYgMTYiPjxwYXRoIGZpbGw9IiNDNUM1QzUiIGQ9Ik0xIDRoN0w1IDFoM2w0IDQtNCA0SDVsMy0zSDFWNHoiLz48L3N2Zz4=")}.monaco-editor.hc-black .find-widget .monaco-checkbox .label,.monaco-editor.vs-dark .find-widget .monaco-checkbox .label{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0iI2M1YzVjNSI+PHBhdGggZD0iTTIgMTRoOXYySDJ6TTIgMTFoMTN2Mkgyek0yIDhoNnYySDJ6TTIgNWgxMnYySDJ6Ii8+PC9nPjwvc3ZnPg==")}.monaco-editor.vs-dark .find-widget .monaco-checkbox .checkbox:checked+.label,.monaco-editor.vs-dark .find-widget .monaco-checkbox .checkbox:not(:disabled):hover:before+.label{background-color:hsla(0,0%,100%,.1)}.monaco-editor.hc-black .find-widget .close-fw,.monaco-editor.vs-dark .find-widget .close-fw{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2Ij48cGF0aCBmaWxsPSIjZThlOGU4IiBkPSJNMTIuNTk3IDExLjA0MmwyLjgwMyAyLjgwMy0xLjU1NiAxLjU1NS0yLjgwMi0yLjgwMkw4LjIzOSAxNS40bC0xLjU1Ni0xLjU1NSAyLjgwMi0yLjgwMy0yLjgwMi0yLjgwMyAxLjU1NS0xLjU1NiAyLjgwNCAyLjgwMyAyLjgwMy0yLjgwM0wxNS40IDguMjM5eiIvPjwvc3ZnPg==")}.monaco-editor.hc-black .find-widget .replace,.monaco-editor.vs-dark .find-widget .replace{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PGcgZmlsbD0iI0M1QzVDNSI+PHBhdGggZD0iTTExIDNWMWgtMXY2aDRWM2gtM3ptMiAzaC0yVjRoMnYyek0yIDE1aDdWOUgydjZ6bTItNWgzdjFINXYyaDJ2MUg0di00eiIvPjwvZz48cGF0aCBmaWxsPSIjNzVCRUZGIiBkPSJNMy45NzkgMy41TDQgNiAzIDV2MS41TDQuNSA4IDYgNi41VjVMNSA2bC0uMDIxLTIuNWMwLS4yNzUuMjI1LS41LjUtLjVIOVYySDUuNDc5Yy0uODI4IDAtMS41LjY3My0xLjUgMS41eiIvPjwvc3ZnPg==")}.monaco-editor.hc-black .find-widget .replace-all,.monaco-editor.vs-dark .find-widget .replace-all{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTExIDE1VjlIMXY2aDEwem0tOS0xdi0yaDF2LTFIMnYtMWgzdjRIMnptOC0zSDh2MmgydjFIN3YtNGgzdjF6bS03IDJ2LTFoMXYxSDN6bTEwLTZ2NmgtMVY4SDVWN2g4em0wLTVWMWgtMXY1aDNWMmgtMnptMSAzaC0xVjNoMXYyem0tMy0zdjRIOFY0aDF2MWgxVjRIOVYzSDhWMmgzeiIvPjxwYXRoIGZpbGw9IiM3NUJFRkYiIGQ9Ik0xLjk3OSAzLjVMMiA2IDEgNXYxLjVMMi41IDggNCA2LjVWNUwzIDZsLS4wMjEtMi41YzAtLjI3NS4yMjUtLjUuNS0uNUg3VjJIMy40NzljLS44MjggMC0xLjUuNjczLTEuNSAxLjV6Ii8+PC9zdmc+")}.monaco-editor.hc-black .find-widget .expand,.monaco-editor.vs-dark .find-widget .expand{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2U4ZThlOCIgZD0iTTExIDEwLjA3SDUuMzQ0TDExIDQuNDE0djUuNjU2eiIvPjwvc3ZnPg==")}.monaco-editor.hc-black .find-widget .collapse,.monaco-editor.vs-dark .find-widget .collapse{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2U4ZThlOCIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRMOC41ODYgOCA3IDkuNTg2VjYuNDE0eiIvPjwvc3ZnPg==")}.monaco-editor.hc-black .find-widget .button:not(.disabled):hover,.monaco-editor.vs-dark .find-widget .button:not(.disabled):hover{background-color:hsla(0,0%,100%,.1)}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor.hc-black .find-widget .monaco-checkbox .checkbox:checked+.label{background-color:hsla(0,0%,100%,.1)}.monaco-sash{position:absolute;z-index:90;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.vertical{cursor:ew-resize;top:0;width:4px;height:100%}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:4px}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash:not(.disabled).orthogonal-end:after,.monaco-sash:not(.disabled).orthogonal-start:before{content:" ";height:8px;width:8px;z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.orthogonal-start.vertical:before{left:-2px;top:-4px}.monaco-sash.orthogonal-end.vertical:after{left:-2px;bottom:-4px}.monaco-sash.orthogonal-start.horizontal:before{top:-2px;left:-4px}.monaco-sash.orthogonal-end.horizontal:after{top:-2px;right:-4px}.monaco-sash.disabled{cursor:default!important}.monaco-sash.touch.vertical{width:20px}.monaco-sash.touch.horizontal{height:20px}.monaco-sash.debug:not(.disabled){background:#0ff}.monaco-sash.debug:not(.disabled).orthogonal-end:after,.monaco-sash.debug:not(.disabled).orthogonal-start:before{background:red}.monaco-inputbox{position:relative;display:block;padding:0;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;line-height:auto!important;font-size:inherit}.monaco-inputbox.idle{border:1px solid transparent}.monaco-inputbox>.wrapper>.input,.monaco-inputbox>.wrapper>.mirror{padding:4px}.monaco-inputbox>.wrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.wrapper>.input{display:inline-block;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.wrapper>input{text-overflow:ellipsis}.monaco-inputbox>.wrapper>textarea.input{display:block;overflow:hidden}.monaco-inputbox>.wrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;min-height:26px;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;min-height:34px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .icon{background-repeat:no-repeat;width:16px;height:16px}.context-view{position:absolute;z-index:2000}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%;height:25px}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:hsla(0,0%,100%,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:hsla(0,0%,100%,.44)}99%{background:transparent}}.monaco-custom-checkbox{margin-left:2px;float:left;cursor:pointer;overflow:hidden;opacity:.7;width:20px;height:20px;border:1px solid transparent;padding:1px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none}.monaco-custom-checkbox.checked,.monaco-custom-checkbox:hover{opacity:1}.hc-black .monaco-custom-checkbox,.hc-black .monaco-custom-checkbox:hover{background:none}.vs .monaco-custom-checkbox.monaco-case-sensitive{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHN0eWxlPi5zdDJ7ZmlsbDojNDI0MjQyfTwvc3R5bGU+PHBhdGggZD0iTTE0LjE3NiA1LjU5MmMtLjU1NS0uNi0xLjMzNi0uOTA0LTIuMzIyLS45MDQtLjI1OCAwLS41MjEuMDI0LS43ODQuMDcyYTUuOTI0IDUuOTI0IDAgMDAtLjcuMTY5IDUuMTUgNS4xNSAwIDAwLS42MTMuMjI5IDMuMDIgMy4wMiAwIDAwLS41MTIuMjg0bC0uNDE5LjI5OXYyLjcwMWEyLjQ3NyAyLjQ3NyAwIDAwLS4yMjkuMzQ0bC0yLjQ1LTYuMzU0SDMuNzUzTDAgMTIuMjM2di41OThoMy4wMjVsLjgzOC0yLjM1SDYuMDNsLjg5MSAyLjM1aDMuMjM3bC0uMDAxLS4wMDNjLjMwNS4wOTIuNjMzLjE1Ljk5My4xNS4zNDQgMCAuNjcxLS4wNDkuOTc4LS4xNDZoMi44NTNWNy45MzJjLS4wMDEtLjk3NS0uMjcxLTEuNzYzLS44MDUtMi4zNHoiIGZpbGw9IiNmNmY2ZjYiIGlkPSJvdXRsaW5lIi8+PGcgaWQ9Imljb25feDVGX2JnIj48cGF0aCBjbGFzcz0ic3QyIiBkPSJNNy42MTEgMTEuODM0bC0uODkxLTIuMzVIMy4xNThsLS44MzggMi4zNUgxLjIyNWwzLjIxNy04LjQwMmgxLjAybDMuMjQgOC40MDJINy42MTF6TTUuMDggNS4wMmwtLjA0NC0uMTM1LS4wMzgtLjE1Ni0uMDI5LS4xNTItLjAyNC0uMTI2aC0uMDIzbC0uMDIxLjEyNi0uMDMyLjE1Mi0uMDM4LjE1Ni0uMDQ0LjEzNUwzLjQ4IDguNTk0aDIuOTE4TDUuMDggNS4wMnpNMTMuMDIgMTEuODM0di0uOTM4aC0uMDIzYy0uMTk5LjM1Mi0uNDU2LjYyLS43NzEuODA2cy0uNjczLjI3OC0xLjA3NS4yNzhjLS4zMTMgMC0uNTg4LS4wNDUtLjgyNi0uMTM1cy0uNDM4LS4yMTItLjU5OC0uMzY2LS4yODEtLjMzOC0uMzYzLS41NTEtLjEyNC0uNDQyLS4xMjQtLjY4OGMwLS4yNjIuMDM5LS41MDIuMTE3LS43MjFzLjE5OC0uNDEyLjM2LS41OC4zNjctLjMwOC42MTUtLjQxOS41NDQtLjE5Ljg4OC0uMjM3bDEuODExLS4yNTJjMC0uMjczLS4wMjktLjUwNy0uMDg4LS43cy0uMTQzLS4zNTEtLjI1Mi0uNDcyLS4yNDEtLjIxLS4zOTYtLjI2Ny0uMzI1LS4wODUtLjUxMy0uMDg1Yy0uMzYzIDAtLjcxNC4wNjQtMS4wNTIuMTkzcy0uNjM4LjMxLS45MDQuNTR2LS45ODRjLjA4Mi0uMDU5LjE5Ni0uMTIxLjM0My0uMTg4cy4zMTItLjEyOC40OTUtLjE4NS4zNzgtLjEwNC41ODMtLjE0MS40MDctLjA1Ni42MDYtLjA1NmMuNjk5IDAgMS4yMjkuMTk0IDEuNTg4LjU4M3MuNTM5Ljk0Mi41MzkgMS42NjF2My45MDJoLS45NnptLTEuNDU0LTIuODNjLS4yNzMuMDM1LS40OTguMDg1LS42NzQuMTQ5cy0uMzEzLjE0NC0uNDEuMjM3LS4xNjUuMjA1LS4yMDIuMzM0LS4wNTUuMjc2LS4wNTUuNDRjMCAuMTQxLjAyNS4yNzEuMDc2LjM5M3MuMTI0LjIyNy4yMi4zMTYuMjE1LjE2LjM1Ny4yMTEuMzA4LjA3Ni40OTUuMDc2Yy4yNDIgMCAuNDY1LS4wNDUuNjY4LS4xMzVzLjM3OC0uMjE0LjUyNC0uMzcyLjI2MS0uMzQ0LjM0My0uNTU3LjEyMy0uNDQyLjEyMy0uNjg4di0uNjA5bC0xLjQ2NS4yMDV6Ii8+PC9nPjwvc3ZnPg==") 50% no-repeat}.hc-black .monaco-custom-checkbox.monaco-case-sensitive,.hc-black .monaco-custom-checkbox.monaco-case-sensitive:hover,.vs-dark .monaco-custom-checkbox.monaco-case-sensitive{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHN0eWxlPi5zdDJ7ZmlsbDojYzVjNWM1fTwvc3R5bGU+PHBhdGggZD0iTTE0LjE3NiA1LjU5MmMtLjU1NS0uNi0xLjMzNi0uOTA0LTIuMzIyLS45MDQtLjI1OCAwLS41MjEuMDI0LS43ODQuMDcyYTUuOTI0IDUuOTI0IDAgMDAtLjcuMTY5IDUuMTUgNS4xNSAwIDAwLS42MTMuMjI5IDMuMDIgMy4wMiAwIDAwLS41MTIuMjg0bC0uNDE5LjI5OXYyLjcwMWEyLjQ3NyAyLjQ3NyAwIDAwLS4yMjkuMzQ0bC0yLjQ1LTYuMzU0SDMuNzUzTDAgMTIuMjM2di41OThoMy4wMjVsLjgzOC0yLjM1SDYuMDNsLjg5MSAyLjM1aDMuMjM3bC0uMDAxLS4wMDNjLjMwNS4wOTIuNjMzLjE1Ljk5My4xNS4zNDQgMCAuNjcxLS4wNDkuOTc4LS4xNDZoMi44NTNWNy45MzJjLS4wMDEtLjk3NS0uMjcxLTEuNzYzLS44MDUtMi4zNHoiIGZpbGw9IiMyNjI2MjYiIGlkPSJvdXRsaW5lIi8+PGcgaWQ9Imljb25feDVGX2JnIj48cGF0aCBjbGFzcz0ic3QyIiBkPSJNNy42MTEgMTEuODM0bC0uODkxLTIuMzVIMy4xNThsLS44MzggMi4zNUgxLjIyNWwzLjIxNy04LjQwMmgxLjAybDMuMjQgOC40MDJINy42MTF6TTUuMDggNS4wMmwtLjA0NC0uMTM1LS4wMzgtLjE1Ni0uMDI5LS4xNTItLjAyNC0uMTI2aC0uMDIzbC0uMDIxLjEyNi0uMDMyLjE1Mi0uMDM4LjE1Ni0uMDQ0LjEzNUwzLjQ4IDguNTk0aDIuOTE4TDUuMDggNS4wMnpNMTMuMDIgMTEuODM0di0uOTM4aC0uMDIzYy0uMTk5LjM1Mi0uNDU2LjYyLS43NzEuODA2cy0uNjczLjI3OC0xLjA3NS4yNzhjLS4zMTMgMC0uNTg4LS4wNDUtLjgyNi0uMTM1cy0uNDM4LS4yMTItLjU5OC0uMzY2LS4yODEtLjMzOC0uMzYzLS41NTEtLjEyNC0uNDQyLS4xMjQtLjY4OGMwLS4yNjIuMDM5LS41MDIuMTE3LS43MjFzLjE5OC0uNDEyLjM2LS41OC4zNjctLjMwOC42MTUtLjQxOS41NDQtLjE5Ljg4OC0uMjM3bDEuODExLS4yNTJjMC0uMjczLS4wMjktLjUwNy0uMDg4LS43cy0uMTQzLS4zNTEtLjI1Mi0uNDcyLS4yNDEtLjIxLS4zOTYtLjI2Ny0uMzI1LS4wODUtLjUxMy0uMDg1Yy0uMzYzIDAtLjcxNC4wNjQtMS4wNTIuMTkzcy0uNjM4LjMxLS45MDQuNTR2LS45ODRjLjA4Mi0uMDU5LjE5Ni0uMTIxLjM0My0uMTg4cy4zMTItLjEyOC40OTUtLjE4NS4zNzgtLjEwNC41ODMtLjE0MS40MDctLjA1Ni42MDYtLjA1NmMuNjk5IDAgMS4yMjkuMTk0IDEuNTg4LjU4M3MuNTM5Ljk0Mi41MzkgMS42NjF2My45MDJoLS45NnptLTEuNDU0LTIuODNjLS4yNzMuMDM1LS40OTguMDg1LS42NzQuMTQ5cy0uMzEzLjE0NC0uNDEuMjM3LS4xNjUuMjA1LS4yMDIuMzM0LS4wNTUuMjc2LS4wNTUuNDRjMCAuMTQxLjAyNS4yNzEuMDc2LjM5M3MuMTI0LjIyNy4yMi4zMTYuMjE1LjE2LjM1Ny4yMTEuMzA4LjA3Ni40OTUuMDc2Yy4yNDIgMCAuNDY1LS4wNDUuNjY4LS4xMzVzLjM3OC0uMjE0LjUyNC0uMzcyLjI2MS0uMzQ0LjM0My0uNTU3LjEyMy0uNDQyLjEyMy0uNjg4di0uNjA5bC0xLjQ2NS4yMDV6Ii8+PC9nPjwvc3ZnPg==") 50% no-repeat}.vs .monaco-custom-checkbox.monaco-whole-word{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHN0eWxlPi5zdDJ7ZmlsbDojNDI0MjQyfTwvc3R5bGU+PHBhdGggZD0iTTE2IDQuMDIyVjFILS4wMTR2My4wMjJoMy4wNDZsLTMuMDQzIDcuOTQ1aC0uMDA0di4wMUwwIDEzaC0uMDE0djEuOTkxSDE2di0zLjAyM2gtMVY0LjAyMmgxem0tNS45MTQgNS4zMDFjMCAuMjMzLS4wMjMuNDQxLS4wNjYuNTk1YS44Ni44NiAwIDAxLS4xMjcuMjg0bC0uMDc4LjA2OS0uMTUxLjAyNi0uMTE1LS4wMTctLjEzOS0uMTM3YTEuNzc0IDEuNzc0IDAgMDEtLjExMi0uNTY2YzAtLjI1NC4wOTEtLjU2MS4xMjYtLjY1NmwuMDY5LS4xNDEuMTA5LS4wODIuMTc4LS4wMjdjLjA3NyAwIC4xMTcuMDE0LjE3Ny4wNTZsLjA4Ny4xNzkuMDUxLjIzNy0uMDA5LjE4ek02LjM5MSA0LjAyMnYyLjg5M0w1LjI3NSA0LjAyMmgxLjExNnptLTMuMDI2IDcuMDJoMS41NzNsLjM1MS45MjZIMy4wMzVsLjMzLS45MjZ6TTEyIDYuNjg4Yy0uMjA2LS4yLS40MzEtLjM4LS42OTUtLjUxMmEzLjAwNiAzLjAwNiAwIDAwLTEuMzU1LS4yOThjLS4yMTUgMC0uNDIzLjAyLS42MjEuMDU4VjQuMDIySDEydjIuNjY2eiIgZmlsbD0iI2Y2ZjZmNiIgaWQ9Im91dGxpbmUiLz48ZyBpZD0iaWNvbl94NUZfYmciPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xMyA0aDF2OGgtMXpNMTEuMjI1IDguMzg3Yy0uMDc4LS4yOTktLjE5OS0uNTYyLS4zNi0uNzg2cy0uMzY1LS40MDEtLjYwOS0uNTMtLjUzNC0uMTkzLS44NjYtLjE5M2MtLjE5OCAwLS4zOC4wMjQtLjU0Ny4wNzNhMS43NiAxLjc2IDAgMDAtLjQ1My4yMDUgMS43MjQgMS43MjQgMCAwMC0uMzY1LjMxOGwtLjE3OS4yNThWNC41NzhoLS44OTNWMTJoLjg5M3YtLjU3NWwuMTI2LjE3NWMuMDg3LjEwMi4xODkuMTkuMzA0LjI2OS4xMTcuMDc4LjI0OS4xNC4zOTguMTg2LjE0OS4wNDYuMzE0LjA2OC40OTguMDY4LjM1MyAwIC42NjYtLjA3MS45MzctLjIxMi4yNzItLjE0My40OTktLjMzOC42ODItLjU4Ni4xODMtLjI1LjMyMS0uNTQzLjQxNC0uODc5LjA5My0uMzM4LjE0LS43MDMuMTQtMS4wOTdhMy43NTYgMy43NTYgMCAwMC0uMTItLjk2MnpNOS43NDYgNy43OGMuMTUxLjA3MS4yODIuMTc2LjM5LjMxNC4xMDkuMTQuMTk0LjMxMy4yNTUuNTE3LjA1MS4xNzQuMDgyLjM3MS4wODkuNTg3bC0uMDA3LjEyNWMwIC4zMjctLjAzMy42Mi0uMS44NjlhMS44ODYgMS44ODYgMCAwMS0uMjc4LjYxNGMtLjExNy4xNjItLjI2LjI4NS0uNDIxLjM2Ni0uMzIyLjE2Mi0uNzYuMTY2LTEuMDY5LjAxNWExLjI2NCAxLjI2NCAwIDAxLS4zOTMtLjI5NiAxLjI3MyAxLjI3MyAwIDAxLS4yMTgtLjM2N3MtLjE3OS0uNDQ3LS4xNzktLjk0N2MwLS41LjE3OS0xLjAwMi4xNzktMS4wMDIuMDYyLS4xNzcuMTM2LS4zMTguMjI0LS40My4xMTQtLjE0My4yNTYtLjI1OS40MjQtLjM0NS4xNjgtLjA4Ni4zNjUtLjEyOS41ODctLjEyOS4xOSAwIC4zNjQuMDM3LjUxNy4xMDl6TS45ODcgMkgxNXYxLjAyM0guOTg3ek0uOTg3IDEyLjk2OEgxNXYxLjAyM0guOTg3ek0xLjk5MSAxMi4wMzFMMi43MTkgMTBoMi4yMTlsLjc3OCAyLjAzMWgxLjA4Mkw0LjMxMyA0Ljg3M2gtLjk0MUwuOTMxIDExLjk1OWwtLjAyNS4wNzJoMS4wODV6bTEuODI3LTUuNjA5aC4wMjJsLjkxNCAyLjc1M0gyLjkxM2wuOTA1LTIuNzUzeiIvPjwvZz48L3N2Zz4=") 50% no-repeat}.hc-black .monaco-custom-checkbox.monaco-whole-word,.hc-black .monaco-custom-checkbox.monaco-whole-word:hover,.vs-dark .monaco-custom-checkbox.monaco-whole-word{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHN0eWxlPi5zdDJ7ZmlsbDojYzVjNWM1fTwvc3R5bGU+PHBhdGggZD0iTTE2IDQuMDIyVjFILS4wMTR2My4wMjJoMy4wNDZsLTMuMDQzIDcuOTQ1aC0uMDA0di4wMUwwIDEzaC0uMDE0djEuOTkxSDE2di0zLjAyM2gtMVY0LjAyMmgxem0tNS45MTQgNS4zMDFjMCAuMjMzLS4wMjMuNDQxLS4wNjYuNTk1YS44Ni44NiAwIDAxLS4xMjcuMjg0bC0uMDc4LjA2OS0uMTUxLjAyNi0uMTE1LS4wMTctLjEzOS0uMTM3YTEuNzc0IDEuNzc0IDAgMDEtLjExMi0uNTY2YzAtLjI1NC4wOTEtLjU2MS4xMjYtLjY1NmwuMDY5LS4xNDEuMTA5LS4wODIuMTc4LS4wMjdjLjA3NyAwIC4xMTcuMDE0LjE3Ny4wNTZsLjA4Ny4xNzkuMDUxLjIzNy0uMDA5LjE4ek02LjM5MSA0LjAyMnYyLjg5M0w1LjI3NSA0LjAyMmgxLjExNnptLTMuMDI2IDcuMDJoMS41NzNsLjM1MS45MjZIMy4wMzVsLjMzLS45MjZ6TTEyIDYuNjg4Yy0uMjA2LS4yLS40MzEtLjM4LS42OTUtLjUxMmEzLjAwNiAzLjAwNiAwIDAwLTEuMzU1LS4yOThjLS4yMTUgMC0uNDIzLjAyLS42MjEuMDU4VjQuMDIySDEydjIuNjY2eiIgZmlsbD0iIzI2MjYyNiIgaWQ9Im91dGxpbmUiLz48ZyBpZD0iaWNvbl94NUZfYmciPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xMyA0aDF2OGgtMXpNMTEuMjI1IDguMzg3Yy0uMDc4LS4yOTktLjE5OS0uNTYyLS4zNi0uNzg2cy0uMzY1LS40MDEtLjYwOS0uNTMtLjUzNC0uMTkzLS44NjYtLjE5M2MtLjE5OCAwLS4zOC4wMjQtLjU0Ny4wNzNhMS43NiAxLjc2IDAgMDAtLjQ1My4yMDUgMS43MjQgMS43MjQgMCAwMC0uMzY1LjMxOGwtLjE3OS4yNThWNC41NzhoLS44OTNWMTJoLjg5M3YtLjU3NWwuMTI2LjE3NWMuMDg3LjEwMi4xODkuMTkuMzA0LjI2OS4xMTcuMDc4LjI0OS4xNC4zOTguMTg2LjE0OS4wNDYuMzE0LjA2OC40OTguMDY4LjM1MyAwIC42NjYtLjA3MS45MzctLjIxMi4yNzItLjE0My40OTktLjMzOC42ODItLjU4Ni4xODMtLjI1LjMyMS0uNTQzLjQxNC0uODc5LjA5My0uMzM4LjE0LS43MDMuMTQtMS4wOTdhMy43NTYgMy43NTYgMCAwMC0uMTItLjk2MnpNOS43NDYgNy43OGMuMTUxLjA3MS4yODIuMTc2LjM5LjMxNC4xMDkuMTQuMTk0LjMxMy4yNTUuNTE3LjA1MS4xNzQuMDgyLjM3MS4wODkuNTg3bC0uMDA3LjEyNWMwIC4zMjctLjAzMy42Mi0uMS44NjlhMS44ODYgMS44ODYgMCAwMS0uMjc4LjYxNGMtLjExNy4xNjItLjI2LjI4NS0uNDIxLjM2Ni0uMzIyLjE2Mi0uNzYuMTY2LTEuMDY5LjAxNWExLjI2NCAxLjI2NCAwIDAxLS4zOTMtLjI5NiAxLjI3MyAxLjI3MyAwIDAxLS4yMTgtLjM2N3MtLjE3OS0uNDQ3LS4xNzktLjk0N2MwLS41LjE3OS0xLjAwMi4xNzktMS4wMDIuMDYyLS4xNzcuMTM2LS4zMTguMjI0LS40My4xMTQtLjE0My4yNTYtLjI1OS40MjQtLjM0NS4xNjgtLjA4Ni4zNjUtLjEyOS41ODctLjEyOS4xOSAwIC4zNjQuMDM3LjUxNy4xMDl6TS45ODcgMkgxNXYxLjAyM0guOTg3ek0uOTg3IDEyLjk2OEgxNXYxLjAyM0guOTg3ek0xLjk5MSAxMi4wMzFMMi43MTkgMTBoMi4yMTlsLjc3OCAyLjAzMWgxLjA4Mkw0LjMxMyA0Ljg3M2gtLjk0MUwuOTMxIDExLjk1OWwtLjAyNS4wNzJoMS4wODV6bTEuODI3LTUuNjA5aC4wMjJsLjkxNCAyLjc1M0gyLjkxM2wuOTA1LTIuNzUzeiIvPjwvZz48L3N2Zz4=") 50% no-repeat}.vs .monaco-custom-checkbox.monaco-regex{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0Y2RjZGNiIgZD0iTTEzLjY0IDcuMzk2bC0xLjQ3MS00LjQ5OC0xLjQ2My44NjNMMTEuMDg3IDJoLTQuNTNsLjM3OSAxLjc2Mi0xLjQ2My0uODY0TDQgNy4zOTZsMS42ODIuMTU4LTEuMTY5IDEuMDA3LjUuNDM5SDJ2NWg1di0zLjI1M2wuOTc4Ljg1OS44NDItMS44ODEuODQxIDEuODc3IDMuNDgzLTMuMDQtMS4xNzYtMS4wMDh6Ii8+PGcgZmlsbD0iIzQyNDI0MiI+PHBhdGggZD0iTTEyLjMwMSA2LjUxOGwtMi43NzIuMjYyIDIuMDg2IDEuNzg4LTEuNTk0IDEuMzkyTDguODIgNy4yNzggNy42MTkgOS45NiA2LjAzNiA4LjU2OCA4LjExMSA2Ljc4IDUuMzQgNi41MThsLjY5Ni0yLjEyNiAyLjM1OCAxLjM5Mkw3Ljc5NSAzaDIuMDUzbC0uNjAyIDIuNzgzIDIuMzU5LTEuMzkyLjY5NiAyLjEyN3pNMyAxMGgzdjNIM3oiLz48L2c+PC9zdmc+") 50% no-repeat}.hc-black .monaco-custom-checkbox.monaco-regex,.hc-black .monaco-custom-checkbox.monaco-regex:hover,.vs-dark .monaco-custom-checkbox.monaco-regex{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzJkMmQzMCIgZD0iTTEzLjY0IDcuMzk2bC0xLjQ3MS00LjQ5OC0xLjQ2My44NjNMMTEuMDg3IDJoLTQuNTNsLjM3OSAxLjc2Mi0xLjQ2My0uODY0TDQgNy4zOTZsMS42ODIuMTU4LTEuMTY5IDEuMDA3LjUuNDM5SDJ2NWg1di0zLjI1M2wuOTc4Ljg1OS44NDItMS44ODEuODQxIDEuODc3IDMuNDgzLTMuMDQtMS4xNzYtMS4wMDh6Ii8+PGcgZmlsbD0iI0M1QzVDNSI+PHBhdGggZD0iTTEyLjMwMSA2LjUxOGwtMi43NzIuMjYyIDIuMDg2IDEuNzg4LTEuNTk0IDEuMzkyTDguODIgNy4yNzggNy42MTkgOS45NiA2LjAzNiA4LjU2OCA4LjExMSA2Ljc4IDUuMzQgNi41MThsLjY5Ni0yLjEyNiAyLjM1OCAxLjM5Mkw3Ljc5NSAzaDIuMDUzbC0uNjAyIDIuNzgzIDIuMzU5LTEuMzkyLjY5NiAyLjEyN3pNMyAxMGgzdjNIM3oiLz48L2c+PC9zdmc+") 50% no-repeat}.monaco-editor .margin-view-overlays .folding{margin-left:5px;cursor:pointer;background-repeat:no-repeat;background-origin:border-box;background-position:3px;background-size:15px;opacity:0;transition:opacity .5s;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNSI+PHBhdGggZD0iTTExIDR2N0g0VjRoN20xLTFIM3Y5aDlWM3oiIGZpbGw9IiNiNmI2YjYiLz48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2YjZiNmIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEwIDcuNUg1Ii8+PC9zdmc+")}.monaco-editor.hc-black .margin-view-overlays .folding,.monaco-editor.vs-dark .margin-view-overlays .folding{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNSI+PHBhdGggZD0iTTExIDR2N0g0VjRoN20xLTFIM3Y5aDlWM3oiIGZpbGw9IiM1YTVhNWEiLz48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNjNWM1YzUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEwIDcuNUg1Ii8+PC9zdmc+")}.monaco-editor .margin-view-overlays .folding.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays:hover .folding{opacity:1}.monaco-editor .margin-view-overlays .folding.collapsed{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNSI+PHBhdGggZmlsbD0iI2U4ZThlOCIgZD0iTTMgM2g5djlIM3oiLz48cGF0aCBkPSJNMTEgNHY3SDRWNGg3bTEtMUgzdjloOVYzeiIgZmlsbD0iI2I2YjZiNiIvPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZiNmI2YiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTAgNy41SDVNNy41IDV2NSIvPjwvc3ZnPg==");opacity:1}.monaco-editor.hc-black .margin-view-overlays .folding.collapsed,.monaco-editor.vs-dark .margin-view-overlays .folding.collapsed{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNSI+PHBhdGggb3BhY2l0eT0iLjEiIGZpbGw9IiNmZmYiIGQ9Ik0zIDNoOXY5SDN6Ii8+PHBhdGggZD0iTTExIDR2N0g0VjRoN20xLTFIM3Y5aDlWM3oiIGZpbGw9IiM1YTVhNWEiLz48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNjNWM1YzUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEwIDcuNUg1TTcuNSA1djUiLz48L3N2Zz4=")}.monaco-editor .inline-folded:after{color:grey;margin:.1em .2em 0;content:"\22EF";display:inline;line-height:1em;cursor:pointer}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-count-badge{padding:.3em .5em;border-radius:1em;font-size:85%;min-width:1.6em;line-height:1em;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:inline-block;-webkit-font-smoothing:antialiased;vertical-align:top;flex-shrink:0}.monaco-icon-label>.monaco-icon-label-description-container{overflow:hidden;text-overflow:ellipsis}.monaco-icon-label>.monaco-icon-label-description-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-description-container>.label-description{margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.italic>.monaco-icon-label-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-description-container>.label-name{font-style:italic}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;padding:0 12px 0 5px;margin-left:auto;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after,.monaco-tree.focused .selected .monaco-icon-label,.monaco-tree.focused .selected .monaco-icon-label:after{color:inherit!important}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"liga" off,"calt" off;font-feature-settings:"liga" off,"calt" off}.monaco-editor.enable-ligatures{-webkit-font-feature-settings:"liga" on,"calt" on;font-feature-settings:"liga" on,"calt" on}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .vs-whitespace{display:inline-block}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent}.monaco-editor .inputarea.ime-input{z-index:10}.monaco-editor .margin-view-overlays .line-numbers{position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers{cursor:-webkit-image-set(url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIyMSI+PHBhdGggZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjMDAwIiBkPSJNMTQuNSAxLjJMMS45IDEzLjhoNS4ybC0yLjYgNS4zIDMuMiAxIDIuNi01LjIgNC4yIDMuMXoiLz48L3N2Zz4=") 1x,url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSI0MiI+PHBhdGggZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0yOSAyLjRMMy44IDI3LjZoMTAuNUw5IDM4LjFsNi40IDIuMSA1LjItMTAuNUwyOSAzNnoiLz48L3N2Zz4=") 2x) 30 0,default}.monaco-editor.mac .margin-view-overlays .line-numbers{cursor:-webkit-image-set(url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxOCI+PHBhdGggZD0iTTQuMyAxNi41bDEuNi00LjZIMS4xTDExLjUgMS4ydjE0LjRMOC43IDEzbC0xLjYgNC41eiIvPjxwYXRoIGQ9Ik0xMSAxNC41bC0yLjUtMi4zTDcgMTYuNyA1IDE2bDEuNi00LjVoLTRsOC41LTlNMCAxMi41aDUuMmwtMS41IDQuMUw3LjUgMTggOSAxNC4ybDIuOSAyLjNWMEwwIDEyLjV6IiBmaWxsPSIjZmZmIi8+PC9zdmc+") 1x,url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDI0IDM2LjEiPjxwYXRoIGQ9Ik04LjYgMzMuMWwzLjItOS4ySDIuMkwyMyAyLjV2MjguOGwtNS42LTUuMi0zLjIgOS01LjYtMnoiLz48cGF0aCBkPSJNMjIgMjkuMWwtNS00LjYtMy4wNjIgOC45MzgtNC4wNjItMS41TDEzIDIzSDVMMjIgNU0wIDI1aDEwLjRsLTMgOC4zIDcuNiAyLjggMy4xMjUtNy42NjJMMjQgMzNWMHoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=") 2x) 24 3,default}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .lines-content .cigr,.monaco-editor .lines-content .cigra,.monaco-editor .margin-view-overlays .cgmr{position:absolute}.monaco-editor.safari .lines-content,.monaco-editor.safari .view-line,.monaco-editor.safari .view-lines{-webkit-user-select:text;user-select:text}.monaco-editor .lines-content,.monaco-editor .view-line,.monaco-editor .view-lines{-webkit-user-select:none;-ms-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.monaco-editor .view-lines{cursor:text;white-space:nowrap}.monaco-editor.hc-black.mac .view-lines,.monaco-editor.vs-dark.mac .view-lines{cursor:-webkit-image-set(url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAL0lEQVQoz2NgCD3x//9/BhBYBWdhgFVAiVW4JBFKGIa4AqD0//9D3pt4I4tAdAMAHTQ/j5Zom30AAAAASUVORK5CYII=) 1x,url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAAz0lEQVRIx2NgYGBY/R8I/vx5eelX3n82IJ9FxGf6tksvf/8FiTMQAcAGQMDvSwu09abffY8QYSAScNk45G198eX//yev73/4///701eh//kZSARckrNBRvz//+8+6ZohwCzjGNjdgQxkAg7B9WADeBjIBqtJCbhRA0YNoIkBSNmaPEMoNmA0FkYNoFKhapJ6FGyAH3nauaSmPfwI0v/3OukVi0CIZ+F25KrtYcx/CTIy0e+rC7R1Z4KMICVTQQ14feVXIbR695u14+Ir4gwAAD49E54wc1kWAAAAAElFTkSuQmCC) 2x) 5 8,text}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;cursor:text;overflow:hidden}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{box-sizing:border-box;background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important;box-sizing:border-box}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-scrollable-element>.scrollbar>.up-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkuNDggOC45NjFsMS4yNi0xLjI2LTUuMDQtNS4wNC01LjQ2IDUuMDQgMS4yNiAxLjI2IDQuMi0zLjc4IDMuNzggMy43OHoiIGZpbGw9IiM0MjQyNDIiLz48L3N2Zz4=");cursor:pointer}.monaco-scrollable-element>.scrollbar>.down-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTEuNSAyLjY2MkwuMjQgMy45MjJsNS4wNCA1LjA0IDUuNDYtNS4wNC0xLjI2LTEuMjYtNC4yIDMuNzgtMy43OC0zLjc4eiIvPjwvc3ZnPg==");cursor:pointer}.monaco-scrollable-element>.scrollbar>.left-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTguNjQgMS40NDFMNy4zOC4xODFsLTUuMDQgNS4wNCA1LjA0IDUuNDYgMS4yNi0xLjI2LTMuNzgtNC4yIDMuNzgtMy43OHoiLz48L3N2Zz4=");cursor:pointer}.monaco-scrollable-element>.scrollbar>.right-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTIuNDY3IDkuNTQ4bDEuMjYgMS4yNiA1LjA0LTUuMDQtNS4wNC01LjQ2LTEuMjYgMS4yNiAzLjc4IDQuMi0zLjc4IDMuNzh6Ii8+PC9zdmc+");cursor:pointer}.hc-black .monaco-scrollable-element>.scrollbar>.up-arrow,.vs-dark .monaco-scrollable-element>.scrollbar>.up-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkuNDggOC45NjFsMS4yNi0xLjI2LTUuMDQtNS4wNC01LjQ2IDUuMDQgMS4yNiAxLjI2IDQuMi0zLjc4IDMuNzggMy43OHoiIGZpbGw9IiNFOEU4RTgiLz48L3N2Zz4=")}.hc-black .monaco-scrollable-element>.scrollbar>.down-arrow,.vs-dark .monaco-scrollable-element>.scrollbar>.down-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTEuNSAyLjY2MkwuMjQgMy45MjJsNS4wNCA1LjA0IDUuNDYtNS4wNC0xLjI2LTEuMjYtNC4yIDMuNzgtMy43OC0zLjc4eiIvPjwvc3ZnPg==")}.hc-black .monaco-scrollable-element>.scrollbar>.left-arrow,.vs-dark .monaco-scrollable-element>.scrollbar>.left-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTguNjQgMS40NDFMNy4zOC4xODFsLTUuMDQgNS4wNCA1LjA0IDUuNDYgMS4yNi0xLjI2LTMuNzgtNC4yIDMuNzgtMy43OHoiLz48L3N2Zz4=")}.hc-black .monaco-scrollable-element>.scrollbar>.right-arrow,.vs-dark .monaco-scrollable-element>.scrollbar>.right-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTIuNDY3IDkuNTQ4bDEuMjYgMS4yNiA1LjA0LTUuMDQtNS4wNC01LjQ2LTEuMjYgMS4yNiAzLjc4IDQuMi0zLjc4IDMuNzh6Ii8+PC9zdmc+")}.monaco-scrollable-element>.visible{opacity:1;background:transparent;-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;-ms-transition:opacity .1s linear;transition:opacity .1s linear}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{-webkit-transition:opacity .8s linear;-o-transition:opacity .8s linear;-moz-transition:opacity .8s linear;-ms-transition:opacity .8s linear;transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:inset 0 6px 6px -6px #ddd}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:inset 6px 0 6px -6px #ddd}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:inset 6px 6px 6px -6px #ddd}.vs .monaco-scrollable-element>.scrollbar>.slider{background:hsla(0,0%,39.2%,.4)}.vs-dark .monaco-scrollable-element>.scrollbar>.slider{background:hsla(0,0%,47.5%,.4)}.hc-black .monaco-scrollable-element>.scrollbar>.slider{background:rgba(111,195,223,.6)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:hsla(0,0%,39.2%,.7)}.hc-black .monaco-scrollable-element>.scrollbar>.slider:hover{background:rgba(111,195,223,.8)}.monaco-scrollable-element>.scrollbar>.slider.active{background:rgba(0,0,0,.6)}.vs-dark .monaco-scrollable-element>.scrollbar>.slider.active{background:hsla(0,0%,74.9%,.4)}.hc-black .monaco-scrollable-element>.scrollbar>.slider.active{background:#6fc3df}.vs-dark .monaco-scrollable-element .shadow.top{box-shadow:none}.vs-dark .monaco-scrollable-element .shadow.left{box-shadow:inset 6px 0 6px -6px #000}.vs-dark .monaco-scrollable-element .shadow.top.left{box-shadow:inset 6px 6px 6px -6px #000}.hc-black .monaco-scrollable-element .shadow.left,.hc-black .monaco-scrollable-element .shadow.top,.hc-black .monaco-scrollable-element .shadow.top.left{box-shadow:none}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor .peekview-widget .head{-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;display:flex}.monaco-editor .peekview-widget .head .peekview-title{display:inline-block;font-size:13px;margin-left:20px;cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar .action-item{margin-left:4px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar .action-label{width:16px;height:100%;margin:0;line-height:inherit;background-repeat:no-repeat;background-position:50%}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar .action-label.octicon{margin:0}.monaco-editor .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2Ij48cGF0aCBmaWxsPSIjNDI0MjQyIiBkPSJNMTIuNTk3IDExLjA0MmwyLjgwMyAyLjgwMy0xLjU1NiAxLjU1NS0yLjgwMi0yLjgwMkw4LjIzOSAxNS40bC0xLjU1Ni0xLjU1NSAyLjgwMi0yLjgwMy0yLjgwMi0yLjgwMyAxLjU1NS0xLjU1NiAyLjgwNCAyLjgwMyAyLjgwMy0yLjgwM0wxNS40IDguMjM5eiIvPjwvc3ZnPg==") 50% no-repeat}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor.hc-black .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action,.monaco-editor.vs-dark .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2Ij48cGF0aCBmaWxsPSIjZThlOGU4IiBkPSJNMTIuNTk3IDExLjA0MmwyLjgwMyAyLjgwMy0xLjU1NiAxLjU1NS0yLjgwMi0yLjgwMkw4LjIzOSAxNS40bC0xLjU1Ni0xLjU1NSAyLjgwMi0yLjgwMy0yLjgwMi0yLjgwMyAxLjU1NS0xLjU1NiAyLjgwNCAyLjgwMyAyLjgwMy0yLjgwM0wxNS40IDguMjM5eiIvPjwvc3ZnPg==") 50% no-repeat}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-tree{height:100%;width:100%;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;-o-user-select:none;user-select:none;position:relative}.monaco-tree>.monaco-scrollable-element{height:100%}.monaco-tree>.monaco-scrollable-element>.monaco-tree-wrapper{height:100%;width:100%;position:relative}.monaco-tree .monaco-tree-rows{position:absolute;width:100%;height:100%}.monaco-tree .monaco-tree-rows>.monaco-tree-row{-moz-box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;cursor:pointer;overflow:hidden;width:100%;touch-action:none}.monaco-tree .monaco-tree-rows>.monaco-tree-row>.content{position:relative;height:100%}.monaco-tree-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute}.monaco-tree .monaco-tree-rows>.monaco-tree-row.scrolling{display:none}.monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.has-children>.content:before{content:" ";position:absolute;display:block;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iIzY0NjQ2NSIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRMOC41ODYgOCA3IDkuNTg2VjYuNDE0eiIvPjwvc3ZnPg==") 50% 50% no-repeat;width:16px;height:100%;top:0;left:-16px}.monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.expanded>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iIzY0NjQ2NSIgZD0iTTExIDEwSDUuMzQ0TDExIDQuNDE0VjEweiIvPjwvc3ZnPg==")}.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children.loading>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgb3BhY2l0eT0iLjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBvcGFjaXR5PSIuMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBvcGFjaXR5PSIuMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIG9wYWNpdHk9Ii4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIG9wYWNpdHk9Ii4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgb3BhY2l0eT0iLjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgb3BhY2l0eT0iLjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBvcGFjaXR5PSIuMyIvPjwvc3ZnPg==")}.monaco-tree.highlighted .monaco-tree-rows>.monaco-tree-row:not(.highlighted){opacity:.3}.vs-dark .monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.has-children>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRMOC41ODYgOCA3IDkuNTg2VjYuNDE0eiIvPjwvc3ZnPg==")}.vs-dark .monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.expanded>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTExIDEwSDUuMzQ0TDExIDQuNDE0VjEweiIvPjwvc3ZnPg==")}.vs-dark .monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children.loading>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48ZyBmaWxsPSJncmF5Ij48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgb3BhY2l0eT0iLjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBvcGFjaXR5PSIuMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBvcGFjaXR5PSIuMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIG9wYWNpdHk9Ii4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIG9wYWNpdHk9Ii4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgb3BhY2l0eT0iLjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgb3BhY2l0eT0iLjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBvcGFjaXR5PSIuMyIvPjwvZz48L3N2Zz4=")}.hc-black .monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.has-children>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTYgNHY4bDQtNC00LTR6bTEgMi40MTRMOC41ODYgOCA3IDkuNTg2VjYuNDE0eiIvPjwvc3ZnPg==")}.hc-black .monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.expanded>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTExIDEwLjA3SDUuMzQ0TDExIDQuNDE0djUuNjU2eiIvPjwvc3ZnPg==")}.hc-black .monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children.loading>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48ZyBmaWxsPSIjZmZmIj48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgb3BhY2l0eT0iLjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBvcGFjaXR5PSIuMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBvcGFjaXR5PSIuMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIG9wYWNpdHk9Ii4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIG9wYWNpdHk9Ii4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgb3BhY2l0eT0iLjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgb3BhY2l0eT0iLjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBvcGFjaXR5PSIuMyIvPjwvZz48L3N2Zz4=")}.monaco-tree-action.collapse-all{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iLTEgMCAxNiAxNiI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTE0IDF2OWgtMVYySDVWMWg5ek0zIDN2MWg4djhoMVYzSDN6bTcgMnY5SDFWNWg5ek04IDdIM3Y1aDVWN3oiLz48cGF0aCBmaWxsPSIjMDA1MzlDIiBkPSJNNCA5aDN2MUg0eiIvPjwvc3ZnPg==") 50% no-repeat}.hc-black .monaco-tree-action.collapse-all,.vs-dark .monaco-tree-action.collapse-all{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iLTEgMCAxNiAxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTE0IDF2OWgtMVYySDVWMWg5ek0zIDN2MWg4djhoMVYzSDN6bTcgMnY5SDFWNWg5ek04IDdIM3Y1aDVWN3oiLz48cGF0aCBmaWxsPSIjNzVCRUZGIiBkPSJNNCA5aDN2MUg0eiIvPjwvc3ZnPg==") 50% no-repeat}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer}.monaco-editor .marker-widget{padding-left:2px;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget div.block{display:inline-block;vertical-align:top}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:relative;white-space:pre;-webkit-user-select:text;user-select:text}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer;opacity:.6}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border:1px solid hsla(0,0%,80%,.4);border-bottom-color:hsla(0,0%,73.3%,.4);border-radius:3px;box-shadow:inset 0 -1px 0 hsla(0,0%,73.3%,.4);background-color:hsla(0,0%,86.7%,.4);vertical-align:middle;color:#555;font-size:11px;padding:3px 5px}.hc-black .monaco-keybinding>.monaco-keybinding-key,.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,50.2%,.17);color:#ccc;border:1px solid rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px 0 rgba(68,68,68,.6)}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:2px}.monaco-quick-open-widget{position:absolute;width:600px;z-index:2000;padding-bottom:6px;left:50%;margin-left:-300px}.monaco-quick-open-widget .monaco-progress-container{position:absolute;left:0;top:38px;z-index:1;height:2px}.monaco-quick-open-widget .monaco-progress-container .progress-bit{height:2px}.monaco-quick-open-widget .quick-open-input{width:588px;border:none;margin:6px}.monaco-quick-open-widget .quick-open-input .monaco-inputbox{width:100%;height:25px}.monaco-quick-open-widget .quick-open-result-count{position:absolute;left:-10000px}.monaco-quick-open-widget .quick-open-tree{line-height:22px}.monaco-quick-open-widget .quick-open-tree .monaco-tree-row>.content>.sub-content{overflow:hidden}.monaco-quick-open-widget.content-changing .quick-open-tree .monaco-scrollable-element .slider{display:none}.monaco-quick-open-widget .quick-open-tree .quick-open-entry{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%}.monaco-quick-open-widget .quick-open-tree .quick-open-entry>.quick-open-row{display:flex;align-items:center}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon{overflow:hidden;width:16px;height:16px;margin-right:4px;display:inline-block;vertical-align:middle;flex-shrink:0}.monaco-quick-open-widget .quick-open-tree .monaco-icon-label,.monaco-quick-open-widget .quick-open-tree .monaco-icon-label .monaco-icon-label-description-container{flex:1}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .monaco-highlighted-label span{opacity:1}.monaco-quick-open-widget .quick-open-tree .quick-open-entry-meta{opacity:.7;line-height:normal}.monaco-quick-open-widget .quick-open-tree .content.has-group-label .quick-open-entry-keybinding{margin-right:8px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry-keybinding .monaco-keybinding-key{vertical-align:text-bottom}.monaco-quick-open-widget .quick-open-tree .results-group{margin-right:18px}.monaco-quick-open-widget .quick-open-tree .focused .monaco-tree-row.focused>.content.has-actions>.results-group,.monaco-quick-open-widget .quick-open-tree .monaco-tree-row.focused>.content.has-actions>.results-group,.monaco-quick-open-widget .quick-open-tree .monaco-tree-row:hover:not(.highlighted)>.content.has-actions>.results-group{margin-right:0}.monaco-quick-open-widget .quick-open-tree .results-group-separator{border-top-width:1px;border-top-style:solid;box-sizing:border-box;margin-left:-11px;padding-left:11px}.monaco-tree .monaco-tree-row>.content.actions{position:relative;display:flex}.monaco-tree .monaco-tree-row>.content.actions>.sub-content{flex:1}.monaco-tree .monaco-tree-row>.content.actions .action-item{margin:0}.monaco-tree .monaco-tree-row>.content.actions>.primary-action-bar{line-height:22px;display:none;padding:0 .8em 0 .4em}.monaco-tree .monaco-tree-row.focused>.content.has-actions>.primary-action-bar{width:0;display:block}.monaco-tree.focused .monaco-tree-row.focused>.content.has-actions>.primary-action-bar,.monaco-tree .monaco-tree-row:hover:not(.highlighted)>.content.has-actions>.primary-action-bar,.monaco-tree .monaco-tree-row>.content.has-actions.more>.primary-action-bar{width:inherit;display:block}.monaco-tree .monaco-tree-row>.content.actions>.primary-action-bar .action-label{margin-right:.4em;margin-top:4px;background-repeat:no-repeat;width:16px;height:16px}.monaco-quick-open-widget .quick-open-tree .monaco-highlighted-label .highlight{font-weight:700}.monaco-progress-container{width:100%;height:5px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:5px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear;-webkit-transition:width .1s linear;-o-transition:width .1s linear;-moz-transition:width .1s linear;-ms-transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;animation-timing-function:linear;-ms-animation-name:progress;-ms-animation-duration:4s;-ms-animation-iteration-count:infinite;-ms-animation-timing-function:linear;-webkit-animation-name:progress;-webkit-animation-duration:4s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear;-moz-animation-name:progress;-moz-animation-duration:4s;-moz-animation-iteration-count:infinite;-moz-animation-timing-function:linear;will-change:transform}@keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4950%) scaleX(1)}}@-ms-keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4950%) scaleX(1)}}@-webkit-keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4950%) scaleX(1)}}@-moz-keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4950%) scaleX(1)}}.monaco-editor-hover{cursor:default;position:absolute;overflow:hidden;z-index:50;-webkit-user-select:text;-ms-user-select:text;-khtml-user-select:text;-moz-user-select:text;-o-user-select:text;user-select:text;box-sizing:initial;animation:fadein .1s linear;line-height:1.5em}.monaco-editor-hover.hidden{display:none}.monaco-editor-hover .monaco-editor-hover-content{max-width:500px}.monaco-editor-hover .hover-row{padding:4px 5px}.monaco-editor-hover p,.monaco-editor-hover ul{margin:8px 0}.monaco-editor-hover p:first-child,.monaco-editor-hover ul:first-child{margin-top:0}.monaco-editor-hover p:last-child,.monaco-editor-hover ul:last-child{margin-bottom:0}.monaco-editor-hover ul{padding-left:20px}.monaco-editor-hover li>p{margin-bottom:0}.monaco-editor-hover li>ul{margin-top:0}.monaco-editor-hover code{border-radius:3px;padding:0 .4em}.monaco-editor-hover .monaco-tokenized-source{white-space:pre-wrap;word-break:break-all}.colorpicker-widget{height:190px;user-select:none}.monaco-editor .colorpicker-hover:focus{outline:none}.colorpicker-header{display:flex;height:24px;position:relative;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:216px;line-height:24px;cursor:pointer;color:#fff;flex:1;text-align:center}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:-webkit-grab;background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:-webkit-grab;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:-webkit-grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px rgba(0,0,0,.85)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.monaco-editor .tokens-inspect-widget{z-index:50;-webkit-user-select:text;-ms-user-select:text;-khtml-user-select:text;-moz-user-select:text;-o-user-select:text;user-select:text;padding:10px}.tokens-inspect-separator{height:1px;border:0}.monaco-editor .tokens-inspect-widget .tm-token{font-family:monospace}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:monospace;text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:monospace}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1OCIgaGVpZ2h0PSIzNiI+PHBhdGggZmlsbD0iI0YwRUZGMSIgZD0iTTU0IDMyVjRINHYyOGg1MHptLTE2LTJIMjB2LTZoMTh2NnptNiAwaC00di02aDR2NnptOCAwaC02di02aDZ2NnpNNDggNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHpNNDIgNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHpNMzYgNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHpNMzAgNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHpNMjQgNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHpNMTggNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHptMCAxMmgtNHYtNmg0djZ6TTEyIDZoNHY0aC00VjZ6bTAgNmg0djRoLTR2LTR6bTAgNmg0djRoLTR2LTR6TTYgNmg0djRINlY2em0wIDZoNHY0SDZ2LTR6bTAgNmg0djRINnYtNHptMCA2aDZ2Nkg2di02eiIvPjxwYXRoIGZpbGw9IiM0MjQyNDIiIGQ9Ik01NS4zMzYgMEgyLjA1MUMuNzA3IDAgMCAuNjU2IDAgMnYzMmMwIDEuMzQ0LjcwNyAxLjk2NSAyLjA1MSAxLjk2NUw1NiAzNmMxLjM0NCAwIDItLjY1NiAyLTJWMmMwLTEuMzQ0LTEuMzItMi0yLjY2NC0yek01NCAzMkg0VjRoNTB2Mjh6Ii8+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTYgMTJoNHY0SDZ6TTEyIDEyaDR2NGgtNHpNMTggMTJoNHY0aC00ek0yNCAxMmg0djRoLTR6TTMwIDEyaDR2NGgtNHpNMzYgMTJoNHY0aC00ek00MiAxMmg0djRoLTR6TTQ4IDEyaDR2NGgtNHpNNiA2aDR2NEg2ek0xMiA2aDR2NGgtNHpNMTggNmg0djRoLTR6TTI0IDZoNHY0aC00ek0zMCA2aDR2NGgtNHpNMzYgNmg0djRoLTR6TTQyIDZoNHY0aC00ek00OCA2aDR2NGgtNHpNNiAxOGg0djRINnpNMTIgMThoNHY0aC00ek0xOCAxOGg0djRoLTR6TTI0IDE4aDR2NGgtNHpNMzAgMThoNHY0aC00ek0zNiAxOGg0djRoLTR6TTQyIDE4aDR2NGgtNHpNNDggMThoNHY0aC00ek02IDI0aDZ2Nkg2ek00NiAyNGg2djZoLTZ6TTIwIDI0aDE4djZIMjB6TTE0IDI0aDR2NmgtNHpNNDAgMjRoNHY2aC00eiIvPjwvc3ZnPg==") 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1OCIgaGVpZ2h0PSIzNiI+PHBhdGggZmlsbD0iIzJCMjgyRSIgZD0iTTU0IDMyVjRINHYyOGg1MHptLTE2LTJIMjB2LTZoMTh2NnptNiAwaC00di02aDR2NnptOCAwaC02di02aDZ2NnpNNDggNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHpNNDIgNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHpNMzYgNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHpNMzAgNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHpNMjQgNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHpNMTggNmg0djRoLTRWNnptMCA2aDR2NGgtNHYtNHptMCA2aDR2NGgtNHYtNHptMCAxMmgtNHYtNmg0djZ6TTEyIDZoNHY0aC00VjZ6bTAgNmg0djRoLTR2LTR6bTAgNmg0djRoLTR2LTR6TTYgNmg0djRINlY2em0wIDZoNHY0SDZ2LTR6bTAgNmg0djRINnYtNHptMCA2aDZ2Nkg2di02eiIvPjxwYXRoIGZpbGw9IiNDNUM1QzUiIGQ9Ik01NS4zMzYgMEgyLjA1MUMuNzA3IDAgMCAuNjU2IDAgMnYzMmMwIDEuMzQ0LjcwNyAxLjk2NSAyLjA1MSAxLjk2NUw1NiAzNmMxLjM0NCAwIDItLjY1NiAyLTJWMmMwLTEuMzQ0LTEuMzItMi0yLjY2NC0yek01NCAzMkg0VjRoNTB2Mjh6Ii8+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTYgMTJoNHY0SDZ6TTEyIDEyaDR2NGgtNHpNMTggMTJoNHY0aC00ek0yNCAxMmg0djRoLTR6TTMwIDEyaDR2NGgtNHpNMzYgMTJoNHY0aC00ek00MiAxMmg0djRoLTR6TTQ4IDEyaDR2NGgtNHpNNiA2aDR2NEg2ek0xMiA2aDR2NGgtNHpNMTggNmg0djRoLTR6TTI0IDZoNHY0aC00ek0zMCA2aDR2NGgtNHpNMzYgNmg0djRoLTR6TTQyIDZoNHY0aC00ek00OCA2aDR2NGgtNHpNNiAxOGg0djRINnpNMTIgMThoNHY0aC00ek0xOCAxOGg0djRoLTR6TTI0IDE4aDR2NGgtNHpNMzAgMThoNHY0aC00ek0zNiAxOGg0djRoLTR6TTQyIDE4aDR2NGgtNHpNNDggMThoNHY0aC00ek02IDI0aDZ2Nkg2ek00NiAyNGg2djZoLTZ6TTIwIDI0aDE4djZIMjB6TTE0IDI0aDR2NmgtNHpNNDAgMjRoNHY2aC00eiIvPjwvc3ZnPg==") 50% no-repeat;border:4px solid #252526}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer}.monaco-editor .parameter-hints-widget{z-index:10;display:flex;flex-direction:column;line-height:1.5em}.monaco-editor .parameter-hints-widget>.wrapper{max-width:440px;display:flex;flex-direction:column}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0 0 0 1.9em}.monaco-editor .parameter-hints-widget.visible{-webkit-transition:left .05s ease-in-out;-moz-transition:left .05s ease-in-out;-o-transition:left .05s ease-in-out;transition:left .05s ease-in-out}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex-direction:column}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs code{border-radius:3px;padding:0 .4em}.monaco-editor .parameter-hints-widget .buttons{position:absolute;display:none;bottom:0;left:0}.monaco-editor .parameter-hints-widget.multiple .buttons{display:block}.monaco-editor .parameter-hints-widget.multiple .button{position:absolute;left:2px;width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTEwLjggOS41bC45LS45TDguMSA1IDQuMiA4LjZsLjkuOSAzLTIuNyAyLjcgMi43eiIvPjwvc3ZnPg==")}.monaco-editor .parameter-hints-widget .button.next{bottom:0;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTUuMSA1bC0uOS45IDMuNiAzLjYgMy45LTMuNi0xLS45LTMgMi43TDUuMSA1eiIvPjwvc3ZnPg==")}.monaco-editor .parameter-hints-widget .overloads{position:absolute;display:none;text-align:center;bottom:14px;left:0;width:22px;height:12px;line-height:12px;opacity:.5}.monaco-editor .parameter-hints-widget.multiple .overloads{display:block}.monaco-editor .parameter-hints-widget .signature .parameter{display:inline-block}.monaco-editor .parameter-hints-widget .signature .parameter.active{font-weight:700;text-decoration:underline}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor.hc-black .parameter-hints-widget .button.previous,.monaco-editor.vs-dark .parameter-hints-widget .button.previous{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTEwLjggOS41bC45LS45TDguMSA1IDQuMiA4LjZsLjkuOSAzLTIuNyAyLjcgMi43eiIvPjwvc3ZnPg==")}.monaco-editor.hc-black .parameter-hints-widget .button.next,.monaco-editor.vs-dark .parameter-hints-widget .button.next{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTUuMSA1bC0uOS45IDMuNiAzLjYgMy45LTMuNi0xLS45LTMgMi43TDUuMSA1eiIvPjwvc3ZnPg==")}.monaco-quick-open-widget{font-size:13px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon,.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yODguNDgzIDMzYTYuMjA2IDYuMjA2IDAgMDEtMi4xNTMtLjM2NSA1LjEyMyA1LjEyMyAwIDAxLTEuNzYtMS4wODQgNC45MzYgNC45MzYgMCAwMS0xLjE2My0xLjcwNGMtLjI3LS42NDQtLjQwNy0xLjM3MS0uNDA3LTIuMTU4IDAtLjUxNy4wNjEtMS4wMTguMTc4LTEuNDkuMTE2LS40Ny4yOS0uOTI1LjUxNi0xLjM0OGE1LjMwNCA1LjMwNCAwIDAxMS45ODMtMi4wNzJjLjQxNi0uMjQ2Ljg4MS0uNDQgMS4zOC0uNTc2YTYuMDUyIDYuMDUyIDAgMDExLjU4Ny0uMjAyYy43MDUgMCAxLjM4Mi4xMDkgMi4wMTMuMzI0YTUuMTc3IDUuMTc3IDAgMDExLjcwOC45NTVjLjUwMS40MjUuOTAzLjk0OCAxLjE5MyAxLjU1Ni4yOTQuNjIzLjQ0MiAxLjMxNi40NDIgMi4wNjQgMCAuNjE5LS4wOSAxLjE4NS0uMjY4IDEuNjc5LS4xNzguNDkyLS40Mi45Mi0uNzIxIDEuMjc1YTMuMzU3IDMuMzU3IDAgMDEtMS4xMDQuODQ3bC0uMDQ4LjAyMnYxLjUzbC0uNTg3LjI2NmE0LjgxIDQuODEgMCAwMS0xLjExOS4zMzggOS4zNDQgOS4zNDQgMCAwMS0xLjY3LjE0M3oiIGZpbGw9IiMyRDJEMkQiLz48cGF0aCBkPSJNMjkxLjcxNiAyNC4wNDFhNC4xNzMgNC4xNzMgMCAwMC0xLjM4NC0uNzcxIDUuMTkgNS4xOSAwIDAwLTEuNjg5LS4yNzFjLS40NzMgMC0uOTEyLjA1NS0xLjMyNC4xNjctLjQxNC4xMTItLjc5MS4yNy0xLjEzNS40NzMtLjM0Mi4yMDItLjY1LjQ0Ni0uOTIyLjczM2E0LjI1OCA0LjI1OCAwIDAwLS42ODYuOTQ5IDQuOCA0LjggMCAwMC0uNDI4IDEuMTE5Yy0uMS4zOTktLjE0OC44MTQtLjE0OCAxLjI0NyAwIC42NTIuMTA5IDEuMjQ3LjMzMiAxLjc3Ni4yMTkuNTMxLjUzLjk4NC45MjggMS4zNjEuMzk2LjM3OC44NzEuNjY3IDEuNDE2Ljg3YTUuMTk3IDUuMTk3IDAgMDAxLjgwOC4zMDQgNy45OTcgNy45OTcgMCAwMDEuNDg3LS4xMjZjLjE5NS0uMDM2LjM2Ni0uMDc4LjUxNC0uMTI1bC4zNzUtLjE0di0uODU0bC0uNDYzLjE4NGE0LjIzIDQuMjMgMCAwMS0uNTIxLjE0MyA1LjkwMSA1LjkwMSAwIDAxLS42MDQuMDg5IDYuMzI1IDYuMzI1IDAgMDEtLjcuMDM0IDQuMDcxIDQuMDcxIDAgMDEtMS41MDktLjI2NCAzLjI4IDMuMjggMCAwMS0xLjEyNS0uNzMxIDMuMTQ2IDMuMTQ2IDAgMDEtLjcwOC0xLjEyNCA0LjA5OSA0LjA5OSAwIDAxLS4yNDMtMS40MzJjMC0uNTQ1LjA5LTEuMDUzLjI3My0xLjUyMmEzLjc2IDMuNzYgMCAwMS43NTgtMS4yMjUgMy41MjIgMy41MjIgMCAwMTEuMTU1LS44MTUgMy41OSAzLjU5IDAgMDExLjQ1Ny0uMjk0Yy40MTkgMCAuNzk4LjA0NCAxLjEyMi4xMzYuMzI5LjA5MS42Mi4yMTUuODcxLjM2OS4yNTQuMTU4LjQ2NS4zMzkuNjQzLjU0Ny4xNzkuMjA5LjMyNC40MzIuNDM4LjY2Ny4xMTMuMjM3LjE5My40OC4yNDYuNzMxLjA1MS4yNTQuMDc2LjUuMDc2Ljc0MSAwIC4zNDQtLjAzMy42NTMtLjEwMi45MjZhMi42MzggMi42MzggMCAwMS0uMjY5LjY5NGMtLjExLjE4OS0uMjM5LjMzNS0uMzg2LjQzNHMtLjI5NS4xNDgtLjQ1My4xNDhsLS4yMTUtLjA0NWEuMzc0LjM3NCAwIDAxLS4xNjYtLjE1Ni45MjguOTI4IDAgMDEtLjEwNy0uMzA2IDIuNjEzIDIuNjEzIDAgMDEtLjAzOS0uNDkybC4wMTgtLjMyNS4wNDEtLjUzLjA1NS0uNjQ0LjA1OC0uNjQ3LjA0OC0uNTQ2LjAyNy0uMzQ0aC0uOTE5bC0uMDU0LjZoLS4wMjFhLjc0MS43NDEgMCAwMC0uMTM2LS4yODEuOTQ1Ljk0NSAwIDAwLS4yMzMtLjIxNiAxLjE1IDEuMTUgMCAwMC0uMzA3LS4xNDEgMS4zMzMgMS4zMzMgMCAwMC0uMzY5LS4wNDhjLS4zMzcgMC0uNjQ2LjA3LS45MjQuMjE2YTIuMTkxIDIuMTkxIDAgMDAtLjcyMS41OTkgMi43OTYgMi43OTYgMCAwMC0uNDY1LjkwNWMtLjExNS4zNS0uMTcuNzI2LS4xNyAxLjEzNCAwIC4zNDQuMDQ1LjY0NS4xMzUuOTAxLjA4OC4yNi4yMTEuNDczLjM1OS42NDYuMTUzLjE3MS4zMjkuMy41MzQuMzgyYTEuNjEgMS42MSAwIDAwMS4xNC4wNDhjLjE1NC0uMDUyLjMwMi0uMTMuNDMyLS4yMzJhMS43MiAxLjcyIDAgMDAuNTg0LS45aC4wMjdjMCAuMzc2LjEwMS42NzQuMzA3Ljg5My4yMDcuMjIuNTAyLjMzLjg4OS4zMy4yOTIgMCAuNTgtLjA2NC44NjMtLjE5OC4yODMtLjEzMi41MzYtLjMyOC43NjItLjU4Ni4yMjMtLjI2Mi40MDQtLjU4My41NDMtLjk2Ni4xMzgtLjM4NC4yMDgtLjgzLjIwOC0xLjM0YTMuNzkgMy43OSAwIDAwLS4zNDUtMS42MzQgMy42NzMgMy42NzMgMCAwMC0uOTM5LTEuMjI1bS0yLjM2OCAzLjc3NGEyLjU2MSAyLjU2MSAwIDAxLS4yNDYuNzE5IDEuNDE1IDEuNDE1IDAgMDEtLjQwNy40ODEuOTcuOTcgMCAwMS0uNTcyLjE3Ni43NzMuNzczIDAgMDEtLjM0NC0uMDc4Ljg0OC44NDggMCAwMS0uMjg5LS4yMzIgMS4yNCAxLjI0IDAgMDEtLjE5OC0uMzkgMS45MzMgMS45MzMgMCAwMS0uMDctLjU0N2MwLS4yMzcuMDI3LS40ODEuMDgtLjcyOS4wNTYtLjI0Ny4xMzctLjQ3My4yNS0uNjc3LjEwOS0uMi4yNS0uMzYzLjQxNi0uNDkyYS45MzEuOTMxIDAgMDEuNTgyLS4xOTFjLjEyMyAwIC4yMzQuMDIxLjM0LjA2M2EuNzM2LjczNiAwIDAxLjI3OS4xOTYuOS45IDAgMDEuMTg5LjMzYy4wNDMuMTM0LjA3LjI5NC4wNy40OCAwIC4zMTctLjAzMS42MTUtLjA4Ljg5MSIgZmlsbD0iI0M1QzVDNSIvPjxwYXRoIGQ9Ik0yODguNDgzIDEzYTYuMjA2IDYuMjA2IDAgMDEtMi4xNTMtLjM2NSA1LjEyMyA1LjEyMyAwIDAxLTEuNzYtMS4wODQgNC45MzYgNC45MzYgMCAwMS0xLjE2My0xLjcwNGMtLjI2OS0uNjQ0LS40MDctMS4zNzEtLjQwNy0yLjE1OSAwLS41MTcuMDYxLTEuMDE4LjE3OC0xLjQ5LjExNi0uNDcuMjktLjkyNS41MTYtMS4zNDhhNS4zMDQgNS4zMDQgMCAwMTEuOTgzLTIuMDcyYy40MTYtLjI0Ni44ODEtLjQ0IDEuMzgtLjU3NkE2LjAzOSA2LjAzOSAwIDAxMjg4LjY0MyAyYy43MDUgMCAxLjM4Mi4xMDkgMi4wMTMuMzI0YTUuMTc3IDUuMTc3IDAgMDExLjcwOC45NTVjLjUwMS40MjUuOTAzLjk0OCAxLjE5MyAxLjU1Ni4yOTUuNjI0LjQ0MyAxLjMxNy40NDMgMi4wNjUgMCAuNjE5LS4wOSAxLjE4NS0uMjY4IDEuNjc5LS4xNzguNDkyLS40Mi45Mi0uNzIxIDEuMjc1YTMuMzU3IDMuMzU3IDAgMDEtMS4xMDQuODQ3bC0uMDQ4LjAyMnYxLjUzbC0uNTg3LjI2NmE0LjgxIDQuODEgMCAwMS0xLjExOS4zMzggOS4zNDQgOS4zNDQgMCAwMS0xLjY3LjE0M3oiIGZpbGw9IiNGM0YzRjMiLz48cGF0aCBkPSJNMjkxLjcxNiA0LjA0MWE0LjE3MyA0LjE3MyAwIDAwLTEuMzg0LS43NzEgNS4yMTcgNS4yMTcgMCAwMC0xLjY4OS0uMjdjLS40NzMgMC0uOTEyLjA1NS0xLjMyNC4xNjctLjQxNC4xMTItLjc5MS4yNy0xLjEzNS40NzMtLjM0Mi4yMDItLjY1LjQ0Ni0uOTIyLjczM2E0LjI1OCA0LjI1OCAwIDAwLS42ODYuOTQ5IDQuOCA0LjggMCAwMC0uNDI4IDEuMTE5Yy0uMDk5LjQtLjE0OC44MTUtLjE0OCAxLjI0NyAwIC42NTIuMTA5IDEuMjQ3LjMzMiAxLjc3Ni4yMTkuNTMxLjUzLjk4NC45MjggMS4zNjEuMzk2LjM3OC44NzEuNjY3IDEuNDE2Ljg3YTUuMTk3IDUuMTk3IDAgMDAxLjgwOC4zMDQgNy45OTcgNy45OTcgMCAwMDEuNDg3LS4xMjZjLjE5NS0uMDM2LjM2Ni0uMDc4LjUxNC0uMTI1bC4zNzUtLjE0di0uODU0bC0uNDYzLjE4NGE0LjIzIDQuMjMgMCAwMS0uNTIxLjE0MyA1LjkwMSA1LjkwMSAwIDAxLS42MDQuMDg5IDYuMzI1IDYuMzI1IDAgMDEtLjcuMDM0IDQuMDcxIDQuMDcxIDAgMDEtMS41MDktLjI2NCAzLjI4IDMuMjggMCAwMS0xLjEyNS0uNzMxIDMuMTQ2IDMuMTQ2IDAgMDEtLjcwOC0xLjEyNCA0LjA5OSA0LjA5OSAwIDAxLS4yNDMtMS40MzJjMC0uNTQ1LjA5LTEuMDUzLjI3My0xLjUyMmEzLjc2IDMuNzYgMCAwMS43NTgtMS4yMjUgMy41MjIgMy41MjIgMCAwMTEuMTU1LS44MTUgMy41OSAzLjU5IDAgMDExLjQ1Ny0uMjk0Yy40MTkgMCAuNzk4LjA0NCAxLjEyMi4xMzYuMzI5LjA5MS42Mi4yMTUuODcxLjM2OS4yNTQuMTU4LjQ2NS4zMzkuNjQzLjU0Ny4xNzkuMjA5LjMyNC40MzIuNDM4LjY2Ny4xMTMuMjM3LjE5My40OC4yNDYuNzMxLjA1MS4yNTQuMDc2LjUuMDc2Ljc0MSAwIC4zNDQtLjAzMy42NTMtLjEwMi45MjZhMi42MzggMi42MzggMCAwMS0uMjY5LjY5NGMtLjExLjE4OS0uMjM5LjMzNS0uMzg2LjQzNHMtLjI5NS4xNDgtLjQ1My4xNDhsLS4yMTUtLjA0NWEuMzc0LjM3NCAwIDAxLS4xNjYtLjE1Ni45MjguOTI4IDAgMDEtLjEwNy0uMzA2IDIuNjEzIDIuNjEzIDAgMDEtLjAzOS0uNDkybC4wMTgtLjMyNS4wNDEtLjUzLjA1NS0uNjQ0LjA1OC0uNjQ3LjA0OC0uNTQ2LjAyNy0uMzQ0aC0uOTE5bC0uMDU0LjZoLS4wMjFhLjc0MS43NDEgMCAwMC0uMTM2LS4yODEuOTQ1Ljk0NSAwIDAwLS4yMzMtLjIxNiAxLjE1IDEuMTUgMCAwMC0uMzA3LS4xNDEgMS4zMzMgMS4zMzMgMCAwMC0uMzY5LS4wNDhjLS4zMzcgMC0uNjQ2LjA3LS45MjQuMjE2YTIuMTkxIDIuMTkxIDAgMDAtLjcyMS41OTkgMi43OTYgMi43OTYgMCAwMC0uNDY1LjkwNWMtLjExNS4zNS0uMTcuNzI2LS4xNyAxLjEzNCAwIC4zNDQuMDQ1LjY0NS4xMzUuOTAxLjA4OC4yNi4yMTEuNDczLjM1OS42NDYuMTUzLjE3MS4zMjkuMy41MzQuMzgyYTEuNjEgMS42MSAwIDAwMS4xNC4wNDhjLjE1NC0uMDUyLjMwMi0uMTMuNDMyLS4yMzJhMS43MiAxLjcyIDAgMDAuNTg0LS45aC4wMjdjMCAuMzc2LjEwMS42NzQuMzA3Ljg5My4yMDcuMjIuNTAyLjMzLjg4OS4zMy4yOTIgMCAuNTgtLjA2NC44NjMtLjE5OC4yODMtLjEzMi41MzYtLjMyOC43NjItLjU4Ni4yMjMtLjI2Mi40MDQtLjU4My41NDMtLjk2Ni4xMzgtLjM4NS4yMDgtLjgzMS4yMDgtMS4zNDFhMy43OSAzLjc5IDAgMDAtLjM0NS0xLjYzNCAzLjY3MyAzLjY3MyAwIDAwLS45MzktMS4yMjVtLTIuMzY4IDMuNzc0YTIuNTYxIDIuNTYxIDAgMDEtLjI0Ni43MTkgMS40MTUgMS40MTUgMCAwMS0uNDA3LjQ4MS45Ny45NyAwIDAxLS41NzIuMTc2Ljc3My43NzMgMCAwMS0uMzQ0LS4wNzguODQ4Ljg0OCAwIDAxLS4yODktLjIzMiAxLjI0IDEuMjQgMCAwMS0uMTk4LS4zOSAxLjkzMyAxLjkzMyAwIDAxLS4wNy0uNTQ3YzAtLjIzNy4wMjctLjQ4MS4wOC0uNzI5LjA1Ni0uMjQ3LjEzNy0uNDczLjI1LS42NzcuMTA5LS4yLjI1LS4zNjMuNDE2LS40OTJhLjkzMS45MzEgMCAwMS41ODItLjE5MWMuMTIzIDAgLjIzNC4wMjEuMzQuMDYzYS43MzYuNzM2IDAgMDEuMjc5LjE5Ni45LjkgMCAwMS4xODkuMzNjLjA0My4xMzQuMDcuMjk0LjA3LjQ4IDAgLjMxNy0uMDMxLjYxNS0uMDguODkxIiBmaWxsPSIjNDI0MjQyIi8+PHBhdGggZD0iTTI2NCAzN1YyM2g4LjYyNUwyNzYgMjYuNTU2VjM3aC0xMnoiIGZpbGw9IiMyRDJEMkQiLz48cGF0aCBkPSJNMjcyIDI0aC03djEyaDEwdi05bC0zLTN6bTIgMTFoLThWMjVoNXYzaDN2N3oiIGZpbGw9IiNDNUM1QzUiLz48cGF0aCBmaWxsPSIjMkQyRDJEIiBkPSJNMjY2IDI1aDV2M2gzdjdoLTh6Ii8+PHBhdGggZD0iTTI2NCAxN1YzaDguNjI1TDI3NiA2LjU1NlYxN2gtMTJ6IiBmaWxsPSIjRjNGM0YzIi8+PHBhdGggZD0iTTI3MiA0aC03djEyaDEwVjdsLTMtM3ptMiAxMWgtOFY1aDV2M2gzdjd6IiBmaWxsPSIjNDI0MjQyIi8+PHBhdGggZmlsbD0iI0YwRUZGMSIgZD0iTTI2NiA1aDV2M2gzdjdoLTh6Ii8+PHBhdGggZmlsbD0iIzJEMkQyRCIgZD0iTTI0NyAzNHYtNGgtMnYtNGgxMHY4eiIvPjxwYXRoIGQ9Ik0yNTQgMjloLTh2LTJoOHYyem0wIDFoLTZ2MWg2di0xem0wIDJoLTZ2MWg2di0xeiIgZmlsbD0iI0M1QzVDNSIvPjxwYXRoIGZpbGw9IiNGM0YzRjMiIGQ9Ik0yNDcgMTR2LTRoLTJWNmgxMHY4eiIvPjxwYXRoIGQ9Ik0yNTQgOWgtOFY3aDh2MnptMCAxaC02djFoNnYtMXptMCAyaC02djFoNnYtMXoiIGZpbGw9IiM0MjQyNDIiLz48cGF0aCBkPSJNMjMwLjUgMjJjLTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjUgNy41LTMuMzU3IDcuNS03LjUtMy4zNTctNy41LTcuNS03LjV6bTAgMTFhMy41IDMuNSAwIDExMC03IDMuNSAzLjUgMCAxMTAgN3oiIGZpbGw9IiMyRDJEMkQiLz48cGF0aCBkPSJNMjI0LjAyNSAyOWE2LjQ2NCA2LjQ2NCAwIDAxMS41NDItMy43MjZsMS40MzEgMS40MzFhNC40NDMgNC40NDMgMCAwMC0uOTQ3IDIuMjk1aC0yLjAyNnptMi45NzMgMy4yOTVhNC40NDMgNC40NDMgMCAwMS0uOTQ3LTIuMjk1aC0yLjAyNWE2LjQ2NyA2LjQ2NyAwIDAwMS41NDIgMy43MjZsMS40My0xLjQzMXptNC4wMDItOS4yN3YyLjAyNWE0LjQ2IDQuNDYgMCAwMTIuMjk1Ljk0N2wxLjQzMS0xLjQzMUE2LjQ3NiA2LjQ3NiAwIDAwMjMxIDIzLjAyNXptLTMuMjk1IDIuOTczYTQuNDQzIDQuNDQzIDAgMDEyLjI5NS0uOTQ3di0yLjAyNWE2LjQ2NCA2LjQ2NCAwIDAwLTMuNzI2IDEuNTQybDEuNDMxIDEuNDN6bTYuMjk3LjcwN2MuNTE2LjY0Ni44NTEgMS40My45NDcgMi4yOTVoMi4wMjVhNi40NjQgNi40NjQgMCAwMC0xLjU0Mi0zLjcyNmwtMS40MyAxLjQzMXpNMjMwIDMzLjk0OWE0LjQ2IDQuNDYgMCAwMS0yLjI5NS0uOTQ3bC0xLjQzMSAxLjQzMUE2LjQ2MSA2LjQ2MSAwIDAwMjMwIDM1Ljk3NXYtMi4wMjZ6TTIzNC45NDkgMzBhNC40NjMgNC40NjMgMCAwMS0uOTQ3IDIuMjk1bDEuNDMxIDEuNDMxQTYuNDY3IDYuNDY3IDAgMDAyMzYuOTc1IDMwaC0yLjAyNnptLTEuNjU0IDMuMDAyYTQuNDQzIDQuNDQzIDAgMDEtMi4yOTUuOTQ3djIuMDI1YTYuNDYxIDYuNDYxIDAgMDAzLjcyNi0xLjU0MmwtMS40MzEtMS40M3oiIGZpbGw9IiNDNUM1QzUiLz48cGF0aCBkPSJNMjMwLjUgMmE3LjUgNy41IDAgMDAtNy41IDcuNWMwIDQuMTQzIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1NyA3LjUtNy41YTcuNSA3LjUgMCAwMC03LjUtNy41em0wIDExYTMuNSAzLjUgMCAxMS0uMDAxLTYuOTk5QTMuNSAzLjUgMCAwMTIzMC41IDEzeiIgZmlsbD0iI0YzRjNGMyIvPjxwYXRoIGQ9Ik0yMjQuMDI1IDlhNi40NjQgNi40NjQgMCAwMTEuNTQyLTMuNzI2bDEuNDMxIDEuNDMxYTQuNDQzIDQuNDQzIDAgMDAtLjk0NyAyLjI5NGgtMi4wMjZ6bTIuOTczIDMuMjk1YTQuNDQzIDQuNDQzIDAgMDEtLjk0Ny0yLjI5NWgtMi4wMjVhNi40NjcgNi40NjcgMCAwMDEuNTQyIDMuNzI2bDEuNDMtMS40MzF6TTIzMSAzLjAyNVY1LjA1YTQuNDUyIDQuNDUyIDAgMDEyLjI5NS45NDhsMS40MzEtMS40MzFBNi40NyA2LjQ3IDAgMDAyMzEgMy4wMjV6bS0zLjI5NSAyLjk3NEE0LjQ1MiA0LjQ1MiAwIDAxMjMwIDUuMDUxVjMuMDI1YTYuNDY0IDYuNDY0IDAgMDAtMy43MjYgMS41NDJsMS40MzEgMS40MzJ6bTYuMjk3LjcwN2MuNTE2LjY0Ni44NTEgMS40My45NDcgMi4yOTRoMi4wMjVhNi40NjQgNi40NjQgMCAwMC0xLjU0Mi0zLjcyNmwtMS40MyAxLjQzMnpNMjMwIDEzLjk0OWE0LjQ2IDQuNDYgMCAwMS0yLjI5NS0uOTQ3bC0xLjQzMSAxLjQzMUE2LjQ2MSA2LjQ2MSAwIDAwMjMwIDE1Ljk3NXYtMi4wMjZ6TTIzNC45NDkgMTBhNC40NjMgNC40NjMgMCAwMS0uOTQ3IDIuMjk1bDEuNDMxIDEuNDMxQTYuNDY3IDYuNDY3IDAgMDAyMzYuOTc1IDEwaC0yLjAyNnptLTEuNjU0IDMuMDAyYTQuNDQzIDQuNDQzIDAgMDEtMi4yOTUuOTQ3djIuMDI1YTYuNDYxIDYuNDYxIDAgMDAzLjcyNi0xLjU0MmwtMS40MzEtMS40M3oiIGZpbGw9IiM0MjQyNDIiLz48cGF0aCBmaWxsPSIjMkQyRDJEIiBkPSJNMjAyIDIzaDE2djE0aC0xNnoiLz48cGF0aCBkPSJNMjAzIDI0djEyaDE0VjI0aC0xNHptMTMgMTFoLTEyVjI1aDEydjEwem0tNi03di0xaC0xdjVoM3YtNGgtMnptMSAzaC0xdi0yaDF2MnptMy0ydjJoMXYxaC0ydi00aDJ2MWgtMXptLTYtMXY0aC0zdi0yaDF2MWgxdi0xaC0xdi0xaC0xdi0xaDN6IiBmaWxsPSIjQzVDNUM1Ii8+PHBhdGggZD0iTTIxMCAyOWgxdjJoLTF2LTJ6bS0zIDJ2LTFoLTF2MWgxem05LTZ2MTBoLTEyVjI1aDEyem0tOCAzaC0zdjFoMXYxaC0xdjJoM3YtNHptNCAwaC0ydi0xaC0xdjVoM3YtNHptMyAwaC0ydjRoMnYtMWgtMXYtMmgxdi0xeiIgZmlsbD0iIzJEMkQyRCIvPjxwYXRoIGZpbGw9IiNGM0YzRjMiIGQ9Ik0yMDIgM2gxNnYxNGgtMTZ6Ii8+PHBhdGggZD0iTTIwMyA0djEyaDE0VjRoLTE0em0xMyAxMWgtMTJWNWgxMnYxMHptLTYtN1Y3aC0xdjVoM1Y4aC0yem0xIDNoLTFWOWgxdjJ6bTMtMnYyaDF2MWgtMlY4aDJ2MWgtMXptLTYtMXY0aC0zdi0yaDF2MWgxdi0xaC0xVjloLTFWOGgzeiIgZmlsbD0iIzQyNDI0MiIvPjxwYXRoIGQ9Ik0yMTAgOWgxdjJoLTFWOXptLTMgMnYtMWgtMXYxaDF6bTktNnYxMGgtMTJWNWgxMnptLTggM2gtM3YxaDF2MWgtMXYyaDNWOHptNCAwaC0yVjdoLTF2NWgzVjh6bTMgMGgtMnY0aDJ2LTFoLTFWOWgxVjh6IiBmaWxsPSIjRjBFRkYxIi8+PHBhdGggZD0iTTE5Ni42NTIgMzIuNUEyLjk5NyAyLjk5NyAwIDAwMTk1IDI3Yy0uNzcxIDAtMS40NjguMzAxLTIgLjc3OVYyMmgtMTF2MTJoMy43NjRsLTEuNDUyLjcyNyAxLjQ4MSAxLjQ4Yy4zMjIuMzIyLjgwMy41IDEuMzU0LjUuNDM2IDAgLjg5Ny0uMTExIDEuMzAxLS4zMTNsMy4xNDQtMS41NzJjLjEzNC4wNTMuMjcxLjA5OC40MTQuMTI3bC0uMDA1LjA1MWMwIDEuNjU0IDEuMzQ2IDMgMyAzczMtMS4zNDYgMy0zYTMgMyAwIDAwLTEuMzQ5LTIuNXoiIGZpbGw9IiMyRDJEMkQiLz48cGF0aCBkPSJNMTk1IDMzYy0uMjkzIDAtLjU2OS4wNjYtLjgyLjE4bC0uMjUtLjI1Yy4wNDItLjEzNy4wNy0uMjc5LjA3LS40M3MtLjAyOC0uMjkzLS4wNy0uNDNsLjI1LS4yNWMuMjUxLjExMy41MjcuMTguODIuMThhMiAyIDAgMTAtMi0yYzAgLjI5My4wNjYuNTY4LjE4LjgybC0uMjUuMjVhMS40MjQgMS40MjQgMCAwMC0uNDMtLjA3Yy0uMzM3IDAtLjY0NS4xMTUtLjg5NS4zMDNsLTIuNjA3LTEuMzA1LS45OTktLjVjLS41NTItLjI3NS0xLjIyMy0uMjc1LTEuNDk5LjAwMmwtLjUuNSA1IDIuNS01IDIuNS41LjVjLjI3Ni4yNzUuOTQ3LjI3NSAxLjUgMGwxLS41IDIuNjA1LTEuMzAzYy4yNS4xODguNTU4LjMwMy44OTUuMzAzLjE1IDAgLjI5My0uMDI5LjQzLS4wN2wuMjUuMjVhMS45NyAxLjk3IDAgMDAtLjE4LjgyIDIgMiAwIDEwMi0yem0wLTRhMSAxIDAgMTEuMDAyIDEuOTk4QTEgMSAwIDAxMTk1IDI5em0tMi41IDRhLjUuNSAwIDExLjAwMi0xLjAwMkEuNS41IDAgMDExOTIuNSAzM3ptMi41IDNhMSAxIDAgMTEwLTIgMSAxIDAgMDEwIDJ6bS0zLTEzdjcuMDUxYy0uMTQyLjAyOS0uMjc5LjA3LS40MTMuMTIzTDE5MSAzMHYtNmgtN3Y3aC0xdi04aDl6bS04IDEwaC0xdi0xaDF2MXptMi0xaC0xdjFoMXYtMXptMiAwaC0xdjFoMXYtMXoiIGZpbGw9IiNDNUM1QzUiLz48cGF0aCBkPSJNMTg1Ljc5MyAyOC43OTNMMTg0IDMwdi02aDd2NS4zODFsLTIuNTU0LS43NzdjLS44MTYtLjQwOS0xLjk5LS40NzUtMi42NTMuMTg5ek0xODUgMzFoLjc2NGwtLjc2NC0uMzgzVjMxem0xMSA0YTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHptLTMuNS0zYS41LjUgMCAxMDAgMSAuNS41IDAgMDAwLTF6bTIuNS0zYTEgMSAwIDEwLS4wMDIgMS45OThBMSAxIDAgMDAxOTUgMjl6IiBmaWxsPSIjMkQyRDJEIi8+PHBhdGggZD0iTTE5Ni42NTIgMTIuNUEzIDMgMCAwMDE5OCAxMGMwLTEuNjU0LTEuMzQ2LTMtMy0zLS43NzEgMC0xLjQ2OC4zMDEtMiAuNzc5VjJoLTExdjEyaDMuNzY0bC0xLjQ1Mi43MjcgMS40ODEgMS40OGMuMzIyLjMyMi44MDMuNSAxLjM1NC41LjQzNiAwIC44OTctLjExMSAxLjMwMS0uMzEzbDMuMTQ0LTEuNTcyYy4xMzQuMDUzLjI3MS4wOTguNDE0LjEyN2wtLjAwNS4wNTFjMCAxLjY1NCAxLjM0NiAzIDMgM3MzLTEuMzQ2IDMtM2EzIDMgMCAwMC0xLjM0OS0yLjV6IiBmaWxsPSIjRjNGM0YzIi8+PHBhdGggZD0iTTE5NSAxM2MtLjI5MyAwLS41NjkuMDY2LS44Mi4xOGwtLjI1LS4yNWMuMDQyLS4xMzcuMDctLjI3OS4wNy0uNDNzLS4wMjgtLjI5My0uMDctLjQzbC4yNS0uMjVjLjI1MS4xMTMuNTI3LjE4LjgyLjE4YTIgMiAwIDEwLTItMmMwIC4yOTMuMDY2LjU2OC4xOC44MmwtLjI1LjI1YTEuNDI0IDEuNDI0IDAgMDAtLjQzLS4wN2MtLjMzNyAwLS42NDUuMTE1LS44OTUuMzAzbC0yLjYwNy0xLjMwNC0uOTk5LS41Yy0uNTUyLS4yNzUtMS4yMjMtLjI3NS0xLjQ5OS4wMDJMMTg2IDEwbDUgMi41LTUgMi41LjUuNWMuMjc2LjI3NS45NDcuMjc1IDEuNSAwbDEtLjUgMi42MDUtMS4zMDNjLjI1LjE4OC41NTguMzAzLjg5NS4zMDMuMTUgMCAuMjkzLS4wMjkuNDMtLjA3bC4yNS4yNWMtLjExMy4yNS0uMTguNTI3LS4xOC44MmEyIDIgMCAxMDItMnptMC00YTEgMSAwIDExLjAwMiAxLjk5OEExIDEgMCAwMTE5NSA5em0tMi41IDRhLjUuNSAwIDExLjAwMi0xLjAwMkEuNS41IDAgMDExOTIuNSAxM3ptMi41IDNhMSAxIDAgMTEwLTIgMSAxIDAgMDEwIDJ6bS0zLTEzdjcuMDUxYy0uMTQyLjAyOS0uMjc5LjA3LS40MTMuMTIzTDE5MSAxMFY0aC03djdoLTFWM2g5em0tOCAxMGgtMXYtMWgxdjF6bTItMWgtMXYxaDF2LTF6bTIgMGgtMXYxaDF2LTF6IiBmaWxsPSIjNDI0MjQyIi8+PHBhdGggZD0iTTE4NS43OTMgOC43OTNMMTg0IDEwVjRoN3Y1LjM4MWwtMi41NTQtLjc3N2MtLjgxNi0uNDA5LTEuOTktLjQ3NS0yLjY1My4xODl6TTE4NSAxMWguNzY0bC0uNzY0LS4zODNWMTF6bTExIDRhMSAxIDAgMTEtMiAwIDEgMSAwIDAxMiAwem0tMy41LTNhLjUuNSAwIDEwMCAxIC41LjUgMCAwMDAtMXptMi41LTNhMSAxIDAgMTAtLjAwMiAxLjk5OEExIDEgMCAwMDE5NSA5eiIgZmlsbD0iI0YwRUZGMSIvPjxwYXRoIGQ9Ik0xNzggMjd2LTNoLTd2LTFoLTl2MTRoMTN2LTNoM3YtM2gtMXYtM2gtNnYtMWg3em0tOCA3di0zaDF2M2gtMXoiIGZpbGw9IiMyRDJEMkQiLz48cGF0aCBkPSJNMTc3IDI2aC01di0xaDV2MXptLTEgM2gtMnYxaDJ2LTF6bS00IDBoLTl2MWg5di0xem0yIDZoLTExdjFoMTF2LTF6bS01LTNoLTZ2MWg2di0xem04IDBoLTV2MWg1di0xem0tNy04djNoLTd2LTNoN3ptLTEgMWgtNXYxaDV2LTF6IiBmaWxsPSIjQzVDNUM1Ii8+PHBhdGggZmlsbD0iIzJEMkQyRCIgZD0iTTE2NCAyNWg1djFoLTV6Ii8+PHBhdGggZD0iTTE3OCA3VjRoLTdWM2gtOXYxNGgxM3YtM2gzdi0zaC0xVjhoLTZWN2g3em0tOCA3di0zaDF2M2gtMXoiIGZpbGw9IiNGM0YzRjMiLz48cGF0aCBkPSJNMTc3IDZoLTVWNWg1djF6bS0xIDNoLTJ2MWgyVjl6bS00IDBoLTl2MWg5Vjl6bTIgNmgtMTF2MWgxMXYtMXptLTUtM2gtNnYxaDZ2LTF6bTggMGgtNXYxaDV2LTF6bS03LTh2M2gtN1Y0aDd6bS0xIDFoLTV2MWg1VjV6IiBmaWxsPSIjNDI0MjQyIi8+PHBhdGggZmlsbD0iI0YwRUZGMSIgZD0iTTE2NCA1aDV2MWgtNXoiLz48cGF0aCBmaWxsPSIjMkQyRDJEIiBkPSJNMTU0LjQxNCAyNGgtNC44MjhMMTQ4IDI1LjU4NlYyOGgtNHY3aDh2LTRoMi40MTRMMTU2IDI5LjQxNHYtMy44Mjh6Ii8+PHBhdGggZD0iTTE1NCAyNWgtNGwtMSAxdjJoNXYxaC0ydjFoMmwxLTF2LTNsLTEtMXptMCAyaC00di0xaDR2MXptLTkgN2g2di01aC02djV6bTEtM2g0djFoLTR2LTF6IiBmaWxsPSIjNzVCRUZGIi8+PGcgZmlsbD0iIzJEMkQyRCI+PHBhdGggZD0iTTE0NiAzMWg0djFoLTR6TTE1MCAyNmg0djFoLTR6TTE1MiAyOGgydjFoLTJ6Ii8+PC9nPjxwYXRoIGZpbGw9IiNGM0YzRjMiIGQ9Ik0xNTQuNDE0IDRoLTQuODI4TDE0OCA1LjU4NlY4aC00djdoOHYtNGgyLjQxNEwxNTYgOS40MTRWNS41ODZ6Ii8+PHBhdGggZD0iTTE1NCA1aC00bC0xIDF2Mmg1djFoLTJ2MWgybDEtMVY2bC0xLTF6bTAgMmgtNFY2aDR2MXptLTkgN2g2VjloLTZ2NXptMS0zaDR2MWgtNHYtMXoiIGZpbGw9IiMwMDUzOUMiLz48ZyBmaWxsPSIjRjBFRkYxIj48cGF0aCBkPSJNMTQ2IDExaDR2MWgtNHpNMTUwIDZoNHYxaC00ek0xNTIgOGgydjFoLTJ6Ii8+PC9nPjxwYXRoIGQ9Ik0xMzggMjRoLTE1djRoLTF2OGg4di02aDh2LTZ6bS0xMSA5aC0ydi0yaDJ2MnoiIGZpbGw9IiMyRDJEMkQiLz48cGF0aCBkPSJNMTM3IDI5aC03di0xaC02di0zaDF2Mmgxdi0yaDF2Mmgxdi0yaDF2Mmgxdi0yaDF2Mmgxdi0yaDF2Mmgxdi0yaDF2Mmgxdi0yaDF2NHptLTEyIDF2LTFoLTJ2Nmgydi0xaC0xdi00aDF6bTIgNHYxaDJ2LTZoLTJ2MWgxdjRoLTF6IiBmaWxsPSIjQzVDNUM1Ii8+PHBhdGggZD0iTTEyNSAyN3YtMmgxdjJoLTF6bTMgMHYtMmgtMXYyaDF6bTIgMHYtMmgtMXYyaDF6bTIgMHYtMmgtMXYyaDF6bTIgMHYtMmgtMXYyaDF6bTIgMHYtMmgtMXYyaDF6IiBmaWxsPSIjMkQyRDJEIi8+PHBhdGggZD0iTTEzOCA0aC0xNXY0aC0xdjhoOHYtNmg4VjR6bS0xMSA5aC0ydi0yaDJ2MnoiIGZpbGw9IiNGM0YzRjMiLz48cGF0aCBkPSJNMTM3IDloLTdWOGgtNlY1aDF2MmgxVjVoMXYyaDFWNWgxdjJoMVY1aDF2MmgxVjVoMXYyaDFWNWgxdjJoMVY1aDF2NHptLTEyIDFWOWgtMnY2aDJ2LTFoLTF2LTRoMXptMiA0djFoMlY5aC0ydjFoMXY0aC0xeiIgZmlsbD0iIzQyNDI0MiIvPjxwYXRoIGQ9Ik0xMjUgN1Y1aDF2MmgtMXptMyAwVjVoLTF2Mmgxem0yIDBWNWgtMXYyaDF6bTIgMFY1aC0xdjJoMXptMiAwVjVoLTF2Mmgxem0yIDBWNWgtMXYyaDF6IiBmaWxsPSIjRjBFRkYxIi8+PHBhdGggZD0iTTExMC40NDkgMjNjLTEuNjM3IDAtMy4wNzUuNzk3LTMuOTg3IDIuMDEybC4wMDEuMDAyQTQuOTUzIDQuOTUzIDAgMDAxMDUuNDQ5IDI4YzAgLjQ2OS4wNjcuOTMzLjIgMS4zODVsLTIuOTA3IDIuOTA4Yy0uNjg3LjY4Ni0xLjI1MyAyLjE2MSAwIDMuNDE0LjYwOS42MDkgMS4yNDQuNzM2IDEuNjcuNzM2Ljk1OCAwIDEuNjIxLS42MTMgMS43NDQtLjczNmwyLjkwNy0yLjkwOGMuNDUzLjEzMy45MTcuMjAxIDEuMzg2LjIwMWE0Ljk1NyA0Ljk1NyAwIDAwMi45ODUtMS4wMTRsLjAwMi4wMDFjMS4yMTYtLjkxMiAyLjAxMy0yLjM1MiAyLjAxMy0zLjk4N2E1IDUgMCAwMC01LTV6IiBmaWxsPSIjMkQyRDJEIi8+PHBhdGggZD0iTTExNC4wOSAyNi4zNTlMMTExLjQ0OSAyOWwtMi0yIDIuNjQxLTIuNjQxYTMuOTY4IDMuOTY4IDAgMDAtMS42NDEtLjM1OSA0IDQgMCAwMC00IDRjMCAuNTg2LjEzMyAxLjEzOS4zNTkgMS42NEwxMDMuNDQ5IDMzcy0xIDEgMCAyaDJsMy4zNTktMy4zNmMuNTAyLjIyNyAxLjA1NS4zNiAxLjY0MS4zNmE0IDQgMCAwMDQtNGMwLS41ODYtLjEzMy0xLjEzOS0uMzU5LTEuNjQxeiIgZmlsbD0iI0M1QzVDNSIvPjxwYXRoIGQ9Ik0xMTAuNDQ5IDNjLTEuNjM3IDAtMy4wNzUuNzk3LTMuOTg3IDIuMDEybC4wMDEuMDAyQTQuOTUzIDQuOTUzIDAgMDAxMDUuNDQ5IDhjMCAuNDY5LjA2Ny45MzMuMiAxLjM4NWwtMi45MDcgMi45MDhjLS42ODcuNjg2LTEuMjUzIDIuMTYxIDAgMy40MTQuNjA5LjYwOSAxLjI0NC43MzYgMS42Ny43MzYuOTU4IDAgMS42MjEtLjYxMyAxLjc0NC0uNzM2bDIuOTA3LTIuOTA4Yy40NTMuMTMzLjkxNy4yMDEgMS4zODYuMjAxYTQuOTU3IDQuOTU3IDAgMDAyLjk4NS0xLjAxNGwuMDAyLjAwMWMxLjIxNi0uOTEyIDIuMDEzLTIuMzUyIDIuMDEzLTMuOTg3YTUgNSAwIDAwLTUtNXoiIGZpbGw9IiNGM0YzRjMiLz48cGF0aCBkPSJNMTE0LjA5IDYuMzU5TDExMS40NDkgOWwtMi0yIDIuNjQxLTIuNjQxQTMuOTg0IDMuOTg0IDAgMDAxMTAuNDQ5IDRhNCA0IDAgMDAtNCA0YzAgLjU4Ni4xMzMgMS4xMzkuMzU5IDEuNjRMMTAzLjQ0OSAxM3MtMSAxIDAgMmgybDMuMzU5LTMuMzZjLjUwMi4yMjcgMS4wNTUuMzYgMS42NDEuMzZhNCA0IDAgMDA0LTRjMC0uNTg2LS4xMzMtMS4xMzktLjM1OS0xLjY0MXoiIGZpbGw9IiM0MjQyNDIiLz48cGF0aCBkPSJNODkgMzNoMXYtMWMwLS41MzcuNzQxLTEuNjEzIDEtMi0uMjU5LS4zODktMS0xLjQ2Ny0xLTJ2LTFoLTF2LTNoMWMxLjk2OS4wMjEgMyAxLjI3NyAzIDN2MWwxIDF2MmwtMSAxdjFjMCAxLjcwOS0xLjAzMSAyLjk3OS0zIDNoLTF2LTN6bS0yIDBoLTF2LTFjMC0uNTM3LS43NDEtMS42MTMtMS0yIC4yNTktLjM4OSAxLTEuNDY3IDEtMnYtMWgxdi0zaC0xYy0xLjk2OS4wMjEtMyAxLjI3Ny0zIDN2MWwtMSAxdjJsMSAxdjFjMCAxLjcwOSAxLjMxNyAyLjk3OSAzLjI4NiAzSDg3di0zeiIgZmlsbD0iIzJEMkQyRCIvPjxwYXRoIGQ9Ik05MSAzM3YtMWMwLS44MzQuNDk2LTEuNzM4IDEtMi0uNTA0LS4yNy0xLTEuMTY4LTEtMnYtMWMwLS44NC0uNTg0LTEtMS0xdi0xYzIuMDgzIDAgMiAxLjE2NiAyIDJ2MWMwIC45NjkuNzAzLjk4IDEgMXYyYy0uMzIyLjAyLTEgLjA1My0xIDF2MWMwIC44MzQuMDgzIDItMiAydi0xYy44MzMgMCAxLTEgMS0xem0tNiAwdi0xYzAtLjgzNC0uNDk2LTEuNzM4LTEtMiAuNTA0LS4yNyAxLTEuMTY4IDEtMnYtMWMwLS44NC41ODQtMSAxLTF2LTFjLTIuMDgzIDAtMiAxLjE2Ni0yIDJ2MWMwIC45NjktLjcwMy45OC0xIDF2MmMuMzIyLjAyIDEgLjA1MyAxIDF2MWMwIC44MzQtLjA4MyAyIDIgMnYtMWMtLjgzMyAwLTEtMS0xLTF6IiBmaWxsPSIjQzVDNUM1Ii8+PHBhdGggZD0iTTg5IDEzaDF2LTFjMC0uNTM3Ljc0MS0xLjYxMyAxLTItLjI1OS0uMzg5LTEtMS40NjctMS0yVjdoLTFWNGgxYzEuOTY5LjAyMSAzIDEuMjc3IDMgM3YxbDEgMXYybC0xIDF2MWMwIDEuNzA5LTEuMDMxIDIuOTc5LTMgM2gtMXYtM3ptLTIgMGgtMXYtMWMwLS41MzctLjc0MS0xLjYxMy0xLTIgLjI1OS0uMzg5IDEtMS40NjcgMS0yVjdoMVY0aC0xYy0xLjk2OS4wMjEtMyAxLjI3Ny0zIDN2MWwtMSAxdjJsMSAxdjFjMCAxLjcwOSAxLjMxNyAyLjk3OSAzLjI4NiAzSDg3di0zeiIgZmlsbD0iI0YzRjNGMyIvPjxwYXRoIGQ9Ik05MSAxM3YtMWMwLS44MzQuNDk2LTEuNzM4IDEtMi0uNTA0LS4yNy0xLTEuMTY4LTEtMlY3YzAtLjg0LS41ODQtMS0xLTFWNWMyLjA4MyAwIDIgMS4xNjYgMiAydjFjMCAuOTY5LjcwMy45OCAxIDF2MmMtLjMyMi4wMi0xIC4wNTMtMSAxdjFjMCAuODM0LjA4MyAyLTIgMnYtMWMuODMzIDAgMS0xIDEtMXptLTYgMHYtMWMwLS44MzQtLjQ5Ni0xLjczOC0xLTIgLjUwNC0uMjcgMS0xLjE2OCAxLTJWN2MwLS44NC41ODQtMSAxLTFWNWMtMi4wODMgMC0yIDEuMTY2LTIgMnYxYzAgLjk2OS0uNzAzLjk4LTEgMXYyYy4zMjIuMDIgMSAuMDUzIDEgMXYxYzAgLjgzNC0uMDgzIDIgMiAydi0xYy0uODMzIDAtMS0xLTEtMXoiIGZpbGw9IiM0MjQyNDIiLz48cGF0aCBkPSJNNzMuNSAzNGMtMS45MTQgMC0zLjYwMS0xLjI0Mi00LjIyNy0zSDY3LjU5YTIuOTkyIDIuOTkyIDAgMDEtMi41OTEgMS41Yy0xLjY1NCAwLTMtMS4zNDYtMy0zczEuMzQ2LTMgMy0zQTIuOTkgMi45OSAwIDAxNjcuNTkgMjhoMS42ODNjLjYyNi0xLjc2IDIuMzEzLTMgNC4yMjctMyAyLjQ4MSAwIDQuNSAyLjAxOCA0LjUgNC41IDAgMi40OC0yLjAxOSA0LjUtNC41IDQuNXoiIGZpbGw9IiMyRDJEMkQiLz48cGF0aCBkPSJNNzMuNSAyNmMtMS43NTkgMC0zLjIwNCAxLjMwOC0zLjQ0OSAzaC0zLjEyMmExLjk5NSAxLjk5NSAwIDAwLTMuOTI5LjUgMS45OTUgMS45OTUgMCAwMDMuOTI5LjVoMy4xMjJjLjI0NSAxLjY5MSAxLjY5IDMgMy40NDkgMyAxLjkzIDAgMy41LTEuNTcgMy41LTMuNSAwLTEuOTMxLTEuNTctMy41LTMuNS0zLjV6bTAgNWExLjUwMSAxLjUwMSAwIDExMS41LTEuNWMwIC44MjYtLjY3MyAxLjUtMS41IDEuNXoiIGZpbGw9IiM3NUJFRkYiLz48Y2lyY2xlIGN4PSI3My41IiBjeT0iMjkuNSIgcj0iMS41IiBmaWxsPSIjMkQyRDJEIi8+PHBhdGggZD0iTTczLjUgMTRjLTEuOTE0IDAtMy42MDEtMS4yNDItNC4yMjctM0g2Ny41OWEyLjk5MiAyLjk5MiAwIDAxLTIuNTkxIDEuNWMtMS42NTQgMC0zLTEuMzQ2LTMtM3MxLjM0Ni0zIDMtM0EyLjk5IDIuOTkgMCAwMTY3LjU5IDhoMS42ODNjLjYyNi0xLjc2IDIuMzEzLTMgNC4yMjctM0M3NS45ODEgNSA3OCA3LjAxOCA3OCA5LjVjMCAyLjQ4LTIuMDE5IDQuNS00LjUgNC41eiIgZmlsbD0iI0YzRjNGMyIvPjxwYXRoIGQ9Ik03My41IDZjLTEuNzU5IDAtMy4yMDQgMS4zMDgtMy40NDkgM2gtMy4xMjJBMS45OTUgMS45OTUgMCAwMDYzIDkuNWExLjk5NSAxLjk5NSAwIDAwMy45MjkuNWgzLjEyMmMuMjQ1IDEuNjkxIDEuNjkgMyAzLjQ0OSAzIDEuOTMgMCAzLjUtMS41NyAzLjUtMy41Qzc3IDcuNTY5IDc1LjQzIDYgNzMuNSA2em0wIDVBMS41MDEgMS41MDEgMCAxMTc1IDkuNWMwIC44MjYtLjY3MyAxLjUtMS41IDEuNXoiIGZpbGw9IiMwMDUzOUMiLz48Y2lyY2xlIGN4PSI3My41IiBjeT0iOS41IiByPSIxLjUiIGZpbGw9IiNGMEVGRjEiLz48cGF0aCBkPSJNNTggMjguNTg2bC0zLTNMNTMuNTg2IDI3aC0yLjE3MmwxLTEtNC00aC0uODI4TDQyIDI3LjU4NnYuODI4bDQgNEw0OC40MTQgMzBINDl2NWgxLjU4NmwzIDNoLjgyOEw1OCAzNC40MTR2LS44MjhMNTUuOTE0IDMxLjUgNTggMjkuNDE0di0uODI4eiIgZmlsbD0iIzJEMkQyRCIvPjxwYXRoIGZpbGw9IiNDMjdEMUEiIGQ9Ik01My45OTggMzMuMDAyTDUxIDMzdi00aDJsLTEgMSAyIDIgMy0zLTItMi0xIDFoLTVsMi0yLTMtMy01IDUgMyAzIDItMmgydjVoM2wtMSAxIDIgMiAzLTMtMi0yeiIvPjxwYXRoIGQ9Ik01OCA4LjU4NmwtMy0zTDUzLjU4NiA3aC0yLjE3MmwxLTEtNC00aC0uODI4TDQyIDcuNTg2di44MjhsNCA0TDQ4LjQxNCAxMEg0OXY1aDEuNTg2bDMgM2guODI4TDU4IDE0LjQxNHYtLjgyOEw1NS45MTQgMTEuNSA1OCA5LjQxNHYtLjgyOHoiIGZpbGw9IiNGM0YzRjMiLz48cGF0aCBmaWxsPSIjQzI3RDFBIiBkPSJNNTMuOTk4IDEzLjAwMkw1MSAxM1Y5aDJsLTEgMSAyIDIgMy0zLTItMi0xIDFoLTVsMi0yLTMtMy01IDUgMyAzIDItMmgydjVoM2wtMSAxIDIgMiAzLTMtMi0yeiIvPjxwYXRoIGQ9Ik0yOS4yNjMgMjRMMzQgMjYuMzY5djUuMjM2TDI3LjIwOSAzNWgtLjQyTDIyIDMyLjYwNXYtNS4yMzZMMjguNzM5IDI0aC41MjR6IiBmaWxsPSIjMkQyRDJEIi8+PHBhdGggZD0iTTIzIDI4djRsNCAyIDYtM3YtNGwtNC0yLTYgM3ptNCAxbC0yLTEgNC0yIDIgMS00IDJ6IiBmaWxsPSIjNzVCRUZGIi8+PHBhdGggZD0iTTI5IDI2bDIgMS00IDItMi0xIDQtMnoiIGZpbGw9IiMyRDJEMkQiLz48cGF0aCBkPSJNMjkuMjYzIDRMMzQgNi4zNjl2NS4yMzZMMjcuMjA5IDE1aC0uNDJMMjIgMTIuNjA1VjcuMzY5TDI4LjczOSA0aC41MjR6IiBmaWxsPSIjRjNGM0YzIi8+PHBhdGggZD0iTTIzIDh2NGw0IDIgNi0zVjdsLTQtMi02IDN6bTQgMWwtMi0xIDQtMiAyIDEtNCAyeiIgZmlsbD0iIzAwNTM5QyIvPjxwYXRoIGQ9Ik0yOSA2bDIgMS00IDItMi0xIDQtMnoiIGZpbGw9IiNGMEVGRjEiLz48cGF0aCBmaWxsPSIjMkQyRDJEIiBkPSJNMiAyNy4zMDh2NS4zODRMNy4yMDkgMzZoLjU4MkwxMyAzMi42OTJ2LTUuMzg0TDcuNzkxIDI0aC0uNTgyeiIvPjxwYXRoIGQ9Ik03LjUgMjVMMyAyNy44NTd2NC4yODVMNy41IDM1bDQuNS0yLjg1N3YtNC4yODVMNy41IDI1ek03IDMzLjQ5OGwtMy0xLjkwNXYtMi44MTVsMyAxLjkwNXYyLjgxNXpNNC42NDIgMjhMNy41IDI2LjE4NSAxMC4zNTggMjggNy41IDI5LjgxNSA0LjY0MiAyOHpNMTEgMzEuNTkzbC0zIDEuOTA1di0yLjgxNWwzLTEuOTA1djIuODE1eiIgZmlsbD0iI0IxODBENyIvPjxwYXRoIGZpbGw9IiMyRDJEMkQiIGQ9Ik0xMC4zNTggMjhMNy41IDI5LjgxNSA0LjY0MiAyOCA3LjUgMjYuMTg1ek00IDI4Ljc3N2wzIDEuOTA2djIuODE1bC0zLTEuOTA1ek04IDMzLjQ5OHYtMi44MTVsMy0xLjkwNnYyLjgxNnoiLz48cGF0aCBmaWxsPSIjRjNGM0YzIiBkPSJNMiA3LjMwOHY1LjM4NEw3LjIwOSAxNmguNTgyTDEzIDEyLjY5MlY3LjMwOEw3Ljc5MSA0aC0uNTgyeiIvPjxwYXRoIGQ9Ik03LjUgNUwzIDcuODU3djQuMjg1TDcuNSAxNWw0LjUtMi44NTdWNy44NTdMNy41IDV6TTcgMTMuNDk4bC0zLTEuOTA1VjguNzc3bDMgMS45MDV2Mi44MTZ6TTQuNjQyIDhMNy41IDYuMTg1IDEwLjM1OCA4IDcuNSA5LjgxNSA0LjY0MiA4ek0xMSAxMS41OTNsLTMgMS45MDV2LTIuODE1bDMtMS45MDV2Mi44MTV6IiBmaWxsPSIjNjUyRDkwIi8+PHBhdGggZmlsbD0iI0YwRUZGMSIgZD0iTTEwLjM1OCA4TDcuNSA5LjgxNSA0LjY0MiA4IDcuNSA2LjE4NXpNNCA4Ljc3N2wzIDEuOTA2djIuODE1bC0zLTEuOTA1ek04IDEzLjQ5OHYtMi44MTVsMy0xLjkwNnYyLjgxNnoiLz48L3N2Zz4=");background-repeat:no-repeat}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.constructor,.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.function,.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.method{background-position:0 -4px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.field,.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.variable{background-position:-22px -4px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.class{background-position:-43px -3px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.interface{background-position:-63px -4px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.module{background-position:-82px -4px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.property{background-position:-102px -3px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.enum{background-position:-122px -3px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.rule{background-position:-242px -4px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.file{background-position:-262px -4px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.constructor,.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.function,.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.method{background-position:0 -24px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.field,.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.variable{background-position:-22px -24px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.class{background-position:-43px -23px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.interface{background-position:-63px -24px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.module{background-position:-82px -24px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.property{background-position:-102px -23px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.enum{background-position:-122px -23px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.rule{background-position:-242px -24px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.file{background-position:-262px -24px}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon{background:none;display:inline}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon:before{height:16px;width:16px;display:inline-block}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.constructor:before,.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.function:before,.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.method:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0IxODBENyIgZD0iTTUuNSAzTDEgNS44NTd2NC4yODVMNS41IDEzbDQuNS0yLjg1N1Y1Ljg1N0w1LjUgM3pNNSAxMS40OThMMiA5LjU5M1Y2Ljc3N2wzIDEuOTA1djIuODE2ek0yLjY0MiA2TDUuNSA0LjE4NSA4LjM1OCA2IDUuNSA3LjgxNSAyLjY0MiA2ek05IDkuNTkzbC0zIDEuOTA1VjguNjgzbDMtMS45MDV2Mi44MTV6Ii8+PC9zdmc+);margin-left:2px}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.field:before,.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.variable:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzc1QkVGRiIgZD0iTTEgNnY0bDQgMiA2LTNWNUw3IDMgMSA2em00IDFMMyA2bDQtMiAyIDEtNCAyeiIvPjwvc3ZnPg==);margin-left:2px}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.class:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0U4QUI1MyIgZD0iTTExLjk5OCAxMS4wMDJMOSAxMVY3aDJsLTEgMSAyIDIgMy0zLTItMi0xIDFIN2wyLTItMy0zLTUgNSAzIDMgMi0yaDJ2NWgzbC0xIDEgMiAyIDMtMy0yLTJ6Ii8+PC9zdmc+)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.interface:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzc1QkVGRiIgZD0iTTExLjUgNEM5Ljc0MSA0IDguMjk2IDUuMzA4IDguMDUxIDdINC45MjlBMS45OTUgMS45OTUgMCAwMDEgNy41YTEuOTk1IDEuOTk1IDAgMDAzLjkyOS41aDMuMTIyYy4yNDUgMS42OTEgMS42OSAzIDMuNDQ5IDMgMS45MyAwIDMuNS0xLjU3IDMuNS0zLjVDMTUgNS41NjkgMTMuNDMgNCAxMS41IDR6bTAgNUExLjUwMSAxLjUwMSAwIDExMTMgNy41YzAgLjgyNi0uNjczIDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.module:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTkgMTF2LTFjMC0uODM0LjQ5Ni0xLjczOCAxLTItLjUwNC0uMjctMS0xLjE2OC0xLTJWNWMwLS44NC0uNTg0LTEtMS0xVjNjMi4wODMgMCAyIDEuMTY2IDIgMnYxYzAgLjk2OS43MDMuOTggMSAxdjJjLS4zMjIuMDItMSAuMDUzLTEgMXYxYzAgLjgzNC4wODMgMi0yIDJ2LTFjLjgzMyAwIDEtMSAxLTF6bS02IDB2LTFjMC0uODM0LS40OTYtMS43MzgtMS0yIC41MDQtLjI3IDEtMS4xNjggMS0yVjVjMC0uODQuNTg0LTEgMS0xVjNDMS45MTcgMyAyIDQuMTY2IDIgNXYxYzAgLjk2OS0uNzAzLjk4LTEgMXYyYy4zMjIuMDIgMSAuMDUzIDEgMXYxYzAgLjgzNC0uMDgzIDIgMiAydi0xYy0uODMzIDAtMS0xLTEtMXoiLz48L3N2Zz4=);margin-left:2px}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.property:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTEyLjA5IDQuMzU5TDkuNDQ5IDdsLTItMiAyLjY0MS0yLjY0MUEzLjk4NCAzLjk4NCAwIDAwOC40NDkgMmE0IDQgMCAwMC00IDRjMCAuNTg2LjEzMyAxLjEzOS4zNTkgMS42NEwxLjQ0OSAxMXMtMSAxIDAgMmgybDMuMzU5LTMuMzZjLjUwMy4yMjYgMS4wNTUuMzYgMS42NDEuMzZhNCA0IDAgMDA0LTRjMC0uNTg2LS4xMzMtMS4xMzktLjM1OS0xLjY0MXoiLz48L3N2Zz4=);margin-left:1px}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.enum:before,.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.value:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTEyIDNIOEw3IDR2Mmg1djFoLTJ2MWgybDEtMVY0bC0xLTF6bTAgMkg4VjRoNHYxem0tOSA3aDZWN0gzdjV6bTEtM2g0djFINFY5eiIgZmlsbD0iIzc1QkVGRiIvPjwvc3ZnPg==)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.rule:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTEwIDVIMlYzaDh2MnptMCAxSDR2MWg2VjZ6bTAgMkg0djFoNlY4eiIvPjwvc3ZnPg==)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.file:before{content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTkuNjc2IDJIM3YxMmgxMFY1TDkuNjc2IDJ6TTEyIDEzSDRWM2g1djNoM3Y3eiIvPjwvc3ZnPg==)}.monaco-editor .rename-box{z-index:100;color:inherit}.monaco-editor .rename-box .rename-input{padding:4px}.monaco-editor.vs .snippet-placeholder{background-color:rgba(10,50,100,.2);min-width:2px}.monaco-editor.hc-black .snippet-placeholder,.monaco-editor.vs-dark .snippet-placeholder{background-color:hsla(0,0%,48.6%,.3);min-width:2px}.monaco-editor.vs .finish-snippet-placeholder{outline:1px solid rgba(10,50,100,.5)}.monaco-editor.hc-black .finish-snippet-placeholder,.monaco-editor.vs-dark .finish-snippet-placeholder{outline:1px solid #525252}.monaco-editor .suggest-widget{z-index:40;width:430px}.monaco-editor .suggest-widget>.details,.monaco-editor .suggest-widget>.message,.monaco-editor .suggest-widget>.tree{width:100%;border-style:solid;border-width:1px;box-sizing:border-box}.monaco-editor.hc-black .suggest-widget>.details,.monaco-editor.hc-black .suggest-widget>.message,.monaco-editor.hc-black .suggest-widget>.tree{border-width:2px}.monaco-editor .suggest-widget.docs-side{width:660px}.monaco-editor .suggest-widget.docs-side>.details,.monaco-editor .suggest-widget.docs-side>.tree{width:50%;float:left}.monaco-editor .suggest-widget.docs-side.list-right>.details,.monaco-editor .suggest-widget.docs-side.list-right>.tree{float:right}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.header>.close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.readMore{opacity:.6;background-position:50%;background-repeat:no-repeat;background-size:70%;cursor:pointer}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.header>.close{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2Ij48cGF0aCBmaWxsPSIjNDI0MjQyIiBkPSJNMTIuNTk3IDExLjA0MmwyLjgwMyAyLjgwMy0xLjU1NiAxLjU1NS0yLjgwMi0yLjgwMkw4LjIzOSAxNS40bC0xLjU1Ni0xLjU1NSAyLjgwMi0yLjgwMy0yLjgwMi0yLjgwMyAxLjU1NS0xLjU1NiAyLjgwNCAyLjgwMyAyLjgwMy0yLjgwM0wxNS40IDguMjM5eiIvPjwvc3ZnPg==");float:right;margin-right:5px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.readMore{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTggMUM0LjEzNSAxIDEgNC4xMzUgMSA4czMuMTM1IDcgNyA3IDctMy4xMzUgNy03LTMuMTM1LTctNy03em0xIDEySDdWNmgydjd6bTAtOEg3VjNoMnYyeiIgZmlsbD0iIzFCQTFFMiIvPjxwYXRoIGQ9Ik03IDZoMnY3SDdWNnptMC0xaDJWM0g3djJ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+")}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.header>.close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.type-label{margin-left:.8em;flex:1;text-align:right;overflow:hidden;text-overflow:ellipsis;opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.type-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget.docs-below .monaco-list .monaco-list-row.focused>.contents>.main>.readMore,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused>.contents>.main>.readMore,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused>.contents>.main>.type-label,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.readMore,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.type-label{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main>.readMore,.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main>.type-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;background-repeat:no-repeat;background-size:80%;background-position:50%;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDEwYzAgMi4yMDUtMS43OTQgNC00IDQtMS44NTggMC0zLjQxMS0xLjI3OS0zLjg1OC0zaC0uOTc4bDIuMzE4IDRIMHYtMS43MDNsMi0zLjQwOFYwaDExdjYuMTQyYzEuNzIxLjQ0NyAzIDIgMyAzLjg1OHoiIGZpbGw9IiNmNmY2ZjYiLz48cGF0aCBkPSJNMTIgMXY0Ljc1QTQuMjU1IDQuMjU1IDAgMDA3Ljc1IDEwaC0uNzMyTDQuMjc1IDUuMjY5IDMgNy40NDJWMWg5ek03Ljc0NyAxNEw0LjI2OSA4IC43NDggMTRoNi45OTl6TTE1IDEwYTMgMyAwIDExLTYgMCAzIDMgMCAwMTYgMHoiIGZpbGw9IiM0MjQyNDIiLz48L3N2Zz4=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.constructor,.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.function,.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.method{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE1IDMuMzQ5djguNDAzTDguOTc1IDE2SDguMDdMMSAxMS41ODJWMy4zMjdMNy41OTUgMGgxLjExOEwxNSAzLjM0OXoiIGZpbGw9IiNmNmY2ZjYiLz48cGF0aCBkPSJNMTIuNzE1IDQuMzk4TDguNDg3IDcuMDIgMy41NjUgNC4yNzJsNC41NzgtMi4zMDkgNC41NzIgMi40MzV6TTMgNS4xMDJsNSAyLjc5MnY1LjcwNWwtNS0zLjEyNVY1LjEwMnptNiA4LjQzNFY3Ljg3OGw0LTIuNDh2NS4zMTdsLTQgMi44MjF6IiBmaWxsPSIjZjBlZmYxIi8+PHBhdGggZD0iTTguMTU2LjgzN0wyIDMuOTQydjcuMDg1TDguNTE3IDE1LjEgMTQgMTEuMjMzVjMuOTVMOC4xNTYuODM3em00LjU1OSAzLjU2MUw4LjQ4NyA3LjAyIDMuNTY1IDQuMjcybDQuNTc4LTIuMzA5IDQuNTcyIDIuNDM1ek0zIDUuMTAybDUgMi43OTJ2NS43MDVsLTUtMy4xMjVWNS4xMDJ6bTYgOC40MzRWNy44NzhsNC0yLjQ4djUuMzE3bC00IDIuODIxeiIgZmlsbD0iIzY1MmQ5MCIvPjwvc3ZnPg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.field{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTAgMTAuNzM2VjQuNUw5IDBsNyAzLjV2Ni4yMzZsLTkgNC41LTctMy41eiIgZmlsbD0iI2Y2ZjZmNiIvPjxwYXRoIGQ9Ik05IDFMMSA1djVsNiAzIDgtNFY0TDkgMXpNNyA2Ljg4MkwzLjIzNiA1IDkgMi4xMTggMTIuNzY0IDQgNyA2Ljg4MnoiIGZpbGw9IiMwMDUzOWMiLz48cGF0aCBkPSJNOSAyLjExOEwxMi43NjQgNCA3IDYuODgyIDMuMjM2IDUgOSAyLjExOHoiIGZpbGw9IiNmMGVmZjEiLz48L3N2Zz4=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.event{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTcgN2g2bC04IDhINGwyLjk4NS02SDNsNC04aDZMNyA3eiIgZmlsbD0iI2MyN2QxYSIvPjwvc3ZnPg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.operator{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEgMXYxNGgxNFYxSDF6bTYgMTJIM3YtMWg0djF6bTAtM0gzVjloNHYxem0wLTVINXYySDRWNUgyVjRoMlYyaDF2MmgydjF6bTMuMjgxIDhIOC43MTlsMy00aDEuNTYzbC0zLjAwMSA0ek0xNCA1SDlWNGg1djF6IiBmaWxsPSIjMDA1MzljIi8+PC9zdmc+")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.variable{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTIgNXY2aDJ2MUgxVjRoM3YxSDJ6bTEwIDZ2MWgzVjRoLTN2MWgydjZoLTJ6IiBmaWxsPSIjNDI0MjQyIi8+PHBhdGggZD0iTTguNzMzIDRMNCA2LjM2N3YzLjE1Nkw3LjE1NiAxMS4xbDQuNzMzLTIuMzY3VjUuNTc4TDguNzMzIDR6TTcuMTU2IDcuMTU2bC0xLjU3OC0uNzg5IDMuMTU2LTEuNTc4IDEuNTc4Ljc4OS0zLjE1NiAxLjU3OHoiIGZpbGw9IiMwMDUzOWMiLz48L3N2Zz4=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.class{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDYuNTg2bC0zLTNMMTEuNTg2IDVIOS40MTRsMS0xLTQtNGgtLjgyOEwwIDUuNTg2di44MjhsNCA0TDYuNDE0IDhIN3Y1aDEuNTg2bDMgM2guODI4TDE2IDEyLjQxNHYtLjgyOEwxMy45MTQgOS41IDE2IDcuNDE0di0uODI4eiIgZmlsbD0iI2Y2ZjZmNiIvPjxwYXRoIGQ9Ik0xMyAxMGwyIDItMyAzLTItMiAxLTFIOFY3SDZMNCA5IDEgNmw1LTUgMyAzLTIgMmg1bDEtMSAyIDItMyAzLTItMiAxLTFIOXY0bDIuOTk5LjAwMkwxMyAxMHoiIGZpbGw9IiNjMjdkMWEiLz48L3N2Zz4=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.interface{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTExLjUgMTJjLTEuOTE1IDAtMy42MDItMS4yNDEtNC4yMjgtM2gtMS40MWEzLjExIDMuMTEgMCAwMS0yLjczNyAxLjYyNUMxLjQwMiAxMC42MjUgMCA5LjIyMyAwIDcuNXMxLjQwMi0zLjEyNSAzLjEyNS0zLjEyNWMxLjE2NSAwIDIuMjAxLjYzOSAyLjczNyAxLjYyNWgxLjQxYy42MjYtMS43NTkgMi4zMTMtMyA0LjIyOC0zQzEzLjk4MSAzIDE2IDUuMDE5IDE2IDcuNVMxMy45ODEgMTIgMTEuNSAxMnoiIGZpbGw9IiNmNmY2ZjYiLz48cGF0aCBkPSJNMTEuNSA5QTEuNTAxIDEuNTAxIDAgMTExMyA3LjVjMCAuODI2LS42NzMgMS41LTEuNSAxLjV6IiBmaWxsPSIjZjBlZmYxIi8+PHBhdGggZD0iTTExLjUgNGEzLjQ5IDMuNDkgMCAwMC0zLjQ1IDNINS4xODVBMi4xMjIgMi4xMjIgMCAwMDEgNy41YTIuMTIzIDIuMTIzIDAgMTA0LjE4NS41SDguMDVhMy40OSAzLjQ5IDAgMDAzLjQ1IDMgMy41IDMuNSAwIDEwMC03em0wIDVjLS44MjcgMC0xLjUtLjY3My0xLjUtMS41UzEwLjY3MyA2IDExLjUgNnMxLjUuNjczIDEuNSAxLjVTMTIuMzI3IDkgMTEuNSA5eiIgZmlsbD0iIzAwNTM5YyIvPjwvc3ZnPg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.struct{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEwIDloNHY0aC00Vjl6bS04IDRoNFY5SDJ2NHpNMiAzdjRoMTJWM0gyeiIgZmlsbD0iIzAwNTM5YyIvPjwvc3ZnPg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.type-parameter{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQgM2g4djJoLTF2LS41YS41LjUgMCAwMC0uNS0uNUg5djcuNWEuNS41IDAgMDAuNS41aC41djFINnYtMWguNWEuNS41IDAgMDAuNS0uNVY0SDUuNWEuNS41IDAgMDAtLjUuNVY1SDRWM3pNMyA1LjYxNUwuMTE2IDguNSAzIDExLjM4M2wuODg0LS44ODMtMi0yIDItMkwzIDUuNjE1em0xMCAwbC0uODg0Ljg4NSAyIDItMiAyIC44ODQuODgzTDE1Ljg4NCA4LjUgMTMgNS42MTV6IiBmaWxsPSIjNDI0MjQyIi8+PC9zdmc+")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.module{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTkuMjYgMTEuOTg0bC45NzgtLjAyMWEuOTYyLjk2MiAwIDAwLjA5LS4wMDZjLjAxMS0uMDYzLjAyNi0uMTc5LjAyNi0uMzYxVjkuNjg4YzAtLjY3OS4xODUtMS4yNTcuNTMtMS43MDctLjM0Ni0uNDUyLS41My0xLjAzLS41My0xLjcwNVY0LjM1YzAtLjE2Ny0uMDIxLS4yNTktLjAzNC0uMzAyTDkuMjYgNC4wMlYuOTczbDEuMDExLjAxMWMyLjE2Ny4wMjQgMy40MDkgMS4xNTYgMy40MDkgMy4xMDV2MS45NjJjMCAuMzUxLjA3MS40NjEuMDcyLjQ2MmwuOTM2LjA2LjA1My45Mjd2MS45MzZsLS45MzYuMDYxYy0uMDc2LjAxNi0uMTI1LjE0Ni0uMTI1LjQyNHYyLjAxN2MwIC45MTQtLjMzMiAzLjA0My0zLjQwOCAzLjA3OGwtMS4wMTIuMDExdi0zLjA0M3ptLTMuNTIxIDMuMDMyYy0zLjA4OS0uMDM1LTMuNDIyLTIuMTY0LTMuNDIyLTMuMDc4VjkuOTIxYzAtLjMyNy0uMDY2LS40MzItLjA2Ny0uNDMzbC0uOTM3LS4wNi0uMDYzLS45MjlWNi41NjNsLjk0Mi0uMDZjLjA1OCAwIC4xMjUtLjExNC4xMjUtLjQ1MlY0LjA5YzAtMS45NDkgMS4yNDgtMy4wODEgMy40MjItMy4xMDVMNi43NS45NzNWNC4wMmwtLjk3NS4wMjNhLjU3Mi41NzIgMCAwMC0uMDkzLjAxYy4wMDYuMDIxLS4wMTkuMTE1LS4wMTkuMjk3djEuOTI4YzAgLjY3NS0uMTg2IDEuMjUzLS41MzQgMS43MDUuMzQ4LjQ1LjUzNCAxLjAyOC41MzQgMS43MDd2MS45MDdjMCAuMTc1LjAxNC4yOTEuMDI3LjM2My4wMjMuMDAyIDEuMDYuMDI1IDEuMDYuMDI1djMuMDQzbC0xLjAxMS0uMDEyeiIgZmlsbD0iI2Y2ZjZmNiIvPjxwYXRoIGQ9Ik01Ljc1IDE0LjAxNmMtMS42MjMtLjAxOS0yLjQzNC0uNzExLTIuNDM0LTIuMDc4VjkuOTIxYzAtLjkwMi0uMzU1LTEuMzc2LTEuMDY2LTEuNDIydi0uOTk4Yy43MTEtLjA0NSAxLjA2Ni0uNTI5IDEuMDY2LTEuNDQ5VjQuMDljMC0xLjM4NS44MTEtMi4wODcgMi40MzQtMi4xMDV2MS4wNmMtLjcyNS4wMTctMS4wODcuNDUzLTEuMDg3IDEuMzA1djEuOTI4YzAgLjkyLS40NTQgMS40ODgtMS4zNiAxLjcwMlY4Yy45MDcuMjAxIDEuMzYuNzYzIDEuMzYgMS42ODh2MS45MDdjMCAuNDg4LjA4MS44MzUuMjQzIDEuMDQyLjE2Mi4yMDguNDQzLjMxNi44NDQuMzI1djEuMDU0em03Ljk5LTUuNTE3Yy0uNzA2LjA0NS0xLjA2LjUyLTEuMDYgMS40MjJ2Mi4wMTdjMCAxLjM2Ny0uODA3IDIuMDYtMi40MiAyLjA3OHYtMS4wNTNjLjM5Ni0uMDA5LjY3OC0uMTE4Ljg0NC0uMzI4LjE2Ny0uMjEuMjUtLjU1Ni4yNS0xLjAzOVY5LjY4OGMwLS45MjUuNDQ5LTEuNDg4IDEuMzQ3LTEuNjg4di0uMDIxYy0uODk4LS4yMTQtMS4zNDctLjc4Mi0xLjM0Ny0xLjcwMlY0LjM1YzAtLjg1Mi0uMzY0LTEuMjg4LTEuMDk0LTEuMzA2di0xLjA2YzEuNjEzLjAxOCAyLjQyLjcyIDIuNDIgMi4xMDV2MS45NjJjMCAuOTIuMzU0IDEuNDA0IDEuMDYgMS40NDl2Ljk5OXoiIGZpbGw9IiM0MjQyNDIiLz48L3N2Zz4=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.property{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDUuNWE1LjUgNS41IDAgMDEtNS41IDUuNWMtLjI3NSAwLS41NDMtLjAyNy0uODA3LS4wNjZsLS4wNzktLjAxMmE1LjQyOSA1LjQyOSAwIDAxLS44MS0uMTkybC00LjUzNyA0LjUzN2MtLjQ3Mi40NzMtMS4xLjczMy0xLjc2Ny43MzNzLTEuMjk1LS4yNi0xLjc2OC0uNzMyYTIuNTAyIDIuNTAyIDAgMDEwLTMuNTM1bDQuNTM3LTQuNTM3YTUuNDUyIDUuNDUyIDAgMDEtLjE5MS0uODEyYy0uMDA1LS4wMjUtLjAwOC0uMDUxLS4wMTItLjA3N0E1LjUwMyA1LjUwMyAwIDAxNSA1LjVhNS41IDUuNSAwIDExMTEgMHoiIGZpbGw9IiNmNmY2ZjYiLz48cGF0aCBkPSJNMTUgNS41YTQuNSA0LjUgMCAwMS00LjUgNC41Yy0uNjkzIDAtMS4zNDItLjE3LTEuOTI5LS40NWwtNS4wMSA1LjAxYy0uMjkzLjI5NC0uNjc3LjQ0LTEuMDYxLjQ0cy0uNzY4LS4xNDYtMS4wNjEtLjQzOWExLjUgMS41IDAgMDEwLTIuMTIxbDUuMDEtNS4wMUE0LjQ4MyA0LjQ4MyAwIDAxNiA1LjUgNC41IDQuNSAwIDAxMTAuNSAxYy42OTMgMCAxLjM0Mi4xNyAxLjkyOS40NUw5LjYzNiA0LjI0M2wyLjEyMSAyLjEyMSAyLjc5My0yLjc5M2MuMjguNTg3LjQ1IDEuMjM2LjQ1IDEuOTI5eiIgZmlsbD0iIzQyNDI0MiIvPjwvc3ZnPg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.unit{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDExLjAxM0gxVjRoMTV2Ny4wMTN6IiBmaWxsPSIjZjZmNmY2Ii8+PHBhdGggZD0iTTggOUg3VjZoM3YzSDlWN0g4djJ6TTQgN2gxdjJoMVY2SDN2M2gxVjd6bTggMGgxdjJoMVY2aC0zdjNoMVY3eiIgZmlsbD0iI2YwZWZmMSIvPjxwYXRoIGQ9Ik0yIDV2NWgxM1Y1SDJ6bTQgNEg1VjdINHYySDNWNmgzdjN6bTQgMEg5VjdIOHYySDdWNmgzdjN6bTQgMGgtMVY3aC0xdjJoLTFWNmgzdjN6IiBmaWxsPSIjNDI0MjQyIi8+PC9zdmc+")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.constant{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTIuODc5IDE0TDEgMTIuMTIxVjMuODc5TDIuODc5IDJoMTAuMjQyTDE1IDMuODc5djguMjQyTDEzLjEyMSAxNEgyLjg3OXoiIGZpbGw9IiNmNmY2ZjYiLz48cGF0aCBkPSJNMTIuMjkzIDRIMy43MDdMMyA0LjcwN3Y2LjU4NmwuNzA3LjcwN2g4LjU4NmwuNzA3LS43MDdWNC43MDdMMTIuMjkzIDR6TTExIDEwSDVWOWg2djF6bTAtM0g1VjZoNnYxeiIgZmlsbD0iI2YwZWZmMSIvPjxwYXRoIGQ9Ik0xMi43MDcgMTNIMy4yOTNMMiAxMS43MDdWNC4yOTNMMy4yOTMgM2g5LjQxNEwxNCA0LjI5M3Y3LjQxNEwxMi43MDcgMTN6bS05LTFoOC41ODZsLjcwNy0uNzA3VjQuNzA3TDEyLjI5MyA0SDMuNzA3TDMgNC43MDd2Ni41ODZsLjcwNy43MDd6IiBmaWxsPSIjNDI0MjQyIi8+PHBhdGggZD0iTTExIDdINVY2aDZ2MXptMCAySDV2MWg2Vjl6IiBmaWxsPSIjMDA1MzljIi8+PC9zdmc+")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.enum,.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.value{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE0LjQxNCAxTDE2IDIuNTg2djUuODI4TDE0LjQxNCAxMEgxMHYzLjQxNkw4LjQxNCAxNUgxLjU4NkwwIDEzLjQxNnYtNS44M0wxLjU4NiA2SDZWMi41ODZMNy41ODYgMWg2LjgyOHoiIGZpbGw9IiNmNmY2ZjYiLz48cGF0aCBkPSJNMiAxM2g2VjhIMnY1em0xLTRoNHYxSDNWOXptMCAyaDR2MUgzdi0xem0xMS01VjNIOHYzaC40MTRMOSA2LjU4NlY2aDR2MUg5LjQxNGwuNTg2LjU4NlY4aDRWNnptLTEtMUg5VjRoNHYxeiIgZmlsbD0iI2YwZWZmMSIvPjxwYXRoIGQ9Ik0zIDExaDQuMDAxdjFIM3YtMXptMC0xaDQuMDAxVjlIM3Yxem02LTJ2NWwtMSAxSDJsLTEtMVY4bDEtMWg2bDEgMXpNOCA4SDJ2NWg2Vjh6bTEtMmwxIDFoM1Y2SDl6bTAtMWg0VjRIOXYxem01LTNIOEw3IDN2M2gxVjNoNnY1aC00djFoNGwxLTFWM2wtMS0xeiIgZmlsbD0iI2MyN2QxYSIvPjwvc3ZnPg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.enum-member{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTAgMTVWNmg2VjIuNTg2TDcuNTg1IDFoNi44MjlMMTYgMi41ODZ2NS44MjlMMTQuNDE0IDEwSDEwdjVIMHptMy02eiIgZmlsbD0iI2Y2ZjZmNiIvPjxwYXRoIGQ9Ik04IDN2M2g1djFoLTN2MWg0VjNIOHptNSAySDlWNGg0djF6TTIgOHY1aDZWOEgyem01IDNIM3YtMWg0djF6IiBmaWxsPSIjZjBlZmYxIi8+PHBhdGggZD0iTTEwIDZoM3YxaC0zVjZ6TTkgNHYxaDRWNEg5em01LTJIOEw3IDN2M2gxVjNoNnY1aC00djFoNGwxLTFWM2wtMS0xem0tNyA4SDN2MWg0di0xem0yLTN2N0gxVjdoOHpNOCA4SDJ2NWg2Vjh6IiBmaWxsPSIjMDA1MzljIi8+PC9zdmc+")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.keyword{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDVWMkg5VjFIMHYxNGgxM3YtM2gzVjloLTFWNkg5VjVoN3ptLTggN1Y5aDF2M0g4eiIgZmlsbD0iI2Y2ZjZmNiIvPjxwYXRoIGQ9Ik0yIDNoNXYxSDJWM3oiIGZpbGw9IiNmMGVmZjEiLz48cGF0aCBkPSJNMTUgNGgtNVYzaDV2MXptLTEgM2gtMnYxaDJWN3ptLTQgMEgxdjFoOVY3em0yIDZIMXYxaDExdi0xem0tNS0zSDF2MWg2di0xem04IDBoLTV2MWg1di0xek04IDJ2M0gxVjJoN3pNNyAzSDJ2MWg1VjN6IiBmaWxsPSIjNDI0MjQyIi8+PC9zdmc+")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.text{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDE1SDBWMWgxNnYxNHoiIGZpbGw9IiNmNmY2ZjYiLz48cGF0aCBkPSJNOS4yMjkgNy4zNTRjLjAzNS4xNDYuMDUyLjMxLjA1Mi40OTQgMCAuMjM0LS4wMi40NDEtLjA2LjYyMS0uMDM5LjE4LS4wOTUuMzI4LS4xNjguNDQ1YS42ODcuNjg3IDAgMDEtLjkxNC4yODEuNzYuNzYgMCAwMS0uMjM3LS4yMDcuOTg4Ljk4OCAwIDAxLS4xNTQtLjMwNiAxLjI2MiAxLjI2MiAwIDAxLS4wNTctLjM4MXYtLjUwNmMwLS4xNy4wMi0uMzI2LjA2MS0uNDY1cy4wOTYtLjI1OC4xNjgtLjM1OWEuNzU2Ljc1NiAwIDAxLjI1Ny0uMjMyYy4xLS4wNTUuMjEtLjA4Mi4zMzEtLjA4MmEuNjQ2LjY0NiAwIDAxLjU3MS4zMmMuMDY3LjEwNS4xMTYuMjMuMTUuMzc3em0tNS4xMjYuODY5YS41NTcuNTU3IDAgMDAtLjE5Ni4xMzJjLS4wNDcuMDUzLS4wOC4xMTItLjA5Ny4xOHMtLjAyOC4xNDctLjAyOC4yMzNhLjUxMy41MTMgMCAwMC4xNTcuMzkuNTI4LjUyOCAwIDAwLjE4Ni4xMTMuNjgyLjY4MiAwIDAwLjI0Mi4wNDEuNzYuNzYgMCAwMC41OTMtLjI3MS44OTcuODk3IDAgMDAuMTY1LS4yOTVjLjAzOC0uMTEzLjA1OS0uMjM0LjA1OS0uMzY1di0uMzQ2bC0uNzYxLjExYTEuMjkgMS4yOSAwIDAwLS4zMi4wNzh6TTE0IDN2MTBIMlYzaDEyek01Ljk2MiA3LjQ2OWMwLS4yMzgtLjAyNy0uNDUxLS4wODMtLjYzN2ExLjI4NiAxLjI4NiAwIDAwLS4yNDktLjQ3MSAxLjA4IDEuMDggMCAwMC0uNDI0LS4yOTUgMS42NDQgMS42NDQgMCAwMC0uNjA4LS4xMDFjLS4xMTkgMC0uMjQxLjAxMi0uMzY4LjAzM2EzLjIxMyAzLjIxMyAwIDAwLS42NzMuMTk1IDEuMzEzIDEuMzEzIDAgMDAtLjIxMi4xMTR2Ljc2OGMuMTU4LS4xMzIuMzQxLS4yMzUuNTQ0LS4zMTMuMjA0LS4wNzguNDEzLS4xMTcuNjI3LS4xMTcuMjEzIDAgLjM3Ny4wNjMuNDk0LjE4Ni4xMTYuMTI1LjE3NC4zMjQuMTc0LjZsLTEuMDMuMTU0Yy0uMjA1LjAyNi0uMzguMDc3LS41MjYuMTUxYTEuMDgzIDEuMDgzIDAgMDAtLjU2My42NkExLjU2MiAxLjU2MiAwIDAwMyA4Ljg1N2MwIC4xNy4wMjUuMzIzLjA3NC40NjNhLjk0NS45NDUgMCAwMC41NjguNTk2Yy4xMzkuMDU3LjI5Ny4wODQuNDc4LjA4NC4yMjkgMCAuNDMxLS4wNTMuNjA0LS4xNmExLjMgMS4zIDAgMDAuNDM5LS40NjNoLjAxNHYuNTI5aC43ODVWNy40Njl6TTEwIDcuODYxYTMuNTQgMy41NCAwIDAwLS4wNzQtLjczNCAyLjA0NyAyLjA0NyAwIDAwLS4yMjgtLjYxMSAxLjIwMyAxLjIwMyAwIDAwLS4zOTQtLjQxNiAxLjAzIDEuMDMgMCAwMC0uNTc0LS4xNTNjLS4xMjMgMC0uMjM0LjAxOC0uMzM2LjA1MWExIDEgMCAwMC0uMjc4LjE0NyAxLjE1MyAxLjE1MyAwIDAwLS4yMjUuMjIyIDIuMDIyIDIuMDIyIDAgMDAtLjE4MS4yODloLS4wMTNWNUg3djQuODg3aC42OTd2LS40ODVoLjAxM2MuMDQ0LjA4Mi4wOTUuMTU4LjE1MS4yMjkuMDU3LjA3LjExOS4xMzMuMTkxLjE4NmEuODM1LjgzNSAwIDAwLjIzOC4xMjEuOTQzLjk0MyAwIDAwLjI5My4wNDJjLjIzIDAgLjQzNC0uMDUzLjYwOS0uMTZhMS4zNCAxLjM0IDAgMDAuNDQzLS40NDNjLjEyLS4xODguMjExLS40MTIuMjcyLS42NzJBMy42MiAzLjYyIDAgMDAxMCA3Ljg2MXptMy0xLjY1OGEuNy43IDAgMDAtLjEwNi0uMDY2IDEuMTgzIDEuMTgzIDAgMDAtLjE0Mi0uMDYzIDEuMjMzIDEuMjMzIDAgMDAtLjM2My0uMDY1Yy0uMjA5IDAtLjM5OS4wNTEtLjU2OS4xNWExLjM1NSAxLjM1NSAwIDAwLS40MzMuNDI0Yy0uMTE4LjE4Mi0uMjEuNDAyLS4yNzMuNjZhMy42MyAzLjYzIDAgMDAtLjAwOCAxLjYxNWMuMDYuMjMuMTQzLjQzLjI1Mi42MDIuMTA5LjE2OC4yNDEuMzAzLjM5Ni4zOTZhLjk3Mi45NzIgMCAwMC41MjQuMTQ0Yy4xNTggMCAuMjk2LS4wMjEuNDEzLS4wNjguMTE3LS4wNDUuMjE5LS4xMDguMzA5LS4xODR2LS43N2ExLjA5NCAxLjA5NCAwIDAxLS4yODguMjI1LjgxOS44MTkgMCAwMS0uMTU4LjA2OC40OC40OCAwIDAxLS4xNTMuMDI3LjYyLjYyIDAgMDEtLjI3NC0uMDc0Yy0uMjQxLS4xMzYtLjQyMy0uNDc5LS40MjMtMS4xNDYgMC0uNzE1LjIwNi0xLjEyLjQ2OS0xLjMwMS4wNzctLjAzMi4xNTMtLjA2NC4yMzgtLjA2NC4xMTMgMCAuMjIuMDI3LjMxNy4wODIuMDk2LjA1Ny4xODguMTMxLjI3Mi4yMjN2LS44MTV6IiBmaWxsPSIjZjBlZmYxIi8+PHBhdGggZD0iTTEgMnYxMmgxNFYySDF6bTEzIDExSDJWM2gxMnYxMHpNNS42MyA2LjM2MWExLjA4IDEuMDggMCAwMC0uNDI0LS4yOTUgMS42NDQgMS42NDQgMCAwMC0uNjA4LS4xMDFjLS4xMTkgMC0uMjQxLjAxMi0uMzY4LjAzM2EzLjIxMyAzLjIxMyAwIDAwLS42NzMuMTk1IDEuMzEzIDEuMzEzIDAgMDAtLjIxMi4xMTR2Ljc2OGMuMTU4LS4xMzIuMzQxLS4yMzUuNTQ0LS4zMTMuMjA0LS4wNzguNDEzLS4xMTcuNjI3LS4xMTcuMjEzIDAgLjM3Ny4wNjMuNDk0LjE4Ni4xMTYuMTI1LjE3NC4zMjQuMTc0LjZsLTEuMDMuMTU0Yy0uMjA1LjAyNi0uMzguMDc3LS41MjYuMTUxYTEuMDgzIDEuMDgzIDAgMDAtLjU2My42NkExLjU2MiAxLjU2MiAwIDAwMyA4Ljg1N2MwIC4xNy4wMjUuMzIzLjA3NC40NjNhLjk0NS45NDUgMCAwMC41NjguNTk2Yy4xMzkuMDU3LjI5Ny4wODQuNDc4LjA4NC4yMjkgMCAuNDMxLS4wNTMuNjA0LS4xNmExLjMgMS4zIDAgMDAuNDM5LS40NjNoLjAxNHYuNTI5aC43ODVWNy40NjljMC0uMjM4LS4wMjctLjQ1MS0uMDgzLS42MzdhMS4yODYgMS4yODYgMCAwMC0uMjQ5LS40NzF6bS0uNDQ2IDIuMDJjMCAuMTMxLS4wMi4yNTItLjA1OS4zNjVhLjg5Ny44OTcgMCAwMS0uMTY1LjI5NS43NTguNzU4IDAgMDEtLjU5My4yNzIuNjgyLjY4MiAwIDAxLS4yNDItLjA0MS41MDcuNTA3IDAgMDEtLjMwMi0uMjg2LjU4My41ODMgMCAwMS0uMDQxLS4yMThjMC0uMDg2LjAxLS4xNjQuMDI3LS4yMzJzLjA1MS0uMTI3LjA5OC0uMThhLjU0Ni41NDYgMCAwMS4xOTYtLjEzM2MuMDgzLS4wMzMuMTg5LS4wNjEuMzItLjA3OGwuNzYxLS4xMDl2LjM0NXptNC41MTQtMS44NjVhMS4yMDMgMS4yMDMgMCAwMC0uMzk0LS40MTYgMS4wMyAxLjAzIDAgMDAtLjU3NC0uMTUzYy0uMTIzIDAtLjIzNC4wMTgtLjMzNi4wNTFhMSAxIDAgMDAtLjI3OC4xNDcgMS4xNTMgMS4xNTMgMCAwMC0uMjI1LjIyMiAyLjAyMiAyLjAyMiAwIDAwLS4xODEuMjg5aC0uMDEzVjVIN3Y0Ljg4N2guNjk3di0uNDg1aC4wMTNjLjA0NC4wODIuMDk1LjE1OC4xNTEuMjI5LjA1Ny4wNy4xMTkuMTMzLjE5MS4xODZhLjgzNS44MzUgMCAwMC4yMzguMTIxLjk0My45NDMgMCAwMC4yOTMuMDQyYy4yMyAwIC40MzQtLjA1My42MDktLjE2YTEuMzQgMS4zNCAwIDAwLjQ0My0uNDQzYy4xMi0uMTg4LjIxMS0uNDEyLjI3Mi0uNjcyQTMuNjIgMy42MiAwIDAwMTAgNy44NjFhMy41NCAzLjU0IDAgMDAtLjA3NC0uNzM0IDIuMDQ3IDIuMDQ3IDAgMDAtLjIyOC0uNjExem0tLjQ3NiAxLjk1M2MtLjAzOS4xOC0uMDk1LjMyOC0uMTY4LjQ0NWEuNzU1Ljc1NSAwIDAxLS4yNjQuMjY2LjY4Ny42ODcgMCAwMS0uNjUxLjAxNS43Ni43NiAwIDAxLS4yMzctLjIwNy45ODguOTg4IDAgMDEtLjE1NC0uMzA2IDEuMjYyIDEuMjYyIDAgMDEtLjA1Ny0uMzgxdi0uNTA2YzAtLjE3LjAyLS4zMjYuMDYxLS40NjVzLjA5Ni0uMjU4LjE2OC0uMzU5YS43NTYuNzU2IDAgMDEuMjU3LS4yMzJjLjEtLjA1NS4yMS0uMDgyLjMzMS0uMDgyYS42NDYuNjQ2IDAgMDEuNTcxLjMyYy4wNjYuMTA1LjExNi4yMy4xNS4zNzcuMDM1LjE0Ni4wNTIuMzEuMDUyLjQ5NCAwIC4yMzQtLjAxOS40NDEtLjA1OS42MjF6bTMuNjcyLTIuMzMyYS43LjcgMCAwMS4xMDYuMDY2di44MTRhMS4xNzggMS4xNzggMCAwMC0uMjczLS4yMjMuNjQ1LjY0NSAwIDAwLS4zMTctLjA4MWMtLjA4NSAwLS4xNjEuMDMyLS4yMzguMDY0LS4yNjMuMTgxLS40NjkuNTg2LS40NjkgMS4zMDEgMCAuNjY4LjE4MiAxLjAxMS40MjMgMS4xNDYuMDg0LjA0LjE3MS4wNzQuMjc0LjA3NC4wNDkgMCAuMTAxLS4wMS4xNTMtLjAyN2EuODU2Ljg1NiAwIDAwLjE1OC0uMDY4IDEuMTYgMS4xNiAwIDAwLjI4OC0uMjI1di43N2MtLjA5LjA3Ni0uMTkyLjEzOS0uMzA5LjE4NGExLjA5OCAxLjA5OCAwIDAxLS40MTIuMDY4Ljk3NC45NzQgMCAwMS0uNTIzLS4xNDMgMS4yNTcgMS4yNTcgMCAwMS0uMzk2LS4zOTYgMi4wOTggMi4wOTggMCAwMS0uMjUyLS42MDIgMy4xMTggMy4xMTggMCAwMS0uMDg4LS43NTRjMC0uMzE2LjAzMi0uNjA0LjA5Ni0uODYxLjA2My0uMjU4LjE1NS0uNDc5LjI3My0uNjYuMTE5LS4xODIuMjY1LS4zMjIuNDMzLS40MjRhMS4xMDIgMS4xMDIgMCAwMTEuMDczLS4wMjN6IiBmaWxsPSIjNDI0MjQyIi8+PC9zdmc+")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.color{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDhjMCA0LjQxMS0zLjU4OSA4LTggOGEyLjgwMyAyLjgwMyAwIDAxLTIuOC0yLjhjMC0uODMzLjI3Mi0xLjYyOS43NjYtMi4yNDFhLjU5Ni41OTYgMCAwMC4xMDEtLjM1OS42NjcuNjY3IDAgMDAtLjY2Ny0uNjY2LjU4LjU4IDAgMDAtLjM1OC4xMDJBMy41ODQgMy41ODQgMCAwMTIuOCAxMC44IDIuODAzIDIuODAzIDAgMDEwIDhjMC00LjQxMSAzLjU4OS04IDgtOHM4IDMuNTg5IDggOHoiIGZpbGw9IiNmNmY2ZjYiLz48cGF0aCBkPSJNNS40IDcuOTMzYTIuNjcgMi42NyAwIDAxMi42NjcgMi42NjZjMCAuNjA2LS4xOTMgMS4xNzktLjU0NCAxLjYxNGExLjU5OSAxLjU5OSAwIDAwLS4zMjMuOTg3LjguOCAwIDAwLjguOGMzLjMwOSAwIDYtMi42OTEgNi02cy0yLjY5MS02LTYtNi02IDIuNjkxLTYgNmMwIC40NDEuMzU5LjguOC44LjM3OCAwIC43MjktLjExNC45ODYtLjMyMkEyLjU2OCAyLjU2OCAwIDAxNS40IDcuOTMzeiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik04IDE1Yy0uOTkyIDAtMS44LS44MDgtMS44LTEuOCAwLS42MDYuMTkzLTEuMTc5LjU0NC0xLjYxMy4yMDgtLjI1OS4zMjMtLjYwOS4zMjMtLjk4NyAwLS45MTktLjc0OC0xLjY2Ni0xLjY2Ny0xLjY2Ni0uMzc3IDAtLjcyOC4xMTUtLjk4Ni4zMjNBMi41OCAyLjU4IDAgMDEyLjggOS44QzEuODA4IDkuOCAxIDguOTkyIDEgOGMwLTMuODYgMy4xNC03IDctNyAzLjg1OSAwIDcgMy4xNCA3IDcgMCAzLjg1OS0zLjE0MSA3LTcgN3pNNS40IDcuOTMzYTIuNjcgMi42NyAwIDAxMi42NjcgMi42NjZjMCAuNjA2LS4xOTMgMS4xNzktLjU0NCAxLjYxNGExLjU5OSAxLjU5OSAwIDAwLS4zMjMuOTg3LjguOCAwIDAwLjguOGMzLjMwOSAwIDYtMi42OTEgNi02cy0yLjY5MS02LTYtNi02IDIuNjkxLTYgNmMwIC40NDEuMzU5LjguOC44LjM3OCAwIC43MjktLjExNC45ODYtLjMyMkEyLjU2OCAyLjU2OCAwIDAxNS40IDcuOTMzeiIgZmlsbD0iIzQyNDI0MiIvPjxwYXRoIGQ9Ik00LjUgNS4zNzVhLjg3NS44NzUgMCAxMDAgMS43NS44NzUuODc1IDAgMDAwLTEuNzV6IiBmaWxsPSIjNjUyZDkwIi8+PHBhdGggZD0iTTcuMTI1IDMuNjI1YS44NzUuODc1IDAgMTAwIDEuNzUuODc1Ljg3NSAwIDAwMC0xLjc1eiIgZmlsbD0iIzFiYTFlMiIvPjxwYXRoIGQ9Ik0xMC42MjUgNC41YS44NzUuODc1IDAgMTAwIDEuNzUuODc1Ljg3NSAwIDAwMC0xLjc1eiIgZmlsbD0iIzM5MyIvPjxwYXRoIGQ9Ik0xMS41IDhhLjg3NS44NzUgMCAxMDAgMS43NS44NzUuODc1IDAgMDAwLTEuNzV6IiBmaWxsPSIjZmMwIi8+PHBhdGggZD0iTTkuNzUgMTAuNjI1YS44NzUuODc1IDAgMTAwIDEuNzUuODc1Ljg3NSAwIDAwMC0xLjc1eiIgZmlsbD0iI2U1MTQwMCIvPjwvc3ZnPg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.file{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE1IDE2SDJWMGg4LjYyMUwxNSA0LjM3OVYxNnoiIGZpbGw9IiNmNmY2ZjYiLz48cGF0aCBkPSJNMTMgMTRINFYyaDV2NGg0djh6bS0zLTlWMi4yMDdMMTIuNzkzIDVIMTB6IiBmaWxsPSIjZjBlZmYxIi8+PHBhdGggZD0iTTMgMXYxNGgxMVY0Ljc5M0wxMC4yMDcgMUgzem0xMCAxM0g0VjJoNXY0aDR2OHptLTMtOVYyLjIwN0wxMi43OTMgNUgxMHoiIGZpbGw9IiM0MjQyNDIiLz48L3N2Zz4=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.reference{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzIDV2OHMtLjAzNSAxLTEuMDM1IDFoLThTMyAxNCAzIDEzVjloMXY0aDhWNkg5LjM5N2wuNTE3LS41Mkw5IDQuNTcyVjNINy40MTlMNi40MTMgMmgzLjIyOEwxMyA1eiIgZmlsbD0iIzQyNDI0MiIvPjxwYXRoIGQ9Ik01Ljk4OCA2SDMuNWEyLjUgMi41IDAgMTEwLTVINHYxaC0uNUMyLjY3MyAyIDIgMi42NzMgMiAzLjVTMi42NzMgNSAzLjUgNWgyLjUxM0w0IDNoMmwyLjUgMi40ODRMNiA4SDRsMS45ODgtMnoiIGZpbGw9IiMwMDUzOWMiLz48L3N2Zz4=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.snippet{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgaWQ9InN2ZzQ2OTQiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlIGlkPSJzdHlsZTQ2OTYiPjwvc3R5bGU+PGcgaWQ9Imc0NzA3IiB0cmFuc2Zvcm09Im1hdHJpeCgxLjMzMzMzIDAgMCAxLjMzMzMzIC0yNDYgLTUuMzMzKSI+PHBhdGggZD0iTTE4NSA0aDExdjEyaC0xMXoiIGlkPSJwYXRoNDUzNCIgZmlsbD0iI2Y2ZjZmNiIvPjxwYXRoIGQ9Ik0xOTQgMTNWNmgtN3Y3aC0xVjVoOXY4aC0xem0tNyAyaC0xdi0xaDF2MXptMi0xaC0xdjFoMXYtMXptMiAwaC0xdjFoMXYtMXptMiAxaC0xdi0xaDF2MXptMi0xaC0xdjFoMXYtMXoiIGlkPSJwYXRoNDUzNiIgZmlsbD0iIzQyNDI0MiIvPjxwYXRoIGQ9Ik0xODcgMTNWNmg3djdoLTd6IiBpZD0icGF0aDQ1MzgiIGZpbGw9IiNmMGVmZjEiLz48L2c+PC9zdmc+")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor{background-image:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.folder{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTE0LjUgMkg3LjAwOGwtMSAySDIuNTA0YS41LjUgMCAwMC0uNS41djhhLjUuNSAwIDAwLjUuNUgxNC41YS41LjUgMCAwMC41LS41di0xMGEuNS41IDAgMDAtLjUtLjV6bS0uNDk2IDJINy41MDhsLjUtMWg1Ljk5NnYxeiIgZmlsbD0iIzY1NjU2NSIvPjxwYXRoIGQ9Ik0xNCAzdjFINy41TDggM2g2eiIgZmlsbD0iI2YwZWZmMSIvPjwvc3ZnPg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-widget .details{display:flex;flex-direction:column;cursor:default}.monaco-editor .suggest-widget .details.no-docs{display:none}.monaco-editor .suggest-widget.docs-below .details{border-top-width:0}.monaco-editor .suggest-widget .details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body{position:absolute;box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;word-break:break-all;margin:0;padding:4px 0 4px 5px}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.docs.markdown-docs{white-space:normal}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-widget .details code{border-radius:3px;padding:0 .4em}.monaco-editor.hc-black .suggest-widget .details>.monaco-scrollable-element>.body>.header>.close,.monaco-editor.vs-dark .suggest-widget .details>.monaco-scrollable-element>.body>.header>.close{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2Ij48cGF0aCBmaWxsPSIjZThlOGU4IiBkPSJNMTIuNTk3IDExLjA0MmwyLjgwMyAyLjgwMy0xLjU1NiAxLjU1NS0yLjgwMi0yLjgwMkw4LjIzOSAxNS40bC0xLjU1Ni0xLjU1NSAyLjgwMi0yLjgwMy0yLjgwMi0yLjgwMyAxLjU1NS0xLjU1NiAyLjgwNCAyLjgwMyAyLjgwMy0yLjgwM0wxNS40IDguMjM5eiIvPjwvc3ZnPg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDEwYzAgMi4yMDUtMS43OTQgNC00IDQtMS44NTggMC0zLjQxMS0xLjI3OS0zLjg1OC0zaC0uOTc4bDIuMzE4IDRIMHYtMS43MDNsMi0zLjQwOFYwaDExdjYuMTQyYzEuNzIxLjQ0NyAzIDIgMyAzLjg1OHoiIGZpbGw9IiMyZDJkMzAiLz48cGF0aCBkPSJNMTIgMXY0Ljc1QTQuMjU1IDQuMjU1IDAgMDA3Ljc1IDEwaC0uNzMyTDQuMjc1IDUuMjY5IDMgNy40NDJWMWg5ek03Ljc0NyAxNEw0LjI2OSA4IC43NDggMTRoNi45OTl6TTE1IDEwYTMgMyAwIDExLTYgMCAzIDMgMCAwMTYgMHoiIGZpbGw9IiNjNWM1YzUiLz48L3N2Zz4=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.constructor,.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.function,.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.method,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.constructor,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.function,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.method{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE1IDMuMzQ5djguNDAzTDguOTc1IDE2SDguMDdMMSAxMS41ODJWMy4zMjdMNy41OTUgMGgxLjExOEwxNSAzLjM0OXoiIGZpbGw9IiMyZDJkMzAiLz48cGF0aCBkPSJNMTIuNzE1IDQuMzk4TDguNDg3IDcuMDIgMy41NjUgNC4yNzJsNC41NzgtMi4zMDkgNC41NzIgMi40MzV6TTMgNS4xMDJsNSAyLjc5MnY1LjcwNWwtNS0zLjEyNVY1LjEwMnptNiA4LjQzNFY3Ljg3OGw0LTIuNDh2NS4zMTdsLTQgMi44MjF6IiBmaWxsPSIjMmIyODJlIi8+PHBhdGggZD0iTTguMTU2LjgzN0wyIDMuOTQydjcuMDg1TDguNTE3IDE1LjEgMTQgMTEuMjMzVjMuOTVMOC4xNTYuODM3em00LjU1OSAzLjU2MUw4LjQ4NyA3LjAyIDMuNTY1IDQuMjcybDQuNTc4LTIuMzA5IDQuNTcyIDIuNDM1ek0zIDUuMTAybDUgMi43OTJ2NS43MDVsLTUtMy4xMjVWNS4xMDJ6bTYgOC40MzRWNy44NzhsNC0yLjQ4djUuMzE3bC00IDIuODIxeiIgZmlsbD0iI2IxODBkNyIvPjwvc3ZnPg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.field,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.field{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTAgMTAuNzM2VjQuNUw5IDBsNyAzLjV2Ni4yMzZsLTkgNC41LTctMy41eiIgZmlsbD0iIzJkMmQzMCIvPjxwYXRoIGQ9Ik05IDFMMSA1djVsNiAzIDgtNFY0TDkgMXpNNyA2Ljg4MkwzLjIzNiA1IDkgMi4xMTggMTIuNzY0IDQgNyA2Ljg4MnoiIGZpbGw9IiM3NWJlZmYiLz48cGF0aCBkPSJNOSAyLjExOEwxMi43NjQgNCA3IDYuODgyIDMuMjM2IDUgOSAyLjExOHoiIGZpbGw9IiMyYjI4MmUiLz48L3N2Zz4=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.event,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.event{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTcgN2g2bC04IDhINGwyLjk4NS02SDNsNC04aDZMNyA3eiIgZmlsbD0iI2U4YWI1MyIvPjwvc3ZnPg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.operator,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.operator{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEgMXYxNGgxNFYxSDF6bTYgMTJIM3YtMWg0djF6bTAtM0gzVjloNHYxem0wLTVINXYySDRWNUgyVjRoMlYyaDF2MmgydjF6bTMuMjgxIDhIOC43MTlsMy00aDEuNTYzbC0zLjAwMSA0ek0xNCA1SDlWNGg1djF6IiBmaWxsPSIjNzViZWZmIi8+PC9zdmc+")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.variable,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.variable{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTIgNXY2aDJ2MUgxVjRoM3YxSDJ6bTEwIDZ2MWgzVjRoLTN2MWgydjZoLTJ6IiBmaWxsPSIjYzVjNWM1Ii8+PHBhdGggZD0iTTguNzMzIDRMNCA2LjM2N3YzLjE1Nkw3LjE1NiAxMS4xbDQuNzMzLTIuMzY3VjUuNTc4TDguNzMzIDR6TTcuMTU2IDcuMTU2bC0xLjU3OC0uNzg5IDMuMTU2LTEuNTc4IDEuNTc4Ljc4OS0zLjE1NiAxLjU3OHoiIGZpbGw9IiM3NWJlZmYiLz48L3N2Zz4=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.class,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.class{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDYuNTg2bC0zLTNMMTEuNTg2IDVIOS40MTRsMS0xLTQtNGgtLjgyOEwwIDUuNTg2di44MjhsNCA0TDYuNDE0IDhIN3Y1aDEuNTg2bDMgM2guODI4TDE2IDEyLjQxNHYtLjgyOEwxMy45MTQgOS41IDE2IDcuNDE0di0uODI4eiIgZmlsbD0iIzJkMmQzMCIvPjxwYXRoIGQ9Ik0xMyAxMGwyIDItMyAzLTItMiAxLTFIOFY3SDZMNCA5IDEgNmw1LTUgMyAzLTIgMmg1bDEtMSAyIDItMyAzLTItMiAxLTFIOXY0bDIuOTk5LjAwMkwxMyAxMHoiIGZpbGw9IiNlOGFiNTMiLz48L3N2Zz4=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.interface,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.interface{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTExLjUgMTJjLTEuOTE1IDAtMy42MDItMS4yNDEtNC4yMjgtM2gtMS40MWEzLjExIDMuMTEgMCAwMS0yLjczNyAxLjYyNUMxLjQwMiAxMC42MjUgMCA5LjIyMyAwIDcuNXMxLjQwMi0zLjEyNSAzLjEyNS0zLjEyNWMxLjE2NSAwIDIuMjAxLjYzOSAyLjczNyAxLjYyNWgxLjQxYy42MjYtMS43NTkgMi4zMTMtMyA0LjIyOC0zQzEzLjk4MSAzIDE2IDUuMDE5IDE2IDcuNVMxMy45ODEgMTIgMTEuNSAxMnoiIGZpbGw9IiMyZDJkMzAiLz48cGF0aCBkPSJNMTEuNSA5QTEuNTAxIDEuNTAxIDAgMTExMyA3LjVjMCAuODI2LS42NzMgMS41LTEuNSAxLjV6IiBmaWxsPSIjMmIyODJlIi8+PHBhdGggZD0iTTExLjUgNGEzLjQ5IDMuNDkgMCAwMC0zLjQ1IDNINS4xODVBMi4xMjIgMi4xMjIgMCAwMDEgNy41YTIuMTIzIDIuMTIzIDAgMTA0LjE4NS41SDguMDVhMy40OSAzLjQ5IDAgMDAzLjQ1IDMgMy41IDMuNSAwIDEwMC03em0wIDVjLS44MjcgMC0xLjUtLjY3My0xLjUtMS41UzEwLjY3MyA2IDExLjUgNnMxLjUuNjczIDEuNSAxLjVTMTIuMzI3IDkgMTEuNSA5eiIgZmlsbD0iIzc1YmVmZiIvPjwvc3ZnPg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.struct,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.struct{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEwIDloNHY0aC00Vjl6bS04IDRoNFY5SDJ2NHpNMiAzdjRoMTJWM0gyeiIgZmlsbD0iIzc1YmVmZiIvPjwvc3ZnPg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.type-parameter,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.type-parameter{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQgM2g4djJoLTF2LS41YS41LjUgMCAwMC0uNS0uNUg5djcuNWEuNS41IDAgMDAuNS41aC41djFINnYtMWguNWEuNS41IDAgMDAuNS0uNVY0SDUuNWEuNS41IDAgMDAtLjUuNVY1SDRWM3pNMyA1LjYxNUwuMTE2IDguNSAzIDExLjM4M2wuODg0LS44ODMtMi0yIDItMkwzIDUuNjE1em0xMCAwbC0uODg0Ljg4NSAyIDItMiAyIC44ODQuODgzTDE1Ljg4NCA4LjUgMTMgNS42MTV6IiBmaWxsPSIjYzVjNWM1Ii8+PC9zdmc+")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.module,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.module{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTkuMjYgMTEuOTg0bC45NzgtLjAyMWEuOTYyLjk2MiAwIDAwLjA5LS4wMDZjLjAxMS0uMDYzLjAyNi0uMTc5LjAyNi0uMzYxVjkuNjg4YzAtLjY3OS4xODUtMS4yNTcuNTMtMS43MDctLjM0Ni0uNDUyLS41My0xLjAzLS41My0xLjcwNVY0LjM1YzAtLjE2Ny0uMDIxLS4yNTktLjAzNC0uMzAyTDkuMjYgNC4wMlYuOTczbDEuMDExLjAxMWMyLjE2Ny4wMjQgMy40MDkgMS4xNTYgMy40MDkgMy4xMDV2MS45NjJjMCAuMzUxLjA3MS40NjEuMDcyLjQ2MmwuOTM2LjA2LjA1My45Mjd2MS45MzZsLS45MzYuMDYxYy0uMDc2LjAxNi0uMTI1LjE0Ni0uMTI1LjQyNHYyLjAxN2MwIC45MTQtLjMzMiAzLjA0My0zLjQwOCAzLjA3OGwtMS4wMTIuMDExdi0zLjA0M3ptLTMuNTIxIDMuMDMyYy0zLjA4OS0uMDM1LTMuNDIyLTIuMTY0LTMuNDIyLTMuMDc4VjkuOTIxYzAtLjMyNy0uMDY2LS40MzItLjA2Ny0uNDMzbC0uOTM3LS4wNi0uMDYzLS45MjlWNi41NjNsLjk0Mi0uMDZjLjA1OCAwIC4xMjUtLjExNC4xMjUtLjQ1MlY0LjA5YzAtMS45NDkgMS4yNDgtMy4wODEgMy40MjItMy4xMDVMNi43NS45NzNWNC4wMmwtLjk3NS4wMjNhLjU3Mi41NzIgMCAwMC0uMDkzLjAxYy4wMDYuMDIxLS4wMTkuMTE1LS4wMTkuMjk3djEuOTI4YzAgLjY3NS0uMTg2IDEuMjUzLS41MzQgMS43MDUuMzQ4LjQ1LjUzNCAxLjAyOC41MzQgMS43MDd2MS45MDdjMCAuMTc1LjAxNC4yOTEuMDI3LjM2My4wMjMuMDAyIDEuMDYuMDI1IDEuMDYuMDI1djMuMDQzbC0xLjAxMS0uMDEyeiIgZmlsbD0iIzJkMmQzMCIvPjxwYXRoIGQ9Ik01Ljc1IDE0LjAxNmMtMS42MjMtLjAxOS0yLjQzNC0uNzExLTIuNDM0LTIuMDc4VjkuOTIxYzAtLjkwMi0uMzU1LTEuMzc2LTEuMDY2LTEuNDIydi0uOTk4Yy43MTEtLjA0NSAxLjA2Ni0uNTI5IDEuMDY2LTEuNDQ5VjQuMDljMC0xLjM4NS44MTEtMi4wODcgMi40MzQtMi4xMDV2MS4wNmMtLjcyNS4wMTctMS4wODcuNDUzLTEuMDg3IDEuMzA1djEuOTI4YzAgLjkyLS40NTQgMS40ODgtMS4zNiAxLjcwMlY4Yy45MDcuMjAxIDEuMzYuNzYzIDEuMzYgMS42ODh2MS45MDdjMCAuNDg4LjA4MS44MzUuMjQzIDEuMDQyLjE2Mi4yMDguNDQzLjMxNi44NDQuMzI1djEuMDU0em03Ljk5LTUuNTE3Yy0uNzA2LjA0NS0xLjA2LjUyLTEuMDYgMS40MjJ2Mi4wMTdjMCAxLjM2Ny0uODA3IDIuMDYtMi40MiAyLjA3OHYtMS4wNTNjLjM5Ni0uMDA5LjY3OC0uMTE4Ljg0NC0uMzI4LjE2Ny0uMjEuMjUtLjU1Ni4yNS0xLjAzOVY5LjY4OGMwLS45MjUuNDQ5LTEuNDg4IDEuMzQ3LTEuNjg4di0uMDIxYy0uODk4LS4yMTQtMS4zNDctLjc4Mi0xLjM0Ny0xLjcwMlY0LjM1YzAtLjg1Mi0uMzY0LTEuMjg4LTEuMDk0LTEuMzA2di0xLjA2YzEuNjEzLjAxOCAyLjQyLjcyIDIuNDIgMi4xMDV2MS45NjJjMCAuOTIuMzU0IDEuNDA0IDEuMDYgMS40NDl2Ljk5OXoiIGZpbGw9IiNjNWM1YzUiLz48L3N2Zz4=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.property,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.property{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDUuNWE1LjUgNS41IDAgMDEtNS41IDUuNWMtLjI3NSAwLS41NDMtLjAyNy0uODA3LS4wNjZsLS4wNzktLjAxMmE1LjQyOSA1LjQyOSAwIDAxLS44MS0uMTkybC00LjUzNyA0LjUzN2MtLjQ3Mi40NzMtMS4xLjczMy0xLjc2Ny43MzNzLTEuMjk1LS4yNi0xLjc2OC0uNzMyYTIuNTAyIDIuNTAyIDAgMDEwLTMuNTM1bDQuNTM3LTQuNTM3YTUuNDUyIDUuNDUyIDAgMDEtLjE5MS0uODEyYy0uMDA1LS4wMjUtLjAwOC0uMDUxLS4wMTItLjA3N0E1LjUwMyA1LjUwMyAwIDAxNSA1LjVhNS41IDUuNSAwIDExMTEgMHoiIGZpbGw9IiMyZDJkMzAiLz48cGF0aCBkPSJNMTUgNS41YTQuNSA0LjUgMCAwMS00LjUgNC41Yy0uNjkzIDAtMS4zNDItLjE3LTEuOTI5LS40NWwtNS4wMSA1LjAxYy0uMjkzLjI5NC0uNjc3LjQ0LTEuMDYxLjQ0cy0uNzY4LS4xNDYtMS4wNjEtLjQzOWExLjUgMS41IDAgMDEwLTIuMTIxbDUuMDEtNS4wMUE0LjQ4MyA0LjQ4MyAwIDAxNiA1LjUgNC41IDQuNSAwIDAxMTAuNSAxYy42OTMgMCAxLjM0Mi4xNyAxLjkyOS40NUw5LjYzNiA0LjI0M2wyLjEyMSAyLjEyMSAyLjc5My0yLjc5M2MuMjguNTg3LjQ1IDEuMjM2LjQ1IDEuOTI5eiIgZmlsbD0iI2M1YzVjNSIvPjwvc3ZnPg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.unit,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.unit{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDExLjAxM0gxVjRoMTV2Ny4wMTN6IiBmaWxsPSIjMmQyZDMwIi8+PHBhdGggZD0iTTggOUg3VjZoM3YzSDlWN0g4djJ6TTQgN2gxdjJoMVY2SDN2M2gxVjd6bTggMGgxdjJoMVY2aC0zdjNoMVY3eiIgZmlsbD0iIzJiMjgyZSIvPjxwYXRoIGQ9Ik0yIDV2NWgxM1Y1SDJ6bTQgNEg1VjdINHYySDNWNmgzdjN6bTQgMEg5VjdIOHYySDdWNmgzdjN6bTQgMGgtMVY3aC0xdjJoLTFWNmgzdjN6IiBmaWxsPSIjYzVjNWM1Ii8+PC9zdmc+")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.constant,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.constant{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTIuODc5IDE0TDEgMTIuMTIxVjMuODc5TDIuODc5IDJoMTAuMjQyTDE1IDMuODc5djguMjQyTDEzLjEyMSAxNEgyLjg3OXoiIGZpbGw9IiMyNTI1MjYiLz48cGF0aCBkPSJNMTIuMjkzIDRIMy43MDdMMyA0LjcwN3Y2LjU4NmwuNzA3LjcwN2g4LjU4NmwuNzA3LS43MDdWNC43MDdMMTIuMjkzIDR6TTExIDEwSDVWOWg2djF6bTAtM0g1VjZoNnYxeiIgZmlsbD0iIzJiMjgyZSIvPjxwYXRoIGQ9Ik0xMi43MDcgMTNIMy4yOTNMMiAxMS43MDdWNC4yOTNMMy4yOTMgM2g5LjQxNEwxNCA0LjI5M3Y3LjQxNEwxMi43MDcgMTN6bS05LTFoOC41ODZsLjcwNy0uNzA3VjQuNzA3TDEyLjI5MyA0SDMuNzA3TDMgNC43MDd2Ni41ODZsLjcwNy43MDd6IiBmaWxsPSIjYzVjNWM1Ii8+PHBhdGggZD0iTTExIDdINVY2aDZ2MXptMCAySDV2MWg2Vjl6IiBmaWxsPSIjNzViZWZmIi8+PC9zdmc+")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.enum,.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.value,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.enum,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.value{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE0LjQxNCAxTDE2IDIuNTg2djUuODI4TDE0LjQxNCAxMEgxMHYzLjQxNkw4LjQxNCAxNUgxLjU4NkwwIDEzLjQxNnYtNS44M0wxLjU4NiA2SDZWMi41ODZMNy41ODYgMWg2LjgyOHoiIGZpbGw9IiMyZDJkMzAiLz48cGF0aCBkPSJNMiAxM2g2VjhIMnY1em0xLTRoNHYxSDNWOXptMCAyaDR2MUgzdi0xem0xMS01VjNIOHYzaC40MTRMOSA2LjU4NlY2aDR2MUg5LjQxNGwuNTg2LjU4NlY4aDRWNnptLTEtMUg5VjRoNHYxeiIgZmlsbD0iIzJiMjgyZSIvPjxwYXRoIGQ9Ik0zIDExaDQuMDAxdjFIM3YtMXptMC0xaDQuMDAxVjlIM3Yxem02LTJ2NWwtMSAxSDJsLTEtMVY4bDEtMWg2bDEgMXpNOCA4SDJ2NWg2Vjh6bTEtMmwxIDFoM1Y2SDl6bTAtMWg0VjRIOXYxem01LTNIOEw3IDN2M2gxVjNoNnY1aC00djFoNGwxLTFWM2wtMS0xeiIgZmlsbD0iI2U4YWI1MyIvPjwvc3ZnPg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.enum-member,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.enum-member{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTAgMTVWNmg2VjIuNTg2TDcuNTg1IDFoNi44MjlMMTYgMi41ODZ2NS44MjlMMTQuNDE0IDEwSDEwdjVIMHptMy02eiIgZmlsbD0iIzJkMmQzMCIvPjxwYXRoIGQ9Ik04IDN2M2g1djFoLTN2MWg0VjNIOHptNSAySDlWNGg0djF6TTIgOHY1aDZWOEgyem01IDNIM3YtMWg0djF6IiBmaWxsPSIjMmIyODJlIi8+PHBhdGggZD0iTTEwIDZoM3YxaC0zVjZ6TTkgNHYxaDRWNEg5em01LTJIOEw3IDN2M2gxVjNoNnY1aC00djFoNGwxLTFWM2wtMS0xem0tNyA4SDN2MWg0di0xem0yLTN2N0gxVjdoOHpNOCA4SDJ2NWg2Vjh6IiBmaWxsPSIjNzViZWZmIi8+PC9zdmc+")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.keyword,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.keyword{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDVWMkg5VjFIMHYxNGgxM3YtM2gzVjloLTFWNkg5VjVoN3ptLTggN1Y5aDF2M0g4eiIgZmlsbD0iIzJkMmQzMCIvPjxwYXRoIGQ9Ik0yIDNoNXYxSDJWM3oiIGZpbGw9IiMyYjI4MmUiLz48cGF0aCBkPSJNMTUgNGgtNVYzaDV2MXptLTEgM2gtMnYxaDJWN3ptLTQgMEgxdjFoOVY3em0yIDZIMXYxaDExdi0xem0tNS0zSDF2MWg2di0xem04IDBoLTV2MWg1di0xek04IDJ2M0gxVjJoN3pNNyAzSDJ2MWg1VjN6IiBmaWxsPSIjYzVjNWM1Ii8+PC9zdmc+")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.text,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.text{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDE1SDBWMWgxNnYxNHoiIGZpbGw9IiMyZDJkMzAiLz48cGF0aCBkPSJNOS4yMjkgNy4zNTRjLjAzNS4xNDYuMDUyLjMxLjA1Mi40OTQgMCAuMjM0LS4wMi40NDEtLjA2LjYyMS0uMDM5LjE4LS4wOTUuMzI4LS4xNjguNDQ1YS42ODcuNjg3IDAgMDEtLjkxNC4yODEuNzYuNzYgMCAwMS0uMjM3LS4yMDcuOTg4Ljk4OCAwIDAxLS4xNTQtLjMwNiAxLjI2MiAxLjI2MiAwIDAxLS4wNTctLjM4MXYtLjUwNmMwLS4xNy4wMi0uMzI2LjA2MS0uNDY1cy4wOTYtLjI1OC4xNjgtLjM1OWEuNzU2Ljc1NiAwIDAxLjI1Ny0uMjMyYy4xLS4wNTUuMjEtLjA4Mi4zMzEtLjA4MmEuNjQ2LjY0NiAwIDAxLjU3MS4zMmMuMDY3LjEwNS4xMTYuMjMuMTUuMzc3em0tNS4xMjYuODY5YS41NTcuNTU3IDAgMDAtLjE5Ni4xMzJjLS4wNDcuMDUzLS4wOC4xMTItLjA5Ny4xOHMtLjAyOC4xNDctLjAyOC4yMzNhLjUxMy41MTMgMCAwMC4xNTcuMzkuNTI4LjUyOCAwIDAwLjE4Ni4xMTMuNjgyLjY4MiAwIDAwLjI0Mi4wNDEuNzYuNzYgMCAwMC41OTMtLjI3MS44OTcuODk3IDAgMDAuMTY1LS4yOTVjLjAzOC0uMTEzLjA1OS0uMjM0LjA1OS0uMzY1di0uMzQ2bC0uNzYxLjExYTEuMjkgMS4yOSAwIDAwLS4zMi4wNzh6TTE0IDN2MTBIMlYzaDEyek01Ljk2MiA3LjQ2OWMwLS4yMzgtLjAyNy0uNDUxLS4wODMtLjYzN2ExLjI4NiAxLjI4NiAwIDAwLS4yNDktLjQ3MSAxLjA4IDEuMDggMCAwMC0uNDI0LS4yOTUgMS42NDQgMS42NDQgMCAwMC0uNjA4LS4xMDFjLS4xMTkgMC0uMjQxLjAxMi0uMzY4LjAzM2EzLjIxMyAzLjIxMyAwIDAwLS42NzMuMTk1IDEuMzEzIDEuMzEzIDAgMDAtLjIxMi4xMTR2Ljc2OGMuMTU4LS4xMzIuMzQxLS4yMzUuNTQ0LS4zMTMuMjA0LS4wNzguNDEzLS4xMTcuNjI3LS4xMTcuMjEzIDAgLjM3Ny4wNjMuNDk0LjE4Ni4xMTYuMTI1LjE3NC4zMjQuMTc0LjZsLTEuMDMuMTU0Yy0uMjA1LjAyNi0uMzguMDc3LS41MjYuMTUxYTEuMDgzIDEuMDgzIDAgMDAtLjU2My42NkExLjU2MiAxLjU2MiAwIDAwMyA4Ljg1N2MwIC4xNy4wMjUuMzIzLjA3NC40NjNhLjk0NS45NDUgMCAwMC41NjguNTk2Yy4xMzkuMDU3LjI5Ny4wODQuNDc4LjA4NC4yMjkgMCAuNDMxLS4wNTMuNjA0LS4xNmExLjMgMS4zIDAgMDAuNDM5LS40NjNoLjAxNHYuNTI5aC43ODVWNy40Njl6TTEwIDcuODYxYTMuNTQgMy41NCAwIDAwLS4wNzQtLjczNCAyLjA0NyAyLjA0NyAwIDAwLS4yMjgtLjYxMSAxLjIwMyAxLjIwMyAwIDAwLS4zOTQtLjQxNiAxLjAzIDEuMDMgMCAwMC0uNTc0LS4xNTNjLS4xMjMgMC0uMjM0LjAxOC0uMzM2LjA1MWExIDEgMCAwMC0uMjc4LjE0NyAxLjE1MyAxLjE1MyAwIDAwLS4yMjUuMjIyIDIuMDIyIDIuMDIyIDAgMDAtLjE4MS4yODloLS4wMTNWNUg3djQuODg3aC42OTd2LS40ODVoLjAxM2MuMDQ0LjA4Mi4wOTUuMTU4LjE1MS4yMjkuMDU3LjA3LjExOS4xMzMuMTkxLjE4NmEuODM1LjgzNSAwIDAwLjIzOC4xMjEuOTQzLjk0MyAwIDAwLjI5My4wNDJjLjIzIDAgLjQzNC0uMDUzLjYwOS0uMTZhMS4zNCAxLjM0IDAgMDAuNDQzLS40NDNjLjEyLS4xODguMjExLS40MTIuMjcyLS42NzJBMy42MiAzLjYyIDAgMDAxMCA3Ljg2MXptMy0xLjY1OGEuNy43IDAgMDAtLjEwNi0uMDY2IDEuMTgzIDEuMTgzIDAgMDAtLjE0Mi0uMDYzIDEuMjMzIDEuMjMzIDAgMDAtLjM2My0uMDY1Yy0uMjA5IDAtLjM5OS4wNTEtLjU2OS4xNWExLjM1NSAxLjM1NSAwIDAwLS40MzMuNDI0Yy0uMTE4LjE4Mi0uMjEuNDAyLS4yNzMuNjZhMy42MyAzLjYzIDAgMDAtLjAwOCAxLjYxNWMuMDYuMjMuMTQzLjQzLjI1Mi42MDIuMTA5LjE2OC4yNDEuMzAzLjM5Ni4zOTZhLjk3Mi45NzIgMCAwMC41MjQuMTQ0Yy4xNTggMCAuMjk2LS4wMjEuNDEzLS4wNjguMTE3LS4wNDUuMjE5LS4xMDguMzA5LS4xODR2LS43N2ExLjA5NCAxLjA5NCAwIDAxLS4yODguMjI1LjgxOS44MTkgMCAwMS0uMTU4LjA2OC40OC40OCAwIDAxLS4xNTMuMDI3LjYyLjYyIDAgMDEtLjI3NC0uMDc0Yy0uMjQxLS4xMzYtLjQyMy0uNDc5LS40MjMtMS4xNDYgMC0uNzE1LjIwNi0xLjEyLjQ2OS0xLjMwMS4wNzctLjAzMi4xNTMtLjA2NC4yMzgtLjA2NC4xMTMgMCAuMjIuMDI3LjMxNy4wODIuMDk2LjA1Ny4xODguMTMxLjI3Mi4yMjN2LS44MTV6IiBmaWxsPSIjMmIyODJlIi8+PHBhdGggZD0iTTEgMnYxMmgxNFYySDF6bTEzIDExSDJWM2gxMnYxMHpNNS42MyA2LjM2MWExLjA4IDEuMDggMCAwMC0uNDI0LS4yOTUgMS42NDQgMS42NDQgMCAwMC0uNjA4LS4xMDFjLS4xMTkgMC0uMjQxLjAxMi0uMzY4LjAzM2EzLjIxMyAzLjIxMyAwIDAwLS42NzMuMTk1IDEuMzEzIDEuMzEzIDAgMDAtLjIxMi4xMTR2Ljc2OGMuMTU4LS4xMzIuMzQxLS4yMzUuNTQ0LS4zMTMuMjA0LS4wNzguNDEzLS4xMTcuNjI3LS4xMTcuMjEzIDAgLjM3Ny4wNjMuNDk0LjE4Ni4xMTYuMTI1LjE3NC4zMjQuMTc0LjZsLTEuMDMuMTU0Yy0uMjA1LjAyNi0uMzguMDc3LS41MjYuMTUxYTEuMDgzIDEuMDgzIDAgMDAtLjU2My42NkExLjU2MiAxLjU2MiAwIDAwMyA4Ljg1N2MwIC4xNy4wMjUuMzIzLjA3NC40NjNhLjk0NS45NDUgMCAwMC41NjguNTk2Yy4xMzkuMDU3LjI5Ny4wODQuNDc4LjA4NC4yMjkgMCAuNDMxLS4wNTMuNjA0LS4xNmExLjMgMS4zIDAgMDAuNDM5LS40NjNoLjAxNHYuNTI5aC43ODVWNy40NjljMC0uMjM4LS4wMjctLjQ1MS0uMDgzLS42MzdhMS4yODYgMS4yODYgMCAwMC0uMjQ5LS40NzF6bS0uNDQ2IDIuMDJjMCAuMTMxLS4wMi4yNTItLjA1OS4zNjVhLjg5Ny44OTcgMCAwMS0uMTY1LjI5NS43NTguNzU4IDAgMDEtLjU5My4yNzIuNjgyLjY4MiAwIDAxLS4yNDItLjA0MS41MDcuNTA3IDAgMDEtLjMwMi0uMjg2LjU4My41ODMgMCAwMS0uMDQxLS4yMThjMC0uMDg2LjAxLS4xNjQuMDI3LS4yMzJzLjA1MS0uMTI3LjA5OC0uMThhLjU0Ni41NDYgMCAwMS4xOTYtLjEzM2MuMDgzLS4wMzMuMTg5LS4wNjEuMzItLjA3OGwuNzYxLS4xMDl2LjM0NXptNC41MTQtMS44NjVhMS4yMDMgMS4yMDMgMCAwMC0uMzk0LS40MTYgMS4wMyAxLjAzIDAgMDAtLjU3NC0uMTUzYy0uMTIzIDAtLjIzNC4wMTgtLjMzNi4wNTFhMSAxIDAgMDAtLjI3OC4xNDcgMS4xNTMgMS4xNTMgMCAwMC0uMjI1LjIyMiAyLjAyMiAyLjAyMiAwIDAwLS4xODEuMjg5aC0uMDEzVjVIN3Y0Ljg4N2guNjk3di0uNDg1aC4wMTNjLjA0NC4wODIuMDk1LjE1OC4xNTEuMjI5LjA1Ny4wNy4xMTkuMTMzLjE5MS4xODZhLjgzNS44MzUgMCAwMC4yMzguMTIxLjk0My45NDMgMCAwMC4yOTMuMDQyYy4yMyAwIC40MzQtLjA1My42MDktLjE2YTEuMzQgMS4zNCAwIDAwLjQ0My0uNDQzYy4xMi0uMTg4LjIxMS0uNDEyLjI3Mi0uNjcyQTMuNjIgMy42MiAwIDAwMTAgNy44NjFhMy41NCAzLjU0IDAgMDAtLjA3NC0uNzM0IDIuMDQ3IDIuMDQ3IDAgMDAtLjIyOC0uNjExem0tLjQ3NiAxLjk1M2MtLjAzOS4xOC0uMDk1LjMyOC0uMTY4LjQ0NWEuNzU1Ljc1NSAwIDAxLS4yNjQuMjY2LjY4Ny42ODcgMCAwMS0uNjUxLjAxNS43Ni43NiAwIDAxLS4yMzctLjIwNy45ODguOTg4IDAgMDEtLjE1NC0uMzA2IDEuMjYyIDEuMjYyIDAgMDEtLjA1Ny0uMzgxdi0uNTA2YzAtLjE3LjAyLS4zMjYuMDYxLS40NjVzLjA5Ni0uMjU4LjE2OC0uMzU5YS43NTYuNzU2IDAgMDEuMjU3LS4yMzJjLjEtLjA1NS4yMS0uMDgyLjMzMS0uMDgyYS42NDYuNjQ2IDAgMDEuNTcxLjMyYy4wNjYuMTA1LjExNi4yMy4xNS4zNzcuMDM1LjE0Ni4wNTIuMzEuMDUyLjQ5NCAwIC4yMzQtLjAxOS40NDEtLjA1OS42MjF6bTMuNjcyLTIuMzMyYS43LjcgMCAwMS4xMDYuMDY2di44MTRhMS4xNzggMS4xNzggMCAwMC0uMjczLS4yMjMuNjQ1LjY0NSAwIDAwLS4zMTctLjA4MWMtLjA4NSAwLS4xNjEuMDMyLS4yMzguMDY0LS4yNjMuMTgxLS40NjkuNTg2LS40NjkgMS4zMDEgMCAuNjY4LjE4MiAxLjAxMS40MjMgMS4xNDYuMDg0LjA0LjE3MS4wNzQuMjc0LjA3NC4wNDkgMCAuMTAxLS4wMS4xNTMtLjAyN2EuODU2Ljg1NiAwIDAwLjE1OC0uMDY4IDEuMTYgMS4xNiAwIDAwLjI4OC0uMjI1di43N2MtLjA5LjA3Ni0uMTkyLjEzOS0uMzA5LjE4NGExLjA5OCAxLjA5OCAwIDAxLS40MTIuMDY4Ljk3NC45NzQgMCAwMS0uNTIzLS4xNDMgMS4yNTcgMS4yNTcgMCAwMS0uMzk2LS4zOTYgMi4wOTggMi4wOTggMCAwMS0uMjUyLS42MDIgMy4xMTggMy4xMTggMCAwMS0uMDg4LS43NTRjMC0uMzE2LjAzMi0uNjA0LjA5Ni0uODYxLjA2My0uMjU4LjE1NS0uNDc5LjI3My0uNjYuMTE5LS4xODIuMjY1LS4zMjIuNDMzLS40MjRhMS4xMDIgMS4xMDIgMCAwMTEuMDczLS4wMjN6IiBmaWxsPSIjYzVjNWM1Ii8+PC9zdmc+")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.color,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.color{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE2IDhjMCA0LjQxMS0zLjU4OSA4LTggOGEyLjgwMyAyLjgwMyAwIDAxLTIuOC0yLjhjMC0uODMzLjI3Mi0xLjYyOS43NjYtMi4yNDFhLjU5Ni41OTYgMCAwMC4xMDEtLjM1OS42NjcuNjY3IDAgMDAtLjY2Ny0uNjY2LjU4LjU4IDAgMDAtLjM1OC4xMDJBMy41ODQgMy41ODQgMCAwMTIuOCAxMC44IDIuODAzIDIuODAzIDAgMDEwIDhjMC00LjQxMSAzLjU4OS04IDgtOHM4IDMuNTg5IDggOHoiIGZpbGw9IiMyZDJkMzAiLz48cGF0aCBkPSJNNS40IDcuOTMzYTIuNjcgMi42NyAwIDAxMi42NjcgMi42NjZjMCAuNjA2LS4xOTMgMS4xNzktLjU0NCAxLjYxNGExLjU5OSAxLjU5OSAwIDAwLS4zMjMuOTg3LjguOCAwIDAwLjguOGMzLjMwOSAwIDYtMi42OTEgNi02cy0yLjY5MS02LTYtNi02IDIuNjkxLTYgNmMwIC40NDEuMzU5LjguOC44LjM3OCAwIC43MjktLjExNC45ODYtLjMyMkEyLjU2OCAyLjU2OCAwIDAxNS40IDcuOTMzeiIvPjxwYXRoIGQ9Ik04IDE1Yy0uOTkyIDAtMS44LS44MDgtMS44LTEuOCAwLS42MDYuMTkzLTEuMTc5LjU0NC0xLjYxMy4yMDgtLjI1OS4zMjMtLjYwOS4zMjMtLjk4NyAwLS45MTktLjc0OC0xLjY2Ni0xLjY2Ny0xLjY2Ni0uMzc3IDAtLjcyOC4xMTUtLjk4Ni4zMjNBMi41OCAyLjU4IDAgMDEyLjggOS44QzEuODA4IDkuOCAxIDguOTkyIDEgOGMwLTMuODYgMy4xNC03IDctNyAzLjg1OSAwIDcgMy4xNCA3IDcgMCAzLjg1OS0zLjE0MSA3LTcgN3pNNS40IDcuOTMzYTIuNjcgMi42NyAwIDAxMi42NjcgMi42NjZjMCAuNjA2LS4xOTMgMS4xNzktLjU0NCAxLjYxNGExLjU5OSAxLjU5OSAwIDAwLS4zMjMuOTg3LjguOCAwIDAwLjguOGMzLjMwOSAwIDYtMi42OTEgNi02cy0yLjY5MS02LTYtNi02IDIuNjkxLTYgNmMwIC40NDEuMzU5LjguOC44LjM3OCAwIC43MjktLjExNC45ODYtLjMyMkEyLjU2OCAyLjU2OCAwIDAxNS40IDcuOTMzeiIgZmlsbD0iI2M1YzVjNSIvPjxwYXRoIGQ9Ik00LjUgNS4zNzVhLjg3NS44NzUgMCAxMDAgMS43NS44NzUuODc1IDAgMDAwLTEuNzV6IiBmaWxsPSIjYjE4MGQ3Ii8+PHBhdGggZD0iTTcuMTI1IDMuNjI1YS44NzUuODc1IDAgMTAwIDEuNzUuODc1Ljg3NSAwIDAwMC0xLjc1eiIgZmlsbD0iIzFiYTFlMiIvPjxwYXRoIGQ9Ik0xMC42MjUgNC41YS44NzUuODc1IDAgMTAwIDEuNzUuODc1Ljg3NSAwIDAwMC0xLjc1eiIgZmlsbD0iIzM5MyIvPjxwYXRoIGQ9Ik0xMS41IDhhLjg3NS44NzUgMCAxMDAgMS43NS44NzUuODc1IDAgMDAwLTEuNzV6IiBmaWxsPSIjZmMwIi8+PHBhdGggZD0iTTkuNzUgMTAuNjI1YS44NzUuODc1IDAgMTAwIDEuNzUuODc1Ljg3NSAwIDAwMC0xLjc1eiIgZmlsbD0iI2Y0ODc3MSIvPjwvc3ZnPg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.file,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.file{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTE1IDE2SDJWMGg4LjYyMUwxNSA0LjM3OVYxNnoiIGZpbGw9IiMyZDJkMzAiLz48cGF0aCBkPSJNMTMgMTRINFYyaDV2NGg0djh6bS0zLTlWMi4yMDdMMTIuNzkzIDVIMTB6IiBmaWxsPSIjMmIyODJlIi8+PHBhdGggZD0iTTMgMXYxNGgxMVY0Ljc5M0wxMC4yMDcgMUgzem0xMCAxM0g0VjJoNXY0aDR2OHptLTMtOVYyLjIwN0wxMi43OTMgNUgxMHoiIGZpbGw9IiNjNWM1YzUiLz48L3N2Zz4=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.reference,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.reference{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzIDV2OHMtLjAzNSAxLTEuMDM1IDFoLThTMyAxNCAzIDEzVjloMXY0aDhWNkg5LjM5N2wuNTE3LS41Mkw5IDQuNTcyVjNINy40MTlMNi40MTMgMmgzLjIyOEwxMyA1eiIgZmlsbD0iI2M1YzVjNSIvPjxwYXRoIGQ9Ik01Ljk4OCA2SDMuNWEyLjUgMi41IDAgMTEwLTVINHYxaC0uNUMyLjY3MyAyIDIgMi42NzMgMiAzLjVTMi42NzMgNSAzLjUgNWgyLjUxM0w0IDNoMmwyLjUgMi40ODRMNiA4SDRsMS45ODgtMnoiIGZpbGw9IiM3NWJlZmYiLz48L3N2Zz4=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.snippet,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.snippet{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgaWQ9InN2ZzQ2OTQiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHN0eWxlIGlkPSJzdHlsZTQ2OTYiPjwvc3R5bGU+PGcgaWQ9Imc0NzI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxLjMzMzMzIDAgMCAxLjMzMzMzIC0yNDYgLTMyKSI+PHBhdGggZD0iTTE4NSAyNGgxMXYxMmgtMTF6IiBpZD0icGF0aDQ1MjgiIGZpbGw9IiMyZDJkMzAiLz48cGF0aCBkPSJNMTk0IDMzdi03aC03djdoLTF2LThoOXY4em0tOCAxaDF2MWgtMXptMiAwaDF2MWgtMXptMiAwaDF2MWgtMXptMiAwaDF2MWgtMXptMiAwaDF2MWgtMXoiIGlkPSJwYXRoNDUzMCIgZmlsbD0iI2M1YzVjNSIvPjxwYXRoIGQ9Ik0xODcgMjZoN3Y3aC03eiIgaWQ9InBhdGg0NTMyIiBmaWxsPSIjMmIyODJlIi8+PC9nPjwvc3ZnPg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.customcolor,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.customcolor{background-image:none}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .icon.folder,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .icon.folder{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTE0LjUgMkg3LjAwOGwtMSAySDIuNTA0YS41LjUgMCAwMC0uNS41djhhLjUuNSAwIDAwLjUuNUgxNC41YS41LjUgMCAwMC41LS41di0xMGEuNS41IDAgMDAtLjUtLjV6bS0uNDk2IDJINy41MDhsLjUtMWg1Ljk5NnYxeiIgZmlsbD0iI2M1YzVjNSIvPjwvc3ZnPg==")}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;-o-user-select:none;user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list-row{position:absolute;-moz-box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;cursor:pointer;overflow:hidden;width:100%;touch-action:none}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,Ubuntu,Droid Sans,sans-serif}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{color:#0059ac;stroke-width:1.2px;text-shadow:0 0 .15px #0059ac}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{color:#acddff;stroke-width:1.2px;text-shadow:0 0 .15px #acddff}.monaco-editor-hover p{margin:0}.monaco-editor.hc-black{-ms-high-contrast-adjust:none}@media screen and (-ms-high-contrast:active){.monaco-editor.vs-dark .view-overlays .current-line,.monaco-editor.vs .view-overlays .current-line{border-color:windowtext!important;border-left:0;border-right:0}.monaco-editor.vs-dark .cursor,.monaco-editor.vs .cursor{background-color:windowtext!important}.monaco-editor.vs-dark .dnd-target,.monaco-editor.vs .dnd-target{border-color:windowtext!important}.monaco-editor.vs-dark .selected-text,.monaco-editor.vs .selected-text{background-color:highlight!important}.monaco-editor.vs-dark .view-line,.monaco-editor.vs .view-line{-ms-high-contrast-adjust:none}.monaco-editor.vs-dark .view-line span,.monaco-editor.vs .view-line span{color:windowtext!important}.monaco-editor.vs-dark .view-line span.inline-selected-text,.monaco-editor.vs .view-line span.inline-selected-text{color:highlighttext!important}.monaco-editor.vs-dark .view-overlays,.monaco-editor.vs .view-overlays{-ms-high-contrast-adjust:none}.monaco-editor.vs-dark .reference-decoration,.monaco-editor.vs-dark .selectionHighlight,.monaco-editor.vs-dark .wordHighlight,.monaco-editor.vs-dark .wordHighlightStrong,.monaco-editor.vs .reference-decoration,.monaco-editor.vs .selectionHighlight,.monaco-editor.vs .wordHighlight,.monaco-editor.vs .wordHighlightStrong{border:2px dotted highlight!important;background:transparent!important;box-sizing:border-box}.monaco-editor.vs-dark .rangeHighlight,.monaco-editor.vs .rangeHighlight{background:transparent!important;border:1px dotted activeborder!important;box-sizing:border-box}.monaco-editor.vs-dark .bracket-match,.monaco-editor.vs .bracket-match{border-color:windowtext!important;background:transparent!important}.monaco-editor.vs-dark .currentFindMatch,.monaco-editor.vs-dark .findMatch,.monaco-editor.vs .currentFindMatch,.monaco-editor.vs .findMatch{border:2px dotted activeborder!important;background:transparent!important;box-sizing:border-box}.monaco-editor.vs-dark .find-widget,.monaco-editor.vs .find-widget{border:1px solid windowtext}.monaco-editor.vs-dark .monaco-list .monaco-list-row,.monaco-editor.vs .monaco-list .monaco-list-row{-ms-high-contrast-adjust:none;color:windowtext!important}.monaco-editor.vs-dark .monaco-list .monaco-list-row.focused,.monaco-editor.vs .monaco-list .monaco-list-row.focused{color:highlighttext!important;background-color:highlight!important}.monaco-editor.vs-dark .monaco-list .monaco-list-row:hover,.monaco-editor.vs .monaco-list .monaco-list-row:hover{background:transparent!important;border:1px solid highlight;box-sizing:border-box}.monaco-editor.vs-dark .monaco-tree .monaco-tree-row,.monaco-editor.vs .monaco-tree .monaco-tree-row{-ms-high-contrast-adjust:none;color:windowtext!important}.monaco-editor.vs-dark .monaco-tree .monaco-tree-row.focused,.monaco-editor.vs-dark .monaco-tree .monaco-tree-row.selected,.monaco-editor.vs .monaco-tree .monaco-tree-row.focused,.monaco-editor.vs .monaco-tree .monaco-tree-row.selected{color:highlighttext!important;background-color:highlight!important}.monaco-editor.vs-dark .monaco-tree .monaco-tree-row:hover,.monaco-editor.vs .monaco-tree .monaco-tree-row:hover{background:transparent!important;border:1px solid highlight;box-sizing:border-box}.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar,.monaco-editor.vs .monaco-scrollable-element>.scrollbar{-ms-high-contrast-adjust:none;background:background!important;border:1px solid windowtext;box-sizing:border-box}.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar>.slider,.monaco-editor.vs .monaco-scrollable-element>.scrollbar>.slider{background:windowtext!important}.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar>.slider.active,.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar>.slider:hover,.monaco-editor.vs .monaco-scrollable-element>.scrollbar>.slider.active,.monaco-editor.vs .monaco-scrollable-element>.scrollbar>.slider:hover{background:highlight!important}.monaco-editor.vs-dark .decorationsOverviewRuler,.monaco-editor.vs .decorationsOverviewRuler{opacity:0}.monaco-editor.vs-dark .minimap,.monaco-editor.vs .minimap{display:none}.monaco-editor.vs-dark .squiggly-d-error,.monaco-editor.vs .squiggly-d-error{background:transparent!important;border-bottom:4px double #e47777}.monaco-editor.vs-dark .squiggly-b-info,.monaco-editor.vs-dark .squiggly-c-warning,.monaco-editor.vs .squiggly-b-info,.monaco-editor.vs .squiggly-c-warning{border-bottom:4px double #71b771}.monaco-editor.vs-dark .squiggly-a-hint,.monaco-editor.vs .squiggly-a-hint{border-bottom:4px double #6c6c6c}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{-ms-high-contrast-adjust:none;color:highlighttext!important;background-color:highlight!important}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label,.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label{-ms-high-contrast-adjust:none;background:transparent!important;border:1px solid highlight;box-sizing:border-box}.monaco-diff-editor.vs-dark .diffOverviewRuler,.monaco-diff-editor.vs .diffOverviewRuler{display:none}.monaco-editor.vs-dark .line-delete,.monaco-editor.vs-dark .line-insert,.monaco-editor.vs .line-delete,.monaco-editor.vs .line-insert{background:transparent!important;border:1px solid highlight!important;box-sizing:border-box}.monaco-editor.vs-dark .char-delete,.monaco-editor.vs-dark .char-insert,.monaco-editor.vs .char-delete,.monaco-editor.vs .char-insert{background:transparent!important}}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:hsla(0,0%,100%,.01)}.monaco-diff-editor .diffViewport{box-shadow:inset 0 0 1px 0 #b9b9b9;background:rgba(0,0,0,.1)}.monaco-diff-editor.hc-black .diffViewport,.monaco-diff-editor.vs-dark .diffViewport{background:hsla(0,0%,100%,.1)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:hsla(0,0%,67.1%,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{background-size:60%;opacity:.7;background-repeat:no-repeat;background-position:50% 50%}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign{opacity:1}.monaco-diff-editor .insert-sign,.monaco-editor .insert-sign{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTcgM2gzdjExSDd6Ii8+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTMgN2gxMXYzSDN6Ii8+PC9zdmc+")}.monaco-diff-editor .delete-sign,.monaco-editor .delete-sign{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTMgN2gxMXYzSDN6Ii8+PC9zdmc+")}.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.vs-dark .insert-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.vs-dark .insert-sign{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTcgM2gzdjExSDd6Ii8+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTMgN2gxMXYzSDN6Ii8+PC9zdmc+")}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.vs-dark .delete-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.vs-dark .delete-sign{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0M1QzVDNSIgZD0iTTMgN2gxMXYzSDN6Ii8+PC9zdmc+")}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .diagonal-fill{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAChJREFUKFNjOH/+fAMDDgCSu3Dhwn9c8gwwBTgNGR4KQP4HhQOhsAIAZCBTkhtqePcAAAAASUVORK5CYII=")}.monaco-editor.vs-dark .diagonal-fill{opacity:.2}.monaco-editor.hc-black .diagonal-fill{background:none}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block}.monaco-diff-editor .diff-review{position:absolute;-webkit-user-select:none;-ms-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-cell{display:table-cell}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .action-label.icon.close-diff-review{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2Ij48cGF0aCBmaWxsPSIjNDI0MjQyIiBkPSJNMTIuNTk3IDExLjA0MmwyLjgwMyAyLjgwMy0xLjU1NiAxLjU1NS0yLjgwMi0yLjgwMkw4LjIzOSAxNS40bC0xLjU1Ni0xLjU1NSAyLjgwMi0yLjgwMy0yLjgwMi0yLjgwMyAxLjU1NS0xLjU1NiAyLjgwNCAyLjgwMyAyLjgwMy0yLjgwM0wxNS40IDguMjM5eiIvPjwvc3ZnPg==") 50% no-repeat}.monaco-diff-editor.hc-black .action-label.icon.close-diff-review,.monaco-diff-editor.vs-dark .action-label.icon.close-diff-review{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMyAzIDE2IDE2Ij48cGF0aCBmaWxsPSIjZThlOGU4IiBkPSJNMTIuNTk3IDExLjA0MmwyLjgwMyAyLjgwMy0xLjU1NiAxLjU1NS0yLjgwMi0yLjgwMkw4LjIzOSAxNS40bC0xLjU1Ni0xLjU1NSAyLjgwMi0yLjgwMy0yLjgwMi0yLjgwMyAxLjU1NS0xLjU1NiAyLjgwNCAyLjgwMyAyLjgwMy0yLjgwM0wxNS40IDguMjM5eiIvPjwvc3ZnPg==") 50% no-repeat}.context-view .monaco-menu{min-width:130px}.monaco-menu .monaco-action-bar.vertical{margin-left:0;overflow:visible}.monaco-menu .monaco-action-bar.vertical .actions-container{display:block}.monaco-menu .monaco-action-bar.vertical .action-item{padding:0;display:-ms-flexbox;display:flex}.monaco-menu .monaco-action-bar.vertical .action-item,.monaco-menu .monaco-action-bar.vertical .action-item.active{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none}.monaco-menu .monaco-action-bar.vertical .action-item.focused{background-color:#e4e4e4}.monaco-menu .monaco-action-bar.vertical .action-menu-item{-ms-flex:1 1 auto;flex:1 1 auto;display:-ms-flexbox;display:flex;height:2em;align-items:center}.monaco-menu .monaco-action-bar.vertical .action-label{-ms-flex:1 1 auto;flex:1 1 auto;text-decoration:none;padding:0 1em;background:none;font-size:12px;line-height:1}.monaco-menu .monaco-action-bar.vertical .keybinding,.monaco-menu .monaco-action-bar.vertical .submenu-indicator{display:inline-block;-ms-flex:2 1 auto;flex:2 1 auto;padding:0 1em;text-align:right;font-size:12px;line-height:1}.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator{opacity:.4}.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator){display:inline-block;-webkit-box-sizing:border-box;-o-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;margin:0}.monaco-menu .monaco-action-bar.vertical .action-label.separator{padding:.5em 0 0;margin-bottom:.5em;width:100%}.monaco-menu .monaco-action-bar.vertical .action-label.separator.text{padding:.7em 1em .1em;font-weight:700;opacity:1}.monaco-menu .monaco-action-bar.vertical .action-label:hover{color:inherit}.monaco-menu .monaco-action-bar.vertical .action-label.checked:after{content:" \2713"}.context-view.monaco-menu-container{font-family:Segoe WPC,Segoe UI,\.SFNSDisplay-Light,SFUIText-Light,HelveticaNeue-Light,sans-serif,Droid Sans Fallback;outline:0;box-shadow:0 2px 8px #a8a8a8;border:none;color:#646465;background-color:#fff;-webkit-animation:fadeIn 83ms linear;-o-animation:fadeIn 83ms linear;-moz-animation:fadeIn 83ms linear;-ms-animation:fadeIn 83ms linear;animation:fadeIn 83ms linear}.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,.context-view.monaco-menu-container .monaco-action-bar.vertical :focus,.context-view.monaco-menu-container :focus{outline:0}.monaco-menu .monaco-action-bar.vertical .action-item{border:1px solid transparent}.vs-dark .monaco-menu .monaco-action-bar.vertical .action-item.focused{background-color:#4b4c4d}.vs-dark .context-view.monaco-menu-container{box-shadow:0 2px 8px #000;color:#bbb;background-color:#2d2f31}.hc-black .context-view.monaco-menu-container{border:2px solid #6fc3df;color:#fff;background-color:#0c141f;box-shadow:none}.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused{background:none;border:1px dotted #f38518}#blockly-container{display:flex;flex-direction:row}#blockly-area{flex-grow:1}#blockly-output{width:250px;height:100%;background-color:#1e1e1e}#blockly{position:absolute}#blockly .blocklySvg{background-color:#1e1e1e}#blockly .blocklyMainBackground{stroke-width:0}#blockly .blocklyToolboxDiv{background-color:#222}#blockly .blocklyFlyoutBackground{fill:#222;fill-opacity:1}#blockly .blocklyTreeRow:not(.blocklyTreeSelected):hover{background-color:#333}#blockly .blocklyTreeSeparator{border-bottom-color:#333;border-left-color:#333!important}#blockly .blocklyScrollbarHandle{fill:#333}.sidebar{width:250px;background-color:#222;position:relative}.sidebar::-webkit-scrollbar{width:10px}.sidebar::-webkit-scrollbar-track{background-color:#222}.sidebar::-webkit-scrollbar-thumb{background-color:#333}.sidebar::-webkit-scrollbar-thumb:hover{background-color:#444}.sidebar.hidden{width:0}.sidebar.hidden>div:first-child{overflow-x:hidden;display:none}.sidebar .hide-button{position:absolute;bottom:5px;z-index:1000}.sidebar:not(.right) .hide-button{right:-35px}.sidebar.right .hide-button{left:-30px}.file,.header{height:35px;padding:0 0 0 10px;font-size:13px;display:flex;align-items:center;user-select:none}.file span,.header span{flex-grow:1;padding-right:10px}.file{cursor:pointer}.file .icon-button{opacity:0}.file i{width:16px;height:16px;margin-right:10px;background-size:contain;background-repeat:no-repeat}.file i[class$=".py"]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='110.421' height='109.846' version='1'%3E%3Cdefs%3E%3ClinearGradient id='a'%3E%3Cstop offset='0' stop-color='%23ffe052'/%3E%3Cstop offset='1' stop-color='%23ffc331'/%3E%3C/linearGradient%3E%3ClinearGradient gradientUnits='userSpaceOnUse' y2='168.101' x2='147.777' y1='111.921' x1='89.137' id='d' xlink:href='%23a'/%3E%3ClinearGradient id='b'%3E%3Cstop offset='0' stop-color='%23387eb8'/%3E%3Cstop offset='1' stop-color='%23366994'/%3E%3C/linearGradient%3E%3ClinearGradient gradientUnits='userSpaceOnUse' y2='131.853' x2='110.149' y1='77.07' x1='55.549' id='c' xlink:href='%23b'/%3E%3C/defs%3E%3Cg color='%23000'%3E%3Cpath style='marker:none' d='M99.75 67.469c-28.032 0-26.281 12.156-26.281 12.156l.031 12.594h26.75V96H62.875s-17.938-2.034-17.938 26.25 15.657 27.281 15.657 27.281h9.343v-13.125s-.503-15.656 15.407-15.656h26.531s14.906.241 14.906-14.406V82.125s2.263-14.656-27.031-14.656zM85 75.938a4.808 4.808 0 014.813 4.812A4.808 4.808 0 0185 85.563a4.808 4.808 0 01-4.813-4.813A4.808 4.808 0 0185 75.937z' fill='url(%23c)' overflow='visible' transform='translate(-44.938 -67.469)'/%3E%3Cpath d='M100.546 177.315c28.032 0 26.281-12.156 26.281-12.156l-.03-12.594h-26.75v-3.781h37.374s17.938 2.034 17.938-26.25c0-28.285-15.657-27.282-15.657-27.282h-9.343v13.125s.503 15.657-15.407 15.657h-26.53s-14.907-.241-14.907 14.406v24.219s-2.263 14.656 27.031 14.656zm14.75-8.469a4.808 4.808 0 01-4.812-4.812 4.808 4.808 0 014.812-4.813 4.808 4.808 0 014.813 4.813 4.808 4.808 0 01-4.813 4.812z' style='marker:none' fill='url(%23d)' overflow='visible' transform='translate(-44.938 -67.469)'/%3E%3C/g%3E%3C/svg%3E")}.file i[class$=".xml"]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='139.56' height='140.93'%3E%3Cpath d='M69.78 0L34.64 20.5 69.78 41l35.14-20.5z' fill='%23006ad5'/%3E%3Cpath d='M34.89 20.07l-.18 40.68 35.32 20.18.19-40.68z' fill='%23007fff'/%3E%3Cpath d='M104.67 20.07L69.35 40.25l.18 40.68 35.33-20.18z' fill='%230059b2'/%3E%3Cpath d='M35.14 60L0 80.5 35.14 101l35.14-20.5z' fill='%23b40000'/%3E%3Cpath d='M104.42 60L69.28 80.5l35.14 20.5 35.14-20.5z' fill='%2300bb28'/%3E%3Cpath d='M.25 80.07l-.18 40.68 35.32 20.18.18-40.68z' fill='%23df0000'/%3E%3Cpath d='M70.03 80.07l-35.32 20.18.18 40.68 35.33-20.18z' fill='%238c0000'/%3E%3Cpath d='M69.53 80.07l-.18 40.68 35.32 20.18.19-40.68z' fill='%2300e82e'/%3E%3Cpath d='M139.31 80.07l-35.32 20.18.18 40.68 35.33-20.18z' fill='%23008c20'/%3E%3C/svg%3E")}.file i[class$=".json"]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' fill='%23aaa'%3E%3Cpath d='M234.8 511.7L196 500.4c-4.2-1.2-6.7-5.7-5.5-9.9L331.3 5.8c1.2-4.2 5.7-6.7 9.9-5.5L380 11.6c4.2 1.2 6.7 5.7 5.5 9.9L244.7 506.2c-1.2 4.3-5.6 6.7-9.9 5.5zm-83.2-121.1l27.2-29c3.1-3.3 2.8-8.5-.5-11.5L72.2 256l106.1-94.1c3.4-3 3.6-8.2.5-11.5l-27.2-29c-3-3.2-8.1-3.4-11.3-.4L2.5 250.2c-3.4 3.2-3.4 8.5 0 11.7L140.3 391c3.2 3 8.2 2.8 11.3-.4zm284.1.4l137.7-129.1c3.4-3.2 3.4-8.5 0-11.7L435.7 121c-3.2-3-8.3-2.9-11.3.4l-27.2 29c-3.1 3.3-2.8 8.5.5 11.5L503.8 256l-106.1 94.1c-3.4 3-3.6 8.2-.5 11.5l27.2 29c3.1 3.2 8.1 3.4 11.3.4z'/%3E%3C/svg%3E")}.file span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-lines:1}.file:hover{color:#bbb}.file:hover .icon-button{opacity:1}.file.tab{width:120px;min-width:fit-content;border-bottom:1px solid transparent}.file.tab .close{opacity:0}.file.tab .close.unsaved{opacity:1;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' style='isolation:isolate' width='16' height='16'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath d='M0 0h16v16H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23a)' transform='matrix(.7695 0 0 .78305 1.844 1.736)'%3E%3Ccircle r='1' transform='matrix(5 0 0 5 8 8)' vector-effect='non-scaling-stroke' fill='%23ebebeb'/%3E%3C/g%3E%3C/svg%3E")}.file.tab:hover{border-bottom-color:#777}.file.tab:hover .close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.428 8L12 10.573 10.572 12 8 9.428 5.428 12 4 10.573 6.572 8 4 5.428 5.427 4 8 6.572 10.573 4 12 5.428 9.428 8z' fill='%23E8E8E8'/%3E%3C/svg%3E")}.file.tab.active{color:#ddd;border-bottom-color:#ddd}.file.tab.active .close,.file.tab:hover .close{opacity:1}.file:not(.tab):hover{background-color:#333}#logs{height:100%}#logs #logs-wrapper{overflow-y:scroll}#logs #logs-wrapper::-webkit-scrollbar{width:10px}#logs #logs-wrapper::-webkit-scrollbar-track{background-color:#222}#logs #logs-wrapper::-webkit-scrollbar-thumb{background-color:#333}#logs #logs-wrapper::-webkit-scrollbar-thumb:hover{background-color:#444}#logs #wrapper{display:flex;flex-direction:column;height:calc(100% - 35px)}#logs .run-button path{fill:#5ba55b}#logs .stop-button path{fill:#a55b5b}#logs .run-config-button{fill:#fff}#camera-preview{width:100%;height:min-content;max-height:40%;background-size:contain;background-repeat:no-repeat;background-position:50%}#camera-preview #camera-image{width:fit-content;position:relative}#camera-preview #camera-image,#camera-preview #camera-image img{height:100%;display:block;margin:0 auto}#expand-image{position:absolute;bottom:calc(3px + .2em);left:.2em;opacity:0;pointer-events:none}#camera-preview:hover #expand-image{opacity:.75;pointer-events:all}#expand-image-button path{fill:#fff}.inverted-icon-button{width:26px;height:26px;border-radius:13px;margin-right:5px;display:flex;align-items:center;justify-content:center;background-color:#222;transition:background-color .1s ease-in-out}.inverted-icon-button:hover{background-color:#333}.inverted-icon-button:active{background-color:#444}.inverted-icon-button.disabled{pointer-events:none;cursor:not-allowed;opacity:.5}#log-text{padding:10px;white-space:pre-wrap}.dialog-container{position:fixed;z-index:1001;top:0;left:0;bottom:0;right:0;background-color:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center}.dialog-container .dialog{width:300px;background-color:#1e1e1e;padding:16px}.dialog-container .dialog .title{font-size:16px;font-weight:700}.dialog-container .dialog .content{padding:16px 0}.dialog-container .dialog .content h2{font-size:15px}.dialog-container .dialog .content p{font-size:13px;color:#777}.dialog-container .dialog .actions{text-align:right}.create-dialog .row{display:flex;align-items:center}.create-dialog .row:not(:last-child){margin-bottom:16px}.create-dialog .row i{margin:0 12px;padding:8px;width:16px;height:16px;background-size:contain;background-repeat:no-repeat}.create-dialog .row i.python{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='110.421' height='109.846' version='1'%3E%3Cdefs%3E%3ClinearGradient id='a'%3E%3Cstop offset='0' stop-color='%23ffe052'/%3E%3Cstop offset='1' stop-color='%23ffc331'/%3E%3C/linearGradient%3E%3ClinearGradient gradientUnits='userSpaceOnUse' y2='168.101' x2='147.777' y1='111.921' x1='89.137' id='d' xlink:href='%23a'/%3E%3ClinearGradient id='b'%3E%3Cstop offset='0' stop-color='%23387eb8'/%3E%3Cstop offset='1' stop-color='%23366994'/%3E%3C/linearGradient%3E%3ClinearGradient gradientUnits='userSpaceOnUse' y2='131.853' x2='110.149' y1='77.07' x1='55.549' id='c' xlink:href='%23b'/%3E%3C/defs%3E%3Cg color='%23000'%3E%3Cpath style='marker:none' d='M99.75 67.469c-28.032 0-26.281 12.156-26.281 12.156l.031 12.594h26.75V96H62.875s-17.938-2.034-17.938 26.25 15.657 27.281 15.657 27.281h9.343v-13.125s-.503-15.656 15.407-15.656h26.531s14.906.241 14.906-14.406V82.125s2.263-14.656-27.031-14.656zM85 75.938a4.808 4.808 0 014.813 4.812A4.808 4.808 0 0185 85.563a4.808 4.808 0 01-4.813-4.813A4.808 4.808 0 0185 75.937z' fill='url(%23c)' overflow='visible' transform='translate(-44.938 -67.469)'/%3E%3Cpath d='M100.546 177.315c28.032 0 26.281-12.156 26.281-12.156l-.03-12.594h-26.75v-3.781h37.374s17.938 2.034 17.938-26.25c0-28.285-15.657-27.282-15.657-27.282h-9.343v13.125s.503 15.657-15.407 15.657h-26.53s-14.907-.241-14.907 14.406v24.219s-2.263 14.656 27.031 14.656zm14.75-8.469a4.808 4.808 0 01-4.812-4.812 4.808 4.808 0 014.812-4.813 4.808 4.808 0 014.813 4.813 4.808 4.808 0 01-4.813 4.812z' style='marker:none' fill='url(%23d)' overflow='visible' transform='translate(-44.938 -67.469)'/%3E%3C/g%3E%3C/svg%3E")}.create-dialog .row i.blockly{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='139.56' height='140.93'%3E%3Cpath d='M69.78 0L34.64 20.5 69.78 41l35.14-20.5z' fill='%23006ad5'/%3E%3Cpath d='M34.89 20.07l-.18 40.68 35.32 20.18.19-40.68z' fill='%23007fff'/%3E%3Cpath d='M104.67 20.07L69.35 40.25l.18 40.68 35.33-20.18z' fill='%230059b2'/%3E%3Cpath d='M35.14 60L0 80.5 35.14 101l35.14-20.5z' fill='%23b40000'/%3E%3Cpath d='M104.42 60L69.28 80.5l35.14 20.5 35.14-20.5z' fill='%2300bb28'/%3E%3Cpath d='M.25 80.07l-.18 40.68 35.32 20.18.18-40.68z' fill='%23df0000'/%3E%3Cpath d='M70.03 80.07l-35.32 20.18.18 40.68 35.33-20.18z' fill='%238c0000'/%3E%3Cpath d='M69.53 80.07l-.18 40.68 35.32 20.18.19-40.68z' fill='%2300e82e'/%3E%3Cpath d='M139.31 80.07l-35.32 20.18.18 40.68 35.33-20.18z' fill='%23008c20'/%3E%3C/svg%3E")}.create-dialog .row .info{flex-grow:1}.picture-dialog{position:fixed;z-index:1001;top:0;left:0;bottom:0;right:0;background-color:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center}.picture-dialog .dialog{background-color:#1e1e1e;padding:16px;max-width:100vw;max-height:100vh;display:flex;flex-direction:column;overflow:auto}.picture-dialog .dialog img{max-width:80vw;max-height:80vh;width:auto;height:auto;display:block}.picture-dialog .dialog .actions{text-align:right;margin-top:.5em}fieldset{border:1px solid #aaa;padding:.5em}fieldset legend{padding:0 .25em} \ No newline at end of file diff --git a/shepherd/blueprints/upload/__init__.py b/shepherd/blueprints/upload/__init__.py deleted file mode 100644 index 145d0ea..0000000 --- a/shepherd/blueprints/upload/__init__.py +++ /dev/null @@ -1,91 +0,0 @@ -# encoding: utf-8 - - - -import errno -import os -import shutil -import tempfile -import zipfile - -from flask import Blueprint, render_template, flash, redirect, url_for, request, abort, current_app - -from shepherd.blueprints import run # FIXME: this coupling is horrific - -blueprint = Blueprint("upload", __name__, template_folder="templates") - -@blueprint.route("/") -def index(): - return render_template("upload/index.html", last_upload_time=None) - - -@blueprint.route("/upload", methods=["POST"]) -def upload(): - try: - file = request.files["uploaded_file"] - except KeyError: - abort(400) - if file.filename != "": - err = process_uploaded_file(file) - if err: - return f"{err}", 400 - else: - run.send("upload") - return "", 204 - -@blueprint.route("/upload-image", methods=["POST"]) -def upload_image(): - if request.content_type != "image/jpeg": - print("team logo image was not image/jpeg!") - abort(400); - - image_bytes = request.data - - with open(current_app.config["SHEEP_TEAM_LOGO_PATH"], "wb") as f: - f.write(image_bytes) - - print("team logo image uploaded successfully") - - return "", 204 - -def chown_usercode(): - for root, dirs, files in os.walk(current_app.config["SHEPHERD_USER_CODE_PATH"]): - os.chown(root, 1000, 1000) - for name in dirs + files: - os.chown(os.path.join(root, name), 1000, 1000) - -def process_uploaded_file(file): - if file.mimetype.startswith("text") or file.filename.endswith(".py"): - # Probably a plain Python file. - tempdir = tempfile.mkdtemp(prefix="shepherd-user-code-") - file.save(os.path.join(tempdir, current_app.config["SHEPHERD_USER_CODE_ENTRYPOINT_NAME"])) - shutil.rmtree(current_app.config["SHEPHERD_USER_CODE_PATH"]) - shutil.move(tempdir, current_app.config["SHEPHERD_USER_CODE_PATH"]) - chown_usercode() - return None - elif ("zip" in file.mimetype or file.filename.endswith(".zip")) and zipfile.is_zipfile(file): - # Hopefully a zip file. - tempdir = tempfile.mkdtemp(prefix="shepherd-user-code-") - try: - with zipfile.ZipFile(file, "r") as zip: - zip.extractall(tempdir) - except zipfile.BadZipfile: - shutil.rmtree(tempdir) - return "Your file looked like a zip file, but it isn't actually a valid zip file!" - # Check that there's an entrypoint. - try: - with open(os.path.join(tempdir, current_app.config["SHEPHERD_USER_CODE_ENTRYPOINT_NAME"]), "r"): - pass - except IOError as e: - shutil.rmtree(tempdir) - if e.errno in (errno.ENOENT, errno.EISDIR): - return "Your file is a zip file, but it doesn't include a main.py file!" - else: - errorcode = errno.errorcode[e.errno] - return "Your file is a zip file, but something went wrong after extracting it! (error: {})".format(errorcode) - shutil.rmtree(current_app.config["SHEPHERD_USER_CODE_PATH"]) - shutil.move(tempdir, current_app.config["SHEPHERD_USER_CODE_PATH"]) - chown_usercode() - return None - else: - return "Your file doesn't look like valid code. Make sure the extension is correct." diff --git a/shepherd/blueprints/upload/templates/upload/index.html b/shepherd/blueprints/upload/templates/upload/index.html deleted file mode 100644 index a2888ff..0000000 --- a/shepherd/blueprints/upload/templates/upload/index.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends "page.html" %} -{% set title = "Upload" %} -{% block body %} -{{ super() }} -

    Upload

    -

    You can upload code to your robot on this page and run it from this page.

    -

    Acceptable code formats:

    -
      -
    • A single Python 2 source file
    • -
    • A zip file containing one or more Python 2 source files (the entry point must be named main.py, and be at the root of the archive)
    • -
    -
    -

    -

    -
    -{% if last_upload_time is not none %} -

    Your last code upload was at approximately {{ last_upload_time.strftime("%c") }}.

    -{% endif %} -{% endblock %} diff --git a/shepherd/static/fonts/Ubuntu/UFL.txt b/shepherd/static/fonts/Ubuntu/UFL.txt deleted file mode 100644 index 6e722c8..0000000 --- a/shepherd/static/fonts/Ubuntu/UFL.txt +++ /dev/null @@ -1,96 +0,0 @@ -------------------------------- -UBUNTU FONT LICENCE Version 1.0 -------------------------------- - -PREAMBLE -This licence allows the licensed fonts to be used, studied, modified and -redistributed freely. The fonts, including any derivative works, can be -bundled, embedded, and redistributed provided the terms of this licence -are met. The fonts and derivatives, however, cannot be released under -any other licence. The requirement for fonts to remain under this -licence does not require any document created using the fonts or their -derivatives to be published under this licence, as long as the primary -purpose of the document is not to be a vehicle for the distribution of -the fonts. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this licence and clearly marked as such. This may -include source files, build scripts and documentation. - -"Original Version" refers to the collection of Font Software components -as received under this licence. - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to -a new environment. - -"Copyright Holder(s)" refers to all individuals and companies who have a -copyright ownership of the Font Software. - -"Substantially Changed" refers to Modified Versions which can be easily -identified as dissimilar to the Font Software by users of the Font -Software comparing the Original Version with the Modified Version. - -To "Propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification and with or without charging -a redistribution fee), making available to the public, and in some -countries other activities as well. - -PERMISSION & CONDITIONS -This licence does not grant any rights under trademark law and all such -rights are reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of the Font Software, to propagate the Font Software, subject to -the below conditions: - -1) Each copy of the Font Software must contain the above copyright -notice and this licence. These can be included either as stand-alone -text files, human-readable headers or in the appropriate machine- -readable metadata fields within text or binary files as long as those -fields can be easily viewed by the user. - -2) The font name complies with the following: -(a) The Original Version must retain its name, unmodified. -(b) Modified Versions which are Substantially Changed must be renamed to -avoid use of the name of the Original Version or similar names entirely. -(c) Modified Versions which are not Substantially Changed must be -renamed to both (i) retain the name of the Original Version and (ii) add -additional naming elements to distinguish the Modified Version from the -Original Version. The name of such Modified Versions must be the name of -the Original Version, with "derivative X" where X represents the name of -the new work, appended to that name. - -3) The name(s) of the Copyright Holder(s) and any contributor to the -Font Software shall not be used to promote, endorse or advertise any -Modified Version, except (i) as required by this licence, (ii) to -acknowledge the contribution(s) of the Copyright Holder(s) or (iii) with -their explicit written permission. - -4) The Font Software, modified or unmodified, in part or in whole, must -be distributed entirely under this licence, and must not be distributed -under any other licence. The requirement for fonts to remain under this -licence does not affect any document created using the Font Software, -except any version of the Font Software extracted from a document -created using the Font Software may only be distributed under this -licence. - -TERMINATION -This licence becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER -DEALINGS IN THE FONT SOFTWARE. diff --git a/shepherd/static/fonts/Ubuntu/Ubuntu-Bold.ttf b/shepherd/static/fonts/Ubuntu/Ubuntu-Bold.ttf deleted file mode 100644 index 7b85515..0000000 Binary files a/shepherd/static/fonts/Ubuntu/Ubuntu-Bold.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu/Ubuntu-BoldItalic.ttf b/shepherd/static/fonts/Ubuntu/Ubuntu-BoldItalic.ttf deleted file mode 100644 index 7db9e20..0000000 Binary files a/shepherd/static/fonts/Ubuntu/Ubuntu-BoldItalic.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu/Ubuntu-Italic.ttf b/shepherd/static/fonts/Ubuntu/Ubuntu-Italic.ttf deleted file mode 100644 index 9621a39..0000000 Binary files a/shepherd/static/fonts/Ubuntu/Ubuntu-Italic.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu/Ubuntu-Light.ttf b/shepherd/static/fonts/Ubuntu/Ubuntu-Light.ttf deleted file mode 100644 index 6a84adc..0000000 Binary files a/shepherd/static/fonts/Ubuntu/Ubuntu-Light.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu/Ubuntu-LightItalic.ttf b/shepherd/static/fonts/Ubuntu/Ubuntu-LightItalic.ttf deleted file mode 100644 index 0295cbb..0000000 Binary files a/shepherd/static/fonts/Ubuntu/Ubuntu-LightItalic.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu/Ubuntu-Medium.ttf b/shepherd/static/fonts/Ubuntu/Ubuntu-Medium.ttf deleted file mode 100644 index c6f048e..0000000 Binary files a/shepherd/static/fonts/Ubuntu/Ubuntu-Medium.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu/Ubuntu-MediumItalic.ttf b/shepherd/static/fonts/Ubuntu/Ubuntu-MediumItalic.ttf deleted file mode 100644 index 5fe5c50..0000000 Binary files a/shepherd/static/fonts/Ubuntu/Ubuntu-MediumItalic.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu/Ubuntu-Regular.ttf b/shepherd/static/fonts/Ubuntu/Ubuntu-Regular.ttf deleted file mode 100644 index 2001d6e..0000000 Binary files a/shepherd/static/fonts/Ubuntu/Ubuntu-Regular.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu_Mono/UFL.txt b/shepherd/static/fonts/Ubuntu_Mono/UFL.txt deleted file mode 100644 index 6e722c8..0000000 --- a/shepherd/static/fonts/Ubuntu_Mono/UFL.txt +++ /dev/null @@ -1,96 +0,0 @@ -------------------------------- -UBUNTU FONT LICENCE Version 1.0 -------------------------------- - -PREAMBLE -This licence allows the licensed fonts to be used, studied, modified and -redistributed freely. The fonts, including any derivative works, can be -bundled, embedded, and redistributed provided the terms of this licence -are met. The fonts and derivatives, however, cannot be released under -any other licence. The requirement for fonts to remain under this -licence does not require any document created using the fonts or their -derivatives to be published under this licence, as long as the primary -purpose of the document is not to be a vehicle for the distribution of -the fonts. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this licence and clearly marked as such. This may -include source files, build scripts and documentation. - -"Original Version" refers to the collection of Font Software components -as received under this licence. - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to -a new environment. - -"Copyright Holder(s)" refers to all individuals and companies who have a -copyright ownership of the Font Software. - -"Substantially Changed" refers to Modified Versions which can be easily -identified as dissimilar to the Font Software by users of the Font -Software comparing the Original Version with the Modified Version. - -To "Propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification and with or without charging -a redistribution fee), making available to the public, and in some -countries other activities as well. - -PERMISSION & CONDITIONS -This licence does not grant any rights under trademark law and all such -rights are reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of the Font Software, to propagate the Font Software, subject to -the below conditions: - -1) Each copy of the Font Software must contain the above copyright -notice and this licence. These can be included either as stand-alone -text files, human-readable headers or in the appropriate machine- -readable metadata fields within text or binary files as long as those -fields can be easily viewed by the user. - -2) The font name complies with the following: -(a) The Original Version must retain its name, unmodified. -(b) Modified Versions which are Substantially Changed must be renamed to -avoid use of the name of the Original Version or similar names entirely. -(c) Modified Versions which are not Substantially Changed must be -renamed to both (i) retain the name of the Original Version and (ii) add -additional naming elements to distinguish the Modified Version from the -Original Version. The name of such Modified Versions must be the name of -the Original Version, with "derivative X" where X represents the name of -the new work, appended to that name. - -3) The name(s) of the Copyright Holder(s) and any contributor to the -Font Software shall not be used to promote, endorse or advertise any -Modified Version, except (i) as required by this licence, (ii) to -acknowledge the contribution(s) of the Copyright Holder(s) or (iii) with -their explicit written permission. - -4) The Font Software, modified or unmodified, in part or in whole, must -be distributed entirely under this licence, and must not be distributed -under any other licence. The requirement for fonts to remain under this -licence does not affect any document created using the Font Software, -except any version of the Font Software extracted from a document -created using the Font Software may only be distributed under this -licence. - -TERMINATION -This licence becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER -DEALINGS IN THE FONT SOFTWARE. diff --git a/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-Bold.ttf b/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-Bold.ttf deleted file mode 100644 index 7bd6665..0000000 Binary files a/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-Bold.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-BoldItalic.ttf b/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-BoldItalic.ttf deleted file mode 100644 index 6c5b8ba..0000000 Binary files a/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-BoldItalic.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-Italic.ttf b/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-Italic.ttf deleted file mode 100644 index 18f81a2..0000000 Binary files a/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-Italic.ttf and /dev/null differ diff --git a/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-Regular.ttf b/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-Regular.ttf deleted file mode 100644 index fdd309d..0000000 Binary files a/shepherd/static/fonts/Ubuntu_Mono/UbuntuMono-Regular.ttf and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-Black.woff b/shepherd/static/fonts/inter-ui/Inter-UI-Black.woff deleted file mode 100644 index a47ecec..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-Black.woff and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-Black.woff2 b/shepherd/static/fonts/inter-ui/Inter-UI-Black.woff2 deleted file mode 100644 index 16fae35..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-Black.woff2 and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-BlackItalic.woff b/shepherd/static/fonts/inter-ui/Inter-UI-BlackItalic.woff deleted file mode 100644 index 6a41f2d..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-BlackItalic.woff and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-BlackItalic.woff2 b/shepherd/static/fonts/inter-ui/Inter-UI-BlackItalic.woff2 deleted file mode 100644 index a6cbeeb..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-BlackItalic.woff2 and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-Bold.woff b/shepherd/static/fonts/inter-ui/Inter-UI-Bold.woff deleted file mode 100644 index 510a43c..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-Bold.woff and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-Bold.woff2 b/shepherd/static/fonts/inter-ui/Inter-UI-Bold.woff2 deleted file mode 100644 index eccf3e3..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-Bold.woff2 and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-BoldItalic.woff b/shepherd/static/fonts/inter-ui/Inter-UI-BoldItalic.woff deleted file mode 100644 index 8fdaa83..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-BoldItalic.woff and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-BoldItalic.woff2 b/shepherd/static/fonts/inter-ui/Inter-UI-BoldItalic.woff2 deleted file mode 100644 index afa60cd..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-BoldItalic.woff2 and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-Italic.woff b/shepherd/static/fonts/inter-ui/Inter-UI-Italic.woff deleted file mode 100644 index 1ae1333..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-Italic.woff and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-Italic.woff2 b/shepherd/static/fonts/inter-ui/Inter-UI-Italic.woff2 deleted file mode 100644 index 577336a..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-Italic.woff2 and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-Medium.woff b/shepherd/static/fonts/inter-ui/Inter-UI-Medium.woff deleted file mode 100644 index 1342828..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-Medium.woff and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-Medium.woff2 b/shepherd/static/fonts/inter-ui/Inter-UI-Medium.woff2 deleted file mode 100644 index cadd106..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-Medium.woff2 and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-MediumItalic.woff b/shepherd/static/fonts/inter-ui/Inter-UI-MediumItalic.woff deleted file mode 100644 index b5da065..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-MediumItalic.woff and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-MediumItalic.woff2 b/shepherd/static/fonts/inter-ui/Inter-UI-MediumItalic.woff2 deleted file mode 100644 index e9807c0..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-MediumItalic.woff2 and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-Regular.woff b/shepherd/static/fonts/inter-ui/Inter-UI-Regular.woff deleted file mode 100644 index b2c2184..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-Regular.woff and /dev/null differ diff --git a/shepherd/static/fonts/inter-ui/Inter-UI-Regular.woff2 b/shepherd/static/fonts/inter-ui/Inter-UI-Regular.woff2 deleted file mode 100644 index 3fa36be..0000000 Binary files a/shepherd/static/fonts/inter-ui/Inter-UI-Regular.woff2 and /dev/null differ diff --git a/shepherd/static/footer.png b/shepherd/static/footer.png deleted file mode 100755 index 98f1e14..0000000 Binary files a/shepherd/static/footer.png and /dev/null differ diff --git a/shepherd/static/footer.svg b/shepherd/static/footer.svg deleted file mode 100644 index b58fa36..0000000 --- a/shepherd/static/footer.svg +++ /dev/null @@ -1,788 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/shepherd/static/footer_gamename.svg b/shepherd/static/footer_gamename.svg deleted file mode 100644 index ac8b6cb..0000000 --- a/shepherd/static/footer_gamename.svg +++ /dev/null @@ -1,800 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - Gifts For The Wisard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/shepherd/static/hello-world.png b/shepherd/static/hello-world.png deleted file mode 100644 index 1293037..0000000 Binary files a/shepherd/static/hello-world.png and /dev/null differ diff --git a/shepherd/static/iframeResizer.contentWindow.min.js b/shepherd/static/iframeResizer.contentWindow.min.js deleted file mode 100644 index 950935b..0000000 --- a/shepherd/static/iframeResizer.contentWindow.min.js +++ /dev/null @@ -1,10 +0,0 @@ -/*! iFrame Resizer (iframeSizer.contentWindow.min.js) - v3.5.15 - 2017-10-15 - * Desc: Include this file in any page being loaded into an iframe - * to force the iframe to resize to the content size. - * Requires: iframeResizer.min.js on host page. - * Copyright: (c) 2017 David J. Bradshaw - dave@bradshaw.net - * License: MIT - */ - -!function(a){"use strict";function b(a,b,c){"addEventListener"in window?a.addEventListener(b,c,!1):"attachEvent"in window&&a.attachEvent("on"+b,c)}function c(a,b,c){"removeEventListener"in window?a.removeEventListener(b,c,!1):"detachEvent"in window&&a.detachEvent("on"+b,c)}function d(a){return a.charAt(0).toUpperCase()+a.slice(1)}function e(a){var b,c,d,e=null,f=0,g=function(){f=Ha(),e=null,d=a.apply(b,c),e||(b=c=null)};return function(){var h=Ha();f||(f=h);var i=xa-(h-f);return b=this,c=arguments,0>=i||i>xa?(e&&(clearTimeout(e),e=null),f=h,d=a.apply(b,c),e||(b=c=null)):e||(e=setTimeout(g,i)),d}}function f(a){return ma+"["+oa+"] "+a}function g(a){la&&"object"==typeof window.console&&console.log(f(a))}function h(a){"object"==typeof window.console&&console.warn(f(a))}function i(){j(),g("Initialising iFrame ("+location.href+")"),k(),n(),m("background",W),m("padding",$),A(),s(),t(),o(),C(),u(),ia=B(),N("init","Init message from host page"),Da()}function j(){function b(a){return"true"===a?!0:!1}var c=ha.substr(na).split(":");oa=c[0],X=a!==c[1]?Number(c[1]):X,_=a!==c[2]?b(c[2]):_,la=a!==c[3]?b(c[3]):la,ja=a!==c[4]?Number(c[4]):ja,U=a!==c[6]?b(c[6]):U,Y=c[7],fa=a!==c[8]?c[8]:fa,W=c[9],$=c[10],ua=a!==c[11]?Number(c[11]):ua,ia.enable=a!==c[12]?b(c[12]):!1,qa=a!==c[13]?c[13]:qa,Aa=a!==c[14]?c[14]:Aa}function k(){function a(){var a=window.iFrameResizer;g("Reading data from page: "+JSON.stringify(a)),Ca="messageCallback"in a?a.messageCallback:Ca,Da="readyCallback"in a?a.readyCallback:Da,ta="targetOrigin"in a?a.targetOrigin:ta,fa="heightCalculationMethod"in a?a.heightCalculationMethod:fa,Aa="widthCalculationMethod"in a?a.widthCalculationMethod:Aa}function b(a,b){return"function"==typeof a&&(g("Setup custom "+b+"CalcMethod"),Fa[b]=a,a="custom"),a}"iFrameResizer"in window&&Object===window.iFrameResizer.constructor&&(a(),fa=b(fa,"height"),Aa=b(Aa,"width")),g("TargetOrigin for parent set to: "+ta)}function l(a,b){return-1!==b.indexOf("-")&&(h("Negative CSS value ignored for "+a),b=""),b}function m(b,c){a!==c&&""!==c&&"null"!==c&&(document.body.style[b]=c,g("Body "+b+' set to "'+c+'"'))}function n(){a===Y&&(Y=X+"px"),m("margin",l("margin",Y))}function o(){document.documentElement.style.height="",document.body.style.height="",g('HTML & body height set to "auto"')}function p(a){var e={add:function(c){function d(){N(a.eventName,a.eventType)}Ga[c]=d,b(window,c,d)},remove:function(a){var b=Ga[a];delete Ga[a],c(window,a,b)}};a.eventNames&&Array.prototype.map?(a.eventName=a.eventNames[0],a.eventNames.map(e[a.method])):e[a.method](a.eventName),g(d(a.method)+" event listener: "+a.eventType)}function q(a){p({method:a,eventType:"Animation Start",eventNames:["animationstart","webkitAnimationStart"]}),p({method:a,eventType:"Animation Iteration",eventNames:["animationiteration","webkitAnimationIteration"]}),p({method:a,eventType:"Animation End",eventNames:["animationend","webkitAnimationEnd"]}),p({method:a,eventType:"Input",eventName:"input"}),p({method:a,eventType:"Mouse Up",eventName:"mouseup"}),p({method:a,eventType:"Mouse Down",eventName:"mousedown"}),p({method:a,eventType:"Orientation Change",eventName:"orientationchange"}),p({method:a,eventType:"Print",eventName:["afterprint","beforeprint"]}),p({method:a,eventType:"Ready State Change",eventName:"readystatechange"}),p({method:a,eventType:"Touch Start",eventName:"touchstart"}),p({method:a,eventType:"Touch End",eventName:"touchend"}),p({method:a,eventType:"Touch Cancel",eventName:"touchcancel"}),p({method:a,eventType:"Transition Start",eventNames:["transitionstart","webkitTransitionStart","MSTransitionStart","oTransitionStart","otransitionstart"]}),p({method:a,eventType:"Transition Iteration",eventNames:["transitioniteration","webkitTransitionIteration","MSTransitionIteration","oTransitionIteration","otransitioniteration"]}),p({method:a,eventType:"Transition End",eventNames:["transitionend","webkitTransitionEnd","MSTransitionEnd","oTransitionEnd","otransitionend"]}),"child"===qa&&p({method:a,eventType:"IFrame Resized",eventName:"resize"})}function r(a,b,c,d){return b!==a&&(a in c||(h(a+" is not a valid option for "+d+"CalculationMethod."),a=b),g(d+' calculation method set to "'+a+'"')),a}function s(){fa=r(fa,ea,Ia,"height")}function t(){Aa=r(Aa,za,Ja,"width")}function u(){!0===U?(q("add"),F()):g("Auto Resize disabled")}function v(){g("Disable outgoing messages"),ra=!1}function w(){g("Remove event listener: Message"),c(window,"message",S)}function x(){null!==Z&&Z.disconnect()}function y(){q("remove"),x(),clearInterval(ka)}function z(){v(),w(),!0===U&&y()}function A(){var a=document.createElement("div");a.style.clear="both",a.style.display="block",document.body.appendChild(a)}function B(){function c(){return{x:window.pageXOffset!==a?window.pageXOffset:document.documentElement.scrollLeft,y:window.pageYOffset!==a?window.pageYOffset:document.documentElement.scrollTop}}function d(a){var b=a.getBoundingClientRect(),d=c();return{x:parseInt(b.left,10)+parseInt(d.x,10),y:parseInt(b.top,10)+parseInt(d.y,10)}}function e(b){function c(a){var b=d(a);g("Moving to in page link (#"+e+") at x: "+b.x+" y: "+b.y),R(b.y,b.x,"scrollToOffset")}var e=b.split("#")[1]||b,f=decodeURIComponent(e),h=document.getElementById(f)||document.getElementsByName(f)[0];a!==h?c(h):(g("In page link (#"+e+") not found in iFrame, so sending to parent"),R(0,0,"inPageLink","#"+e))}function f(){""!==location.hash&&"#"!==location.hash&&e(location.href)}function i(){function a(a){function c(a){a.preventDefault(),e(this.getAttribute("href"))}"#"!==a.getAttribute("href")&&b(a,"click",c)}Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'),a)}function j(){b(window,"hashchange",f)}function k(){setTimeout(f,ba)}function l(){Array.prototype.forEach&&document.querySelectorAll?(g("Setting up location.hash handlers"),i(),j(),k()):h("In page linking not fully supported in this browser! (See README.md for IE8 workaround)")}return ia.enable?l():g("In page linking not enabled"),{findTarget:e}}function C(){g("Enable public methods"),Ba.parentIFrame={autoResize:function(a){return!0===a&&!1===U?(U=!0,u()):!1===a&&!0===U&&(U=!1,y()),U},close:function(){R(0,0,"close"),z()},getId:function(){return oa},getPageInfo:function(a){"function"==typeof a?(Ea=a,R(0,0,"pageInfo")):(Ea=function(){},R(0,0,"pageInfoStop"))},moveToAnchor:function(a){ia.findTarget(a)},reset:function(){Q("parentIFrame.reset")},scrollTo:function(a,b){R(b,a,"scrollTo")},scrollToOffset:function(a,b){R(b,a,"scrollToOffset")},sendMessage:function(a,b){R(0,0,"message",JSON.stringify(a),b)},setHeightCalculationMethod:function(a){fa=a,s()},setWidthCalculationMethod:function(a){Aa=a,t()},setTargetOrigin:function(a){g("Set targetOrigin: "+a),ta=a},size:function(a,b){var c=""+(a?a:"")+(b?","+b:"");N("size","parentIFrame.size("+c+")",a,b)}}}function D(){0!==ja&&(g("setInterval: "+ja+"ms"),ka=setInterval(function(){N("interval","setInterval: "+ja)},Math.abs(ja)))}function E(){function b(a){function b(a){!1===a.complete&&(g("Attach listeners to "+a.src),a.addEventListener("load",f,!1),a.addEventListener("error",h,!1),k.push(a))}"attributes"===a.type&&"src"===a.attributeName?b(a.target):"childList"===a.type&&Array.prototype.forEach.call(a.target.querySelectorAll("img"),b)}function c(a){k.splice(k.indexOf(a),1)}function d(a){g("Remove listeners from "+a.src),a.removeEventListener("load",f,!1),a.removeEventListener("error",h,!1),c(a)}function e(b,c,e){d(b.target),N(c,e+": "+b.target.src,a,a)}function f(a){e(a,"imageLoad","Image loaded")}function h(a){e(a,"imageLoadFailed","Image load failed")}function i(a){N("mutationObserver","mutationObserver: "+a[0].target+" "+a[0].type),a.forEach(b)}function j(){var a=document.querySelector("body"),b={attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0};return m=new l(i),g("Create body MutationObserver"),m.observe(a,b),m}var k=[],l=window.MutationObserver||window.WebKitMutationObserver,m=j();return{disconnect:function(){"disconnect"in m&&(g("Disconnect body MutationObserver"),m.disconnect(),k.forEach(d))}}}function F(){var a=0>ja;window.MutationObserver||window.WebKitMutationObserver?a?D():Z=E():(g("MutationObserver not supported in this browser!"),D())}function G(a,b){function c(a){var c=/^\d+(px)?$/i;if(c.test(a))return parseInt(a,V);var d=b.style.left,e=b.runtimeStyle.left;return b.runtimeStyle.left=b.currentStyle.left,b.style.left=a||0,a=b.style.pixelLeft,b.style.left=d,b.runtimeStyle.left=e,a}var d=0;return b=b||document.body,"defaultView"in document&&"getComputedStyle"in document.defaultView?(d=document.defaultView.getComputedStyle(b,null),d=null!==d?d[a]:0):d=c(b.currentStyle[a]),parseInt(d,V)}function H(a){a>xa/2&&(xa=2*a,g("Event throttle increased to "+xa+"ms"))}function I(a,b){for(var c=b.length,e=0,f=0,h=d(a),i=Ha(),j=0;c>j;j++)e=b[j].getBoundingClientRect()[a]+G("margin"+h,b[j]),e>f&&(f=e);return i=Ha()-i,g("Parsed "+c+" HTML elements"),g("Element position calculated in "+i+"ms"),H(i),f}function J(a){return[a.bodyOffset(),a.bodyScroll(),a.documentElementOffset(),a.documentElementScroll()]}function K(a,b){function c(){return h("No tagged elements ("+b+") found on page"),document.querySelectorAll("body *")}var d=document.querySelectorAll("["+b+"]");return 0===d.length&&c(),I(a,d)}function L(){return document.querySelectorAll("body *")}function M(b,c,d,e){function f(){da=m,ya=n,R(da,ya,b)}function h(){function b(a,b){var c=Math.abs(a-b)<=ua;return!c}return m=a!==d?d:Ia[fa](),n=a!==e?e:Ja[Aa](),b(da,m)||_&&b(ya,n)}function i(){return!(b in{init:1,interval:1,size:1})}function j(){return fa in pa||_&&Aa in pa}function k(){g("No change in size detected")}function l(){i()&&j()?Q(c):b in{interval:1}||k()}var m,n;h()||"init"===b?(O(),f()):l()}function N(a,b,c,d){function e(){a in{reset:1,resetPage:1,init:1}||g("Trigger event: "+b)}function f(){return va&&a in aa}f()?g("Trigger event cancelled: "+a):(e(),Ka(a,b,c,d))}function O(){va||(va=!0,g("Trigger event lock on")),clearTimeout(wa),wa=setTimeout(function(){va=!1,g("Trigger event lock off"),g("--")},ba)}function P(a){da=Ia[fa](),ya=Ja[Aa](),R(da,ya,a)}function Q(a){var b=fa;fa=ea,g("Reset trigger event: "+a),O(),P("reset"),fa=b}function R(b,c,d,e,f){function h(){a===f?f=ta:g("Message targetOrigin: "+f)}function i(){var h=b+":"+c,i=oa+":"+h+":"+d+(a!==e?":"+e:"");g("Sending message to host page ("+i+")"),sa.postMessage(ma+i,f)}!0===ra&&(h(),i())}function S(a){function c(){return ma===(""+a.data).substr(0,na)}function d(){return a.data.split("]")[1].split(":")[0]}function e(){return a.data.substr(a.data.indexOf(":")+1)}function f(){return!("undefined"!=typeof module&&module.exports)&&"iFrameResize"in window}function j(){return a.data.split(":")[2]in{"true":1,"false":1}}function k(){var b=d();b in m?m[b]():f()||j()||h("Unexpected message ("+a.data+")")}function l(){!1===ca?k():j()?m.init():g('Ignored message of type "'+d()+'". Received before initialization.')}var m={init:function(){function c(){ha=a.data,sa=a.source,i(),ca=!1,setTimeout(function(){ga=!1},ba)}"interactive"===document.readyState||"complete"===document.readyState?c():(g("Waiting for page ready"),b(window,"readystatechange",m.initFromParent))},reset:function(){ga?g("Page reset ignored by init"):(g("Page size reset by host page"),P("resetPage"))},resize:function(){N("resizeParent","Parent window requested size check")},moveToAnchor:function(){ia.findTarget(e())},inPageLink:function(){this.moveToAnchor()},pageInfo:function(){var a=e();g("PageInfoFromParent called from parent: "+a),Ea(JSON.parse(a)),g(" --")},message:function(){var a=e();g("MessageCallback called from parent: "+a),Ca(JSON.parse(a)),g(" --")}};c()&&l()}function T(){"loading"!==document.readyState&&window.parent.postMessage("[iFrameResizerChild]Ready","*")}if("undefined"!=typeof window){var U=!0,V=10,W="",X=0,Y="",Z=null,$="",_=!1,aa={resize:1,click:1},ba=128,ca=!0,da=1,ea="bodyOffset",fa=ea,ga=!0,ha="",ia={},ja=32,ka=null,la=!1,ma="[iFrameSizer]",na=ma.length,oa="",pa={max:1,min:1,bodyScroll:1,documentElementScroll:1},qa="child",ra=!0,sa=window.parent,ta="*",ua=0,va=!1,wa=null,xa=16,ya=1,za="scroll",Aa=za,Ba=window,Ca=function(){h("MessageCallback function not defined")},Da=function(){},Ea=function(){},Fa={height:function(){return h("Custom height calculation function not defined"),document.documentElement.offsetHeight},width:function(){return h("Custom width calculation function not defined"),document.body.scrollWidth}},Ga={},Ha=Date.now||function(){return(new Date).getTime()},Ia={bodyOffset:function(){return document.body.offsetHeight+G("marginTop")+G("marginBottom")},offset:function(){return Ia.bodyOffset()},bodyScroll:function(){return document.body.scrollHeight},custom:function(){return Fa.height()},documentElementOffset:function(){return document.documentElement.offsetHeight},documentElementScroll:function(){return document.documentElement.scrollHeight},max:function(){return Math.max.apply(null,J(Ia))},min:function(){return Math.min.apply(null,J(Ia))},grow:function(){return Ia.max()},lowestElement:function(){return Math.max(Ia.bodyOffset(),I("bottom",L()))},taggedElement:function(){return K("bottom","data-iframe-height")}},Ja={bodyScroll:function(){return document.body.scrollWidth},bodyOffset:function(){return document.body.offsetWidth},custom:function(){return Fa.width()},documentElementScroll:function(){return document.documentElement.scrollWidth},documentElementOffset:function(){return document.documentElement.offsetWidth},scroll:function(){return Math.max(Ja.bodyScroll(),Ja.documentElementScroll())},max:function(){return Math.max.apply(null,J(Ja))},min:function(){return Math.min.apply(null,J(Ja))},rightMostElement:function(){return I("right",L())},taggedElement:function(){return K("right","data-iframe-width")}},Ka=e(M);b(window,"message",S),T()}}(); -//# sourceMappingURL=iframeResizer.contentWindow.map \ No newline at end of file diff --git a/shepherd/static/iframeResizer.min.js b/shepherd/static/iframeResizer.min.js deleted file mode 100644 index 1aeeeb9..0000000 --- a/shepherd/static/iframeResizer.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/*! iFrame Resizer (iframeSizer.min.js ) - v3.5.15 - 2017-10-15 - * Desc: Force cross domain iframes to size to content. - * Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame. - * Copyright: (c) 2017 David J. Bradshaw - dave@bradshaw.net - * License: MIT - */ - -!function(a){"use strict";function b(a,b,c){"addEventListener"in window?a.addEventListener(b,c,!1):"attachEvent"in window&&a.attachEvent("on"+b,c)}function c(a,b,c){"removeEventListener"in window?a.removeEventListener(b,c,!1):"detachEvent"in window&&a.detachEvent("on"+b,c)}function d(){var a,b=["moz","webkit","o","ms"];for(a=0;ae&&(e=c,h(V,"Set "+d+" to min value")),e>b&&(e=b,h(V,"Set "+d+" to max value")),U[d]=""+e}function g(){function b(){function a(){var a=0,b=!1;for(h(V,"Checking connection is from allowed list of origins: "+d);aP[x]["max"+a])throw new Error("Value for min"+a+" can not be greater than max"+a)}b("Height"),b("Width"),a("maxHeight"),a("minHeight"),a("maxWidth"),a("minWidth")}function f(){var a=d&&d.id||S.id+F++;return null!==document.getElementById(a)&&(a+=F++),a}function g(a){return R=a,""===a&&(c.id=a=f(),G=(d||{}).log,R=a,h(a,"Added missing iframe ID: "+a+" ("+c.src+")")),a}function i(){switch(h(x,"IFrame scrolling "+(P[x]&&P[x].scrolling?"enabled":"disabled")+" for "+x),c.style.overflow=!1===(P[x]&&P[x].scrolling)?"hidden":"auto",P[x]&&P[x].scrolling){case!0:c.scrolling="yes";break;case!1:c.scrolling="no";break;default:c.scrolling=P[x]?P[x].scrolling:"no"}}function k(){("number"==typeof(P[x]&&P[x].bodyMargin)||"0"===(P[x]&&P[x].bodyMargin))&&(P[x].bodyMarginV1=P[x].bodyMargin,P[x].bodyMargin=""+P[x].bodyMargin+"px")}function l(){var a=P[x]&&P[x].firstRun,b=P[x]&&P[x].heightCalculationMethod in O;!a&&b&&r({iframe:c,height:0,width:0,type:"init"})}function m(){Function.prototype.bind&&P[x]&&(P[x].iframe.iFrameResizer={close:n.bind(null,P[x].iframe),resize:u.bind(null,"Window resize","resize",P[x].iframe),moveToAnchor:function(a){u("Move to anchor","moveToAnchor:"+a,P[x].iframe,x)},sendMessage:function(a){a=JSON.stringify(a),u("Send Message","message:"+a,P[x].iframe,x)}})}function o(d){function e(){u("iFrame.onload",d,c,a,!0),l()}b(c,"load",e),u("init",d,c,a,!0)}function p(a){if("object"!=typeof a)throw new TypeError("Options is not an object")}function q(a){for(var b in S)S.hasOwnProperty(b)&&(P[x][b]=a.hasOwnProperty(b)?a[b]:S[b])}function s(a){return""===a||"file://"===a?"*":a}function t(a){a=a||{},P[x]={firstRun:!0,iframe:c,remoteHost:c.src.split("/").slice(0,3).join("/")},p(a),q(a),P[x]&&(P[x].targetOrigin=!0===P[x].checkOrigin?s(P[x].remoteHost):"*")}function w(){return x in P&&"iFrameResizer"in c}var x=g(c.id);w()?j(x,"Ignored iFrame, already setup."):(t(d),i(),e(),k(),o(v(x)),m())}function x(a,b){null===Q&&(Q=setTimeout(function(){Q=null,a()},b))}function y(){function a(){function a(a){function b(b){return"0px"===(P[a]&&P[a].iframe.style[b])}function c(a){return null!==a.offsetParent}P[a]&&c(P[a].iframe)&&(b("height")||b("width"))&&u("Visibility change","resize",P[a].iframe,a)}for(var b in P)a(b)}function b(b){h("window","Mutation observed: "+b[0].target+" "+b[0].type),x(a,16)}function c(){var a=document.querySelector("body"),c={attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0},e=new d(b);e.observe(a,c)}var d=window.MutationObserver||window.WebKitMutationObserver;d&&c()}function z(a){function b(){B("Window "+a,"resize")}h("window","Trigger event: "+a),x(b,16)}function A(){function a(){B("Tab Visable","resize")}"hidden"!==document.visibilityState&&(h("document","Trigger event: Visiblity change"),x(a,16))}function B(a,b){function c(a){return P[a]&&"parent"===P[a].resizeFrom&&P[a].autoResize&&!P[a].firstRun}for(var d in P)c(d)&&u(a,b,document.getElementById(d),d)}function C(){b(window,"message",l),b(window,"resize",function(){z("resize")}),b(document,"visibilitychange",A),b(document,"-webkit-visibilitychange",A),b(window,"focusin",function(){z("focus")}),b(window,"focus",function(){z("focus")})}function D(){function b(a,b){function c(){if(!b.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==b.tagName.toUpperCase())throw new TypeError("Expected