From 059735ee0b47a565384769499f9eeb69dd1a9a4e Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 07:20:45 +0000 Subject: [PATCH 01/24] Start `ui-tests` --- ui-tests/.yarnrc.yml | 6 + ui-tests/package.json | 24 + ui-tests/playwright.config.js | 29 + ui-tests/yarn.lock | 4355 +++++++++++++++++++++++++++++++++ 4 files changed, 4414 insertions(+) create mode 100644 ui-tests/.yarnrc.yml create mode 100644 ui-tests/package.json create mode 100644 ui-tests/playwright.config.js create mode 100644 ui-tests/yarn.lock diff --git a/ui-tests/.yarnrc.yml b/ui-tests/.yarnrc.yml new file mode 100644 index 0000000..49cf78d --- /dev/null +++ b/ui-tests/.yarnrc.yml @@ -0,0 +1,6 @@ +enableImmutableInstalls: false +enableInlineBuilds: false +enableTelemetry: false +httpTimeout: 60000 +nodeLinker: node-modules +npmRegistryServer: 'https://registry.yarnpkg.com' diff --git a/ui-tests/package.json b/ui-tests/package.json new file mode 100644 index 0000000..0ca243f --- /dev/null +++ b/ui-tests/package.json @@ -0,0 +1,24 @@ +{ + "name": "@jupyterlite/jupyterlite-xeus-python-ui-tests", + "private": true, + "version": "0.1.0", + "author": "JupyterLite Contributors", + "license": "BSD-3-Clause", + "description": "JupyterLite Xeus Python UI Tests", + "scripts": { + "build": "python build.py", + "clean": "rimraf .jupyterlite.doit.db ui-tests-app", + "clean:snapshots": "rimraf -g \"test/**/*-snapshots/*.png\"", + "start": "cd ui-tests-app && python -m http.server -b 127.0.0.1 8000", + "test": "playwright test", + "test:report": "http-server ./playwright-report -a localhost -o", + "test:update": "playwright test --update-snapshots" + }, + "dependencies": { + "@jupyterlab/galata": "~5.0.5", + "@playwright/test": "^1.36.2" + }, + "devDependencies": { + "rimraf": "^5" + } +} diff --git a/ui-tests/playwright.config.js b/ui-tests/playwright.config.js new file mode 100644 index 0000000..03419fd --- /dev/null +++ b/ui-tests/playwright.config.js @@ -0,0 +1,29 @@ +const baseConfig = require('@jupyterlab/galata/lib/playwright-config'); + +module.exports = { + ...baseConfig, + retries: 1, + use: { + acceptDownloads: true, + appPath: '', + autoGoto: false, + baseURL: 'http://localhost:8000', + trace: 'retain-on-failure', + video: 'retain-on-failure', + + waitForApplication: async ({ baseURL }, use, testInfo) => { + const waitIsReady = async (page) => { + await page.waitForSelector('.jp-LauncherCard'); + }; + await use(waitIsReady); + }, + }, + webServer: [ + { + command: 'jlpm run start', + port: 8000, + timeout: 120 * 1000, + reuseExistingServer: true, + }, + ], +}; diff --git a/ui-tests/yarn.lock b/ui-tests/yarn.lock new file mode 100644 index 0000000..c28e1eb --- /dev/null +++ b/ui-tests/yarn.lock @@ -0,0 +1,4355 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 6 + cacheKey: 8 + +"@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.3.2, @codemirror/autocomplete@npm:^6.5.1, @codemirror/autocomplete@npm:^6.7.1": + version: 6.9.1 + resolution: "@codemirror/autocomplete@npm:6.9.1" + dependencies: + "@codemirror/language": ^6.0.0 + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.17.0 + "@lezer/common": ^1.0.0 + peerDependencies: + "@codemirror/language": ^6.0.0 + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.0.0 + "@lezer/common": ^1.0.0 + checksum: 96dad7a12429bf61e6f1bf75da731bf0dcbfeb56c33400b60a0de22049226e0926a53a174e84701812a235f8f144595ce53f0928054481bdf9cdc2ed3b8be20f + languageName: node + linkType: hard + +"@codemirror/commands@npm:^6.2.3": + version: 6.3.0 + resolution: "@codemirror/commands@npm:6.3.0" + dependencies: + "@codemirror/language": ^6.0.0 + "@codemirror/state": ^6.2.0 + "@codemirror/view": ^6.0.0 + "@lezer/common": ^1.1.0 + checksum: d6ade0ba7d4f80c2e44163935783d2f2f35c8b641a4b4f62452c0630211670abe5093786cf5a4af14147102d4284dae660a26f3ae58fd840e838685a81107d11 + languageName: node + linkType: hard + +"@codemirror/lang-cpp@npm:^6.0.2": + version: 6.0.2 + resolution: "@codemirror/lang-cpp@npm:6.0.2" + dependencies: + "@codemirror/language": ^6.0.0 + "@lezer/cpp": ^1.0.0 + checksum: bb9eba482cca80037ce30c7b193cf45eff19ccbb773764fddf2071756468ecc25aa53c777c943635054f89095b0247b9b50c339e107e41e68d34d12a7295f9a9 + languageName: node + linkType: hard + +"@codemirror/lang-css@npm:^6.0.0, @codemirror/lang-css@npm:^6.1.1": + version: 6.2.1 + resolution: "@codemirror/lang-css@npm:6.2.1" + dependencies: + "@codemirror/autocomplete": ^6.0.0 + "@codemirror/language": ^6.0.0 + "@codemirror/state": ^6.0.0 + "@lezer/common": ^1.0.2 + "@lezer/css": ^1.0.0 + checksum: 5a8457ee8a4310030a969f2d3128429f549c4dc9b7907ee8888b42119c80b65af99093801432efdf659b8ec36a147d2a947bc1ecbbf69a759395214e3f4834a8 + languageName: node + linkType: hard + +"@codemirror/lang-html@npm:^6.0.0, @codemirror/lang-html@npm:^6.4.3": + version: 6.4.6 + resolution: "@codemirror/lang-html@npm:6.4.6" + dependencies: + "@codemirror/autocomplete": ^6.0.0 + "@codemirror/lang-css": ^6.0.0 + "@codemirror/lang-javascript": ^6.0.0 + "@codemirror/language": ^6.4.0 + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.17.0 + "@lezer/common": ^1.0.0 + "@lezer/css": ^1.1.0 + "@lezer/html": ^1.3.0 + checksum: 8f884f4423ffc783181ee933f7212ad4ece204695cf8af9535a593f95e901d36515a8561fc336a0fbcf5782369b9484eeb0d2cec2167622868238177c5e6eb36 + languageName: node + linkType: hard + +"@codemirror/lang-java@npm:^6.0.1": + version: 6.0.1 + resolution: "@codemirror/lang-java@npm:6.0.1" + dependencies: + "@codemirror/language": ^6.0.0 + "@lezer/java": ^1.0.0 + checksum: 4679104683cbffcd224ac04c7e5d144b787494697b26470b07017259035b7bb3fa62609d9a61bfbc566f1756d9f972f9f26d96a3c1362dd48881c1172f9a914d + languageName: node + linkType: hard + +"@codemirror/lang-javascript@npm:^6.0.0, @codemirror/lang-javascript@npm:^6.1.7": + version: 6.2.1 + resolution: "@codemirror/lang-javascript@npm:6.2.1" + dependencies: + "@codemirror/autocomplete": ^6.0.0 + "@codemirror/language": ^6.6.0 + "@codemirror/lint": ^6.0.0 + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.17.0 + "@lezer/common": ^1.0.0 + "@lezer/javascript": ^1.0.0 + checksum: 3df38c4cced06195283a9a2a9365aaa7c8c1b157852b331bc3a118403f774bbba57d2a392de52f5e28d2b344a323bc0146bcf7c8ef8be2473f167d815e4a37cd + languageName: node + linkType: hard + +"@codemirror/lang-json@npm:^6.0.1": + version: 6.0.1 + resolution: "@codemirror/lang-json@npm:6.0.1" + dependencies: + "@codemirror/language": ^6.0.0 + "@lezer/json": ^1.0.0 + checksum: e9e87d50ff7b81bd56a6ab50740b1dd54e9a93f1be585e1d59d0642e2148842ea1528ac7b7221eb4ddc7fe84bbc28065144cc3ab86f6e06c6aeb2d4b4e62acf1 + languageName: node + linkType: hard + +"@codemirror/lang-markdown@npm:^6.1.1": + version: 6.2.1 + resolution: "@codemirror/lang-markdown@npm:6.2.1" + dependencies: + "@codemirror/autocomplete": ^6.7.1 + "@codemirror/lang-html": ^6.0.0 + "@codemirror/language": ^6.3.0 + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.0.0 + "@lezer/common": ^1.0.0 + "@lezer/markdown": ^1.0.0 + checksum: ef3bdfd01e418efc7f7fdf0baa2e8e91875b37f870fcad98f846954763c7cc71bac95736591cd6c52b39cc380261d76ae7b37ca97ef1641c4c266476748046d3 + languageName: node + linkType: hard + +"@codemirror/lang-php@npm:^6.0.1": + version: 6.0.1 + resolution: "@codemirror/lang-php@npm:6.0.1" + dependencies: + "@codemirror/lang-html": ^6.0.0 + "@codemirror/language": ^6.0.0 + "@codemirror/state": ^6.0.0 + "@lezer/common": ^1.0.0 + "@lezer/php": ^1.0.0 + checksum: c003a29a426486453fdfddbf7302982fa2aa7f059bf6f1ce4cbf08341b0162eee5e2f50e0d71c418dcd358491631780156d846fe352754d042576172c5d86721 + languageName: node + linkType: hard + +"@codemirror/lang-python@npm:^6.1.3": + version: 6.1.3 + resolution: "@codemirror/lang-python@npm:6.1.3" + dependencies: + "@codemirror/autocomplete": ^6.3.2 + "@codemirror/language": ^6.8.0 + "@lezer/python": ^1.1.4 + checksum: 65a0276a4503e4e3b70dd28d1c93ef472632b6d2c4bf3ae92d305d14ee8cf60b0bbbf62d5ceb51294de9598d9e2d42eafcde26f317ee7b90d0a11dfa863c1d1a + languageName: node + linkType: hard + +"@codemirror/lang-rust@npm:^6.0.1": + version: 6.0.1 + resolution: "@codemirror/lang-rust@npm:6.0.1" + dependencies: + "@codemirror/language": ^6.0.0 + "@lezer/rust": ^1.0.0 + checksum: 8a439944cb22159b0b3465ca4fa4294c69843219d5d30e278ae6df8e48f30a7a9256129723c025ec9b5e694d31a3560fb004300b125ffcd81c22d13825845170 + languageName: node + linkType: hard + +"@codemirror/lang-sql@npm:^6.4.1": + version: 6.5.4 + resolution: "@codemirror/lang-sql@npm:6.5.4" + dependencies: + "@codemirror/autocomplete": ^6.0.0 + "@codemirror/language": ^6.0.0 + "@codemirror/state": ^6.0.0 + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + checksum: face21b0231ac5a7981949b5bf6a99ed092d0d6f7eb83f35dcd31d56ecf07dafa19d21623e0bad36cec7a12e3149df7b45c3588aeee31eae41e9b05942c4fdd7 + languageName: node + linkType: hard + +"@codemirror/lang-wast@npm:^6.0.1": + version: 6.0.1 + resolution: "@codemirror/lang-wast@npm:6.0.1" + dependencies: + "@codemirror/language": ^6.0.0 + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + checksum: 600d98d3ea6a4e99292244ed707e39a2abd9f3abf62cfeff5c819a0cc0c7e86b8c5b91e91c1b7ea21233d9ea09c41abe61d8a40b2547bb5db74239c6df857934 + languageName: node + linkType: hard + +"@codemirror/lang-xml@npm:^6.0.2": + version: 6.0.2 + resolution: "@codemirror/lang-xml@npm:6.0.2" + dependencies: + "@codemirror/autocomplete": ^6.0.0 + "@codemirror/language": ^6.4.0 + "@codemirror/state": ^6.0.0 + "@lezer/common": ^1.0.0 + "@lezer/xml": ^1.0.0 + checksum: e156ecafaa87e9b6ef4ab6812ccd00d8f3c6cb81f232837636b36336d80513b61936dfee6f4f6800574f236208b61e95a2abcb997cdcd7366585a6b796e0e13b + languageName: node + linkType: hard + +"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.3.0, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0, @codemirror/language@npm:^6.8.0": + version: 6.9.1 + resolution: "@codemirror/language@npm:6.9.1" + dependencies: + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.0.0 + "@lezer/common": ^1.1.0 + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + style-mod: ^4.0.0 + checksum: 62265f1042d2edfd3a091c408d9d0071f23889099b2f6ce8275fa910118bd2c45b8c4b29228c7be6e6d5f0e0812a522de902bc75ba8d8b2e62e42ade1692a49a + languageName: node + linkType: hard + +"@codemirror/legacy-modes@npm:^6.3.2": + version: 6.3.3 + resolution: "@codemirror/legacy-modes@npm:6.3.3" + dependencies: + "@codemirror/language": ^6.0.0 + checksum: 3cd32b0f011b0a193e0948e5901b625f38aa6d9a8b24344531d6e142eb6fbb3e6cb5969429102044f3d04fbe53c4deaebd9f659c05067a0b18d17766290c9e05 + languageName: node + linkType: hard + +"@codemirror/lint@npm:^6.0.0": + version: 6.4.2 + resolution: "@codemirror/lint@npm:6.4.2" + dependencies: + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.0.0 + crelt: ^1.0.5 + checksum: 5e699960c1b28dbaa584fe091a3201978907bf4b9e52810fb15d3ceaf310e38053435e0b594da0985266ae812039a5cd6c36023284a6f8568664bdca04db137f + languageName: node + linkType: hard + +"@codemirror/search@npm:^6.3.0": + version: 6.5.4 + resolution: "@codemirror/search@npm:6.5.4" + dependencies: + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.0.0 + crelt: ^1.0.5 + checksum: 32a68e40486730949ee79f54b9fcc6c744559aef188d3c5bf82881f62e5fc9468fa21cf227507638160043c797eb054205802a649cf4a2350928fc161d5aac40 + languageName: node + linkType: hard + +"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.1.4, @codemirror/state@npm:^6.2.0": + version: 6.2.1 + resolution: "@codemirror/state@npm:6.2.1" + checksum: d12a321d0471b264b9d3259042bff913a8b939e8d28d408ff452004538a71ca9d5329df3f8a1d8a9183f5b42a7ef5b200737bcab1065714f5ae8e0a5ba9d59d3 + languageName: node + linkType: hard + +"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.9.6": + version: 6.21.2 + resolution: "@codemirror/view@npm:6.21.2" + dependencies: + "@codemirror/state": ^6.1.4 + style-mod: ^4.1.0 + w3c-keyname: ^2.2.4 + checksum: d972a32f26882a1811ffab833f8705339cd4c1bfe56765ed6ecbc1d84466b71a728adb8f4b4fc566ca3bccee5aacd2585e79cb96a851dcd48777e2320dab1892 + languageName: node + linkType: hard + +"@fortawesome/fontawesome-free@npm:^5.12.0": + version: 5.15.4 + resolution: "@fortawesome/fontawesome-free@npm:5.15.4" + checksum: 32281c3df4075290d9a96dfc22f72fadb3da7055d4117e48d34046b8c98032a55fa260ae351b0af5d6f6fb57a2f5d79a4abe52af456da35195f7cb7dda27b4a2 + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + 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" + checksum: 4a473b9b32a7d4d3cfb7a614226e555091ff0c5a29a1734c28c72a182c2f6699b26fc6b5c2131dfd841e86b185aea714c72201d7c98c2fba5f17709333a67aeb + languageName: node + linkType: hard + +"@jupyter/ydoc@npm:^1.0.2": + version: 1.1.1 + resolution: "@jupyter/ydoc@npm:1.1.1" + dependencies: + "@jupyterlab/nbformat": ^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0 + "@lumino/coreutils": ^1.11.0 || ^2.0.0 + "@lumino/disposable": ^1.10.0 || ^2.0.0 + "@lumino/signaling": ^1.10.0 || ^2.0.0 + y-protocols: ^1.0.5 + yjs: ^13.5.40 + checksum: a239b1dd57cfc9ba36c06ac5032a1b6388849ae01a1d0db0d45094f71fdadf4d473b4bf8becbef0cfcdc85cae505361fbec0822b02da5aa48e06b66f742dd7a0 + languageName: node + linkType: hard + +"@jupyterlab/application@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/application@npm:4.0.6" + dependencies: + "@fortawesome/fontawesome-free": ^5.12.0 + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/docregistry": ^4.0.6 + "@jupyterlab/rendermime": ^4.0.6 + "@jupyterlab/rendermime-interfaces": ^3.8.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/statedb": ^4.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/application": ^2.2.1 + "@lumino/commands": ^2.1.3 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/polling": ^2.1.2 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + checksum: 1212b71d3717bc02543b3eee74e69be799634421bd9b291b7adf07ba27bf6f9c7db860c423c824eaced9c2524db2f6b58de2c58e7edd5de2f0d7fabbb2c94b8c + languageName: node + linkType: hard + +"@jupyterlab/apputils@npm:^4.1.6": + version: 4.1.6 + resolution: "@jupyterlab/apputils@npm:4.1.6" + dependencies: + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/rendermime-interfaces": ^3.8.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/settingregistry": ^4.0.6 + "@jupyterlab/statedb": ^4.0.6 + "@jupyterlab/statusbar": ^4.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/commands": ^2.1.3 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/domutils": ^2.0.1 + "@lumino/messaging": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/virtualdom": ^2.0.1 + "@lumino/widgets": ^2.3.0 + "@types/react": ^18.0.26 + react: ^18.2.0 + sanitize-html: ~2.7.3 + checksum: 40fb43f5a6464c665f1b941d164f3366ab8ea906fed72894ccf026ebeebf0734409edb6546a151ac267cbd4f945e23474251aed644f7f0f0dbf2548b9230ae22 + languageName: node + linkType: hard + +"@jupyterlab/attachments@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/attachments@npm:4.0.6" + dependencies: + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/rendermime": ^4.0.6 + "@jupyterlab/rendermime-interfaces": ^3.8.6 + "@lumino/disposable": ^2.1.2 + "@lumino/signaling": ^2.1.2 + checksum: b7efd01d6a0b7f28a4ee8114723cdc33267f1c1f84763b71a04e783024a87f639e442be74eda5afecff7eea5750d094f4da8a46ee711ec1298645eb92252c7ee + languageName: node + linkType: hard + +"@jupyterlab/cells@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/cells@npm:4.0.6" + dependencies: + "@codemirror/state": ^6.2.0 + "@codemirror/view": ^6.9.6 + "@jupyter/ydoc": ^1.0.2 + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/attachments": ^4.0.6 + "@jupyterlab/codeeditor": ^4.0.6 + "@jupyterlab/codemirror": ^4.0.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/documentsearch": ^4.0.6 + "@jupyterlab/filebrowser": ^4.0.6 + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/outputarea": ^4.0.6 + "@jupyterlab/rendermime": ^4.0.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/toc": ^6.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/domutils": ^2.0.1 + "@lumino/dragdrop": ^2.1.3 + "@lumino/messaging": ^2.0.1 + "@lumino/polling": ^2.1.2 + "@lumino/signaling": ^2.1.2 + "@lumino/virtualdom": ^2.0.1 + "@lumino/widgets": ^2.3.0 + react: ^18.2.0 + checksum: b0bb039c05ee0d83f40b5ccb0efa27d90723808c50821f8b8abedc8770387916bbc46d8a886102bf353b58e434cf33849981f782f1dbb3658835cce219940f33 + languageName: node + linkType: hard + +"@jupyterlab/codeeditor@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/codeeditor@npm:4.0.6" + dependencies: + "@codemirror/state": ^6.2.0 + "@jupyter/ydoc": ^1.0.2 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/statusbar": ^4.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/dragdrop": ^2.1.3 + "@lumino/messaging": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + react: ^18.2.0 + checksum: 831d330273280781dbdc223325d575ac373c0db17fab208f327bce4e1c2286c62f8264d1d612da1a762bc006cd81dfb0eb5108dd3bd8f8298f9be8ecac98b2ca + languageName: node + linkType: hard + +"@jupyterlab/codemirror@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/codemirror@npm:4.0.6" + dependencies: + "@codemirror/autocomplete": ^6.5.1 + "@codemirror/commands": ^6.2.3 + "@codemirror/lang-cpp": ^6.0.2 + "@codemirror/lang-css": ^6.1.1 + "@codemirror/lang-html": ^6.4.3 + "@codemirror/lang-java": ^6.0.1 + "@codemirror/lang-javascript": ^6.1.7 + "@codemirror/lang-json": ^6.0.1 + "@codemirror/lang-markdown": ^6.1.1 + "@codemirror/lang-php": ^6.0.1 + "@codemirror/lang-python": ^6.1.3 + "@codemirror/lang-rust": ^6.0.1 + "@codemirror/lang-sql": ^6.4.1 + "@codemirror/lang-wast": ^6.0.1 + "@codemirror/lang-xml": ^6.0.2 + "@codemirror/language": ^6.6.0 + "@codemirror/legacy-modes": ^6.3.2 + "@codemirror/search": ^6.3.0 + "@codemirror/state": ^6.2.0 + "@codemirror/view": ^6.9.6 + "@jupyter/ydoc": ^1.0.2 + "@jupyterlab/codeeditor": ^4.0.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/documentsearch": ^4.0.6 + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/translation": ^4.0.6 + "@lezer/common": ^1.0.2 + "@lezer/generator": ^1.2.2 + "@lezer/highlight": ^1.1.4 + "@lezer/markdown": ^1.0.2 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/signaling": ^2.1.2 + yjs: ^13.5.40 + checksum: fdd0c4655e8597b1beb985b84b82dcfe29b4c8d0ae7e7ff3b0aecdbc94bc2b94ec0b617b3d59d7739e271e76433b2e624672d94ec64cfa4efc628cab92418175 + languageName: node + linkType: hard + +"@jupyterlab/console@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/console@npm:4.0.6" + dependencies: + "@codemirror/state": ^6.2.0 + "@codemirror/view": ^6.9.6 + "@jupyter/ydoc": ^1.0.2 + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/cells": ^4.0.6 + "@jupyterlab/codeeditor": ^4.0.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/rendermime": ^4.0.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/dragdrop": ^2.1.3 + "@lumino/messaging": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + checksum: 2d7213c83dc088b51976378b88c88f4cfd05d9cd14aa476cb8130ffbfedd7ac8af25a2e9a34b60bc8ec50ea973f33ed7689845d894d00c8cd095b3fec8fb5fa2 + languageName: node + linkType: hard + +"@jupyterlab/coreutils@npm:^6.0.6": + version: 6.0.6 + resolution: "@jupyterlab/coreutils@npm:6.0.6" + dependencies: + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/signaling": ^2.1.2 + minimist: ~1.2.0 + path-browserify: ^1.0.0 + url-parse: ~1.5.4 + checksum: cf3cfbc7c48cae20549f5514a949b253c2f9d67c79db107ab0a81c2b7a9c08e28f9fd264e3d944a05a8cb1bbb9676c6b4163b75c28788d1cb3a3cc523d44d802 + languageName: node + linkType: hard + +"@jupyterlab/debugger@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/debugger@npm:4.0.6" + dependencies: + "@codemirror/state": ^6.2.0 + "@codemirror/view": ^6.9.6 + "@jupyter/ydoc": ^1.0.2 + "@jupyterlab/application": ^4.0.6 + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/cells": ^4.0.6 + "@jupyterlab/codeeditor": ^4.0.6 + "@jupyterlab/codemirror": ^4.0.6 + "@jupyterlab/console": ^4.0.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/docregistry": ^4.0.6 + "@jupyterlab/fileeditor": ^4.0.6 + "@jupyterlab/notebook": ^4.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/rendermime": ^4.0.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/commands": ^2.1.3 + "@lumino/coreutils": ^2.1.2 + "@lumino/datagrid": ^2.2.0 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/polling": ^2.1.2 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + "@vscode/debugprotocol": ^1.51.0 + react: ^18.2.0 + checksum: 7e686d218202fa8ec3511c789b77a8a6a53fe7a3b791023dd2b4a3c9a4ea943e0a59a675153c2807a29fe80f82e3ca050523eec0fa03bcb567204f408bdfdc3f + languageName: node + linkType: hard + +"@jupyterlab/docmanager@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/docmanager@npm:4.0.6" + dependencies: + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/docregistry": ^4.0.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/statusbar": ^4.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + react: ^18.2.0 + checksum: 25d3f694ae8664ca6c54bfcd36d8913caba9455fea68ed3df23963ce9723254c1f2c38fb6a93e267187f095392507d40cd2a4181c30173306c1c0b962e001b93 + languageName: node + linkType: hard + +"@jupyterlab/docregistry@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/docregistry@npm:4.0.6" + dependencies: + "@jupyter/ydoc": ^1.0.2 + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/codeeditor": ^4.0.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/rendermime": ^4.0.6 + "@jupyterlab/rendermime-interfaces": ^3.8.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + checksum: 57de3751ea04037f27596ffe782392fb4840f3fba1776a64bb7b0dc5936a3cee4de115b2133147cda23a697d3da7802daaec0effae10be329d6c774f102091ee + languageName: node + linkType: hard + +"@jupyterlab/documentsearch@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/documentsearch@npm:4.0.6" + dependencies: + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/polling": ^2.1.2 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + react: ^18.2.0 + checksum: e6cf3533cdae29ca2f81147b26b056718df16998f6d89274d90cffcc70eab705634a7e36d353e9dcaea38640b490315b4ae683e937755547f42b8a5623bc914a + languageName: node + linkType: hard + +"@jupyterlab/filebrowser@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/filebrowser@npm:4.0.6" + dependencies: + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/docmanager": ^4.0.6 + "@jupyterlab/docregistry": ^4.0.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/statedb": ^4.0.6 + "@jupyterlab/statusbar": ^4.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/domutils": ^2.0.1 + "@lumino/dragdrop": ^2.1.3 + "@lumino/messaging": ^2.0.1 + "@lumino/polling": ^2.1.2 + "@lumino/signaling": ^2.1.2 + "@lumino/virtualdom": ^2.0.1 + "@lumino/widgets": ^2.3.0 + react: ^18.2.0 + checksum: abe7eca4072a9c3d1f7a756840d0ad209403928b958fe09dfd81fbb693cb18c91c64027157babe1e7353a556b11c070716326b16ee2eb629089399906a3467be + languageName: node + linkType: hard + +"@jupyterlab/fileeditor@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/fileeditor@npm:4.0.6" + dependencies: + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/codeeditor": ^4.0.6 + "@jupyterlab/codemirror": ^4.0.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/docregistry": ^4.0.6 + "@jupyterlab/documentsearch": ^4.0.6 + "@jupyterlab/lsp": ^4.0.6 + "@jupyterlab/statusbar": ^4.0.6 + "@jupyterlab/toc": ^6.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/commands": ^2.1.3 + "@lumino/coreutils": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/widgets": ^2.3.0 + react: ^18.2.0 + regexp-match-indices: ^1.0.2 + checksum: cc70beea6dffe131574a73106e9381c80fe05b440f00f37312e4c12a0995dd22989f414916f4b450d455db20bf28d9ea3c2ef339e5ecfd45e61ce433c0bb8a0a + languageName: node + linkType: hard + +"@jupyterlab/galata@npm:~5.0.5": + version: 5.0.6 + resolution: "@jupyterlab/galata@npm:5.0.6" + dependencies: + "@jupyterlab/application": ^4.0.6 + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/debugger": ^4.0.6 + "@jupyterlab/docmanager": ^4.0.6 + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/notebook": ^4.0.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/settingregistry": ^4.0.6 + "@lumino/coreutils": ^2.1.2 + "@playwright/test": ^1.32.2 + "@stdlib/stats": ~0.0.13 + fs-extra: ^10.1.0 + json5: ^2.2.3 + path: ~0.12.7 + systeminformation: ^5.8.6 + vega: ^5.20.0 + vega-lite: ^5.6.1 + vega-statistics: ^1.7.9 + checksum: a854c580923335595e091a52fbf9e575eeaa3b08fe4a3a1bdaa5ef044b18058e51a50983205068d63d51943fbf3d63f47853bfba31935dc265e3ecf7432b210f + languageName: node + linkType: hard + +"@jupyterlab/lsp@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/lsp@npm:4.0.6" + dependencies: + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/codeeditor": ^4.0.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/docregistry": ^4.0.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/translation": ^4.0.6 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/signaling": ^2.1.2 + lodash.mergewith: ^4.6.1 + vscode-jsonrpc: ^6.0.0 + vscode-languageserver-protocol: ^3.17.0 + vscode-ws-jsonrpc: ~1.0.2 + checksum: 7a20f402bd2777e5ec36efe3193357ae59a8d619516ccf34bb569afe68d32df2af2c77479216826a08fd6dc16952e1430f2465e1fd9878bf092ca8773e5e2d1e + languageName: node + linkType: hard + +"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0, @jupyterlab/nbformat@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/nbformat@npm:4.0.6" + dependencies: + "@lumino/coreutils": ^2.1.2 + checksum: 43ace863be98a82875a55a947828b9b987cff35bb484e6cb6474c97f60aadbf31027c5f2fdf81b4ee2d108dc735b92c15c9b35cded765b0e476ebf0c8fd670f6 + languageName: node + linkType: hard + +"@jupyterlab/notebook@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/notebook@npm:4.0.6" + dependencies: + "@jupyter/ydoc": ^1.0.2 + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/cells": ^4.0.6 + "@jupyterlab/codeeditor": ^4.0.6 + "@jupyterlab/codemirror": ^4.0.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/docregistry": ^4.0.6 + "@jupyterlab/documentsearch": ^4.0.6 + "@jupyterlab/lsp": ^4.0.6 + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/rendermime": ^4.0.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/settingregistry": ^4.0.6 + "@jupyterlab/statusbar": ^4.0.6 + "@jupyterlab/toc": ^6.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/domutils": ^2.0.1 + "@lumino/dragdrop": ^2.1.3 + "@lumino/messaging": ^2.0.1 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/virtualdom": ^2.0.1 + "@lumino/widgets": ^2.3.0 + react: ^18.2.0 + checksum: 9ffb5f39b5e6d34fc2df2662c790121fda3880a271f0606bd56f3bcff416b43b1697640d43f0a30231fcf24a935e193ca9b5bf016d34675ede0e02e1185afffb + languageName: node + linkType: hard + +"@jupyterlab/observables@npm:^5.0.6": + version: 5.0.6 + resolution: "@jupyterlab/observables@npm:5.0.6" + dependencies: + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/signaling": ^2.1.2 + checksum: 23232972e6a049b2addeae1d445bc3a10bb6c9a3dd4794225a0344aaa1ff62421ee300ef8803a19a3f068d2bba2de8b9a8dec719a7f47019fbd77c8d5dafb7a0 + languageName: node + linkType: hard + +"@jupyterlab/outputarea@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/outputarea@npm:4.0.6" + dependencies: + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/rendermime": ^4.0.6 + "@jupyterlab/rendermime-interfaces": ^3.8.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/translation": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + checksum: 2691fe7e4bdff895c821e970edbc19867107dbd8150aa7f32c7f3a4a7608f9ae9c7862dc5887fdca6983b9d6a947e05f23bbf5160c7c99eef93a0abf20d085a4 + languageName: node + linkType: hard + +"@jupyterlab/rendermime-interfaces@npm:^3.8.6": + version: 3.8.6 + resolution: "@jupyterlab/rendermime-interfaces@npm:3.8.6" + dependencies: + "@lumino/coreutils": ^1.11.0 || ^2.1.2 + "@lumino/widgets": ^1.37.2 || ^2.3.0 + checksum: 84ba0c3979e6ace6246e00248d1248075afb112f55be202257bb89a553b235d36ca82879c56f46f58285a5fc6d39914e93fea203c53245e0ac8d1b5ef838bb50 + languageName: node + linkType: hard + +"@jupyterlab/rendermime@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/rendermime@npm:4.0.6" + dependencies: + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/rendermime-interfaces": ^3.8.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/translation": ^4.0.6 + "@lumino/coreutils": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + lodash.escape: ^4.0.1 + checksum: 8f44601ccd6abe9985f8f713dcabf48ae38246b8b5a17a3963ebfe298dc2a03cc49d1f99c6d3bfeadbe1eb74803d0b3138c01347693a99166d7d70cb832c400b + languageName: node + linkType: hard + +"@jupyterlab/services@npm:^7.0.6": + version: 7.0.6 + resolution: "@jupyterlab/services@npm:7.0.6" + dependencies: + "@jupyter/ydoc": ^1.0.2 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/settingregistry": ^4.0.6 + "@jupyterlab/statedb": ^4.0.6 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/polling": ^2.1.2 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + ws: ^8.11.0 + checksum: 6e12ef309559977209e61ce3ec8ca74aa486d54f50d8f38211b684055fb2335a21c2ae6e846d2863e48524bffd7d6ac4d36dfc9f7ca610ae4b1c60752fa6c3a8 + languageName: node + linkType: hard + +"@jupyterlab/settingregistry@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/settingregistry@npm:4.0.6" + dependencies: + "@jupyterlab/nbformat": ^4.0.6 + "@jupyterlab/statedb": ^4.0.6 + "@lumino/commands": ^2.1.3 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/signaling": ^2.1.2 + "@rjsf/utils": ^5.1.0 + ajv: ^8.12.0 + json5: ^2.2.3 + peerDependencies: + react: ">=16" + checksum: 70b6fc44a25e0d4ec36501c1418fe2764b9a9415f892df0901c43480b608a1621141ec8045183dfbca5aedf11ebaf1518dd76e2e96373b9ebe0efa6586ce856d + languageName: node + linkType: hard + +"@jupyterlab/statedb@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/statedb@npm:4.0.6" + dependencies: + "@lumino/commands": ^2.1.3 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + checksum: de507d094afcce7f7d12f9dc846788765616140b2f75ea22997f780056baaaadae0cf9683471a1d96c61d448b38860640c823302aeef0d5e5d7c9cf598074328 + languageName: node + linkType: hard + +"@jupyterlab/statusbar@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/statusbar@npm:4.0.6" + dependencies: + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + react: ^18.2.0 + checksum: c5d579b101e19670182d87de0d601fc9c73c40b5a81120e18e6cd7853ee9fd744fa31524f24b2c92cb587bb2d6aa54c08f6e257d868426a73d968e48b1101b7c + languageName: node + linkType: hard + +"@jupyterlab/toc@npm:^6.0.6": + version: 6.0.6 + resolution: "@jupyterlab/toc@npm:6.0.6" + dependencies: + "@jupyterlab/apputils": ^4.1.6 + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/docregistry": ^4.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/rendermime": ^4.0.6 + "@jupyterlab/translation": ^4.0.6 + "@jupyterlab/ui-components": ^4.0.6 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + react: ^18.2.0 + checksum: d8d955a00e6678c50f73f18205dd79d77c752c3b0d33699554cdb77c3501657708c699642889975c97b58a85704c3bca40de01019ce087f188681bb843f35c3a + languageName: node + linkType: hard + +"@jupyterlab/translation@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/translation@npm:4.0.6" + dependencies: + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/rendermime-interfaces": ^3.8.6 + "@jupyterlab/services": ^7.0.6 + "@jupyterlab/statedb": ^4.0.6 + "@lumino/coreutils": ^2.1.2 + checksum: 490243a26898bbdcc1909e8e1649be90580c6d4502417590fd1b3ca24db5aeff2323e567dbfb1d528c56df89ed2e7717753ece784134f9e409d14df92bf25682 + languageName: node + linkType: hard + +"@jupyterlab/ui-components@npm:^4.0.6": + version: 4.0.6 + resolution: "@jupyterlab/ui-components@npm:4.0.6" + dependencies: + "@jupyterlab/coreutils": ^6.0.6 + "@jupyterlab/observables": ^5.0.6 + "@jupyterlab/rendermime-interfaces": ^3.8.6 + "@jupyterlab/translation": ^4.0.6 + "@lumino/algorithm": ^2.0.1 + "@lumino/commands": ^2.1.3 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/messaging": ^2.0.1 + "@lumino/polling": ^2.1.2 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/virtualdom": ^2.0.1 + "@lumino/widgets": ^2.3.0 + "@rjsf/core": ^5.1.0 + "@rjsf/utils": ^5.1.0 + react: ^18.2.0 + react-dom: ^18.2.0 + typestyle: ^2.0.4 + peerDependencies: + react: ^18.2.0 + checksum: 02997c3c35c15c0eda6a0d49fe9cfd12a3c5194c026b2ae8d8e53c7af80b769ba1598e7c24283450bacae7b8fab838d18f6c614d686c98d3d43e68f1f00b2528 + languageName: node + linkType: hard + +"@jupyterlite/jupyterlite-xeus-python-ui-tests@workspace:.": + version: 0.0.0-use.local + resolution: "@jupyterlite/jupyterlite-xeus-python-ui-tests@workspace:." + dependencies: + "@jupyterlab/galata": ~5.0.5 + "@playwright/test": ^1.36.2 + rimraf: ^5 + languageName: unknown + linkType: soft + +"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0": + version: 1.1.0 + resolution: "@lezer/common@npm:1.1.0" + checksum: 93c208a44d1c0bdf7407853ba7c4ddcedf1c52d1b82170813d83b9bd6301aa23587405ac54332fe39ce8bc37f706936ab237ceb4d3d535d1dead650153b6474c + languageName: node + linkType: hard + +"@lezer/cpp@npm:^1.0.0": + version: 1.1.1 + resolution: "@lezer/cpp@npm:1.1.1" + dependencies: + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + checksum: c9e1db19776eafbfe0c3b8448d46c94d9a1d30f7fef630292e63bab82e6d5d6903a043ee8cf341bcbf84c00ee0d79b8c255bab8fd8e0a91355ae912b53c78935 + languageName: node + linkType: hard + +"@lezer/css@npm:^1.0.0, @lezer/css@npm:^1.1.0": + version: 1.1.3 + resolution: "@lezer/css@npm:1.1.3" + dependencies: + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + checksum: c8069ef0a6751441d2dc9180f7ebfd7aeb35df0ca2f1a748a2f26203a9ef6cc30f17f3074e2b49520453eb39329dadfdbbb901c6d9d067dc955ceb58c1f8cc6a + languageName: node + linkType: hard + +"@lezer/generator@npm:^1.2.2": + version: 1.5.1 + resolution: "@lezer/generator@npm:1.5.1" + dependencies: + "@lezer/common": ^1.0.2 + "@lezer/lr": ^1.3.0 + bin: + lezer-generator: src/lezer-generator.cjs + checksum: 4d8267e6d356e48ca5214a234679b2b3b1d3706cb9dffecee4495b7a16c8a02502d6a078f8afdf5d8c79f94af34f2c1b5c08556aead8376d7b23795612b651d0 + languageName: node + linkType: hard + +"@lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.3, @lezer/highlight@npm:^1.1.4": + version: 1.1.6 + resolution: "@lezer/highlight@npm:1.1.6" + dependencies: + "@lezer/common": ^1.0.0 + checksum: 411a702394c4c996b7d7f145a38f3a85a8cc698b3918acc7121c629255bb76d4ab383753f69009e011dc415210c6acbbb5b27bde613259ab67e600b29397b03b + languageName: node + linkType: hard + +"@lezer/html@npm:^1.3.0": + version: 1.3.6 + resolution: "@lezer/html@npm:1.3.6" + dependencies: + "@lezer/common": ^1.0.0 + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + checksum: 1d3af781660968505e5083a34f31ea3549fd5f3949227fa93cc318bca61bce76ffe977bd875624ba938a2039834ec1a33df5d365e94c48131c85dd26f980d92c + languageName: node + linkType: hard + +"@lezer/java@npm:^1.0.0": + version: 1.0.4 + resolution: "@lezer/java@npm:1.0.4" + dependencies: + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + checksum: 97f5a2c2d733afba5dc57a0da9a97515b19b5e63bb5937717dac4e8c9baed74d15c0cb5c1580858b678931f11d517c56d89f903968fa48931f9c62e2ea67a107 + languageName: node + linkType: hard + +"@lezer/javascript@npm:^1.0.0": + version: 1.4.7 + resolution: "@lezer/javascript@npm:1.4.7" + dependencies: + "@lezer/highlight": ^1.1.3 + "@lezer/lr": ^1.3.0 + checksum: 37c05793e0e45280fa5d7b845a3132a84596105d48b7d2c195abea0a198477ea6719b07d1c8967679e80fc466388151956901fd6962479c130ffda64a6d09591 + languageName: node + linkType: hard + +"@lezer/json@npm:^1.0.0": + version: 1.0.1 + resolution: "@lezer/json@npm:1.0.1" + dependencies: + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + checksum: fcd17178f6a58e71c83e08fdc047e3708528b28591ba8f08ed35268f370d1ec9b63af0afa9d82a77fec26e9eb477ab3cfdc31c951e080d118ef607f9f9bb52e3 + languageName: node + linkType: hard + +"@lezer/lr@npm:^1.0.0, @lezer/lr@npm:^1.1.0, @lezer/lr@npm:^1.3.0": + version: 1.3.13 + resolution: "@lezer/lr@npm:1.3.13" + dependencies: + "@lezer/common": ^1.0.0 + checksum: aad0cb8908796a6b49116842fd490093aa0de54b48150a60a4f418815c014f7a1b4355615832e305caea5c0ba8c5ab577f82aebcd0ea04586b8199284ef0fec8 + languageName: node + linkType: hard + +"@lezer/markdown@npm:^1.0.0, @lezer/markdown@npm:^1.0.2": + version: 1.1.0 + resolution: "@lezer/markdown@npm:1.1.0" + dependencies: + "@lezer/common": ^1.0.0 + "@lezer/highlight": ^1.0.0 + checksum: b3699c0724dd41e3e6e3078a0e1bcd272ccaebf17b20e5160de3ecf26200cdaa59aa19c9542aac5ab8c7e3aecce1003544b016bb5c32e458bbd5982add8ca0bf + languageName: node + linkType: hard + +"@lezer/php@npm:^1.0.0": + version: 1.0.1 + resolution: "@lezer/php@npm:1.0.1" + dependencies: + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.1.0 + checksum: a847c255c030b4d38913ddf1d5bd7324d83be7ef8d1d244542870be03b9bf7dc71283afeb2415c40dfd188cb99f0cc44bad760b5f3b7c35c3b8e5e00253848fc + languageName: node + linkType: hard + +"@lezer/python@npm:^1.1.4": + version: 1.1.8 + resolution: "@lezer/python@npm:1.1.8" + dependencies: + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + checksum: e4a4e0b0fd871acff25111d4f767944b5015479776504b85c4431859c8a2859fdfa6362f204f3027cf9858c7ea907fd57244852a18b67da9eba3b2fe38d31b03 + languageName: node + linkType: hard + +"@lezer/rust@npm:^1.0.0": + version: 1.0.1 + resolution: "@lezer/rust@npm:1.0.1" + dependencies: + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + checksum: 1e02fdf09206979e7d4f87b020589f410c4c5e452a7b7b0296f6772ce3571c1bd7ed37495fbeeecf3d4423000f2efdabd462ba8a949c2b351fd35550327a7613 + languageName: node + linkType: hard + +"@lezer/xml@npm:^1.0.0": + version: 1.0.2 + resolution: "@lezer/xml@npm:1.0.2" + dependencies: + "@lezer/highlight": ^1.0.0 + "@lezer/lr": ^1.0.0 + checksum: e834bcc5c0dee3eecb5362b3f10187e80908b6a293ebacf5750547a64b57ec710a068497334f109ecf4e5ea05e09e7e9c00e48ebbd30050673ea67b0929e5398 + languageName: node + linkType: hard + +"@lumino/algorithm@npm:^2.0.1": + version: 2.0.1 + resolution: "@lumino/algorithm@npm:2.0.1" + checksum: cbf7fcf6ee6b785ea502cdfddc53d61f9d353dcb9659343511d5cd4b4030be2ff2ca4c08daec42f84417ab0318a3d9972a17319fa5231693e109ab112dcf8000 + languageName: node + linkType: hard + +"@lumino/application@npm:^2.2.1": + version: 2.2.1 + resolution: "@lumino/application@npm:2.2.1" + dependencies: + "@lumino/commands": ^2.1.3 + "@lumino/coreutils": ^2.1.2 + "@lumino/widgets": ^2.3.0 + checksum: a33e661703728440bc7d2ddb4674261f4de0d20eb8c9846646cbd6debac03b5c65e78d739a500903550fd83b8f47b47fa82ec178c97bc9967ca3ac4014075cde + languageName: node + linkType: hard + +"@lumino/collections@npm:^2.0.1": + version: 2.0.1 + resolution: "@lumino/collections@npm:2.0.1" + dependencies: + "@lumino/algorithm": ^2.0.1 + checksum: 8a29b7973a388a33c5beda0819dcd2dc2aad51a8406dcfd4581b055a9f77a39dc5800f7a8b4ae3c0bb97ae7b56a7a869e2560ffb7a920a28e93b477ba05907d6 + languageName: node + linkType: hard + +"@lumino/commands@npm:^2.1.3": + version: 2.1.3 + resolution: "@lumino/commands@npm:2.1.3" + dependencies: + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/domutils": ^2.0.1 + "@lumino/keyboard": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/virtualdom": ^2.0.1 + checksum: e4e3ee279f2a5e8d68e4ce142c880333f5542f90c684972402356936ecb5cf5e07163800b59e7cb8c911cbdb4e5089edcc5dd2990bc8db10c87517268de1fc5d + languageName: node + linkType: hard + +"@lumino/coreutils@npm:^1.11.0 || ^2.0.0, @lumino/coreutils@npm:^1.11.0 || ^2.1.2, @lumino/coreutils@npm:^2.1.2": + version: 2.1.2 + resolution: "@lumino/coreutils@npm:2.1.2" + checksum: 7865317ac0676b448d108eb57ab5d8b2a17c101995c0f7a7106662d9fe6c859570104525f83ee3cda12ae2e326803372206d6f4c1f415a5b59e4158a7b81066f + languageName: node + linkType: hard + +"@lumino/datagrid@npm:^2.2.0": + version: 2.2.0 + resolution: "@lumino/datagrid@npm:2.2.0" + dependencies: + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/domutils": ^2.0.1 + "@lumino/dragdrop": ^2.1.3 + "@lumino/keyboard": ^2.0.1 + "@lumino/messaging": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/widgets": ^2.3.0 + checksum: dcd6e06500c05b0f30b9924a25a2cc4c1cb98b8432f488148e74e98a7fe092a1f19cadbdc9edfbede9e2030d30b84e5633e40753fbe8d6bbb120d3336d3675ff + languageName: node + linkType: hard + +"@lumino/disposable@npm:^1.10.0 || ^2.0.0, @lumino/disposable@npm:^2.1.2": + version: 2.1.2 + resolution: "@lumino/disposable@npm:2.1.2" + dependencies: + "@lumino/signaling": ^2.1.2 + checksum: ac2fb2bf18d0b2939fda454f3db248a0ff6e8a77b401e586d1caa9293b3318f808b93a117c9c3ac27cd17aab545aea83b49108d099b9b2f5503ae2a012fbc6e2 + languageName: node + linkType: hard + +"@lumino/domutils@npm:^2.0.1": + version: 2.0.1 + resolution: "@lumino/domutils@npm:2.0.1" + checksum: 61fa0ab226869dfbb763fc426790cf5a43b7d6f4cea1364c6dd56d61c44bff05eea188d33ff847449608ef58ed343161bee15c19b96f35410e4ee35815dc611a + languageName: node + linkType: hard + +"@lumino/dragdrop@npm:^2.1.3": + version: 2.1.3 + resolution: "@lumino/dragdrop@npm:2.1.3" + dependencies: + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + checksum: d5f7eb4cc9f9a084cb9af10f02d6741b25d683350878ecbc324e24ba9d4b5246451a410e2ca5fff227aab1c191d1e73a2faf431f93e13111d67a4e426e126258 + languageName: node + linkType: hard + +"@lumino/keyboard@npm:^2.0.1": + version: 2.0.1 + resolution: "@lumino/keyboard@npm:2.0.1" + checksum: cf33f13427a418efd7cc91061233321e860d5404f3d86397781028309bef86c8ad2d88276ffe335c1db0fe619bd9d1e60641c81f881696957a58703ee4652c3e + languageName: node + linkType: hard + +"@lumino/messaging@npm:^2.0.1": + version: 2.0.1 + resolution: "@lumino/messaging@npm:2.0.1" + dependencies: + "@lumino/algorithm": ^2.0.1 + "@lumino/collections": ^2.0.1 + checksum: 964c4651c374b17452b4252b7d71500b32d2ecd87c192fc5bcf5d3bd1070661d78d07edcac8eca7d1d6fd50aa25992505485e1296d6dd995691b8e349b652045 + languageName: node + linkType: hard + +"@lumino/polling@npm:^2.1.2": + version: 2.1.2 + resolution: "@lumino/polling@npm:2.1.2" + dependencies: + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/signaling": ^2.1.2 + checksum: fa9b401e6dbeb8f31d7e3ba485e8ef1e0c92b3f2da086239c0ed49931026f5d3528709193c93e031e35ac624fb4bbbfcdcbaa0e25eb797f36e2952e5cd91e9e3 + languageName: node + linkType: hard + +"@lumino/properties@npm:^2.0.1": + version: 2.0.1 + resolution: "@lumino/properties@npm:2.0.1" + checksum: c50173a935148cc4148fdaea119df1d323ee004ae16ab666800388d27e9730345629662d85f25591683329b39f0cdae60ee8c94e8943b4d0ef7d7370a38128d6 + languageName: node + linkType: hard + +"@lumino/signaling@npm:^1.10.0 || ^2.0.0, @lumino/signaling@npm:^2.1.2": + version: 2.1.2 + resolution: "@lumino/signaling@npm:2.1.2" + dependencies: + "@lumino/algorithm": ^2.0.1 + "@lumino/coreutils": ^2.1.2 + checksum: ad7d7153db57980da899c43e412e6130316ef30b231a70250e7af49058db16cadb018c1417a2ea8083d83c48623cfe6b705fa82bf10216b1a8949aed9f4aca4e + languageName: node + linkType: hard + +"@lumino/virtualdom@npm:^2.0.1": + version: 2.0.1 + resolution: "@lumino/virtualdom@npm:2.0.1" + dependencies: + "@lumino/algorithm": ^2.0.1 + checksum: cf59b6f15b430e13e9e657b7a0619b9056cd9ea7b2a87f407391d071c501b77403c302b6a66dca510382045e75b2e3fe551630bb391f1c6b33678057d4bec164 + languageName: node + linkType: hard + +"@lumino/widgets@npm:^1.37.2 || ^2.3.0, @lumino/widgets@npm:^2.3.0": + version: 2.3.0 + resolution: "@lumino/widgets@npm:2.3.0" + dependencies: + "@lumino/algorithm": ^2.0.1 + "@lumino/commands": ^2.1.3 + "@lumino/coreutils": ^2.1.2 + "@lumino/disposable": ^2.1.2 + "@lumino/domutils": ^2.0.1 + "@lumino/dragdrop": ^2.1.3 + "@lumino/keyboard": ^2.0.1 + "@lumino/messaging": ^2.0.1 + "@lumino/properties": ^2.0.1 + "@lumino/signaling": ^2.1.2 + "@lumino/virtualdom": ^2.0.1 + checksum: a8559bd3574b7fc16e7679e05994c515b0d3e78dada35786d161f67c639941d134e92ce31d95c2e4ac06709cdf83b0e7fb4b6414a3f7779579222a2fb525d025 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0": + version: 3.1.0 + resolution: "@npmcli/fs@npm:3.1.0" + dependencies: + semver: ^7.3.5 + checksum: a50a6818de5fc557d0b0e6f50ec780a7a02ab8ad07e5ac8b16bf519e0ad60a144ac64f97d05c443c3367235d337182e1d012bbac0eb8dbae8dc7b40b193efd0e + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 6ad6a00fc4f2f2cfc6bff76fb1d88b8ee20bc0601e18ebb01b6d4be583733a860239a521a7fbca73b612e66705078809483549d2b18f370eb346c5155c8e4a0f + languageName: node + linkType: hard + +"@playwright/test@npm:^1.32.2, @playwright/test@npm:^1.36.2": + version: 1.38.1 + resolution: "@playwright/test@npm:1.38.1" + dependencies: + playwright: 1.38.1 + bin: + playwright: cli.js + checksum: c5ec0b23261fe1ef163b6234f69263bc10e7e5a3fb676c7773ffc70b87459a7ab225f57c03b9de649475771638a04c2e00d9b2739304a4dcf5d3edf20a7a4a82 + languageName: node + linkType: hard + +"@rjsf/core@npm:^5.1.0": + version: 5.13.0 + resolution: "@rjsf/core@npm:5.13.0" + dependencies: + lodash: ^4.17.21 + lodash-es: ^4.17.21 + markdown-to-jsx: ^7.3.2 + nanoid: ^3.3.6 + prop-types: ^15.8.1 + peerDependencies: + "@rjsf/utils": ^5.12.x + react: ^16.14.0 || >=17 + checksum: d7d66d20fcdf310f4b152c22e1ac1ca8abe5f40b502711c9cabc4241b3252ec0e58345aa194529d2bdfb7a51b9f1179c9ddefc0cdc7fd9f94ad10c5e5b1032b8 + languageName: node + linkType: hard + +"@rjsf/utils@npm:^5.1.0": + version: 5.13.0 + resolution: "@rjsf/utils@npm:5.13.0" + dependencies: + json-schema-merge-allof: ^0.8.1 + jsonpointer: ^5.0.1 + lodash: ^4.17.21 + lodash-es: ^4.17.21 + react-is: ^18.2.0 + peerDependencies: + react: ^16.14.0 || >=17 + checksum: 283e2b405eac2f4fdd243b2e35ade7e83a4bf7551eb5e075499e8eb5d3a3ae161e9c047bcf63d2e6fef7c6b2e7438f1a150f353b909df992e85194940c311f9b + languageName: node + linkType: hard + +"@stdlib/array@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/array@npm:0.0.12" + dependencies: + "@stdlib/assert": ^0.0.x + "@stdlib/blas": ^0.0.x + "@stdlib/complex": ^0.0.x + "@stdlib/constants": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/symbol": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 0d95690461f0c4560eabef0796d1170274415cd03de80333c6d39814d0484a6873ef4be04a64941ebf3a600747e84c3a4f23b21c7020e53842c07985331b39f1 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/assert@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/assert@npm:0.0.12" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/cli": ^0.0.x + "@stdlib/complex": ^0.0.x + "@stdlib/constants": ^0.0.x + "@stdlib/fs": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/ndarray": ^0.0.x + "@stdlib/number": ^0.0.x + "@stdlib/os": ^0.0.x + "@stdlib/process": ^0.0.x + "@stdlib/regexp": ^0.0.x + "@stdlib/streams": ^0.0.x + "@stdlib/string": ^0.0.x + "@stdlib/symbol": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: d4dcbeabbfb86ba56cdd972ff785f43e7d25018b2b1800cab8b0deb9e5c54c795d6ead3d142f4dd13c351f636deba4dc1857c85147d6b059fdc78eb2c9510b99 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/bigint@npm:^0.0.x": + version: 0.0.11 + resolution: "@stdlib/bigint@npm:0.0.11" + dependencies: + "@stdlib/utils": ^0.0.x + checksum: 7bf825d116e4b010e214209af239706ac1ef923eecb5c8b0af9229c9975450081355e441ecc7b4765d81a9e653141868e0492b8061d1e65724fa42fb8283aabd + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/blas@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/blas@npm:0.0.12" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/number": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 67ea00a968f7a9c710b37f718b7f756e2830e479a1a1ee44cbf6ec3cc27dd8863078928867707d9d1624007e81de89d040f2326d10f435e2cce913cab121975e + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/buffer@npm:^0.0.x": + version: 0.0.11 + resolution: "@stdlib/buffer@npm:0.0.11" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/process": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 93df02e3bf548e940ff9cef65121566e7bf93b554f0614d62336c9dbccfc07c9f1b1c4e9a7aebbe4819ef16a6d2a33a7010c2fdf908fface8298a3109c3c4ef0 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/cli@npm:^0.0.x": + version: 0.0.10 + resolution: "@stdlib/cli@npm:0.0.10" + dependencies: + "@stdlib/utils": ^0.0.x + minimist: ^1.2.0 + checksum: bbece8d3dbff2835518582a7726c6c4c22743dc408d2303d9e35a3b72151d5d0a8e78d61bc896663d4c3fb702e966abea7a1bd621ed943723a359f57053f121f + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/complex@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/complex@npm:0.0.12" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 8eda35027495417f1b0dd9bbbc2d4983f50ad3cf9e2276ffe0945ccdbe78f0fc66b9fc36ab71926d2a125c8fb7467c8970a222b230b42ff4bb8042c53314ca09 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/constants@npm:^0.0.x": + version: 0.0.11 + resolution: "@stdlib/constants@npm:0.0.11" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/number": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: fc19d055a4e71ae84b6c92e4a3a88371d50693da8f0a813df4063dc549374d19b9cf23f4fdae2fb7b2013e13929f713c3e1b9e4054767e741b75561ed43d15c3 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/fs@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/fs@npm:0.0.12" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/cli": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/process": ^0.0.x + "@stdlib/string": ^0.0.x + "@stdlib/utils": ^0.0.x + debug: ^2.6.9 + checksum: 33ac5ee4844d4599fe3a8a8402f1a3e2cafee31a5c9cf5b85df530a61a2b54ef17dc30a67be98dacdc2958219413edd0e4cdc3c28266f4bc30277ee024f6a49e + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/math@npm:^0.0.x": + version: 0.0.11 + resolution: "@stdlib/math@npm:0.0.11" + dependencies: + "@stdlib/assert": ^0.0.x + "@stdlib/constants": ^0.0.x + "@stdlib/ndarray": ^0.0.x + "@stdlib/number": ^0.0.x + "@stdlib/strided": ^0.0.x + "@stdlib/symbol": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + debug: ^2.6.9 + checksum: 6c4c9dda36fbce50553e1437354c5286aa782c42399534dbed8e696ddeb1b91ef6cff5fe5962f1c9e1eb2ef63c63d9bd58f7ca4b87d59018aaac20099c3fb79a + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/ndarray@npm:^0.0.x": + version: 0.0.13 + resolution: "@stdlib/ndarray@npm:0.0.13" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/bigint": ^0.0.x + "@stdlib/buffer": ^0.0.x + "@stdlib/complex": ^0.0.x + "@stdlib/constants": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/number": ^0.0.x + "@stdlib/string": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 842a94afce5fc74bf8a964b75a302ddb8713eadbc79616e6799f1310c8bce860ed9e9877adc4a39338d9136b8798947ee21cf03368d46408308a313c8075d49a + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/nlp@npm:^0.0.x": + version: 0.0.11 + resolution: "@stdlib/nlp@npm:0.0.11" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/random": ^0.0.x + "@stdlib/string": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 398fe2853fb95404bb6598e3e199ca3e0435b94447d50e14e2e30582cadfb91f43464f23d80a0e1da4d64567a4a108a7299d7440509f1ab26b02aea7bb16e9a8 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/number@npm:^0.0.x": + version: 0.0.10 + resolution: "@stdlib/number@npm:0.0.10" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/constants": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/os": ^0.0.x + "@stdlib/string": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 326190956c787cbf9321c332beedab5ba4b3fa97d52a82aa708a0349b4678c0df7a351424f00a606f4eaca4fb4ba4cc191580c99d7c64ee0f08d37baa3de14f2 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/os@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/os@npm:0.0.12" + dependencies: + "@stdlib/assert": ^0.0.x + "@stdlib/cli": ^0.0.x + "@stdlib/fs": ^0.0.x + "@stdlib/process": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 37156b0c723da70d7740d92d08fc592eae803461c1d546cff6ac044765d6e40722fdad342219277e747c39344b513096ac1d0aa1e733cf3079bd8a9a8578612a + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/process@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/process@npm:0.0.12" + dependencies: + "@stdlib/assert": ^0.0.x + "@stdlib/buffer": ^0.0.x + "@stdlib/cli": ^0.0.x + "@stdlib/fs": ^0.0.x + "@stdlib/streams": ^0.0.x + "@stdlib/string": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 6d5c3d943f9914d1ae39bd36ad7436f783cf64baa2bff67a808035c99258676ae3f704c328a78d62754951cf85fe99d8e9af5f4fa7d5f8cba347bca72767e357 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/random@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/random@npm:0.0.12" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/blas": ^0.0.x + "@stdlib/buffer": ^0.0.x + "@stdlib/cli": ^0.0.x + "@stdlib/constants": ^0.0.x + "@stdlib/fs": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/process": ^0.0.x + "@stdlib/stats": ^0.0.x + "@stdlib/streams": ^0.0.x + "@stdlib/symbol": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + debug: ^2.6.9 + readable-stream: ^2.1.4 + checksum: 67fcb5553274f8596ceae91153e96ae297bacfd55279821cb09f19f2844845aaf892802e4a5962965323dbfded0c7df8a89a6ce77d60d5c8a5899d483055a964 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/regexp@npm:^0.0.x": + version: 0.0.13 + resolution: "@stdlib/regexp@npm:0.0.13" + dependencies: + "@stdlib/assert": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: dd52adb096ff9a02d1c4818be2889ae01bc04a0cdbc0d52473685e0a7a4eaa13e1be603b964f140f7488d11450b644dc5f8c97029d77db1ed4a563554245ff1c + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/stats@npm:^0.0.x, @stdlib/stats@npm:~0.0.13": + version: 0.0.13 + resolution: "@stdlib/stats@npm:0.0.13" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/blas": ^0.0.x + "@stdlib/constants": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/ndarray": ^0.0.x + "@stdlib/random": ^0.0.x + "@stdlib/string": ^0.0.x + "@stdlib/symbol": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 5ca12b2e123543f56a59aca828e14afaf525ad4aa40467bee7037a9178e21e55d4ce8ba3de9387cc9a0efe3e0d035d6c58705b12f634f77a2b3f87d334dfb076 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/streams@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/streams@npm:0.0.12" + dependencies: + "@stdlib/assert": ^0.0.x + "@stdlib/buffer": ^0.0.x + "@stdlib/cli": ^0.0.x + "@stdlib/fs": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + debug: ^2.6.9 + readable-stream: ^2.1.4 + checksum: 231b4607d082ea81d9dadbeab08002ec398a29c7eb5d611d8a4183f9db6964428e2f8a9e0f8edd085ca12b5d58258576987a575e9d8f6fcabcb5a62c6b8efe88 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/strided@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/strided@npm:0.0.12" + dependencies: + "@stdlib/assert": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/ndarray": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 55ccc8543596894a2e3ad734b394700c69697b499a54b3bfbcf80cddd8d91509792c23931f5cebf7c89269676ac3f44352582e4f42e2c2c2898363cc3a76403d + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/string@npm:^0.0.x": + version: 0.0.14 + resolution: "@stdlib/string@npm:0.0.14" + dependencies: + "@stdlib/assert": ^0.0.x + "@stdlib/cli": ^0.0.x + "@stdlib/constants": ^0.0.x + "@stdlib/fs": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/nlp": ^0.0.x + "@stdlib/process": ^0.0.x + "@stdlib/regexp": ^0.0.x + "@stdlib/streams": ^0.0.x + "@stdlib/types": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: aaaaaddf381cccc67f15dbab76f43ce81cb71a4f5595bfa06ef915b6747458deca3c25c60ff3c002c0c36482687d92a150f364069559dfea915f63a040d5f603 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/symbol@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/symbol@npm:0.0.12" + dependencies: + "@stdlib/assert": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 2263341ce0296de2063d26038902bd63bf1d7b820307402fdf38c3b248bd026f17d96bccdc3189fd9fcc9c83a778eaab797dc11805bd66203b8ac9c6934f6588 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/time@npm:^0.0.x": + version: 0.0.14 + resolution: "@stdlib/time@npm:0.0.14" + dependencies: + "@stdlib/assert": ^0.0.x + "@stdlib/cli": ^0.0.x + "@stdlib/constants": ^0.0.x + "@stdlib/fs": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/string": ^0.0.x + "@stdlib/utils": ^0.0.x + checksum: 6e8a1b985a09936ab09c98d44bf1b2c79e08995c3c73401494bc1f6f708747ef136d769af4809a8af92a9ceb3d390db6c4c4e01608cd8d794a86c4b57e343eb1 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/types@npm:^0.0.x": + version: 0.0.14 + resolution: "@stdlib/types@npm:0.0.14" + checksum: 5680a655ddb3ad730f5c7eb2363a43e089f3e6a1b85b12546cab49f7749bb3baf293bd50fbfe55486f233f4227f1020b65eb461b754b94fb4a4bc2799647ec22 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@stdlib/utils@npm:^0.0.x": + version: 0.0.12 + resolution: "@stdlib/utils@npm:0.0.12" + dependencies: + "@stdlib/array": ^0.0.x + "@stdlib/assert": ^0.0.x + "@stdlib/blas": ^0.0.x + "@stdlib/buffer": ^0.0.x + "@stdlib/cli": ^0.0.x + "@stdlib/constants": ^0.0.x + "@stdlib/fs": ^0.0.x + "@stdlib/math": ^0.0.x + "@stdlib/os": ^0.0.x + "@stdlib/process": ^0.0.x + "@stdlib/random": ^0.0.x + "@stdlib/regexp": ^0.0.x + "@stdlib/streams": ^0.0.x + "@stdlib/string": ^0.0.x + "@stdlib/symbol": ^0.0.x + "@stdlib/time": ^0.0.x + "@stdlib/types": ^0.0.x + debug: ^2.6.9 + checksum: e0c3671c5f62c11bb3abd721f2958c41641b00a75d449bd25fbb62bcb8689cfe9c1f600c0688e7b6819ae870d6e5974d0fc7b2ec86081c45d9194b316b2a2ec2 + conditions: (os=aix | os=darwin | os=freebsd | os=linux | os=macos | os=openbsd | os=sunos | os=win32 | os=windows) + languageName: node + linkType: hard + +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 + languageName: node + linkType: hard + +"@types/estree@npm:^1.0.0": + version: 1.0.2 + resolution: "@types/estree@npm:1.0.2" + checksum: aeedb1b2fe20cbe06f44b99b562bf9703e360bfcdf5bb3d61d248182ee1dd63500f2474e12f098ffe1f5ac3202b43b3e18ec99902d9328d5374f5512fa077e45 + languageName: node + linkType: hard + +"@types/geojson@npm:7946.0.4": + version: 7946.0.4 + resolution: "@types/geojson@npm:7946.0.4" + checksum: 541aea46540c918b9fe21ab73f497fe17b1eaf4d0d3baeb5f5614029b7f488c37f63843b644c024a8178dc2fb66d3d6623c25d9cf61d7b553aa19c8dc7f99047 + languageName: node + linkType: hard + +"@types/prop-types@npm:*": + version: 15.7.8 + resolution: "@types/prop-types@npm:15.7.8" + checksum: 61dfad79da8b1081c450bab83b77935df487ae1cdd4660ec7df6be8e74725c15fa45cf486ce057addc956ca4ae78300b97091e2a25061133d1b9a1440bc896ae + languageName: node + linkType: hard + +"@types/react@npm:^18.0.26": + version: 18.2.25 + resolution: "@types/react@npm:18.2.25" + dependencies: + "@types/prop-types": "*" + "@types/scheduler": "*" + csstype: ^3.0.2 + checksum: 177515cd44135d56191ec6c5c10edd490c96c175d37624d9c37bc2007c3abcf6cc2d2137d2a073d692cdc5129d5d5785bd60a6ddd315f695da5d8b989fa2afc5 + languageName: node + linkType: hard + +"@types/scheduler@npm:*": + version: 0.16.4 + resolution: "@types/scheduler@npm:0.16.4" + checksum: a57b0f10da1b021e6bd5eeef8a1917dd3b08a8715bd8029e2ded2096d8f091bb1bb1fef2d66e139588a983c4bfbad29b59e48011141725fa83c76e986e1257d7 + languageName: node + linkType: hard + +"@vscode/debugprotocol@npm:^1.51.0": + version: 1.63.0 + resolution: "@vscode/debugprotocol@npm:1.63.0" + checksum: 084bd8c246da30e3c2099110efbf8beb9f1471ecb5471bb30e834ee041ef375df3076395b13096520ec5f6e531a4a8a5621f26e37da9c8648054340e9b00a273 + languageName: node + linkType: hard + +"abbrev@npm:^1.0.0": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: 4 + checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.2.1": + version: 4.5.0 + resolution: "agentkeepalive@npm:4.5.0" + dependencies: + humanize-ms: ^1.2.1 + checksum: 13278cd5b125e51eddd5079f04d6fe0914ac1b8b91c1f3db2c1822f99ac1a7457869068997784342fe455d59daaff22e14fb7b8c3da4e741896e7e31faf92481 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: ^2.0.0 + indent-string: ^4.0.0 + checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 + languageName: node + linkType: hard + +"ajv@npm:^8.12.0": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" + dependencies: + fast-deep-equal: ^3.1.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + uri-js: ^4.2.2 + checksum: 4dc13714e316e67537c8b31bc063f99a1d9d9a497eb4bbd55191ac0dcd5e4985bbb71570352ad6f1e76684fb6d790928f96ba3b2d4fd6e10024be9612fe3f001 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: ^2.0.1 + checksum: 513b44c3b2105dd14cc42a19271e80f386466c4be574bccf60b627432f9198571ebf4ab1e4c3ba17347658f4ee1711c163d574248c0c1cdc2d5917a0ad582ec4 + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: ef940f2f0ced1a6347398da88a91da7930c33ecac3c77b72c5905f8b8fe402c52e6fde304ff5347f616e27a742da3f1dc76de98f6866c69251ad0b07a66776d9 + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" + dependencies: + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: ^1.0.0 + concat-map: 0.0.1 + checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: ^1.0.0 + checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + languageName: node + linkType: hard + +"cacache@npm:^17.0.0": + version: 17.1.4 + resolution: "cacache@npm:17.1.4" + dependencies: + "@npmcli/fs": ^3.1.0 + fs-minipass: ^3.0.0 + glob: ^10.2.2 + lru-cache: ^7.7.1 + minipass: ^7.0.3 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + p-map: ^4.0.0 + ssri: ^10.0.0 + tar: ^6.1.11 + unique-filename: ^3.0.0 + checksum: b7751df756656954a51201335addced8f63fc53266fa56392c9f5ae83c8d27debffb4458ac2d168a744a4517ec3f2163af05c20097f93d17bdc2dc8a385e14a6 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.1 + wrap-ansi: ^7.0.0 + checksum: 79648b3b0045f2e285b76fb2e24e207c6db44323581e421c3acbd0e86454cba1b37aea976ab50195a49e7384b871e6dfb2247ad7dec53c02454ac6497394cb56 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: ~1.1.4 + checksum: 79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 + languageName: node + linkType: hard + +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b + languageName: node + linkType: hard + +"commander@npm:2": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e + languageName: node + linkType: hard + +"commander@npm:7": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 53501cbeee61d5157546c0bef0fedb6cdfc763a882136284bed9a07225f09a14b82d2a84e7637edfd1a679fb35ed9502fd58ef1d091e6287f60d790147f68ddc + languageName: node + linkType: hard + +"compute-gcd@npm:^1.2.1": + version: 1.2.1 + resolution: "compute-gcd@npm:1.2.1" + dependencies: + validate.io-array: ^1.0.3 + validate.io-function: ^1.0.2 + validate.io-integer-array: ^1.0.0 + checksum: 51cf33b75f7c8db5142fcb99a9d84a40260993fed8e02a7ab443834186c3ab99b3fd20b30ad9075a6a9d959d69df6da74dd3be8a59c78d9f2fe780ebda8242e1 + languageName: node + linkType: hard + +"compute-lcm@npm:^1.1.2": + version: 1.1.2 + resolution: "compute-lcm@npm:1.1.2" + dependencies: + compute-gcd: ^1.2.1 + validate.io-array: ^1.0.3 + validate.io-function: ^1.0.2 + validate.io-integer-array: ^1.0.0 + checksum: d499ab57dcb48e8d0fd233b99844a06d1cc56115602c920c586e998ebba60293731f5b6976e8a1e83ae6cbfe86716f62d9432e8d94913fed8bd8352f447dc917 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af + languageName: node + linkType: hard + +"console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 + languageName: node + linkType: hard + +"crelt@npm:^1.0.5": + version: 1.0.6 + resolution: "crelt@npm:1.0.6" + checksum: dad842093371ad702afbc0531bfca2b0a8dd920b23a42f26e66dabbed9aad9acd5b9030496359545ef3937c3aced0fd4ac39f7a2d280a23ddf9eb7fdcb94a69f + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + languageName: node + linkType: hard + +"csstype@npm:3.0.10": + version: 3.0.10 + resolution: "csstype@npm:3.0.10" + checksum: 20a8fa324f2b33ddf94aa7507d1b6ab3daa6f3cc308888dc50126585d7952f2471de69b2dbe0635d1fdc31223fef8e070842691877e725caf456e2378685a631 + languageName: node + linkType: hard + +"csstype@npm:^3.0.2": + version: 3.1.2 + resolution: "csstype@npm:3.1.2" + checksum: e1a52e6c25c1314d6beef5168da704ab29c5186b877c07d822bd0806717d9a265e8493a2e35ca7e68d0f5d472d43fac1cdce70fd79fd0853dff81f3028d857b5 + languageName: node + linkType: hard + +"d3-array@npm:1 - 3, d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:2.5.0 - 3, d3-array@npm:^3.2.2": + version: 3.2.4 + resolution: "d3-array@npm:3.2.4" + dependencies: + internmap: 1 - 2 + checksum: a5976a6d6205f69208478bb44920dd7ce3e788c9dceb86b304dbe401a4bfb42ecc8b04c20facde486e9adcb488b5d1800d49393a3f81a23902b68158e12cddd0 + languageName: node + linkType: hard + +"d3-array@npm:3.2.2": + version: 3.2.2 + resolution: "d3-array@npm:3.2.2" + dependencies: + internmap: 1 - 2 + checksum: 98af3db792685ceca5d9c3721efba0c567520da5532b2c7a590fd83627a598ea225d11c2cecbad404dc154120feb5ea6df0ded38f82ddf342c714cfd0c6143d1 + languageName: node + linkType: hard + +"d3-color@npm:1 - 3, d3-color@npm:^3.1.0": + version: 3.1.0 + resolution: "d3-color@npm:3.1.0" + checksum: 4931fbfda5d7c4b5cfa283a13c91a954f86e3b69d75ce588d06cde6c3628cebfc3af2069ccf225e982e8987c612aa7948b3932163ce15eb3c11cd7c003f3ee3b + languageName: node + linkType: hard + +"d3-delaunay@npm:^6.0.2": + version: 6.0.4 + resolution: "d3-delaunay@npm:6.0.4" + dependencies: + delaunator: 5 + checksum: ce6d267d5ef21a8aeadfe4606329fc80a22ab6e7748d47bc220bcc396ee8be84b77a5473033954c5ac4aa522d265ddc45d4165d30fe4787dd60a15ea66b9bbb4 + languageName: node + linkType: hard + +"d3-dispatch@npm:1 - 3": + version: 3.0.1 + resolution: "d3-dispatch@npm:3.0.1" + checksum: fdfd4a230f46463e28e5b22a45dd76d03be9345b605e1b5dc7d18bd7ebf504e6c00ae123fd6d03e23d9e2711e01f0e14ea89cd0632545b9f0c00b924ba4be223 + languageName: node + linkType: hard + +"d3-dsv@npm:^3.0.1": + version: 3.0.1 + resolution: "d3-dsv@npm:3.0.1" + dependencies: + commander: 7 + iconv-lite: 0.6 + rw: 1 + bin: + csv2json: bin/dsv2json.js + csv2tsv: bin/dsv2dsv.js + dsv2dsv: bin/dsv2dsv.js + dsv2json: bin/dsv2json.js + json2csv: bin/json2dsv.js + json2dsv: bin/json2dsv.js + json2tsv: bin/json2dsv.js + tsv2csv: bin/dsv2dsv.js + tsv2json: bin/dsv2json.js + checksum: 5fc0723647269d5dccd181d74f2265920ab368a2868b0b4f55ffa2fecdfb7814390ea28622cd61ee5d9594ab262879509059544e9f815c54fe76fbfb4ffa4c8a + languageName: node + linkType: hard + +"d3-force@npm:^3.0.0": + version: 3.0.0 + resolution: "d3-force@npm:3.0.0" + dependencies: + d3-dispatch: 1 - 3 + d3-quadtree: 1 - 3 + d3-timer: 1 - 3 + checksum: 6c7e96438cab62fa32aeadb0ade3297b62b51f81b1b38b0a60a5ec9fd627d74090c1189654d92df2250775f31b06812342f089f1d5947de9960a635ee3581def + languageName: node + linkType: hard + +"d3-format@npm:1 - 3, d3-format@npm:^3.1.0": + version: 3.1.0 + resolution: "d3-format@npm:3.1.0" + checksum: f345ec3b8ad3cab19bff5dead395bd9f5590628eb97a389b1dd89f0b204c7c4fc1d9520f13231c2c7cf14b7c9a8cf10f8ef15bde2befbab41454a569bd706ca2 + languageName: node + linkType: hard + +"d3-geo-projection@npm:^4.0.0": + version: 4.0.0 + resolution: "d3-geo-projection@npm:4.0.0" + dependencies: + commander: 7 + d3-array: 1 - 3 + d3-geo: 1.12.0 - 3 + bin: + geo2svg: bin/geo2svg.js + geograticule: bin/geograticule.js + geoproject: bin/geoproject.js + geoquantize: bin/geoquantize.js + geostitch: bin/geostitch.js + checksum: 631422b10dd78d1047ba5a3b073148bea27721060bd7087a5fa6c053ca80445d26432e505e0e3acbd6e0d76cf577c61bf9a5db70dabbc9310c493de1f7ff736d + languageName: node + linkType: hard + +"d3-geo@npm:1.12.0 - 3, d3-geo@npm:^3.1.0": + version: 3.1.0 + resolution: "d3-geo@npm:3.1.0" + dependencies: + d3-array: 2.5.0 - 3 + checksum: adf82b0c105c0c5951ae0a833d4dfc479a563791ad7938579fa14e1cffd623b469d8aa7a37dc413a327fb6ac56880f3da3f6c43d4abe3c923972dd98f34f37d1 + languageName: node + linkType: hard + +"d3-hierarchy@npm:^3.1.2": + version: 3.1.2 + resolution: "d3-hierarchy@npm:3.1.2" + checksum: 0fd946a8c5fd4686d43d3e11bbfc2037a145fda29d2261ccd0e36f70b66af6d7638e2c0c7112124d63fc3d3127197a00a6aecf676bd5bd392a94d7235a214263 + languageName: node + linkType: hard + +"d3-interpolate@npm:1.2.0 - 3, d3-interpolate@npm:^3.0.1": + version: 3.0.1 + resolution: "d3-interpolate@npm:3.0.1" + dependencies: + d3-color: 1 - 3 + checksum: a42ba314e295e95e5365eff0f604834e67e4a3b3c7102458781c477bd67e9b24b6bb9d8e41ff5521050a3f2c7c0c4bbbb6e187fd586daa3980943095b267e78b + languageName: node + linkType: hard + +"d3-path@npm:^3.1.0": + version: 3.1.0 + resolution: "d3-path@npm:3.1.0" + checksum: 2306f1bd9191e1eac895ec13e3064f732a85f243d6e627d242a313f9777756838a2215ea11562f0c7630c7c3b16a19ec1fe0948b1c82f3317fac55882f6ee5d8 + languageName: node + linkType: hard + +"d3-quadtree@npm:1 - 3": + version: 3.0.1 + resolution: "d3-quadtree@npm:3.0.1" + checksum: 5469d462763811475f34a7294d984f3eb100515b0585ca5b249656f6b1a6e99b20056a2d2e463cc9944b888896d2b1d07859c50f9c0cf23438df9cd2e3146066 + languageName: node + linkType: hard + +"d3-scale@npm:^4.0.2": + version: 4.0.2 + resolution: "d3-scale@npm:4.0.2" + dependencies: + d3-array: 2.10.0 - 3 + d3-format: 1 - 3 + d3-interpolate: 1.2.0 - 3 + d3-time: 2.1.1 - 3 + d3-time-format: 2 - 4 + checksum: a9c770d283162c3bd11477c3d9d485d07f8db2071665f1a4ad23eec3e515e2cefbd369059ec677c9ac849877d1a765494e90e92051d4f21111aa56791c98729e + languageName: node + linkType: hard + +"d3-shape@npm:^3.2.0": + version: 3.2.0 + resolution: "d3-shape@npm:3.2.0" + dependencies: + d3-path: ^3.1.0 + checksum: de2af5fc9a93036a7b68581ca0bfc4aca2d5a328aa7ba7064c11aedd44d24f310c20c40157cb654359d4c15c3ef369f95ee53d71221017276e34172c7b719cfa + languageName: node + linkType: hard + +"d3-time-format@npm:2 - 4, d3-time-format@npm:^4.1.0": + version: 4.1.0 + resolution: "d3-time-format@npm:4.1.0" + dependencies: + d3-time: 1 - 3 + checksum: 7342bce28355378152bbd4db4e275405439cabba082d9cd01946d40581140481c8328456d91740b0fe513c51ec4a467f4471ffa390c7e0e30ea30e9ec98fcdf4 + languageName: node + linkType: hard + +"d3-time@npm:1 - 3, d3-time@npm:2.1.1 - 3, d3-time@npm:^3.1.0": + version: 3.1.0 + resolution: "d3-time@npm:3.1.0" + dependencies: + d3-array: 2 - 3 + checksum: 613b435352a78d9f31b7f68540788186d8c331b63feca60ad21c88e9db1989fe888f97f242322ebd6365e45ec3fb206a4324cd4ca0dfffa1d9b5feb856ba00a7 + languageName: node + linkType: hard + +"d3-timer@npm:1 - 3, d3-timer@npm:^3.0.1": + version: 3.0.1 + resolution: "d3-timer@npm:3.0.1" + checksum: 1cfddf86d7bca22f73f2c427f52dfa35c49f50d64e187eb788dcad6e927625c636aa18ae4edd44d084eb9d1f81d8ca4ec305dae7f733c15846a824575b789d73 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.3.3": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 + languageName: node + linkType: hard + +"debug@npm:^2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 2024c6a980a1b7128084170c4cf56b0fd58a63f2da1660dcfe977415f27b17dbe5888668b59d0b063753f3220719d5e400b7f113609489c90160bb9a5518d052 + languageName: node + linkType: hard + +"delaunator@npm:5": + version: 5.0.0 + resolution: "delaunator@npm:5.0.0" + dependencies: + robust-predicates: ^3.0.0 + checksum: d6764188442b7f7c6bcacebd96edc00e35f542a96f1af3ef600e586bfb9849a3682c489c0ab423440c90bc4c7cac77f28761babff76fa29e193e1cf50a95b860 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd + languageName: node + linkType: hard + +"dom-serializer@npm:^1.0.1": + version: 1.4.1 + resolution: "dom-serializer@npm:1.4.1" + dependencies: + domelementtype: ^2.0.1 + domhandler: ^4.2.0 + entities: ^2.0.0 + checksum: fbb0b01f87a8a2d18e6e5a388ad0f7ec4a5c05c06d219377da1abc7bb0f674d804f4a8a94e3f71ff15f6cb7dcfc75704a54b261db672b9b3ab03da6b758b0b22 + languageName: node + linkType: hard + +"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0": + version: 2.3.0 + resolution: "domelementtype@npm:2.3.0" + checksum: ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 + languageName: node + linkType: hard + +"domhandler@npm:^4.0.0, domhandler@npm:^4.2.0": + version: 4.3.1 + resolution: "domhandler@npm:4.3.1" + dependencies: + domelementtype: ^2.2.0 + checksum: 4c665ceed016e1911bf7d1dadc09dc888090b64dee7851cccd2fcf5442747ec39c647bb1cb8c8919f8bbdd0f0c625a6bafeeed4b2d656bbecdbae893f43ffaaa + languageName: node + linkType: hard + +"domutils@npm:^2.5.2": + version: 2.8.0 + resolution: "domutils@npm:2.8.0" + dependencies: + dom-serializer: ^1.0.1 + domelementtype: ^2.2.0 + domhandler: ^4.2.0 + checksum: abf7434315283e9aadc2a24bac0e00eab07ae4313b40cc239f89d84d7315ebdfd2fb1b5bf750a96bc1b4403d7237c7b2ebf60459be394d625ead4ca89b934391 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 7d00d7cd8e49b9afa762a813faac332dee781932d6f2c848dc348939c4253f1d4564341b7af1d041853bc3f32c2ef141b58e0a4d9862c17a7f08f68df1e0f1ed + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: ^0.6.2 + checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + languageName: node + linkType: hard + +"entities@npm:^2.0.0": + version: 2.2.0 + resolution: "entities@npm:2.2.0" + checksum: 19010dacaf0912c895ea262b4f6128574f9ccf8d4b3b65c7e8334ad0079b3706376360e28d8843ff50a78aabcb8f08f0a32dbfacdc77e47ed77ca08b713669b3 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 3d21519a4f8207c99f7457287291316306255a328770d320b401114ec8481986e4e467e854cb9914dd965e0a1ca810a23ccb559c642c88f4c7f55c55778a9b48 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.1.1 + resolution: "foreground-child@npm:3.1.1" + dependencies: + cross-spawn: ^7.0.0 + signal-exit: ^4.0.1 + checksum: 139d270bc82dc9e6f8bc045fe2aae4001dc2472157044fdfad376d0a3457f77857fa883c1c8b21b491c6caade9a926a4bed3d3d2e8d3c9202b151a4cbbd0bcd5 + languageName: node + linkType: hard + +"free-style@npm:3.1.0": + version: 3.1.0 + resolution: "free-style@npm:3.1.0" + checksum: 949258ae315deda48cac93ecd5f9a80f36e8a027e19ce2103598dc8d5ab60e963bbad5444b2a4990ddb746798dd188896f430285cf484afbf2141f7d75a191d8 + languageName: node + linkType: hard + +"fs-extra@npm:^10.1.0": + version: 10.1.0 + resolution: "fs-extra@npm:10.1.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^6.0.1 + universalify: ^2.0.0 + checksum: dc94ab37096f813cc3ca12f0f1b5ad6744dfed9ed21e953d72530d103cea193c2f81584a39e9dee1bea36de5ee66805678c0dddc048e8af1427ac19c00fffc50 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: ^7.0.3 + checksum: 8722a41109130851d979222d3ec88aabaceeaaf8f57b2a8f744ef8bd2d1ce95453b04a61daa0078822bc5cd21e008814f06fe6586f56fef511e71b8d2394d802 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 99ddea01a7e75aa276c250a04eedeffe5662bce66c65c07164ad6264f9de18fb21be9433ead460e54cff20e31721c811f4fb5d70591799df5f85dce6d6746fd0 + languageName: node + linkType: hard + +"fsevents@npm:2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: latest + checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@2.3.2#~builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1" + dependencies: + node-gyp: latest + conditions: os=darwin + languageName: node + linkType: hard + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.3 + console-control-strings: ^1.1.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.7 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.5 + checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.7": + version: 10.3.10 + resolution: "glob@npm:10.3.10" + dependencies: + foreground-child: ^3.1.0 + jackspeak: ^2.3.5 + minimatch: ^9.0.1 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + path-scurry: ^1.10.1 + bin: + glob: dist/esm/bin.mjs + checksum: 4f2fe2511e157b5a3f525a54092169a5f92405f24d2aed3142f4411df328baca13059f4182f1db1bf933e2c69c0bd89e57ae87edd8950cba8c7ccbe84f721cf3 + languageName: node + linkType: hard + +"glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.1.1 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 + languageName: node + linkType: hard + +"htmlparser2@npm:^6.0.0": + version: 6.1.0 + resolution: "htmlparser2@npm:6.1.0" + dependencies: + domelementtype: ^2.0.1 + domhandler: ^4.0.0 + domutils: ^2.5.2 + entities: ^2.0.0 + checksum: 81a7b3d9c3bb9acb568a02fc9b1b81ffbfa55eae7f1c41ae0bf840006d1dbf54cb3aa245b2553e2c94db674840a9f0fdad7027c9a9d01a062065314039058c4e + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" + dependencies: + "@tootallnate/once": 2 + agent-base: 6 + debug: 4 + checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: 6 + debug: 4 + checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: ^2.0.0 + checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 + languageName: node + linkType: hard + +"iconv-lite@npm:0.6, iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: ^1.3.0 + wrappy: 1 + checksum: f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 78cb8d7d850d20a5e9a7f3620db31483aa00ad5f722ce03a55b110e5a723539b3716a3b463e2b96ce3fe286f33afc7c131fa2f91407528ba80cea98a7545d4c0 + languageName: node + linkType: hard + +"internmap@npm:1 - 2": + version: 2.0.3 + resolution: "internmap@npm:2.0.3" + checksum: 7ca41ec6aba8f0072fc32fa8a023450a9f44503e2d8e403583c55714b25efd6390c38a87161ec456bf42d7bc83aab62eb28f5aef34876b1ac4e60693d5e1d241 + languageName: node + linkType: hard + +"ip@npm:^2.0.0": + version: 2.0.0 + resolution: "ip@npm:2.0.0" + checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 + languageName: node + linkType: hard + +"is-plain-object@npm:^5.0.0": + version: 5.0.0 + resolution: "is-plain-object@npm:5.0.0" + checksum: e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 + languageName: node + linkType: hard + +"isomorphic.js@npm:^0.2.4": + version: 0.2.5 + resolution: "isomorphic.js@npm:0.2.5" + checksum: d8d1b083f05f3c337a06628b982ac3ce6db953bbef14a9de8ad49131250c3592f864b73c12030fdc9ef138ce97b76ef55c7d96a849561ac215b1b4b9d301c8e9 + languageName: node + linkType: hard + +"jackspeak@npm:^2.3.5": + version: 2.3.6 + resolution: "jackspeak@npm:2.3.6" + dependencies: + "@isaacs/cliui": ^8.0.2 + "@pkgjs/parseargs": ^0.11.0 + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 57d43ad11eadc98cdfe7496612f6bbb5255ea69fe51ea431162db302c2a11011642f50cfad57288bd0aea78384a0612b16e131944ad8ecd09d619041c8531b54 + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78 + languageName: node + linkType: hard + +"json-schema-compare@npm:^0.2.2": + version: 0.2.2 + resolution: "json-schema-compare@npm:0.2.2" + dependencies: + lodash: ^4.17.4 + checksum: dd6f2173857c8e3b77d6ebdfa05bd505bba5b08709ab46b532722f5d1c33b5fee1fc8f3c97d0c0d011db25f9f3b0baf7ab783bb5f55c32abd9f1201760e43c2c + languageName: node + linkType: hard + +"json-schema-merge-allof@npm:^0.8.1": + version: 0.8.1 + resolution: "json-schema-merge-allof@npm:0.8.1" + dependencies: + compute-lcm: ^1.1.2 + json-schema-compare: ^0.2.2 + lodash: ^4.17.20 + checksum: 82700f6ac77351959138d6b153d77375a8c29cf48d907241b85c8292dd77aabd8cb816400f2b0d17062c4ccc8893832ec4f664ab9c814927ef502e7a595ea873 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad + languageName: node + linkType: hard + +"json-stringify-pretty-compact@npm:~3.0.0": + version: 3.0.0 + resolution: "json-stringify-pretty-compact@npm:3.0.0" + checksum: 01ab5c5c8260299414868d96db97f53aef93c290fe469edd9a1363818e795006e01c952fa2fd7b47cbbab506d5768998eccc25e1da4fa2ccfebd1788c6098791 + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349 + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: ^4.1.6 + universalify: ^2.0.0 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 + languageName: node + linkType: hard + +"jsonpointer@npm:^5.0.1": + version: 5.0.1 + resolution: "jsonpointer@npm:5.0.1" + checksum: 0b40f712900ad0c846681ea2db23b6684b9d5eedf55807b4708c656f5894b63507d0e28ae10aa1bddbea551241035afe62b6df0800fc94c2e2806a7f3adecd7c + languageName: node + linkType: hard + +"lib0@npm:^0.2.74, lib0@npm:^0.2.85": + version: 0.2.86 + resolution: "lib0@npm:0.2.86" + dependencies: + isomorphic.js: ^0.2.4 + bin: + 0gentesthtml: bin/gentesthtml.js + 0serve: bin/0serve.js + checksum: 0475bed3d559eeca7e8cae5cf3f2afe1eb787e286659063f82f3b53890d2e15ad913054b43893c626b75a6c887f193e90ed7ed314200606c220201c50abae9de + languageName: node + linkType: hard + +"lodash-es@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash-es@npm:4.17.21" + checksum: 05cbffad6e2adbb331a4e16fbd826e7faee403a1a04873b82b42c0f22090f280839f85b95393f487c1303c8a3d2a010048bf06151a6cbe03eee4d388fb0a12d2 + languageName: node + linkType: hard + +"lodash.escape@npm:^4.0.1": + version: 4.0.1 + resolution: "lodash.escape@npm:4.0.1" + checksum: fcb54f457497256964d619d5cccbd80a961916fca60df3fe0fa3e7f052715c2944c0ed5aefb4f9e047d127d44aa2d55555f3350cb42c6549e9e293fb30b41e7f + languageName: node + linkType: hard + +"lodash.mergewith@npm:^4.6.1": + version: 4.6.2 + resolution: "lodash.mergewith@npm:4.6.2" + checksum: a6db2a9339752411f21b956908c404ec1e088e783a65c8b29e30ae5b3b6384f82517662d6f425cc97c2070b546cc2c7daaa8d33f78db7b6e9be06cd834abdeb8 + languageName: node + linkType: hard + +"lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 + languageName: node + linkType: hard + +"loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: ^3.0.0 || ^4.0.0 + bin: + loose-envify: cli.js + checksum: 6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4 + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: ^4.0.0 + checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297 + languageName: node + linkType: hard + +"lru-cache@npm:^7.7.1": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: e550d772384709deea3f141af34b6d4fa392e2e418c1498c078de0ee63670f1f46f5eee746e8ef7e69e1c895af0d4224e62ee33e66a543a14763b0f2e74c1356 + languageName: node + linkType: hard + +"lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.0.1 + resolution: "lru-cache@npm:10.0.1" + checksum: 06f8d0e1ceabd76bb6f644a26dbb0b4c471b79c7b514c13c6856113879b3bf369eb7b497dad4ff2b7e2636db202412394865b33c332100876d838ad1372f0181 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^11.0.3": + version: 11.1.1 + resolution: "make-fetch-happen@npm:11.1.1" + dependencies: + agentkeepalive: ^4.2.1 + cacache: ^17.0.0 + http-cache-semantics: ^4.1.1 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^5.0.0 + minipass-fetch: ^3.0.0 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^7.0.0 + ssri: ^10.0.0 + checksum: 7268bf274a0f6dcf0343829489a4506603ff34bd0649c12058753900b0eb29191dce5dba12680719a5d0a983d3e57810f594a12f3c18494e93a1fbc6348a4540 + languageName: node + linkType: hard + +"markdown-to-jsx@npm:^7.3.2": + version: 7.3.2 + resolution: "markdown-to-jsx@npm:7.3.2" + peerDependencies: + react: ">= 0.14.0" + checksum: 8885c6343b71570b0a7ec16cd85a49b853a830234790ee7430e2517ea5d8d361ff138bd52147f650790f3e7b3a28a15c755fc16f8856dd01ddf09a6161782e06 + languageName: node + linkType: hard + +"minimatch@npm:^3.1.1": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: ^1.1.7 + checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a + languageName: node + linkType: hard + +"minimatch@npm:^9.0.1": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" + dependencies: + brace-expansion: ^2.0.1 + checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:~1.2.0": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: ^3.0.0 + checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.4 + resolution: "minipass-fetch@npm:3.0.4" + dependencies: + encoding: ^0.1.13 + minipass: ^7.0.3 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 + dependenciesMeta: + encoding: + optional: true + checksum: af7aad15d5c128ab1ebe52e043bdf7d62c3c6f0cecb9285b40d7b395e1375b45dcdfd40e63e93d26a0e8249c9efd5c325c65575aceee192883970ff8cb11364a + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: ^3.0.0 + checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: ^3.0.0 + checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: ^3.0.0 + checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: ^4.0.0 + checksum: a30d083c8054cee83cdcdc97f97e4641a3f58ae743970457b1489ce38ee1167b3aaf7d815cd39ec7a99b9c40397fd4f686e83750e73e652b21cb516f6d845e48 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 425dab288738853fded43da3314a0b5c035844d6f3097a8e3b5b29b328da8f3c1af6fc70618b32c29ff906284cf6406b6841376f21caaadd0793c1d5a6a620ea + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.3": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 87585e258b9488caf2e7acea242fd7856bbe9a2c84a7807643513a338d66f368c7d518200ad7b70a508664d408aa000517647b2930c259a8b1f9f0984f344a21 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: ^3.0.0 + yallist: ^4.0.0 + checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f + languageName: node + linkType: hard + +"ms@npm:^2.0.0": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"nanoid@npm:^3.3.6": + version: 3.3.6 + resolution: "nanoid@npm:3.3.6" + bin: + nanoid: bin/nanoid.cjs + checksum: 7d0eda657002738aa5206107bd0580aead6c95c460ef1bdd0b1a87a9c7ae6277ac2e9b945306aaa5b32c6dcb7feaf462d0f552e7f8b5718abfc6ead5c94a71b3 + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.7": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: ^5.0.0 + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: d76d2f5edb451a3f05b15115ec89fc6be39de37c6089f1b6368df03b91e1633fd379a7e01b7ab05089a25034b2023d959b47e59759cb38d88341b2459e89d6e5 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 9.4.0 + resolution: "node-gyp@npm:9.4.0" + dependencies: + env-paths: ^2.2.0 + exponential-backoff: ^3.1.1 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^11.0.3 + nopt: ^6.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 78b404e2e0639d64e145845f7f5a3cb20c0520cdaf6dda2f6e025e9b644077202ea7de1232396ba5bde3fee84cdc79604feebe6ba3ec84d464c85d407bb5da99 + languageName: node + linkType: hard + +"nopt@npm:^6.0.0": + version: 6.0.0 + resolution: "nopt@npm:6.0.0" + dependencies: + abbrev: ^1.0.0 + bin: + nopt: bin/nopt.js + checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac + languageName: node + linkType: hard + +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: ^3.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.3 + set-blocking: ^2.0.0 + checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a + languageName: node + linkType: hard + +"object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f + languageName: node + linkType: hard + +"once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: 1 + checksum: cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: cb0ab21ec0f32ddffd31dfc250e3afa61e103ef43d957cc45497afe37513634589316de4eb88abdfd969fe6410c22c0b93ab24328833b8eb1ccc087fc0442a1c + languageName: node + linkType: hard + +"parse-srcset@npm:^1.0.2": + version: 1.0.2 + resolution: "parse-srcset@npm:1.0.2" + checksum: 3a0380380c6082021fcce982f0b89fb8a493ce9dfd7d308e5e6d855201e80db8b90438649b31fdd82a3d6089a8ca17dccddaa2b730a718389af4c037b8539ebf + languageName: node + linkType: hard + +"path-browserify@npm:^1.0.0": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: c6d7fa376423fe35b95b2d67990060c3ee304fc815ff0a2dc1c6c3cfaff2bd0d572ee67e18f19d0ea3bbe32e8add2a05021132ac40509416459fffee35200699 + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 + languageName: node + linkType: hard + +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" + dependencies: + lru-cache: ^9.1.1 || ^10.0.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + checksum: e2557cff3a8fb8bc07afdd6ab163a92587884f9969b05bbbaf6fe7379348bfb09af9ed292af12ed32398b15fb443e81692047b786d1eeb6d898a51eb17ed7d90 + languageName: node + linkType: hard + +"path@npm:~0.12.7": + version: 0.12.7 + resolution: "path@npm:0.12.7" + dependencies: + process: ^0.11.1 + util: ^0.10.3 + checksum: 5dedb71e78fc008fcba797defc0b4e1cf06c1f18e0a631e03ba5bb505136f587ff017afc14f9a3d481cbe77aeedff7dc0c1d2ce4d820c1ebf3c4281ca49423a1 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 + languageName: node + linkType: hard + +"playwright-core@npm:1.38.1": + version: 1.38.1 + resolution: "playwright-core@npm:1.38.1" + bin: + playwright-core: cli.js + checksum: 66e83fe040f309b13ad94ba39dea40ac207bfcbbc22de13141af88dbdedd64e1c4e3ce1d0cb070d4efd8050d7e579953ec3681dd8a0acf2c1cc738d9c50e545e + languageName: node + linkType: hard + +"playwright@npm:1.38.1": + version: 1.38.1 + resolution: "playwright@npm:1.38.1" + dependencies: + fsevents: 2.3.2 + playwright-core: 1.38.1 + dependenciesMeta: + fsevents: + optional: true + bin: + playwright: cli.js + checksum: 4e01d4ee52d9ccf75a80d8492829106802590721d56bff7c5957ff1f21eb3c328ee5bc3c1784a59c4b515df1b98d08ef92e4a35a807f454cd00dc481d30fadc2 + languageName: node + linkType: hard + +"postcss@npm:^8.3.11": + version: 8.4.31 + resolution: "postcss@npm:8.4.31" + dependencies: + nanoid: ^3.3.6 + picocolors: ^1.0.0 + source-map-js: ^1.0.2 + checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf + languageName: node + linkType: hard + +"process@npm:^0.11.1": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: ^2.0.2 + retry: ^0.12.0 + checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 + languageName: node + linkType: hard + +"prop-types@npm:^15.8.1": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: ^1.4.0 + object-assign: ^4.1.1 + react-is: ^16.13.1 + checksum: c056d3f1c057cb7ff8344c645450e14f088a915d078dcda795041765047fa080d38e5d626560ccaac94a4e16e3aa15f3557c1a9a8d1174530955e992c675e459 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.0 + resolution: "punycode@npm:2.3.0" + checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200 + languageName: node + linkType: hard + +"querystringify@npm:^2.1.1": + version: 2.2.0 + resolution: "querystringify@npm:2.2.0" + checksum: 5641ea231bad7ef6d64d9998faca95611ed4b11c2591a8cae741e178a974f6a8e0ebde008475259abe1621cb15e692404e6b6626e927f7b849d5c09392604b15 + languageName: node + linkType: hard + +"react-dom@npm:^18.2.0": + version: 18.2.0 + resolution: "react-dom@npm:18.2.0" + dependencies: + loose-envify: ^1.1.0 + scheduler: ^0.23.0 + peerDependencies: + react: ^18.2.0 + checksum: 7d323310bea3a91be2965f9468d552f201b1c27891e45ddc2d6b8f717680c95a75ae0bc1e3f5cf41472446a2589a75aed4483aee8169287909fcd59ad149e8cc + languageName: node + linkType: hard + +"react-is@npm:^16.13.1": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f + languageName: node + linkType: hard + +"react-is@npm:^18.2.0": + version: 18.2.0 + resolution: "react-is@npm:18.2.0" + checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e + languageName: node + linkType: hard + +"react@npm:^18.2.0": + version: 18.2.0 + resolution: "react@npm:18.2.0" + dependencies: + loose-envify: ^1.1.0 + checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b + languageName: node + linkType: hard + +"readable-stream@npm:^2.1.4": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.3 + isarray: ~1.0.0 + process-nextick-args: ~2.0.0 + safe-buffer: ~5.1.1 + string_decoder: ~1.1.1 + util-deprecate: ~1.0.1 + checksum: 65645467038704f0c8aaf026a72fbb588a9e2ef7a75cd57a01702ee9db1c4a1e4b03aaad36861a6a0926546a74d174149c8c207527963e0c2d3eee2f37678a42 + languageName: node + linkType: hard + +"readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: bdcbe6c22e846b6af075e32cf8f4751c2576238c5043169a1c221c92ee2878458a816a4ea33f4c67623c0b6827c8a400409bfb3cf0bf3381392d0b1dfb52ac8d + languageName: node + linkType: hard + +"regexp-match-indices@npm:^1.0.2": + version: 1.0.2 + resolution: "regexp-match-indices@npm:1.0.2" + dependencies: + regexp-tree: ^0.1.11 + checksum: 8cc779f6cf8f404ead828d09970a7d4bd66bd78d43ab9eb2b5e65f2ef2ba1ed53536f5b5fa839fb90b350365fb44b6a851c7f16289afc3f37789c113ab2a7916 + languageName: node + linkType: hard + +"regexp-tree@npm:^0.1.11": + version: 0.1.27 + resolution: "regexp-tree@npm:0.1.27" + bin: + regexp-tree: bin/regexp-tree + checksum: 129aebb34dae22d6694ab2ac328be3f99105143737528ab072ef624d599afecbcfae1f5c96a166fa9e5f64fa1ecf30b411c4691e7924c3e11bbaf1712c260c54 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: fb47e70bf0001fdeabdc0429d431863e9475e7e43ea5f94ad86503d918423c1543361cc5166d713eaa7029dd7a3d34775af04764bebff99ef413111a5af18c80 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b + languageName: node + linkType: hard + +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: eee0e303adffb69be55d1a214e415cf42b7441ae858c76dfc5353148644f6fd6e698926fc4643f510d5c126d12a705e7c8ed7e38061113bdf37547ab356797ff + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 623bd7d2e5119467ba66202d733ec3c2e2e26568074923bc0585b6b99db14f357e79bdedb63cab56cec47491c4a0da7e6021a7465ca6dc4f481d3898fdd3158c + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: ^7.1.3 + bin: + rimraf: bin.js + checksum: 87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0 + languageName: node + linkType: hard + +"rimraf@npm:^5": + version: 5.0.5 + resolution: "rimraf@npm:5.0.5" + dependencies: + glob: ^10.3.7 + bin: + rimraf: dist/esm/bin.mjs + checksum: d66eef829b2e23b16445f34e73d75c7b7cf4cbc8834b04720def1c8f298eb0753c3d76df77325fad79d0a2c60470525d95f89c2475283ad985fd7441c32732d1 + languageName: node + linkType: hard + +"robust-predicates@npm:^3.0.0": + version: 3.0.2 + resolution: "robust-predicates@npm:3.0.2" + checksum: 36854c1321548ceca96d36ad9d6e0a5a512986029ec6929ad6ed3ec1612c22cc8b46cc72d2c5674af42e8074a119d793f6f0ea3a5b51373e3ab926c64b172d7a + languageName: node + linkType: hard + +"rw@npm:1": + version: 1.3.3 + resolution: "rw@npm:1.3.3" + checksum: c20d82421f5a71c86a13f76121b751553a99cd4a70ea27db86f9b23f33db941f3f06019c30f60d50c356d0bd674c8e74764ac146ea55e217c091bde6fba82aa3 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c + languageName: node + linkType: hard + +"safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + +"sanitize-html@npm:~2.7.3": + version: 2.7.3 + resolution: "sanitize-html@npm:2.7.3" + dependencies: + deepmerge: ^4.2.2 + escape-string-regexp: ^4.0.0 + htmlparser2: ^6.0.0 + is-plain-object: ^5.0.0 + parse-srcset: ^1.0.2 + postcss: ^8.3.11 + checksum: 2399d1fdbbc3a263fb413c1fe1971b3dc2b51abc6cc5cb49490624539d1c57a8fe31e2b21408c118e2a957f4e673e3169b1f9a5807654408f17b130a9d78aed7 + languageName: node + linkType: hard + +"scheduler@npm:^0.23.0": + version: 0.23.0 + resolution: "scheduler@npm:0.23.0" + dependencies: + loose-envify: ^1.1.0 + checksum: d79192eeaa12abef860c195ea45d37cbf2bbf5f66e3c4dcd16f54a7da53b17788a70d109ee3d3dde1a0fd50e6a8fc171f4300356c5aee4fc0171de526bf35f8a + languageName: node + linkType: hard + +"semver@npm:^7.3.5": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: ^3.0.0 + checksum: 6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 + languageName: node + linkType: hard + +"socks@npm:^2.6.2": + version: 2.7.1 + resolution: "socks@npm:2.7.1" + dependencies: + ip: ^2.0.0 + smart-buffer: ^4.2.0 + checksum: 259d9e3e8e1c9809a7f5c32238c3d4d2a36b39b83851d0f573bfde5f21c4b1288417ce1af06af1452569cd1eb0841169afd4998f0e04ba04656f6b7f0e46d748 + languageName: node + linkType: hard + +"source-map-js@npm:^1.0.2": + version: 1.0.2 + resolution: "source-map-js@npm:1.0.2" + checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c + languageName: node + linkType: hard + +"ssri@npm:^10.0.0": + version: 10.0.5 + resolution: "ssri@npm:10.0.5" + dependencies: + minipass: ^7.0.3 + checksum: 0a31b65f21872dea1ed3f7c200d7bc1c1b91c15e419deca14f282508ba917cbb342c08a6814c7f68ca4ca4116dd1a85da2bbf39227480e50125a1ceffeecb750 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.1 + checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: ^0.2.0 + emoji-regex: ^9.2.2 + strip-ansi: ^7.0.1 + checksum: 7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: ~5.2.0 + checksum: 8417646695a66e73aefc4420eb3b84cc9ffd89572861fe004e6aeb13c7bc00e2f616247505d2dbbef24247c372f70268f594af7126f43548565c68c117bdeb56 + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: ~5.1.0 + checksum: 9ab7e56f9d60a28f2be697419917c50cac19f3e8e6c28ef26ed5f4852289fe0de5d6997d29becf59028556f2c62983790c1d9ba1e2a3cc401768ca12d5183a5b + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: ^5.0.1 + checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: ^6.0.1 + checksum: 859c73fcf27869c22a4e4d8c6acfe690064659e84bef9458aa6d13719d09ca88dcfd40cbf31fd0be63518ea1a643fe070b4827d353e09533a5b0b9fd4553d64d + languageName: node + linkType: hard + +"style-mod@npm:^4.0.0, style-mod@npm:^4.1.0": + version: 4.1.0 + resolution: "style-mod@npm:4.1.0" + checksum: 8402b14ca11113a3640d46b3cf7ba49f05452df7846bc5185a3535d9b6a64a3019e7fb636b59ccbb7816aeb0725b24723e77a85b05612a9360e419958e13b4e6 + languageName: node + linkType: hard + +"systeminformation@npm:^5.8.6": + version: 5.21.10 + resolution: "systeminformation@npm:5.21.10" + bin: + systeminformation: lib/cli.js + checksum: a63dce32d3d05a383f1639a22a936dc91a700dae6821c49a2f1d072814e0bdc4f6d12a63f64200dfbc0f2a3b1edbe5945a30b345cd99a38e41084f166fa26513 + conditions: (os=darwin | os=linux | os=win32 | os=freebsd | os=openbsd | os=netbsd | os=sunos | os=android) + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.2.0 + resolution: "tar@npm:6.2.0" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^5.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: db4d9fe74a2082c3a5016630092c54c8375ff3b280186938cfd104f2e089c4fd9bad58688ef6be9cf186a889671bf355c7cda38f09bbf60604b281715ca57f5c + languageName: node + linkType: hard + +"topojson-client@npm:^3.1.0": + version: 3.1.0 + resolution: "topojson-client@npm:3.1.0" + dependencies: + commander: 2 + bin: + topo2geo: bin/topo2geo + topomerge: bin/topomerge + topoquantize: bin/topoquantize + checksum: 8c029a4f18324ace0b8b55dd90edbd40c9e3c6de18bafbb5da37ca20ebf20e26fbd4420891acb3c2c264e214185f7557871f5651a9eee517028663be98d836de + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 + languageName: node + linkType: hard + +"tslib@npm:~2.6.2": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad + languageName: node + linkType: hard + +"typestyle@npm:^2.0.4": + version: 2.4.0 + resolution: "typestyle@npm:2.4.0" + dependencies: + csstype: 3.0.10 + free-style: 3.1.0 + checksum: 8b4f02c24f67b594f98507b15a753dabd4db5eb0af007e1d310527c64030e11e9464b25b5a6bc65fb5eec9a4459a8336050121ecc29063ac87b8b47a6d698893 + languageName: node + linkType: hard + +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: ^4.0.0 + checksum: 8e2f59b356cb2e54aab14ff98a51ac6c45781d15ceaab6d4f1c2228b780193dc70fae4463ce9e1df4479cb9d3304d7c2043a3fb905bdeca71cc7e8ce27e063df + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: 0884b58365af59f89739e6f71e3feacb5b1b41f2df2d842d0757933620e6de08eff347d27e9d499b43c40476cbaf7988638d3acb2ffbcb9d35fd035591adfd15 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.0 + resolution: "universalify@npm:2.0.0" + checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: ^2.1.0 + checksum: 7167432de6817fe8e9e0c9684f1d2de2bb688c94388f7569f7dbdb1587c9f4ca2a77962f134ec90be0cc4d004c939ff0d05acc9f34a0db39a3c797dada262633 + languageName: node + linkType: hard + +"url-parse@npm:~1.5.4": + version: 1.5.10 + resolution: "url-parse@npm:1.5.10" + dependencies: + querystringify: ^2.1.1 + requires-port: ^1.0.0 + checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 + languageName: node + linkType: hard + +"util@npm:^0.10.3": + version: 0.10.4 + resolution: "util@npm:0.10.4" + dependencies: + inherits: 2.0.3 + checksum: 913f9a90d05a60e91f91af01b8bd37e06bca4cc02d7b49e01089f9d5b78be2fffd61fb1a41b517de7238c5fc7337fa939c62d1fb4eb82e014894c7bee6637aaf + languageName: node + linkType: hard + +"validate.io-array@npm:^1.0.3": + version: 1.0.6 + resolution: "validate.io-array@npm:1.0.6" + checksum: 54eca83ebc702e3e46499f9d9e77287a95ae25c4e727cd2fafee29c7333b3a36cca0c5d8f090b9406262786de80750fba85e7e7ef41e20bf8cc67d5570de449b + languageName: node + linkType: hard + +"validate.io-function@npm:^1.0.2": + version: 1.0.2 + resolution: "validate.io-function@npm:1.0.2" + checksum: e4cce2479a20cb7c42e8630c777fb107059c27bc32925f769e3a73ca5fd62b4892d897b3c80227e14d5fcd1c5b7d05544e0579d63e59f14034c0052cda7f7c44 + languageName: node + linkType: hard + +"validate.io-integer-array@npm:^1.0.0": + version: 1.0.0 + resolution: "validate.io-integer-array@npm:1.0.0" + dependencies: + validate.io-array: ^1.0.3 + validate.io-integer: ^1.0.4 + checksum: 5f6d7fab8df7d2bf546a05e830201768464605539c75a2c2417b632b4411a00df84b462f81eac75e1be95303e7e0ac92f244c137424739f4e15cd21c2eb52c7f + languageName: node + linkType: hard + +"validate.io-integer@npm:^1.0.4": + version: 1.0.5 + resolution: "validate.io-integer@npm:1.0.5" + dependencies: + validate.io-number: ^1.0.3 + checksum: 88b3f8bb5a5277a95305d64abbfc437079220ce4f57a148cc6113e7ccec03dd86b10a69d413982602aa90a62b8d516148a78716f550dcd3aff863ac1c2a7a5e6 + languageName: node + linkType: hard + +"validate.io-number@npm:^1.0.3": + version: 1.0.3 + resolution: "validate.io-number@npm:1.0.3" + checksum: 42418aeb6c969efa745475154fe576809b02eccd0961aad0421b090d6e7a12d23a3e28b0d5dddd2c6347c1a6bdccb82bba5048c716131cd20207244d50e07282 + languageName: node + linkType: hard + +"vega-canvas@npm:^1.2.6, vega-canvas@npm:^1.2.7": + version: 1.2.7 + resolution: "vega-canvas@npm:1.2.7" + checksum: 6ff92fcdf0c359f2f662909c859a7f4cb4a502436136ab2f4c02373c47a621996ec0eea23e2108f11d62a618be301de86cd8528b5058c2e207a53ddd7ff58d1b + languageName: node + linkType: hard + +"vega-crossfilter@npm:~4.1.1": + version: 4.1.1 + resolution: "vega-crossfilter@npm:4.1.1" + dependencies: + d3-array: ^3.2.2 + vega-dataflow: ^5.7.5 + vega-util: ^1.17.1 + checksum: e399f7e92d7ba273ad5c1a9e29d362a9ec7feaeacb976eff3aa205b318382fb37a9fac3150ec1cb806364cd2b2cb54d5f23aea3285db684df2b4c27836422464 + languageName: node + linkType: hard + +"vega-dataflow@npm:^5.7.3, vega-dataflow@npm:^5.7.5, vega-dataflow@npm:~5.7.5": + version: 5.7.5 + resolution: "vega-dataflow@npm:5.7.5" + dependencies: + vega-format: ^1.1.1 + vega-loader: ^4.5.1 + vega-util: ^1.17.1 + checksum: 917ed63e88b0871169a883f68da127a404d88e50c9ed6fa3f063a706016b064594fb804a2bf99f09bc4a899819cac320bdde12467edc861af1acc024552dd202 + languageName: node + linkType: hard + +"vega-encode@npm:~4.9.2": + version: 4.9.2 + resolution: "vega-encode@npm:4.9.2" + dependencies: + d3-array: ^3.2.2 + d3-interpolate: ^3.0.1 + vega-dataflow: ^5.7.5 + vega-scale: ^7.3.0 + vega-util: ^1.17.1 + checksum: fcba123d2efb865b4f6cf8e9d64e0752ebae163dcfe61013f4874f7fe6fce3003ea9dd83b89db3ffab2a1530532a7c902dd24dfec226eb53d08dcf69189f308d + languageName: node + linkType: hard + +"vega-event-selector@npm:^3.0.1, vega-event-selector@npm:~3.0.1": + version: 3.0.1 + resolution: "vega-event-selector@npm:3.0.1" + checksum: 66d09b5800a19a9b0c75f28811b140a1a2e70e84be6d6f87c568cdbce6e17c8e195f130f4e3de5d6dc737142d1f46f4fe7645177e154582cc8ba27c6845b54e8 + languageName: node + linkType: hard + +"vega-expression@npm:^5.0.1, vega-expression@npm:^5.1.0, vega-expression@npm:~5.1.0": + version: 5.1.0 + resolution: "vega-expression@npm:5.1.0" + dependencies: + "@types/estree": ^1.0.0 + vega-util: ^1.17.1 + checksum: 0355ebb6edd8f2ccc2dcf277a29b42b13f971725443212ce8a64cb8a02049f75f0add7ca9afcd3bc6744b93be791b526e7f983d9080d5052e9b0ca55bd488ae5 + languageName: node + linkType: hard + +"vega-force@npm:~4.2.0": + version: 4.2.0 + resolution: "vega-force@npm:4.2.0" + dependencies: + d3-force: ^3.0.0 + vega-dataflow: ^5.7.5 + vega-util: ^1.17.1 + checksum: 8a371ca8d0892bc3e932cc279bbf54fe8b88e2b384c42f8df9877c801191953f3ee3e2f516f675a69ecb052ed081232dfb3438989620e8ad5c2a316ccee60277 + languageName: node + linkType: hard + +"vega-format@npm:^1.1.1, vega-format@npm:~1.1.1": + version: 1.1.1 + resolution: "vega-format@npm:1.1.1" + dependencies: + d3-array: ^3.2.2 + d3-format: ^3.1.0 + d3-time-format: ^4.1.0 + vega-time: ^2.1.1 + vega-util: ^1.17.1 + checksum: d506acb8611a6340ff419ebf308a758a54aaf3cf141863553df83980dcf8dc7bf806bee257d11a52d43682d159d7be03ab8a92bdd4d018d8c9f39a70c45cb197 + languageName: node + linkType: hard + +"vega-functions@npm:^5.13.1, vega-functions@npm:~5.13.2": + version: 5.13.2 + resolution: "vega-functions@npm:5.13.2" + dependencies: + d3-array: ^3.2.2 + d3-color: ^3.1.0 + d3-geo: ^3.1.0 + vega-dataflow: ^5.7.5 + vega-expression: ^5.1.0 + vega-scale: ^7.3.0 + vega-scenegraph: ^4.10.2 + vega-selections: ^5.4.1 + vega-statistics: ^1.8.1 + vega-time: ^2.1.1 + vega-util: ^1.17.1 + checksum: 178498cf93c3d9ef392fb57a5c7992dbb9118c546a6acb4cff9783f911fb30dbf50634cbfd6e3a9bc358c4aec9a571bd55f9cf3de551213cd386f152ac882986 + languageName: node + linkType: hard + +"vega-geo@npm:~4.4.1": + version: 4.4.1 + resolution: "vega-geo@npm:4.4.1" + dependencies: + d3-array: ^3.2.2 + d3-color: ^3.1.0 + d3-geo: ^3.1.0 + vega-canvas: ^1.2.7 + vega-dataflow: ^5.7.5 + vega-projection: ^1.6.0 + vega-statistics: ^1.8.1 + vega-util: ^1.17.1 + checksum: e9c62d9134c2449a1a80cd5cb71ed6dc455d893a36fdcb1a696bcae3897670c32687cf14a0f366b0ec76905e5be406131dc671e5d607ffcbef74e94b8c697007 + languageName: node + linkType: hard + +"vega-hierarchy@npm:~4.1.1": + version: 4.1.1 + resolution: "vega-hierarchy@npm:4.1.1" + dependencies: + d3-hierarchy: ^3.1.2 + vega-dataflow: ^5.7.5 + vega-util: ^1.17.1 + checksum: beb23948922f1b52bf03b836d71d3a5a36db3a6bfe2af74b6a5fc45a2e2e877226313e2389772be62a459728467618175d8c02a07e88330844fdec45fd5f69ac + languageName: node + linkType: hard + +"vega-label@npm:~1.2.1": + version: 1.2.1 + resolution: "vega-label@npm:1.2.1" + dependencies: + vega-canvas: ^1.2.6 + vega-dataflow: ^5.7.3 + vega-scenegraph: ^4.9.2 + vega-util: ^1.15.2 + checksum: 2704c99328ead677441e746acd8f4529301437d08b2758933fc13353d2eab9af353e4ebcc4ff1f09f41d600401b097e2df3c9e8e56d4861e5216222dd9e29185 + languageName: node + linkType: hard + +"vega-lite@npm:^5.6.1": + version: 5.15.1 + resolution: "vega-lite@npm:5.15.1" + dependencies: + json-stringify-pretty-compact: ~3.0.0 + tslib: ~2.6.2 + vega-event-selector: ~3.0.1 + vega-expression: ~5.1.0 + vega-util: ~1.17.2 + yargs: ~17.7.2 + peerDependencies: + vega: ^5.24.0 + bin: + vl2pdf: bin/vl2pdf + vl2png: bin/vl2png + vl2svg: bin/vl2svg + vl2vg: bin/vl2vg + checksum: ad7ad74e8ba5e5573d6ef1d251065ac28ae0be97f829f5e66e1c4c1ca43b9902d9fd95a94818c69f71cac21c29f6240a308725a3867489629cc6782c355511c5 + languageName: node + linkType: hard + +"vega-loader@npm:^4.5.1, vega-loader@npm:~4.5.1": + version: 4.5.1 + resolution: "vega-loader@npm:4.5.1" + dependencies: + d3-dsv: ^3.0.1 + node-fetch: ^2.6.7 + topojson-client: ^3.1.0 + vega-format: ^1.1.1 + vega-util: ^1.17.1 + checksum: 95f6eebc75a97665cf34faaea431934047e1b2e9d7532f48f62dab4884d606a7d9da53962e1631a5790a7a867f720581852a3db9be1a7f667882062f6c102ee0 + languageName: node + linkType: hard + +"vega-parser@npm:~6.2.0": + version: 6.2.0 + resolution: "vega-parser@npm:6.2.0" + dependencies: + vega-dataflow: ^5.7.5 + vega-event-selector: ^3.0.1 + vega-functions: ^5.13.1 + vega-scale: ^7.3.0 + vega-util: ^1.17.1 + checksum: 19872153c16aab30c4df338e0df7bd331e0bf74c7c6afce5428df555b9bdb0c4acf76b54092cacd4726a1349912ea803c90e1b30d53f4a02044e0559873969a7 + languageName: node + linkType: hard + +"vega-projection@npm:^1.6.0, vega-projection@npm:~1.6.0": + version: 1.6.0 + resolution: "vega-projection@npm:1.6.0" + dependencies: + d3-geo: ^3.1.0 + d3-geo-projection: ^4.0.0 + vega-scale: ^7.3.0 + checksum: 9c52848e294ff68051fe9f44fa536656c4e6be3d474bd3359e21aa154ab282755eaee624ac31b1ca01816227900e1d81a6d191e36f46e47525ed6648397f0fa0 + languageName: node + linkType: hard + +"vega-regression@npm:~1.2.0": + version: 1.2.0 + resolution: "vega-regression@npm:1.2.0" + dependencies: + d3-array: ^3.2.2 + vega-dataflow: ^5.7.3 + vega-statistics: ^1.9.0 + vega-util: ^1.15.2 + checksum: 5f79db18c7849b465550e00ca8fec9d896aa3cf6d6279daac8b862beb632d841dcb6a93136d6b827c37e3d1cbd2bb2f7dec58f96c572763870c2d38f2cc4e0b3 + languageName: node + linkType: hard + +"vega-runtime@npm:^6.1.4, vega-runtime@npm:~6.1.4": + version: 6.1.4 + resolution: "vega-runtime@npm:6.1.4" + dependencies: + vega-dataflow: ^5.7.5 + vega-util: ^1.17.1 + checksum: a1da40ddb3109f1ced8e61d2e7b52784fbb29936ee4c47cb5630dbbeb12ef6e0c3cd3cd189c34377f82402bf19c61dd148d90330fec743b8667635ac48e4ba29 + languageName: node + linkType: hard + +"vega-scale@npm:^7.3.0, vega-scale@npm:~7.3.0": + version: 7.3.0 + resolution: "vega-scale@npm:7.3.0" + dependencies: + d3-array: ^3.2.2 + d3-interpolate: ^3.0.1 + d3-scale: ^4.0.2 + vega-time: ^2.1.1 + vega-util: ^1.17.1 + checksum: 8e434f27a51a913dd18374ec0d2bc33758eda7db1ee6342721644f977e705268b8df6b3e89813774d776d03a0cd24f91d4d59f9e80951f67dfbbf8637f5a69ad + languageName: node + linkType: hard + +"vega-scenegraph@npm:^4.10.2, vega-scenegraph@npm:^4.9.2, vega-scenegraph@npm:~4.10.2": + version: 4.10.2 + resolution: "vega-scenegraph@npm:4.10.2" + dependencies: + d3-path: ^3.1.0 + d3-shape: ^3.2.0 + vega-canvas: ^1.2.7 + vega-loader: ^4.5.1 + vega-scale: ^7.3.0 + vega-util: ^1.17.1 + checksum: 6caf3e298297b918c8b6a72f019e51e2bfbaecd316e4d1c37d855ac9366d177cdbf16e9c8857c5ccde128bcd9645af7ee7dc81111bcd743d192e1a3b9a9d7185 + languageName: node + linkType: hard + +"vega-selections@npm:^5.4.1": + version: 5.4.1 + resolution: "vega-selections@npm:5.4.1" + dependencies: + d3-array: 3.2.2 + vega-expression: ^5.0.1 + vega-util: ^1.17.1 + checksum: c594d41ec3886af94976e4dc4e152bea9b3975a22d435aa38dac2aab105851cb83fd4aa0f1e81a47f8bc0bea1677af93816331e3ed084ab3ec2e51b3544c109f + languageName: node + linkType: hard + +"vega-statistics@npm:^1.7.9, vega-statistics@npm:^1.8.1, vega-statistics@npm:^1.9.0, vega-statistics@npm:~1.9.0": + version: 1.9.0 + resolution: "vega-statistics@npm:1.9.0" + dependencies: + d3-array: ^3.2.2 + checksum: bbf2ea088c5a6a662c6aed1bf57996c06a82a98228730ada8a97e57824a6ed391999ea974f16dcde6e73bf88799976d91aff748842848d38ab45dbb9fafba3f9 + languageName: node + linkType: hard + +"vega-time@npm:^2.1.1, vega-time@npm:~2.1.1": + version: 2.1.1 + resolution: "vega-time@npm:2.1.1" + dependencies: + d3-array: ^3.2.2 + d3-time: ^3.1.0 + vega-util: ^1.17.1 + checksum: 3d6a50f779be4b5e7f27bd2aae766035c29e59e03e62d2e96b94a2f759ed3104c1102c1006dd416e7b819ee501880ae7a722c2fa9aabf9efac86503c1aada14a + languageName: node + linkType: hard + +"vega-transforms@npm:~4.10.2": + version: 4.10.2 + resolution: "vega-transforms@npm:4.10.2" + dependencies: + d3-array: ^3.2.2 + vega-dataflow: ^5.7.5 + vega-statistics: ^1.8.1 + vega-time: ^2.1.1 + vega-util: ^1.17.1 + checksum: 2dbe4c767542a5dc4dbb453fd1317b00912e47dbdb3de637259b2552497dd8039c20c795318ad57341eb0d30b69712c55a2da16dc9ad2329a68c35fb75b4fee6 + languageName: node + linkType: hard + +"vega-typings@npm:~0.24.0": + version: 0.24.2 + resolution: "vega-typings@npm:0.24.2" + dependencies: + "@types/geojson": 7946.0.4 + vega-event-selector: ^3.0.1 + vega-expression: ^5.0.1 + vega-util: ^1.17.1 + checksum: 9c06430b2c8a5e6a8b29448333aa95b0946aa69c181933f52eb69f0e3594a0f308be7760f0febe13253a0b7414721841fce790b2b3812a7fb3b0a3f0391e6ace + languageName: node + linkType: hard + +"vega-util@npm:^1.15.2, vega-util@npm:^1.17.1, vega-util@npm:~1.17.2": + version: 1.17.2 + resolution: "vega-util@npm:1.17.2" + checksum: 5d681cb1a6ffda7af1b74df7c1c46a32f1d874daef54f9c9c65c7d7c7bfc4271dc6d9b1c1c7a853b14eb6e4cc8ec811b0132cd3ea25fa85259eac92e1b4f07fa + languageName: node + linkType: hard + +"vega-view-transforms@npm:~4.5.9": + version: 4.5.9 + resolution: "vega-view-transforms@npm:4.5.9" + dependencies: + vega-dataflow: ^5.7.5 + vega-scenegraph: ^4.10.2 + vega-util: ^1.17.1 + checksum: aeeaf3c2f1a02b1303c16a586dbcb20f208c101d06d7e988e18ab71fb67d87be5d8ff228ebf25971535d6e41dc816168cfa68b8676e7250df07a40aefdea32a7 + languageName: node + linkType: hard + +"vega-view@npm:~5.11.1": + version: 5.11.1 + resolution: "vega-view@npm:5.11.1" + dependencies: + d3-array: ^3.2.2 + d3-timer: ^3.0.1 + vega-dataflow: ^5.7.5 + vega-format: ^1.1.1 + vega-functions: ^5.13.1 + vega-runtime: ^6.1.4 + vega-scenegraph: ^4.10.2 + vega-util: ^1.17.1 + checksum: 82ddc74593b3a359d0b3458bc06573673ff9bf13f84020cb36fb4676c5d7f547e9650eb6faaa76799fbcedd27bcd266603dbd08c420e2d2229cc6b9f48a4a66d + languageName: node + linkType: hard + +"vega-voronoi@npm:~4.2.1": + version: 4.2.1 + resolution: "vega-voronoi@npm:4.2.1" + dependencies: + d3-delaunay: ^6.0.2 + vega-dataflow: ^5.7.5 + vega-util: ^1.17.1 + checksum: f618174ad5f451c507a80e373288bb2c0da7a8a908d62f885bc77b354c4334504ae2d1042742f68ad419ade7b548aeca9ca1042ae5541bebd7f5297afc23bb35 + languageName: node + linkType: hard + +"vega-wordcloud@npm:~4.1.4": + version: 4.1.4 + resolution: "vega-wordcloud@npm:4.1.4" + dependencies: + vega-canvas: ^1.2.7 + vega-dataflow: ^5.7.5 + vega-scale: ^7.3.0 + vega-statistics: ^1.8.1 + vega-util: ^1.17.1 + checksum: 34d1882651d3a2f34ce40a6eaeed700de126f627cdf041ec2bcc7ada46d7b4b68a38a2974236eec87ee876d9abd095af7ab17e7698b0e2fbc831460767969d7a + languageName: node + linkType: hard + +"vega@npm:^5.20.0": + version: 5.25.0 + resolution: "vega@npm:5.25.0" + dependencies: + vega-crossfilter: ~4.1.1 + vega-dataflow: ~5.7.5 + vega-encode: ~4.9.2 + vega-event-selector: ~3.0.1 + vega-expression: ~5.1.0 + vega-force: ~4.2.0 + vega-format: ~1.1.1 + vega-functions: ~5.13.2 + vega-geo: ~4.4.1 + vega-hierarchy: ~4.1.1 + vega-label: ~1.2.1 + vega-loader: ~4.5.1 + vega-parser: ~6.2.0 + vega-projection: ~1.6.0 + vega-regression: ~1.2.0 + vega-runtime: ~6.1.4 + vega-scale: ~7.3.0 + vega-scenegraph: ~4.10.2 + vega-statistics: ~1.9.0 + vega-time: ~2.1.1 + vega-transforms: ~4.10.2 + vega-typings: ~0.24.0 + vega-util: ~1.17.2 + vega-view: ~5.11.1 + vega-view-transforms: ~4.5.9 + vega-voronoi: ~4.2.1 + vega-wordcloud: ~4.1.4 + checksum: ddc7b1f2a70c72b842e111d32bdd8ff050992a50e385e8ddc6e35c02e7c481a652383c81c547b7ebfd31cda04ab9f9acf0a8cc47c6bd19b91765b254aac30d24 + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:8.2.0, vscode-jsonrpc@npm:^8.0.2": + version: 8.2.0 + resolution: "vscode-jsonrpc@npm:8.2.0" + checksum: f302a01e59272adc1ae6494581fa31c15499f9278df76366e3b97b2236c7c53ebfc71efbace9041cfd2caa7f91675b9e56f2407871a1b3c7f760a2e2ee61484a + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:^6.0.0": + version: 6.0.0 + resolution: "vscode-jsonrpc@npm:6.0.0" + checksum: 3a67a56f287e8c449f2d9752eedf91e704dc7b9a326f47fb56ac07667631deb45ca52192e9bccb2ab108764e48409d70fa64b930d46fc3822f75270b111c5f53 + languageName: node + linkType: hard + +"vscode-languageserver-protocol@npm:^3.17.0": + version: 3.17.5 + resolution: "vscode-languageserver-protocol@npm:3.17.5" + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + checksum: dfb42d276df5dfea728267885b99872ecff62f6c20448b8539fae71bb196b420f5351c5aca7c1047bf8fb1f89fa94a961dce2bc5bf7e726198f4be0bb86a1e71 + languageName: node + linkType: hard + +"vscode-languageserver-types@npm:3.17.5": + version: 3.17.5 + resolution: "vscode-languageserver-types@npm:3.17.5" + checksum: 79b420e7576398d396579ca3a461c9ed70e78db4403cd28bbdf4d3ed2b66a2b4114031172e51fad49f0baa60a2180132d7cb2ea35aa3157d7af3c325528210ac + languageName: node + linkType: hard + +"vscode-ws-jsonrpc@npm:~1.0.2": + version: 1.0.2 + resolution: "vscode-ws-jsonrpc@npm:1.0.2" + dependencies: + vscode-jsonrpc: ^8.0.2 + checksum: eb2fdb5c96f124326505f06564dfc6584318b748fd6e39b4c0ba16a0d383d13ba0e9433596abdb841428dfc2a5501994c3206723d1cb38c6af5fcac1faf4be26 + languageName: node + linkType: hard + +"w3c-keyname@npm:^2.2.4": + version: 2.2.8 + resolution: "w3c-keyname@npm:2.2.8" + checksum: 95bafa4c04fa2f685a86ca1000069c1ec43ace1f8776c10f226a73296caeddd83f893db885c2c220ebeb6c52d424e3b54d7c0c1e963bbf204038ff1a944fbb07 + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: ~0.0.3 + webidl-conversions: ^3.0.0 + checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c + languageName: node + linkType: hard + +"which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: ^2.0.0 + bin: + node-which: ./bin/node-which + checksum: 1a5c563d3c1b52d5f893c8b61afe11abc3bab4afac492e8da5bde69d550de701cf9806235f20a47b5c8fa8a1d6a9135841de2596535e998027a54589000e66d1 + languageName: node + linkType: hard + +"wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: a790b846fd4505de962ba728a21aaeda189b8ee1c7568ca5e817d85930e06ef8d1689d49dbf0e881e8ef84436af3a88bc49115c2e2788d841ff1b8b5b51a608b + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: ^6.1.0 + string-width: ^5.0.1 + strip-ansi: ^7.0.1 + checksum: 371733296dc2d616900ce15a0049dca0ef67597d6394c57347ba334393599e800bab03c41d4d45221b6bc967b8c453ec3ae4749eff3894202d16800fdfe0e238 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 + languageName: node + linkType: hard + +"ws@npm:^8.11.0": + version: 8.14.2 + resolution: "ws@npm:8.14.2" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 3ca0dad26e8cc6515ff392b622a1467430814c463b3368b0258e33696b1d4bed7510bc7030f7b72838b9fdeb8dbd8839cbf808367d6aae2e1d668ce741d4308b + languageName: node + linkType: hard + +"y-protocols@npm:^1.0.5": + version: 1.0.6 + resolution: "y-protocols@npm:1.0.6" + dependencies: + lib0: ^0.2.85 + peerDependencies: + yjs: ^13.0.0 + checksum: 4b57c8811befcf2e45c3d47830005f8a33e626c734f78a42fe8a4fa3caad2233ba85a7c8bceefbd52ffc40130d3f3faee664fd0d1c324ff1fa8817a056ccdc1c + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c + languageName: node + linkType: hard + +"yargs@npm:~17.7.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + 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 + checksum: 73b572e863aa4a8cbef323dd911d79d193b772defd5a51aab0aca2d446655216f5002c42c5306033968193bdbf892a7a4c110b0d77954a7fdf563e653967b56a + languageName: node + linkType: hard + +"yjs@npm:^13.5.40": + version: 13.6.8 + resolution: "yjs@npm:13.6.8" + dependencies: + lib0: ^0.2.74 + checksum: a2a6fd17a2cce6461b64bedd69f66845b9dfd4702e285be0b5e382840337232e54ba5cf5d48f871263074de625d3902d17ab8a1766695af3fc05a0b4da8d95e0 + languageName: node + linkType: hard From d50f481729551eceea7f1d50fe6d3b65712e1f9b Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 09:46:54 +0200 Subject: [PATCH 02/24] Add workflows --- .github/workflows/playwright-update.yml | 67 +++++++++++++++++ .github/workflows/ui-tests.yml | 97 +++++++++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 .github/workflows/playwright-update.yml create mode 100644 .github/workflows/ui-tests.yml diff --git a/.github/workflows/playwright-update.yml b/.github/workflows/playwright-update.yml new file mode 100644 index 0000000..47dd68d --- /dev/null +++ b/.github/workflows/playwright-update.yml @@ -0,0 +1,67 @@ +name: Update Playwright Snapshots + +on: + issue_comment: + types: [created, edited] + +permissions: + contents: write + pull-requests: write + +jobs: + update-snapshots: + if: + ${{ github.event.issue.pull_request && contains(github.event.comment.body, 'update + playwright snapshots') }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + browser: [firefox, chromium] + + steps: + - name: React to the triggering comment + run: | + gh api repos/${{ github.repository }}/issues/comments/${{ github.event.comment.id }}/reactions --raw-field 'content=+1' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Checkout + uses: actions/checkout@v4 + + - name: Checkout the branch from the PR that triggered the job + run: | + # PR branch remote must be checked out using https URL + git config --global hub.protocol https + + gh pr checkout ${{ github.event.issue.number }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Base Setup + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + + - name: Build + run: | + # TODO: install addon + + # disable git hooks + git config core.hooksPath no-hooks + + - name: Install the test dependencies + run: | + cd ui-tests + jlpm + jlpm build + jlpm playwright install + + - name: Update snapshots + uses: jupyterlab/maintainer-tools/.github/actions/update-snapshots@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + npm_client: jlpm + test_folder: ui-tests + start_server_script: 'null' + update_script: test:update --browser ${{ matrix.browser }} + env: + DEBUG: pw:webserver diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml new file mode 100644 index 0000000..cad348c --- /dev/null +++ b/.github/workflows/ui-tests.yml @@ -0,0 +1,97 @@ +name: UI Tests + +on: [push, pull_request] + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Base Setup + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + + - name: Install jupyterlite-xeus-python + run: | + python -m pip install . + + - name: Build UI tests + run: | + cd ui-tests + jlpm + # Build the JupyterLite website + jlpm build + + - name: Upload the JupyterLite website + uses: actions/upload-artifact@v3 + with: + name: jupyterlite-xeus-python-ui-tests-app-${{ github.run_number }} + path: ./ui-tests/ui-tests-app + + ui-tests: + needs: [build] + name: Visual Regression + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + browser: [firefox, chromium] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - uses: actions/download-artifact@v3 + with: + name: jupyterlite-xeus-python-ui-tests-app-${{ github.run_number }} + path: ./ui-tests/ui-tests-app + + - name: Base Setup + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + + - name: Install dependencies and browser + run: | + # Install JupyterLab to get jlpm + python -m pip install jupyterlab~=4.0 + cd ui-tests + jlpm + jlpm playwright install ${{ matrix.browser }} --with-deps + + - name: Test + run: | + cd ui-tests + jlpm run test --browser ${{ matrix.browser }} + + - name: Upload Playwright Test assets + if: always() + uses: actions/upload-artifact@v3 + with: + name: jupyterlite-xeux-python-${{ matrix.browser }}-test-assets + path: | + ui-tests/test-results + + - name: Upload Playwright Test report + if: always() + uses: actions/upload-artifact@v3 + with: + name: jupyterlite-xeus-python-${{ matrix.browser }}-test-report + path: | + ui-tests/playwright-report + + - name: Update snapshots + if: failure() + run: | + cd ui-tests + # remove previous snapshots from other browser + jlpm run clean:snapshots + # generate new snapshots + jlpm run test:update --browser ${{ matrix.browser }} + + - name: Upload updated snapshots + if: failure() + uses: actions/upload-artifact@v3 + with: + name: jupyterlite-xeus-python-${{ matrix.browser }}-updated-snapshots + path: ui-tests/test From 1273f021ad6013f5e39f4513df7fc043de36bb8b Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 09:47:52 +0200 Subject: [PATCH 03/24] Update gitignore --- .gitignore | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dbf66ac..20b4ea9 100644 --- a/.gitignore +++ b/.gitignore @@ -135,4 +135,9 @@ jupyterlite_xeus_python/_version.py # Yarn 3 .pnp* -.yarn \ No newline at end of file +.yarn + +# UI tests +ui-tests/playwright-report +ui-tests/test-results +ui-tests/ui-tests-app From 5999f93a99a755137b6b22e5398463fe403f8572 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 09:54:41 +0200 Subject: [PATCH 04/24] Update workflow --- .github/workflows/ui-tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index cad348c..2b2db10 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -16,7 +16,9 @@ jobs: - name: Install jupyterlite-xeus-python run: | - python -m pip install . + jlpm + jlpm run build + python -m pip install -v . - name: Build UI tests run: | From 94c6ac9bfa9323343f74ea4a005408039484a3fc Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 09:56:06 +0200 Subject: [PATCH 05/24] Add basic UI tests config --- ui-tests/build.py | 17 +++++++++++++++++ ui-tests/jupyter-lite.json | 7 +++++++ ui-tests/jupyter_lite_config.json | 5 +++++ 3 files changed, 29 insertions(+) create mode 100644 ui-tests/build.py create mode 100644 ui-tests/jupyter-lite.json create mode 100644 ui-tests/jupyter_lite_config.json diff --git a/ui-tests/build.py b/ui-tests/build.py new file mode 100644 index 0000000..8ba643b --- /dev/null +++ b/ui-tests/build.py @@ -0,0 +1,17 @@ +""" +Custom script to build the UI tests app and load the Galata extension +""" + +from pathlib import Path +from subprocess import run + +import jupyterlab + +extra_labextensions_path = str(Path(jupyterlab.__file__).parent / "galata") +cmd = f"jupyter lite build --FederatedExtensionAddon.extra_labextensions_path={extra_labextensions_path}" + +run( + cmd, + check=True, + shell=True, +) diff --git a/ui-tests/jupyter-lite.json b/ui-tests/jupyter-lite.json new file mode 100644 index 0000000..6d73c21 --- /dev/null +++ b/ui-tests/jupyter-lite.json @@ -0,0 +1,7 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "appName": "JupyterLite UI Tests", + "exposeAppInBrowser": true + } +} diff --git a/ui-tests/jupyter_lite_config.json b/ui-tests/jupyter_lite_config.json new file mode 100644 index 0000000..76971c3 --- /dev/null +++ b/ui-tests/jupyter_lite_config.json @@ -0,0 +1,5 @@ +{ + "LiteBuildConfig": { + "output_dir": "ui-tests-app" + } +} From 63918d74255283c738d25f63613011600c75041e Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 09:56:16 +0200 Subject: [PATCH 06/24] Add basic execute test --- ui-tests/test/execute.test.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 ui-tests/test/execute.test.ts diff --git a/ui-tests/test/execute.test.ts b/ui-tests/test/execute.test.ts new file mode 100644 index 0000000..3cad73d --- /dev/null +++ b/ui-tests/test/execute.test.ts @@ -0,0 +1,23 @@ +// Copyright (c) JupyterLite Contributors +// Distributed under the terms of the Modified BSD License. + +import { test } from '@jupyterlab/galata'; + +import { expect } from '@playwright/test'; + +test.describe('Code execution', () => { + + test.beforeEach(async ({ page }) => { + await page.goto('lab/index.html'); + }); + + test('Basic code execution', async ({ page }) => { + // try running cells + await page.notebook.setCell(0, 'code', '2 + 2'); + await page.notebook.run(); + const output = await page.notebook.getCellTextOutput(0); + + expect(output).toBeTruthy(); + expect(output![0]).toBe('4'); + }); +}); From 9adb0c5c0f9ef7f729252e4e6f1611134f2d6146 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 09:59:28 +0200 Subject: [PATCH 07/24] Install lab in workflow --- .github/workflows/ui-tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index 2b2db10..6399fd3 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -16,6 +16,9 @@ jobs: - name: Install jupyterlite-xeus-python run: | + # install JupyterLab to get jlpm + python -m pip install jupyterlab~=4.0 + jlpm jlpm run build python -m pip install -v . From 70971f836b4a14732dc4395ce8de37764d241c3d Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 10:03:07 +0200 Subject: [PATCH 08/24] setup conda env instead --- .github/workflows/ui-tests.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index 6399fd3..4efb574 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -11,14 +11,15 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - name: Install Conda environment with Micromamba + uses: mamba-org/setup-micromamba@v1 + with: + micromamba-version: '1.5.1-0' + environment-file: environment.yml + cache-environment: true - name: Install jupyterlite-xeus-python run: | - # install JupyterLab to get jlpm - python -m pip install jupyterlab~=4.0 - jlpm jlpm run build python -m pip install -v . From d5865f49cd722706f5ea4aca8ef39608a5cdf088 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 10:05:20 +0200 Subject: [PATCH 09/24] Add defaults --- .github/workflows/ui-tests.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index 4efb574..b773854 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -2,6 +2,10 @@ name: UI Tests on: [push, pull_request] +defaults: + run: + shell: bash -l {0} + jobs: build: name: Build From 8e823be98006b970be861999e3afb60f4079954b Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 10:16:58 +0200 Subject: [PATCH 10/24] Lint step --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 193205a..41ccdae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,6 +44,10 @@ jobs: environment-file: environment.yml cache-environment: true + - name: Lint + run: | + jlpm run lint:check + - name: Build the extension run: python -m build From 59c1dbbdd9a97791184ede0fd022c25739ee66a8 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 10:27:06 +0200 Subject: [PATCH 11/24] ignore ui-tests folder for now --- .eslintignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.eslintignore b/.eslintignore index e33c9c6..9dc59a3 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,3 +5,6 @@ coverage tests src/worker.ts src/web_worker_kernel.ts + +# TODO: remove +ui-tests From 8d9b284f98f311d9b02ec22daf166b99c38290ad Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 5 Oct 2023 10:31:48 +0200 Subject: [PATCH 12/24] Fix linting later --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 41ccdae..401ec10 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,7 +46,7 @@ jobs: - name: Lint run: | - jlpm run lint:check + jlpm run eslint:check - name: Build the extension run: python -m build From 172558adb7eae2220e66a6fefc6d6b0bed436a57 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 11 Oct 2023 09:59:18 +0200 Subject: [PATCH 13/24] Remove duplicated lint step --- .github/workflows/build.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 401ec10..193205a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,10 +44,6 @@ jobs: environment-file: environment.yml cache-environment: true - - name: Lint - run: | - jlpm run eslint:check - - name: Build the extension run: python -m build From aea94d461ac3430e026a685663c20b1f5ddda39d Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 11 Oct 2023 10:00:10 +0200 Subject: [PATCH 14/24] Fix artifact name --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 193205a..41b8a00 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,7 +49,7 @@ jobs: - uses: actions/upload-artifact@v2 with: - name: dist ${{ github.run_number }} + name: jupyterlite-xeus-python-dist-${{ github.run_number }} path: ./dist test_isolated: @@ -66,7 +66,7 @@ jobs: architecture: 'x64' - uses: actions/download-artifact@v2 with: - name: dist ${{ github.run_number }} + name: jupyterlite-xeus-python-dist-${{ github.run_number }} path: ./dist - name: Install and Test run: | @@ -92,7 +92,7 @@ jobs: - uses: actions/download-artifact@v2 with: - name: dist ${{ github.run_number }} + name: jupyterlite-xeus-python-dist-${{ github.run_number }} path: ./dist - name: Install Conda environment with Micromamba @@ -125,7 +125,7 @@ jobs: - uses: actions/download-artifact@v2 with: - name: dist ${{ github.run_number }} + name: jupyterlite-xeus-python-dist-${{ github.run_number }} path: ./dist - name: Install Conda environment with Micromamba @@ -153,7 +153,7 @@ jobs: - uses: actions/download-artifact@v2 with: - name: dist ${{ github.run_number }} + name: jupyterlite-xeus-python-dist-${{ github.run_number }} path: ./dist - name: Install Conda environment with Micromamba @@ -181,7 +181,7 @@ jobs: - uses: actions/download-artifact@v2 with: - name: dist ${{ github.run_number }} + name: jupyterlite-xeus-python-dist-${{ github.run_number }} path: ./dist - name: Install Conda environment with Micromamba From cb031fc251b6d2b99b506886d1947ee6a1d67e5a Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 11 Oct 2023 10:21:39 +0200 Subject: [PATCH 15/24] Lint --- .gitignore | 4 ++++ README.md | 2 +- ui-tests/playwright.config.js | 10 +++++----- ui-tests/test/execute.test.ts | 1 - 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 20b4ea9..2502856 100644 --- a/.gitignore +++ b/.gitignore @@ -141,3 +141,7 @@ jupyterlite_xeus_python/_version.py ui-tests/playwright-report ui-tests/test-results ui-tests/ui-tests-app + +# Lint +.eslintcache +.stylelintcache diff --git a/README.md b/README.md index 1595c96..8c060cd 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ The `jlpm` command is JupyterLab's pinned version of # Clone the repo to your local environment # Change directory to the jupyterlite-xeus-python directory # Install package in development mode -python -m pip install -e . +python -m pip install -e ".[dev]" # Link your development version of the extension with JupyterLab jupyter labextension develop . --overwrite diff --git a/ui-tests/playwright.config.js b/ui-tests/playwright.config.js index 03419fd..328230e 100644 --- a/ui-tests/playwright.config.js +++ b/ui-tests/playwright.config.js @@ -12,18 +12,18 @@ module.exports = { video: 'retain-on-failure', waitForApplication: async ({ baseURL }, use, testInfo) => { - const waitIsReady = async (page) => { + const waitIsReady = async page => { await page.waitForSelector('.jp-LauncherCard'); }; await use(waitIsReady); - }, + } }, webServer: [ { command: 'jlpm run start', port: 8000, timeout: 120 * 1000, - reuseExistingServer: true, - }, - ], + reuseExistingServer: true + } + ] }; diff --git a/ui-tests/test/execute.test.ts b/ui-tests/test/execute.test.ts index 3cad73d..76f6dba 100644 --- a/ui-tests/test/execute.test.ts +++ b/ui-tests/test/execute.test.ts @@ -6,7 +6,6 @@ import { test } from '@jupyterlab/galata'; import { expect } from '@playwright/test'; test.describe('Code execution', () => { - test.beforeEach(async ({ page }) => { await page.goto('lab/index.html'); }); From cc7fea0e8d09e4b3a6bca9417eebb09d5937c021 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 11 Oct 2023 10:27:25 +0200 Subject: [PATCH 16/24] Fix ruff --- pyproject.toml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ffc27c9..c24348d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -136,6 +136,10 @@ ignore = [ "tests/*" = ["S101", "F841", "PLR2004"] # B008 Do not perform function call `typer.Option` in argument defaults -# E501 `subprocess` call: check for execution of untrusted input +# E501 Line too long # S603 `subprocess` call: check for execution of untrusted input "jupyterlite_xeus_python/build.py" = ["B008", "E501", "S603"] + +# E501 Line too long +# S602 `subprocess` call with `shell=True` identified, security issue +"ui-tests/build.py" = ["E501", "S602"] From 00e6ec74d114f9cf5b65f130c76904721133ea02 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 11 Oct 2023 12:55:12 +0200 Subject: [PATCH 17/24] Create notebook --- ui-tests/test/execute.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-tests/test/execute.test.ts b/ui-tests/test/execute.test.ts index 76f6dba..8c29928 100644 --- a/ui-tests/test/execute.test.ts +++ b/ui-tests/test/execute.test.ts @@ -11,7 +11,7 @@ test.describe('Code execution', () => { }); test('Basic code execution', async ({ page }) => { - // try running cells + await page.notebook.createNew(); await page.notebook.setCell(0, 'code', '2 + 2'); await page.notebook.run(); const output = await page.notebook.getCellTextOutput(0); From 3933cceffc2327e669dfe44fafee2aef4c80c733 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Fri, 13 Oct 2023 08:31:46 +0200 Subject: [PATCH 18/24] Add workaround for firefox --- ui-tests/test/execute.test.ts | 4 ++++ ui-tests/test/utils.ts | 13 +++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 ui-tests/test/utils.ts diff --git a/ui-tests/test/execute.test.ts b/ui-tests/test/execute.test.ts index 8c29928..704b4d0 100644 --- a/ui-tests/test/execute.test.ts +++ b/ui-tests/test/execute.test.ts @@ -5,6 +5,10 @@ import { test } from '@jupyterlab/galata'; import { expect } from '@playwright/test'; +import { firefoxWaitForApplication } from './utils'; + +test.use({ waitForApplication: firefoxWaitForApplication }); + test.describe('Code execution', () => { test.beforeEach(async ({ page }) => { await page.goto('lab/index.html'); diff --git a/ui-tests/test/utils.ts b/ui-tests/test/utils.ts new file mode 100644 index 0000000..4ad72ea --- /dev/null +++ b/ui-tests/test/utils.ts @@ -0,0 +1,13 @@ +// Copyright (c) JupyterLite Contributors +// Distributed under the terms of the Modified BSD License. + +/** + * Workaround for Galata being stuck when testing on Firefox: + * https://github.com/jupyterlab/jupyterlab/issues/15093 + */ +export async function firefoxWaitForApplication({ baseURL }, use, testInfo) { + const waitIsReady = async (page): Promise => { + await page.waitForSelector('.jp-LauncherCard'); + }; + await use(waitIsReady); +} From be6500556b757c785b19aa29626cf2901379514d Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Fri, 13 Oct 2023 08:58:45 +0200 Subject: [PATCH 19/24] Add launcher snapshot --- ui-tests/test/general.test.ts | 21 ++++++++++++++++++ .../launcher-chromium-linux.png | Bin 0 -> 44810 bytes .../launcher-firefox-linux.png | Bin 0 -> 44810 bytes 3 files changed, 21 insertions(+) create mode 100644 ui-tests/test/general.test.ts create mode 100644 ui-tests/test/general.test.ts-snapshots/launcher-chromium-linux.png create mode 100644 ui-tests/test/general.test.ts-snapshots/launcher-firefox-linux.png diff --git a/ui-tests/test/general.test.ts b/ui-tests/test/general.test.ts new file mode 100644 index 0000000..66ffe29 --- /dev/null +++ b/ui-tests/test/general.test.ts @@ -0,0 +1,21 @@ +// Copyright (c) JupyterLite Contributors +// Distributed under the terms of the Modified BSD License. + +import { test } from '@jupyterlab/galata'; + +import { expect } from '@playwright/test'; + +import { firefoxWaitForApplication } from './utils'; + +test.use({ waitForApplication: firefoxWaitForApplication }); + +test.describe('General', () => { + test.beforeEach(async ({ page }) => { + await page.goto('lab/index.html'); + }); + + test('Kernel is registered', async ({ page }) => { + const imageName = 'launcher.png'; + expect(await page.screenshot()).toMatchSnapshot(imageName); + }); +}); diff --git a/ui-tests/test/general.test.ts-snapshots/launcher-chromium-linux.png b/ui-tests/test/general.test.ts-snapshots/launcher-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..37597d7a20c14137ba8d526e72d08c45d6f3fa3b GIT binary patch literal 44810 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 QA%CTwP(Ge~)cD$e1LmTb!vFvP literal 0 HcmV?d00001 diff --git a/ui-tests/test/general.test.ts-snapshots/launcher-firefox-linux.png b/ui-tests/test/general.test.ts-snapshots/launcher-firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..37597d7a20c14137ba8d526e72d08c45d6f3fa3b GIT binary patch literal 44810 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 QA%CTwP(Ge~)cD$e1LmTb!vFvP literal 0 HcmV?d00001 From 1f0af5014919a70421c600f10dee3c8e103366fb Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Fri, 13 Oct 2023 10:04:20 +0200 Subject: [PATCH 20/24] Add filesystem test --- ui-tests/test/files.test.ts | 60 +++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 ui-tests/test/files.test.ts diff --git a/ui-tests/test/files.test.ts b/ui-tests/test/files.test.ts new file mode 100644 index 0000000..28f9cf1 --- /dev/null +++ b/ui-tests/test/files.test.ts @@ -0,0 +1,60 @@ +// Copyright (c) JupyterLite Contributors +// Distributed under the terms of the Modified BSD License. + +import { test } from '@jupyterlab/galata'; + +import { expect } from '@playwright/test'; + +import { firefoxWaitForApplication } from './utils'; + +test.use({ waitForApplication: firefoxWaitForApplication }); + +test.describe('File system', () => { + test.beforeEach(async ({ page }) => { + await page.goto('lab/index.html'); + }); + + test('Create files from the notebook and open them in JupyterLab', async ({ + page + }) => { + const notebook = await page.notebook.createNew(); + if (!notebook) { + throw new Error('Notebook could not be created'); + } + + // add cells for manipulating files + const filename = 'test.txt'; + const content = 'Hello, world!'; + await page.notebook.setCell(0, 'code', 'import os\nos.listdir()'); + await page.notebook.addCell('code', 'from pathlib import Path'); + await page.notebook.addCell('code', `p = Path("${filename}")`); + await page.notebook.addCell('code', `p.write_text("${content}")`); + await page.notebook.addCell('code', 'p.exists()'); + await page.notebook.addCell('code', 'os.listdir()'); + + // execute the cells + await page.notebook.run(); + + // the first cell output should contain the name of the notebook + const output = await page.notebook.getCellTextOutput(0); + expect(output).toBeTruthy(); + expect(output![0]).toContain(notebook); + + // the last cell output should contain the name of the created file + const output2 = await page.notebook.getCellTextOutput(5); + expect(output2).toBeTruthy(); + expect(output2![0]).toContain(filename); + + await page.notebook.close(); + + // open the created file from the file browser + await page.waitForSelector(`.jp-DirListing-content >> text="${filename}"`); + await page.filebrowser.open(filename); + + // check the file contents + const line = await page + .locator(`.jp-FileEditor .cm-line >> text="${content}"`) + .innerText(); + expect(line).toBe(content); + }); +}); From 35f4ef58f68c7fb05909467056672ba17cb5cece Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Fri, 13 Oct 2023 10:06:21 +0200 Subject: [PATCH 21/24] Update snapshots --- .../launcher-chromium-linux.png | Bin 44810 -> 48373 bytes .../launcher-firefox-linux.png | Bin 44810 -> 69627 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ui-tests/test/general.test.ts-snapshots/launcher-chromium-linux.png b/ui-tests/test/general.test.ts-snapshots/launcher-chromium-linux.png index 37597d7a20c14137ba8d526e72d08c45d6f3fa3b..2515e04141182eefbf12f622315316a6d14710a6 100644 GIT binary patch literal 48373 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

;FPJfxVX6Jc9SvndcZld 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 QA%CTwP(Ge~)cD$e1LmTb!vFvP diff --git a/ui-tests/test/general.test.ts-snapshots/launcher-firefox-linux.png b/ui-tests/test/general.test.ts-snapshots/launcher-firefox-linux.png index 37597d7a20c14137ba8d526e72d08c45d6f3fa3b..ab0ebce197da9fd348a447b737f515a5bad21558 100644 GIT binary patch literal 69627 zcma&OcRbba|3Cgbr$dLxj;QRNQ9==p>|<})p=6U4!Z8bp>`g>A*_(={k-bOA9@*L7 z>-2iRK5y0M^Sk~2dB45nJfGKiT#xHj5TTr`q#6X_fFI#sk+|Uh zIy^_UAcziL*-<&<}kcp_?8F5T; zWU)=DTXj3bQGf3m5(UADF%W_dg8lX*9V;F=9pw1HAfEiMfBWYX7hniF8rc8(VF-Rh z0fNQ73;ELX=X3w_HVkA&^nbniF&=pFLx*_k|Kr8fED-0p+q)%eTDP|&8Ff@fdV_VB zZMCX!CF%c|#J^MXfkmB+@3=#IN+xF1Pj4|1oJ8eRwgHe|f)C%S(*+>XMW^$8xnc=Tenl zh*l!H)OPiu#hb;u*1>l5TQLSsol@H?wW~Ge vooP?DsvLPB|Ni~g@Y8LnV&k|3 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

  • {@*MtwNBa6Y3 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 Q7l9Aa(fv^A!Q+?y3ye(%R{#J2 literal 44810 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 QA%CTwP(Ge~)cD$e1LmTb!vFvP From cb46561a3b0422214a915feb21de18ac2f7ae3d7 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Fri, 13 Oct 2023 10:31:17 +0200 Subject: [PATCH 22/24] Increase test timeout --- ui-tests/test/files.test.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ui-tests/test/files.test.ts b/ui-tests/test/files.test.ts index 28f9cf1..6dc6c6a 100644 --- a/ui-tests/test/files.test.ts +++ b/ui-tests/test/files.test.ts @@ -14,6 +14,9 @@ test.describe('File system', () => { await page.goto('lab/index.html'); }); + // this test can take a while due to the time take to type the inputs + test.setTimeout(60000 * 3); + test('Create files from the notebook and open them in JupyterLab', async ({ page }) => { From cc5e7494e44a6edd37a14b228f05617fb57baabb Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Fri, 13 Oct 2023 10:52:23 +0200 Subject: [PATCH 23/24] Only screenshot the launcher --- ui-tests/test/general.test.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ui-tests/test/general.test.ts b/ui-tests/test/general.test.ts index 66ffe29..30a0233 100644 --- a/ui-tests/test/general.test.ts +++ b/ui-tests/test/general.test.ts @@ -16,6 +16,10 @@ test.describe('General', () => { test('Kernel is registered', async ({ page }) => { const imageName = 'launcher.png'; - expect(await page.screenshot()).toMatchSnapshot(imageName); + const launcherElement = await page.$('.jp-Launcher-body'); + if (!launcherElement) { + throw new Error('Launcher not found'); + } + expect(await launcherElement.screenshot()).toMatchSnapshot(imageName); }); }); From 01f0617c286bc558717d1593c820ccd610049af5 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Fri, 13 Oct 2023 11:04:26 +0200 Subject: [PATCH 24/24] update refs --- .../launcher-chromium-linux.png | Bin 48373 -> 28971 bytes .../launcher-firefox-linux.png | Bin 69627 -> 43726 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ui-tests/test/general.test.ts-snapshots/launcher-chromium-linux.png b/ui-tests/test/general.test.ts-snapshots/launcher-chromium-linux.png index 2515e04141182eefbf12f622315316a6d14710a6..bf1c3432586fc3385bc56b7aeb6482a4965f637f 100644 GIT binary patch literal 28971 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