From 12a8d7fef5f5c8b7376b276840bf2de48ae11408 Mon Sep 17 00:00:00 2001 From: Anton Reshetov Date: Fri, 7 Feb 2025 11:02:06 +0300 Subject: [PATCH 001/131] chore: start from scratch --- .editorconfig | 9 - .eslintignore | 2 - .eslintrc.js | 53 - .github/FUNDING.yml | 2 +- .github/ISSUE_TEMPLATE/bug_report.yml | 6 +- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/workflows/issue-close-require.yml | 8 +- .github/workflows/issue-labeled.yml | 6 +- .github/workflows/release-tag.yml | 4 +- .gitignore | 14 +- .husky/.gitignore | 1 - .husky/commit-msg | 4 - .husky/pre-commit | 4 - .npmrc | 1 - .prettierrc | 5 - .../entitlements.mac.inherit.plist | 0 {config => build}/icons/256x256.png | Bin {config => build}/icons/icon.icns | Bin {config => build}/icons/icon.ico | Bin commitlint.config.js | 9 +- config/electron-builder.ts | 87 - config/vite.ts | 58 - demo/db/db.json | 2879 --- electron-builder.json | 39 + eslint.config.js | 12 + nodemon.json | 6 + package.json | 187 +- pnpm-lock.yaml | 17654 +++++--------- postcss.config.js | 6 + preview.png | Bin 134264 -> 0 bytes scripts/build-electron.ts | 6 - scripts/build-vue.ts | 10 - scripts/build.ts | 24 - scripts/dev-server.ts | 71 - scripts/generate-language-readme.ts | 28 - scripts/notarize.ts | 22 - src/main/components/menu.ts | 7 - src/main/config.ts | 1 - src/main/db/index.ts | 31 + src/main/index.ts | 157 +- src/main/menu/main.ts | 557 - src/main/preload.ts | 51 +- src/main/services/api/server.ts | 166 - src/main/services/db/index.ts | 467 - src/main/services/i18n/index.ts | 29 - src/main/services/i18n/language.ts | 19 - src/main/services/i18n/locales/README.md | 17 - src/main/services/i18n/locales/cs/common.json | 76 - .../services/i18n/locales/cs/devtools.json | 44 - src/main/services/i18n/locales/cs/dialog.json | 14 - src/main/services/i18n/locales/cs/menu.json | 91 - .../services/i18n/locales/cs/preferences.json | 49 - .../services/i18n/locales/cs/special.json | 29 - .../services/i18n/locales/de_DE/common.json | 67 - .../services/i18n/locales/de_DE/dialog.json | 13 - .../services/i18n/locales/de_DE/menu.json | 87 - .../i18n/locales/de_DE/preferences.json | 49 - .../services/i18n/locales/de_DE/special.json | 30 - src/main/services/i18n/locales/el/common.json | 64 - src/main/services/i18n/locales/el/dialog.json | 13 - src/main/services/i18n/locales/el/menu.json | 85 - .../services/i18n/locales/el/preferences.json | 49 - .../services/i18n/locales/el/special.json | 29 - src/main/services/i18n/locales/en/common.json | 74 - .../services/i18n/locales/en/devtools.json | 44 - src/main/services/i18n/locales/en/dialog.json | 13 - src/main/services/i18n/locales/en/menu.json | 91 - .../services/i18n/locales/en/preferences.json | 49 - .../services/i18n/locales/en/special.json | 29 - .../services/i18n/locales/es_ES/common.json | 58 - .../services/i18n/locales/es_ES/dialog.json | 12 - .../services/i18n/locales/es_ES/menu.json | 73 - .../i18n/locales/es_ES/preferences.json | 44 - .../services/i18n/locales/es_ES/special.json | 24 - .../services/i18n/locales/fa_IR/common.json | 74 - .../services/i18n/locales/fa_IR/devtools.json | 44 - .../services/i18n/locales/fa_IR/dialog.json | 13 - .../services/i18n/locales/fa_IR/menu.json | 91 - .../i18n/locales/fa_IR/preferences.json | 49 - .../services/i18n/locales/fa_IR/special.json | 29 - .../services/i18n/locales/fr_FR/common.json | 71 - .../services/i18n/locales/fr_FR/devtools.json | 44 - .../services/i18n/locales/fr_FR/dialog.json | 13 - .../services/i18n/locales/fr_FR/menu.json | 90 - .../i18n/locales/fr_FR/preferences.json | 49 - .../services/i18n/locales/fr_FR/special.json | 29 - .../services/i18n/locales/ja_JP/common.json | 65 - .../services/i18n/locales/ja_JP/dialog.json | 13 - .../services/i18n/locales/ja_JP/menu.json | 87 - .../i18n/locales/ja_JP/preferences.json | 49 - .../services/i18n/locales/ja_JP/special.json | 29 - src/main/services/i18n/locales/pl/common.json | 74 - .../services/i18n/locales/pl/devtools.json | 44 - src/main/services/i18n/locales/pl/dialog.json | 13 - src/main/services/i18n/locales/pl/menu.json | 91 - .../services/i18n/locales/pl/preferences.json | 49 - .../services/i18n/locales/pl/special.json | 29 - .../services/i18n/locales/pt_BR/common.json | 65 - .../services/i18n/locales/pt_BR/dialog.json | 13 - .../services/i18n/locales/pt_BR/menu.json | 86 - .../i18n/locales/pt_BR/preferences.json | 49 - .../services/i18n/locales/pt_BR/special.json | 29 - .../services/i18n/locales/ro_RO/common.json | 64 - .../services/i18n/locales/ro_RO/dialog.json | 13 - .../services/i18n/locales/ro_RO/menu.json | 85 - .../i18n/locales/ro_RO/preferences.json | 49 - .../services/i18n/locales/ro_RO/special.json | 29 - src/main/services/i18n/locales/ru/common.json | 74 - .../services/i18n/locales/ru/devtools.json | 44 - src/main/services/i18n/locales/ru/dialog.json | 13 - src/main/services/i18n/locales/ru/menu.json | 88 - .../services/i18n/locales/ru/preferences.json | 49 - .../services/i18n/locales/ru/special.json | 29 - src/main/services/i18n/locales/tr/common.json | 71 - .../services/i18n/locales/tr/devtools.json | 44 - src/main/services/i18n/locales/tr/dialog.json | 13 - src/main/services/i18n/locales/tr/menu.json | 90 - .../services/i18n/locales/tr/preferences.json | 49 - .../services/i18n/locales/tr/special.json | 29 - .../services/i18n/locales/uk_UA/common.json | 63 - .../services/i18n/locales/uk_UA/dialog.json | 13 - .../services/i18n/locales/uk_UA/menu.json | 84 - .../i18n/locales/uk_UA/preferences.json | 49 - .../services/i18n/locales/uk_UA/special.json | 29 - .../services/i18n/locales/zh_CN/common.json | 64 - .../services/i18n/locales/zh_CN/dialog.json | 13 - .../services/i18n/locales/zh_CN/menu.json | 84 - .../i18n/locales/zh_CN/preferences.json | 49 - .../services/i18n/locales/zh_CN/special.json | 29 - .../services/i18n/locales/zh_HK/common.json | 63 - .../services/i18n/locales/zh_HK/dialog.json | 13 - .../services/i18n/locales/zh_HK/menu.json | 84 - .../i18n/locales/zh_HK/preferences.json | 49 - .../services/i18n/locales/zh_HK/special.json | 29 - .../services/i18n/locales/zh_TW/common.json | 63 - .../services/i18n/locales/zh_TW/dialog.json | 13 - .../services/i18n/locales/zh_TW/menu.json | 84 - .../i18n/locales/zh_TW/preferences.json | 49 - .../services/i18n/locales/zh_TW/special.json | 29 - src/main/services/ipc/context-menu.ts | 421 - src/main/services/ipc/dialog.ts | 46 - src/main/services/ipc/fs.ts | 27 - src/main/services/ipc/index.ts | 11 - src/main/services/ipc/notifications.ts | 18 - src/main/services/ipc/prettier.ts | 13 - src/main/services/prettier/index.ts | 16 - src/main/services/update-check.ts | 36 - src/main/store/index.ts | 2 - src/main/store/module/app.ts | 23 +- src/main/store/module/preferences.ts | 42 - src/main/types/index.ts | 26 + src/main/utils/index.ts | 47 - src/renderer/App.vue | 391 +- src/renderer/assets/logo.png | Bin 0 -> 153058 bytes src/renderer/assets/scss/ace.scss | 27 - src/renderer/assets/scss/base.scss | 122 - src/renderer/assets/scss/main.scss | 7 - src/renderer/assets/scss/markdown.scss | 958 - src/renderer/assets/scss/mixins.scss | 19 - src/renderer/assets/scss/reset.scss | 173 - src/renderer/assets/scss/themes.scss | 309 - src/renderer/assets/scss/variables.scss | 67 - src/renderer/assets/scss/vendor.scss | 94 - src/renderer/assets/svg/arrow-slash.svg | 3 - src/renderer/assets/svg/icons/3d.svg | 1 - src/renderer/assets/svg/icons/abc.svg | 1 - .../assets/svg/icons/actionscript.svg | 1 - src/renderer/assets/svg/icons/ada.svg | 1 - src/renderer/assets/svg/icons/adonis.svg | 1 - .../assets/svg/icons/advpl_include.svg | 1 - src/renderer/assets/svg/icons/advpl_prw.svg | 1 - src/renderer/assets/svg/icons/advpl_ptm.svg | 1 - src/renderer/assets/svg/icons/advpl_tlpp.svg | 1 - src/renderer/assets/svg/icons/android.svg | 1 - .../assets/svg/icons/angular-component.svg | 1 - .../assets/svg/icons/angular-directive.svg | 1 - .../assets/svg/icons/angular-guard.svg | 1 - .../assets/svg/icons/angular-pipe.svg | 1 - .../assets/svg/icons/angular-resolver.svg | 1 - .../assets/svg/icons/angular-service.svg | 1 - src/renderer/assets/svg/icons/angular.svg | 1 - src/renderer/assets/svg/icons/antlr.svg | 1 - .../assets/svg/icons/apiblueprint.svg | 1 - src/renderer/assets/svg/icons/apollo.svg | 1 - src/renderer/assets/svg/icons/applescript.svg | 1 - src/renderer/assets/svg/icons/appveyor.svg | 1 - .../assets/svg/icons/architecture.svg | 1 - src/renderer/assets/svg/icons/arduino.svg | 1 - src/renderer/assets/svg/icons/asciidoc.svg | 1 - src/renderer/assets/svg/icons/assembly.svg | 1 - src/renderer/assets/svg/icons/astro.svg | 1 - src/renderer/assets/svg/icons/astyle.svg | 1 - src/renderer/assets/svg/icons/audio.svg | 1 - src/renderer/assets/svg/icons/aurelia.svg | 1 - src/renderer/assets/svg/icons/authors.svg | 1 - src/renderer/assets/svg/icons/auto.svg | 1 - src/renderer/assets/svg/icons/auto_light.svg | 1 - src/renderer/assets/svg/icons/autohotkey.svg | 1 - src/renderer/assets/svg/icons/autoit.svg | 1 - .../assets/svg/icons/azure-pipelines.svg | 1 - src/renderer/assets/svg/icons/azure.svg | 1 - src/renderer/assets/svg/icons/babel.svg | 1 - src/renderer/assets/svg/icons/ballerina.svg | 1 - src/renderer/assets/svg/icons/bazel.svg | 1 - src/renderer/assets/svg/icons/bicep.svg | 1 - src/renderer/assets/svg/icons/bitbucket.svg | 13 - src/renderer/assets/svg/icons/bithound.svg | 1 - src/renderer/assets/svg/icons/blink.svg | 1 - src/renderer/assets/svg/icons/blink_light.svg | 1 - src/renderer/assets/svg/icons/blitz.svg | 1 - src/renderer/assets/svg/icons/bower.svg | 1 - src/renderer/assets/svg/icons/brainfuck.svg | 1 - src/renderer/assets/svg/icons/browserlist.svg | 1 - .../assets/svg/icons/browserlist_light.svg | 1 - src/renderer/assets/svg/icons/buck.svg | 1 - .../assets/svg/icons/bucklescript.svg | 1 - src/renderer/assets/svg/icons/buildkite.svg | 1 - src/renderer/assets/svg/icons/bun.svg | 2 - src/renderer/assets/svg/icons/bun_light.svg | 2 - src/renderer/assets/svg/icons/c.svg | 4 - src/renderer/assets/svg/icons/cabal.svg | 1 - src/renderer/assets/svg/icons/caddy.svg | 1 - src/renderer/assets/svg/icons/cadence.svg | 1 - src/renderer/assets/svg/icons/cake.svg | 1 - src/renderer/assets/svg/icons/capacitor.svg | 1 - src/renderer/assets/svg/icons/certificate.svg | 1 - src/renderer/assets/svg/icons/changelog.svg | 1 - src/renderer/assets/svg/icons/chess.svg | 1 - src/renderer/assets/svg/icons/chess_light.svg | 1 - src/renderer/assets/svg/icons/circleci.svg | 1 - .../assets/svg/icons/circleci_light.svg | 1 - src/renderer/assets/svg/icons/clojure.svg | 1 - .../assets/svg/icons/cloudfoundry.svg | 1 - src/renderer/assets/svg/icons/cmake.svg | 1 - src/renderer/assets/svg/icons/coala.svg | 1 - src/renderer/assets/svg/icons/cobol.svg | 1 - src/renderer/assets/svg/icons/coconut.svg | 1 - .../assets/svg/icons/code-climate.svg | 1 - .../assets/svg/icons/code-climate_light.svg | 1 - src/renderer/assets/svg/icons/codecov.svg | 1 - src/renderer/assets/svg/icons/codeowners.svg | 1 - src/renderer/assets/svg/icons/coffee.svg | 1 - src/renderer/assets/svg/icons/coldfusion.svg | 1 - src/renderer/assets/svg/icons/command.svg | 1 - src/renderer/assets/svg/icons/commitlint.svg | 1 - src/renderer/assets/svg/icons/conduct.svg | 1 - src/renderer/assets/svg/icons/console.svg | 1 - .../assets/svg/icons/contributing.svg | 1 - src/renderer/assets/svg/icons/cpp.svg | 4 - src/renderer/assets/svg/icons/craco.svg | 45 - src/renderer/assets/svg/icons/credits.svg | 1 - src/renderer/assets/svg/icons/crystal.svg | 1 - .../assets/svg/icons/crystal_light.svg | 1 - src/renderer/assets/svg/icons/csharp.svg | 4 - src/renderer/assets/svg/icons/css-map.svg | 1 - src/renderer/assets/svg/icons/css.svg | 1 - src/renderer/assets/svg/icons/cucumber.svg | 1 - src/renderer/assets/svg/icons/cuda.svg | 1 - src/renderer/assets/svg/icons/cypress.svg | 1 - src/renderer/assets/svg/icons/d.svg | 1 - src/renderer/assets/svg/icons/dart.svg | 1 - .../assets/svg/icons/dart_generated.svg | 1 - src/renderer/assets/svg/icons/database.svg | 1 - .../assets/svg/icons/denizenscript.svg | 1 - src/renderer/assets/svg/icons/deno.svg | 1 - src/renderer/assets/svg/icons/deno_light.svg | 1 - src/renderer/assets/svg/icons/dependabot.svg | 1 - src/renderer/assets/svg/icons/dhall.svg | 1 - src/renderer/assets/svg/icons/diff.svg | 1 - .../assets/svg/icons/digitalocean.svg | 6 - src/renderer/assets/svg/icons/dinophp.svg | 1 - src/renderer/assets/svg/icons/disc.svg | 1 - src/renderer/assets/svg/icons/django.svg | 1 - src/renderer/assets/svg/icons/docker.svg | 1 - src/renderer/assets/svg/icons/document.svg | 1 - src/renderer/assets/svg/icons/dotjs.svg | 1 - src/renderer/assets/svg/icons/drawio.svg | 1 - src/renderer/assets/svg/icons/drone.svg | 1 - src/renderer/assets/svg/icons/drone_light.svg | 1 - src/renderer/assets/svg/icons/dune.svg | 1 - src/renderer/assets/svg/icons/edge.svg | 1 - .../assets/svg/icons/editorconfig.svg | 1 - src/renderer/assets/svg/icons/ejs.svg | 1 - src/renderer/assets/svg/icons/elixir.svg | 1 - src/renderer/assets/svg/icons/elm.svg | 1 - src/renderer/assets/svg/icons/email.svg | 1 - src/renderer/assets/svg/icons/ember.svg | 1 - src/renderer/assets/svg/icons/erlang.svg | 1 - src/renderer/assets/svg/icons/eslint.svg | 1 - src/renderer/assets/svg/icons/exe.svg | 1 - src/renderer/assets/svg/icons/fastlane.svg | 1 - src/renderer/assets/svg/icons/favicon.svg | 1 - src/renderer/assets/svg/icons/figma.svg | 1 - src/renderer/assets/svg/icons/firebase.svg | 1 - src/renderer/assets/svg/icons/flash.svg | 1 - src/renderer/assets/svg/icons/flow.svg | 1 - .../assets/svg/icons/folder-admin-open.svg | 1 - .../assets/svg/icons/folder-admin.svg | 1 - .../assets/svg/icons/folder-android-open.svg | 1 - .../assets/svg/icons/folder-android.svg | 1 - .../assets/svg/icons/folder-angular-open.svg | 1 - .../assets/svg/icons/folder-angular.svg | 1 - .../svg/icons/folder-animation-open.svg | 1 - .../assets/svg/icons/folder-animation.svg | 1 - .../assets/svg/icons/folder-ansible-open.svg | 1 - .../assets/svg/icons/folder-ansible.svg | 1 - .../assets/svg/icons/folder-api-open.svg | 1 - src/renderer/assets/svg/icons/folder-api.svg | 1 - .../assets/svg/icons/folder-apollo-open.svg | 1 - .../assets/svg/icons/folder-apollo.svg | 1 - .../assets/svg/icons/folder-app-open.svg | 1 - src/renderer/assets/svg/icons/folder-app.svg | 1 - .../assets/svg/icons/folder-archive-open.svg | 1 - .../assets/svg/icons/folder-archive.svg | 1 - .../assets/svg/icons/folder-audio-open.svg | 1 - .../assets/svg/icons/folder-audio.svg | 1 - .../assets/svg/icons/folder-aurelia-open.svg | 1 - .../assets/svg/icons/folder-aurelia.svg | 1 - .../assets/svg/icons/folder-aws-open.svg | 1 - src/renderer/assets/svg/icons/folder-aws.svg | 1 - .../svg/icons/folder-azure-pipelines-open.svg | 1 - .../svg/icons/folder-azure-pipelines.svg | 1 - .../assets/svg/icons/folder-base-open.svg | 1 - src/renderer/assets/svg/icons/folder-base.svg | 1 - .../assets/svg/icons/folder-batch-open.svg | 1 - .../assets/svg/icons/folder-batch.svg | 1 - .../svg/icons/folder-benchmark-open.svg | 1 - .../assets/svg/icons/folder-benchmark.svg | 1 - .../assets/svg/icons/folder-bower-open.svg | 1 - .../assets/svg/icons/folder-bower.svg | 1 - .../svg/icons/folder-buildkite-open.svg | 1 - .../assets/svg/icons/folder-buildkite.svg | 1 - .../assets/svg/icons/folder-cart-open.svg | 1 - src/renderer/assets/svg/icons/folder-cart.svg | 1 - .../svg/icons/folder-changesets-open.svg | 5 - .../assets/svg/icons/folder-changesets.svg | 2 - .../assets/svg/icons/folder-ci-open.svg | 1 - src/renderer/assets/svg/icons/folder-ci.svg | 1 - .../assets/svg/icons/folder-circleci-open.svg | 1 - .../assets/svg/icons/folder-circleci.svg | 1 - .../assets/svg/icons/folder-class-open.svg | 1 - .../assets/svg/icons/folder-class.svg | 1 - .../assets/svg/icons/folder-client-open.svg | 1 - .../assets/svg/icons/folder-client.svg | 1 - .../assets/svg/icons/folder-cluster-open.svg | 1 - .../assets/svg/icons/folder-cluster.svg | 1 - .../assets/svg/icons/folder-cobol-open.svg | 1 - .../assets/svg/icons/folder-cobol.svg | 1 - .../assets/svg/icons/folder-command-open.svg | 1 - .../assets/svg/icons/folder-command.svg | 1 - .../svg/icons/folder-components-open.svg | 1 - .../assets/svg/icons/folder-components.svg | 1 - .../assets/svg/icons/folder-config-open.svg | 1 - .../assets/svg/icons/folder-config.svg | 1 - .../svg/icons/folder-connection-open.svg | 1 - .../assets/svg/icons/folder-connection.svg | 1 - .../assets/svg/icons/folder-constant-open.svg | 1 - .../assets/svg/icons/folder-constant.svg | 1 - .../svg/icons/folder-container-open.svg | 1 - .../assets/svg/icons/folder-container.svg | 1 - .../assets/svg/icons/folder-content-open.svg | 1 - .../assets/svg/icons/folder-content.svg | 1 - .../assets/svg/icons/folder-context-open.svg | 1 - .../assets/svg/icons/folder-context.svg | 1 - .../assets/svg/icons/folder-contract-open.svg | 1 - .../assets/svg/icons/folder-contract.svg | 1 - .../svg/icons/folder-controller-open.svg | 1 - .../assets/svg/icons/folder-controller.svg | 1 - .../assets/svg/icons/folder-core-open.svg | 1 - src/renderer/assets/svg/icons/folder-core.svg | 1 - .../assets/svg/icons/folder-coverage-open.svg | 1 - .../assets/svg/icons/folder-coverage.svg | 1 - .../assets/svg/icons/folder-css-open.svg | 1 - src/renderer/assets/svg/icons/folder-css.svg | 1 - .../assets/svg/icons/folder-custom-open.svg | 1 - .../assets/svg/icons/folder-custom.svg | 1 - .../assets/svg/icons/folder-cypress-open.svg | 1 - .../assets/svg/icons/folder-cypress.svg | 1 - .../assets/svg/icons/folder-database-open.svg | 1 - .../assets/svg/icons/folder-database.svg | 1 - .../assets/svg/icons/folder-debug-open.svg | 1 - .../assets/svg/icons/folder-debug.svg | 1 - .../svg/icons/folder-decorators-open.svg | 2 - .../assets/svg/icons/folder-decorators.svg | 5 - .../assets/svg/icons/folder-delta-open.svg | 1 - .../assets/svg/icons/folder-delta.svg | 1 - .../assets/svg/icons/folder-dist-open.svg | 1 - src/renderer/assets/svg/icons/folder-dist.svg | 1 - .../assets/svg/icons/folder-docker-open.svg | 1 - .../assets/svg/icons/folder-docker.svg | 1 - .../assets/svg/icons/folder-docs-open.svg | 1 - src/renderer/assets/svg/icons/folder-docs.svg | 1 - .../assets/svg/icons/folder-download-open.svg | 1 - .../assets/svg/icons/folder-download.svg | 1 - .../assets/svg/icons/folder-dump-open.svg | 1 - src/renderer/assets/svg/icons/folder-dump.svg | 1 - .../svg/icons/folder-environment-open.svg | 1 - .../assets/svg/icons/folder-environment.svg | 1 - .../assets/svg/icons/folder-error-open.svg | 1 - .../assets/svg/icons/folder-error.svg | 1 - .../assets/svg/icons/folder-event-open.svg | 1 - .../assets/svg/icons/folder-event.svg | 1 - .../assets/svg/icons/folder-examples-open.svg | 1 - .../assets/svg/icons/folder-examples.svg | 1 - .../assets/svg/icons/folder-expo-open.svg | 1 - src/renderer/assets/svg/icons/folder-expo.svg | 1 - .../assets/svg/icons/folder-export-open.svg | 1 - .../assets/svg/icons/folder-export.svg | 1 - .../assets/svg/icons/folder-fastlane-open.svg | 1 - .../assets/svg/icons/folder-fastlane.svg | 1 - .../assets/svg/icons/folder-firebase-open.svg | 1 - .../assets/svg/icons/folder-firebase.svg | 1 - .../assets/svg/icons/folder-flow-open.svg | 1 - src/renderer/assets/svg/icons/folder-flow.svg | 1 - .../assets/svg/icons/folder-font-open.svg | 1 - src/renderer/assets/svg/icons/folder-font.svg | 1 - .../svg/icons/folder-functions-open.svg | 1 - .../assets/svg/icons/folder-functions.svg | 1 - .../svg/icons/folder-gamemaker-open.svg | 2 - .../assets/svg/icons/folder-gamemaker.svg | 2 - .../svg/icons/folder-generator-open.svg | 1 - .../assets/svg/icons/folder-generator.svg | 1 - .../assets/svg/icons/folder-git-open.svg | 1 - src/renderer/assets/svg/icons/folder-git.svg | 1 - .../assets/svg/icons/folder-github-open.svg | 1 - .../assets/svg/icons/folder-github.svg | 1 - .../assets/svg/icons/folder-gitlab-open.svg | 1 - .../assets/svg/icons/folder-gitlab.svg | 1 - .../assets/svg/icons/folder-global-open.svg | 1 - .../assets/svg/icons/folder-global.svg | 1 - .../assets/svg/icons/folder-godot-open.svg | 2 - .../assets/svg/icons/folder-godot.svg | 8 - .../assets/svg/icons/folder-gradle-open.svg | 1 - .../assets/svg/icons/folder-gradle.svg | 1 - .../assets/svg/icons/folder-graphql-open.svg | 1 - .../assets/svg/icons/folder-graphql.svg | 1 - .../assets/svg/icons/folder-guard-open.svg | 1 - .../assets/svg/icons/folder-guard.svg | 1 - .../assets/svg/icons/folder-gulp-open.svg | 1 - src/renderer/assets/svg/icons/folder-gulp.svg | 1 - .../assets/svg/icons/folder-helper-open.svg | 1 - .../assets/svg/icons/folder-helper.svg | 1 - .../assets/svg/icons/folder-home-open.svg | 1 - src/renderer/assets/svg/icons/folder-home.svg | 1 - .../assets/svg/icons/folder-hook-open.svg | 1 - src/renderer/assets/svg/icons/folder-hook.svg | 1 - .../assets/svg/icons/folder-husky-open.svg | 1 - .../assets/svg/icons/folder-husky.svg | 1 - .../assets/svg/icons/folder-i18n-open.svg | 1 - src/renderer/assets/svg/icons/folder-i18n.svg | 1 - .../assets/svg/icons/folder-images-open.svg | 1 - .../assets/svg/icons/folder-images.svg | 1 - .../assets/svg/icons/folder-import-open.svg | 1 - .../assets/svg/icons/folder-import.svg | 1 - .../assets/svg/icons/folder-include-open.svg | 1 - .../assets/svg/icons/folder-include.svg | 1 - .../assets/svg/icons/folder-intellij-open.svg | 1 - .../svg/icons/folder-intellij-open_light.svg | 1 - .../assets/svg/icons/folder-intellij.svg | 1 - .../svg/icons/folder-intellij_light.svg | 1 - .../svg/icons/folder-interface-open.svg | 1 - .../assets/svg/icons/folder-interface.svg | 1 - .../assets/svg/icons/folder-ios-open.svg | 1 - src/renderer/assets/svg/icons/folder-ios.svg | 1 - .../assets/svg/icons/folder-java-open.svg | 1 - src/renderer/assets/svg/icons/folder-java.svg | 1 - .../svg/icons/folder-javascript-open.svg | 1 - .../assets/svg/icons/folder-javascript.svg | 1 - .../assets/svg/icons/folder-jinja-open.svg | 1 - .../svg/icons/folder-jinja-open_light.svg | 1 - .../assets/svg/icons/folder-jinja.svg | 1 - .../assets/svg/icons/folder-jinja_light.svg | 1 - .../assets/svg/icons/folder-job-open.svg | 1 - src/renderer/assets/svg/icons/folder-job.svg | 1 - .../assets/svg/icons/folder-json-open.svg | 1 - src/renderer/assets/svg/icons/folder-json.svg | 1 - .../assets/svg/icons/folder-keys-open.svg | 1 - src/renderer/assets/svg/icons/folder-keys.svg | 1 - .../svg/icons/folder-kubernetes-open.svg | 1 - .../assets/svg/icons/folder-kubernetes.svg | 1 - .../assets/svg/icons/folder-layout-open.svg | 1 - .../assets/svg/icons/folder-layout.svg | 1 - .../assets/svg/icons/folder-less-open.svg | 1 - src/renderer/assets/svg/icons/folder-less.svg | 1 - .../assets/svg/icons/folder-lib-open.svg | 1 - src/renderer/assets/svg/icons/folder-lib.svg | 1 - .../assets/svg/icons/folder-log-open.svg | 1 - src/renderer/assets/svg/icons/folder-log.svg | 1 - .../assets/svg/icons/folder-lua-open.svg | 1 - src/renderer/assets/svg/icons/folder-lua.svg | 1 - .../assets/svg/icons/folder-mail-open.svg | 1 - src/renderer/assets/svg/icons/folder-mail.svg | 1 - .../assets/svg/icons/folder-mappings-open.svg | 1 - .../assets/svg/icons/folder-mappings.svg | 1 - .../assets/svg/icons/folder-markdown-open.svg | 1 - .../assets/svg/icons/folder-markdown.svg | 1 - .../svg/icons/folder-mercurial-open.svg | 5 - .../assets/svg/icons/folder-mercurial.svg | 2 - .../assets/svg/icons/folder-messages-open.svg | 1 - .../assets/svg/icons/folder-messages.svg | 1 - .../assets/svg/icons/folder-meta-open.svg | 1 - src/renderer/assets/svg/icons/folder-meta.svg | 1 - .../svg/icons/folder-middleware-open.svg | 1 - .../assets/svg/icons/folder-middleware.svg | 1 - .../assets/svg/icons/folder-mjml-open.svg | 1 - src/renderer/assets/svg/icons/folder-mjml.svg | 1 - .../assets/svg/icons/folder-mobile-open.svg | 1 - .../assets/svg/icons/folder-mobile.svg | 1 - .../assets/svg/icons/folder-mock-open.svg | 1 - src/renderer/assets/svg/icons/folder-mock.svg | 1 - .../assets/svg/icons/folder-mojo-open.svg | 2 - src/renderer/assets/svg/icons/folder-mojo.svg | 2 - .../assets/svg/icons/folder-netlify-open.svg | 5 - .../assets/svg/icons/folder-netlify.svg | 2 - .../assets/svg/icons/folder-next-open.svg | 1 - src/renderer/assets/svg/icons/folder-next.svg | 1 - .../svg/icons/folder-ngrx-actions-open.svg | 1 - .../assets/svg/icons/folder-ngrx-actions.svg | 1 - .../svg/icons/folder-ngrx-effects-open.svg | 1 - .../assets/svg/icons/folder-ngrx-effects.svg | 1 - .../svg/icons/folder-ngrx-entities-open.svg | 1 - .../assets/svg/icons/folder-ngrx-entities.svg | 1 - .../svg/icons/folder-ngrx-reducer-open.svg | 1 - .../assets/svg/icons/folder-ngrx-reducer.svg | 1 - .../svg/icons/folder-ngrx-selectors-open.svg | 1 - .../svg/icons/folder-ngrx-selectors.svg | 1 - .../svg/icons/folder-ngrx-state-open.svg | 1 - .../assets/svg/icons/folder-ngrx-state.svg | 1 - .../svg/icons/folder-ngrx-store-open.svg | 1 - .../assets/svg/icons/folder-ngrx-store.svg | 1 - .../assets/svg/icons/folder-node-open.svg | 1 - src/renderer/assets/svg/icons/folder-node.svg | 1 - .../assets/svg/icons/folder-nuxt-open.svg | 1 - src/renderer/assets/svg/icons/folder-nuxt.svg | 1 - .../assets/svg/icons/folder-other-open.svg | 1 - .../assets/svg/icons/folder-other.svg | 1 - .../assets/svg/icons/folder-packages-open.svg | 1 - .../assets/svg/icons/folder-packages.svg | 1 - .../assets/svg/icons/folder-pdf-open.svg | 1 - src/renderer/assets/svg/icons/folder-pdf.svg | 1 - .../assets/svg/icons/folder-php-open.svg | 1 - src/renderer/assets/svg/icons/folder-php.svg | 1 - .../svg/icons/folder-phpmailer-open.svg | 1 - .../assets/svg/icons/folder-phpmailer.svg | 1 - .../assets/svg/icons/folder-pipe-open.svg | 1 - src/renderer/assets/svg/icons/folder-pipe.svg | 1 - .../assets/svg/icons/folder-plastic-open.svg | 8 - .../assets/svg/icons/folder-plastic.svg | 2 - .../assets/svg/icons/folder-plugin-open.svg | 1 - .../assets/svg/icons/folder-plugin.svg | 1 - .../assets/svg/icons/folder-prisma-open.svg | 1 - .../assets/svg/icons/folder-prisma.svg | 1 - .../assets/svg/icons/folder-private-open.svg | 1 - .../assets/svg/icons/folder-private.svg | 1 - .../assets/svg/icons/folder-project-open.svg | 1 - .../assets/svg/icons/folder-project.svg | 1 - .../assets/svg/icons/folder-proto-open.svg | 1 - .../assets/svg/icons/folder-proto.svg | 1 - .../assets/svg/icons/folder-public-open.svg | 1 - .../assets/svg/icons/folder-public.svg | 1 - .../assets/svg/icons/folder-python-open.svg | 1 - .../assets/svg/icons/folder-python.svg | 1 - .../assets/svg/icons/folder-quasar-open.svg | 1 - .../assets/svg/icons/folder-quasar.svg | 1 - .../assets/svg/icons/folder-queue-open.svg | 1 - .../assets/svg/icons/folder-queue.svg | 1 - .../icons/folder-react-components-open.svg | 1 - .../svg/icons/folder-react-components.svg | 1 - .../svg/icons/folder-redux-actions-open.svg | 1 - .../assets/svg/icons/folder-redux-actions.svg | 1 - .../svg/icons/folder-redux-reducer-open.svg | 1 - .../assets/svg/icons/folder-redux-reducer.svg | 1 - .../svg/icons/folder-redux-selector-open.svg | 1 - .../svg/icons/folder-redux-selector.svg | 1 - .../svg/icons/folder-redux-store-open.svg | 1 - .../assets/svg/icons/folder-redux-store.svg | 1 - .../assets/svg/icons/folder-resolver-open.svg | 1 - .../assets/svg/icons/folder-resolver.svg | 1 - .../assets/svg/icons/folder-resource-open.svg | 1 - .../assets/svg/icons/folder-resource.svg | 1 - .../assets/svg/icons/folder-review-open.svg | 1 - .../assets/svg/icons/folder-review.svg | 1 - .../assets/svg/icons/folder-routes-open.svg | 1 - .../assets/svg/icons/folder-routes.svg | 1 - .../assets/svg/icons/folder-rules-open.svg | 1 - .../assets/svg/icons/folder-rules.svg | 1 - .../assets/svg/icons/folder-sass-open.svg | 1 - src/renderer/assets/svg/icons/folder-sass.svg | 1 - .../assets/svg/icons/folder-scala-open.svg | 1 - .../assets/svg/icons/folder-scala.svg | 1 - .../assets/svg/icons/folder-scripts-open.svg | 1 - .../assets/svg/icons/folder-scripts.svg | 1 - .../assets/svg/icons/folder-secure-open.svg | 1 - .../assets/svg/icons/folder-secure.svg | 1 - .../assets/svg/icons/folder-server-open.svg | 1 - .../assets/svg/icons/folder-server.svg | 1 - .../svg/icons/folder-serverless-open.svg | 1 - .../assets/svg/icons/folder-serverless.svg | 1 - .../assets/svg/icons/folder-shader-open.svg | 1 - .../assets/svg/icons/folder-shader.svg | 1 - .../assets/svg/icons/folder-shared-open.svg | 1 - .../assets/svg/icons/folder-shared.svg | 1 - .../assets/svg/icons/folder-src-open.svg | 1 - src/renderer/assets/svg/icons/folder-src.svg | 1 - .../assets/svg/icons/folder-stack-open.svg | 1 - .../assets/svg/icons/folder-stack.svg | 1 - .../assets/svg/icons/folder-stencil-open.svg | 1 - .../assets/svg/icons/folder-stencil.svg | 1 - .../svg/icons/folder-storybook-open.svg | 1 - .../assets/svg/icons/folder-storybook.svg | 1 - .../assets/svg/icons/folder-stylus-open.svg | 1 - .../assets/svg/icons/folder-stylus.svg | 1 - .../assets/svg/icons/folder-sublime-open.svg | 1 - .../assets/svg/icons/folder-sublime.svg | 1 - .../assets/svg/icons/folder-supabase-open.svg | 5 - .../assets/svg/icons/folder-supabase.svg | 2 - .../assets/svg/icons/folder-svelte-open.svg | 1 - .../assets/svg/icons/folder-svelte.svg | 1 - .../assets/svg/icons/folder-svg-open.svg | 1 - src/renderer/assets/svg/icons/folder-svg.svg | 1 - .../assets/svg/icons/folder-syntax-open.svg | 1 - .../assets/svg/icons/folder-syntax.svg | 1 - .../assets/svg/icons/folder-target-open.svg | 1 - .../assets/svg/icons/folder-target.svg | 1 - .../assets/svg/icons/folder-tasks-open.svg | 1 - .../assets/svg/icons/folder-tasks.svg | 1 - .../assets/svg/icons/folder-temp-open.svg | 1 - src/renderer/assets/svg/icons/folder-temp.svg | 1 - .../assets/svg/icons/folder-template-open.svg | 1 - .../assets/svg/icons/folder-template.svg | 1 - .../svg/icons/folder-terraform-open.svg | 1 - .../assets/svg/icons/folder-terraform.svg | 1 - .../assets/svg/icons/folder-test-open.svg | 1 - src/renderer/assets/svg/icons/folder-test.svg | 1 - .../assets/svg/icons/folder-theme-open.svg | 1 - .../assets/svg/icons/folder-theme.svg | 1 - .../assets/svg/icons/folder-tools-open.svg | 1 - .../assets/svg/icons/folder-tools.svg | 1 - .../svg/icons/folder-typescript-open.svg | 1 - .../assets/svg/icons/folder-typescript.svg | 1 - .../assets/svg/icons/folder-unity-open.svg | 1 - .../assets/svg/icons/folder-unity.svg | 1 - .../assets/svg/icons/folder-update-open.svg | 1 - .../assets/svg/icons/folder-update.svg | 1 - .../assets/svg/icons/folder-upload-open.svg | 1 - .../assets/svg/icons/folder-upload.svg | 1 - .../assets/svg/icons/folder-utils-open.svg | 1 - .../assets/svg/icons/folder-utils.svg | 1 - .../assets/svg/icons/folder-vercel-open.svg | 1 - .../assets/svg/icons/folder-vercel.svg | 1 - .../svg/icons/folder-verdaccio-open.svg | 1 - .../assets/svg/icons/folder-verdaccio.svg | 1 - .../assets/svg/icons/folder-video-open.svg | 1 - .../assets/svg/icons/folder-video.svg | 1 - .../assets/svg/icons/folder-views-open.svg | 1 - .../assets/svg/icons/folder-views.svg | 1 - .../assets/svg/icons/folder-vm-open.svg | 1 - src/renderer/assets/svg/icons/folder-vm.svg | 1 - .../assets/svg/icons/folder-vscode-open.svg | 1 - .../assets/svg/icons/folder-vscode.svg | 1 - .../svg/icons/folder-vue-directives-open.svg | 1 - .../svg/icons/folder-vue-directives.svg | 1 - .../assets/svg/icons/folder-vue-open.svg | 1 - src/renderer/assets/svg/icons/folder-vue.svg | 1 - .../assets/svg/icons/folder-vuepress-open.svg | 1 - .../assets/svg/icons/folder-vuepress.svg | 1 - .../svg/icons/folder-vuex-store-open.svg | 1 - .../assets/svg/icons/folder-vuex-store.svg | 1 - .../assets/svg/icons/folder-wakatime-open.svg | 1 - .../assets/svg/icons/folder-wakatime.svg | 1 - .../assets/svg/icons/folder-webpack-open.svg | 1 - .../assets/svg/icons/folder-webpack.svg | 1 - .../svg/icons/folder-wordpress-open.svg | 1 - .../assets/svg/icons/folder-wordpress.svg | 1 - .../assets/svg/icons/folder-yarn-open.svg | 1 - src/renderer/assets/svg/icons/folder-yarn.svg | 1 - src/renderer/assets/svg/icons/font.svg | 1 - src/renderer/assets/svg/icons/forth.svg | 1 - src/renderer/assets/svg/icons/fortran.svg | 1 - src/renderer/assets/svg/icons/foxpro.svg | 1 - src/renderer/assets/svg/icons/fsharp.svg | 1 - src/renderer/assets/svg/icons/fusebox.svg | 1 - src/renderer/assets/svg/icons/gamemaker.svg | 4 - src/renderer/assets/svg/icons/gatsby.svg | 1 - src/renderer/assets/svg/icons/gcp.svg | 1 - src/renderer/assets/svg/icons/gemfile.svg | 1 - src/renderer/assets/svg/icons/gemini.svg | 1 - src/renderer/assets/svg/icons/git.svg | 1 - src/renderer/assets/svg/icons/gitlab.svg | 1 - src/renderer/assets/svg/icons/gitpod.svg | 1 - src/renderer/assets/svg/icons/gleam.svg | 1 - src/renderer/assets/svg/icons/go-mod.svg | 1 - src/renderer/assets/svg/icons/go.svg | 1 - src/renderer/assets/svg/icons/go_gopher.svg | 1 - .../assets/svg/icons/godot-assets.svg | 7 - src/renderer/assets/svg/icons/godot.svg | 7 - src/renderer/assets/svg/icons/gradle.svg | 1 - src/renderer/assets/svg/icons/grain.svg | 1 - src/renderer/assets/svg/icons/graphcool.svg | 1 - src/renderer/assets/svg/icons/graphql.svg | 1 - src/renderer/assets/svg/icons/gridsome.svg | 1 - src/renderer/assets/svg/icons/groovy.svg | 1 - src/renderer/assets/svg/icons/grunt.svg | 1 - src/renderer/assets/svg/icons/gulp.svg | 1 - src/renderer/assets/svg/icons/h.svg | 1 - src/renderer/assets/svg/icons/hack.svg | 1 - src/renderer/assets/svg/icons/haml.svg | 1 - src/renderer/assets/svg/icons/handlebars.svg | 1 - src/renderer/assets/svg/icons/hardhat.svg | 1 - src/renderer/assets/svg/icons/haskell.svg | 1 - src/renderer/assets/svg/icons/haxe.svg | 1 - src/renderer/assets/svg/icons/hcl.svg | 1 - src/renderer/assets/svg/icons/hcl_light.svg | 1 - src/renderer/assets/svg/icons/helm.svg | 1 - src/renderer/assets/svg/icons/heroku.svg | 1 - src/renderer/assets/svg/icons/hex.svg | 1 - src/renderer/assets/svg/icons/horusec.svg | 1 - src/renderer/assets/svg/icons/hpp.svg | 1 - src/renderer/assets/svg/icons/html.svg | 1 - src/renderer/assets/svg/icons/http.svg | 1 - src/renderer/assets/svg/icons/husky.svg | 1 - src/renderer/assets/svg/icons/i18n.svg | 1 - src/renderer/assets/svg/icons/idris.svg | 1 - src/renderer/assets/svg/icons/ifanr-cloud.svg | 10 - src/renderer/assets/svg/icons/image.svg | 1 - src/renderer/assets/svg/icons/imba.svg | 1 - src/renderer/assets/svg/icons/ionic.svg | 1 - src/renderer/assets/svg/icons/istanbul.svg | 1 - src/renderer/assets/svg/icons/jar.svg | 1 - src/renderer/assets/svg/icons/java.svg | 1 - src/renderer/assets/svg/icons/javaclass.svg | 1 - .../assets/svg/icons/javascript-map.svg | 1 - src/renderer/assets/svg/icons/javascript.svg | 1 - src/renderer/assets/svg/icons/jenkins.svg | 1 - src/renderer/assets/svg/icons/jest.svg | 1 - src/renderer/assets/svg/icons/jinja.svg | 1 - src/renderer/assets/svg/icons/jinja_light.svg | 1 - src/renderer/assets/svg/icons/jsconfig.svg | 1 - src/renderer/assets/svg/icons/json.svg | 1 - src/renderer/assets/svg/icons/julia.svg | 1 - src/renderer/assets/svg/icons/jupyter.svg | 1 - src/renderer/assets/svg/icons/karma.svg | 1 - src/renderer/assets/svg/icons/key.svg | 1 - src/renderer/assets/svg/icons/kivy.svg | 1 - src/renderer/assets/svg/icons/kl.svg | 1 - src/renderer/assets/svg/icons/kotlin.svg | 1 - src/renderer/assets/svg/icons/kusto.svg | 1 - src/renderer/assets/svg/icons/laravel.svg | 1 - src/renderer/assets/svg/icons/lerna.svg | 1 - src/renderer/assets/svg/icons/less.svg | 1 - src/renderer/assets/svg/icons/lib.svg | 1 - src/renderer/assets/svg/icons/lighthouse.svg | 1 - src/renderer/assets/svg/icons/lilypond.svg | 1 - src/renderer/assets/svg/icons/liquid.svg | 1 - src/renderer/assets/svg/icons/lisp.svg | 1 - src/renderer/assets/svg/icons/livescript.svg | 1 - src/renderer/assets/svg/icons/lock.svg | 1 - src/renderer/assets/svg/icons/log.svg | 1 - src/renderer/assets/svg/icons/lolcode.svg | 1 - src/renderer/assets/svg/icons/lua.svg | 1 - src/renderer/assets/svg/icons/makefile.svg | 1 - src/renderer/assets/svg/icons/markdown.svg | 1 - src/renderer/assets/svg/icons/markojs.svg | 1 - src/renderer/assets/svg/icons/mathematica.svg | 1 - src/renderer/assets/svg/icons/matlab.svg | 1 - src/renderer/assets/svg/icons/maven.svg | 1 - src/renderer/assets/svg/icons/mdsvex.svg | 1 - src/renderer/assets/svg/icons/mdx.svg | 1 - src/renderer/assets/svg/icons/mercurial.svg | 6 - src/renderer/assets/svg/icons/merlin.svg | 1 - src/renderer/assets/svg/icons/mermaid.svg | 4 - src/renderer/assets/svg/icons/meson.svg | 1 - src/renderer/assets/svg/icons/minecraft.svg | 1 - src/renderer/assets/svg/icons/mint.svg | 1 - src/renderer/assets/svg/icons/mjml.svg | 1 - src/renderer/assets/svg/icons/mocha.svg | 1 - src/renderer/assets/svg/icons/modernizr.svg | 1 - src/renderer/assets/svg/icons/mojo.svg | 2 - src/renderer/assets/svg/icons/moodle.svg | 9 - src/renderer/assets/svg/icons/moonscript.svg | 1 - src/renderer/assets/svg/icons/mxml.svg | 1 - src/renderer/assets/svg/icons/nano-staged.svg | 1 - .../assets/svg/icons/nano-staged_light.svg | 1 - src/renderer/assets/svg/icons/ndst.svg | 1 - .../assets/svg/icons/nest-controller.svg | 1 - .../assets/svg/icons/nest-decorator.svg | 1 - src/renderer/assets/svg/icons/nest-filter.svg | 1 - .../assets/svg/icons/nest-gateway.svg | 1 - src/renderer/assets/svg/icons/nest-guard.svg | 1 - .../assets/svg/icons/nest-middleware.svg | 1 - src/renderer/assets/svg/icons/nest-module.svg | 1 - src/renderer/assets/svg/icons/nest-pipe.svg | 1 - .../assets/svg/icons/nest-resolver.svg | 1 - .../assets/svg/icons/nest-service.svg | 1 - src/renderer/assets/svg/icons/nest.svg | 1 - src/renderer/assets/svg/icons/netlify.svg | 7 - .../assets/svg/icons/netlify_light.svg | 7 - src/renderer/assets/svg/icons/next.svg | 1 - src/renderer/assets/svg/icons/next_light.svg | 1 - src/renderer/assets/svg/icons/nginx.svg | 1 - .../assets/svg/icons/ngrx-actions.svg | 1 - .../assets/svg/icons/ngrx-effects.svg | 1 - src/renderer/assets/svg/icons/ngrx-entity.svg | 1 - .../assets/svg/icons/ngrx-reducer.svg | 1 - .../assets/svg/icons/ngrx-selectors.svg | 1 - src/renderer/assets/svg/icons/ngrx-state.svg | 1 - src/renderer/assets/svg/icons/nim.svg | 1 - src/renderer/assets/svg/icons/nix.svg | 1 - src/renderer/assets/svg/icons/nodejs.svg | 1 - src/renderer/assets/svg/icons/nodejs_alt.svg | 1 - src/renderer/assets/svg/icons/nodemon.svg | 1 - src/renderer/assets/svg/icons/npm.svg | 1 - src/renderer/assets/svg/icons/nrwl.svg | 1 - src/renderer/assets/svg/icons/nuget.svg | 1 - src/renderer/assets/svg/icons/nunjucks.svg | 1 - src/renderer/assets/svg/icons/nuxt.svg | 1 - src/renderer/assets/svg/icons/objective-c.svg | 4 - .../assets/svg/icons/objective-cpp.svg | 1 - src/renderer/assets/svg/icons/ocaml.svg | 1 - src/renderer/assets/svg/icons/odin.svg | 1 - src/renderer/assets/svg/icons/opa.svg | 1 - src/renderer/assets/svg/icons/opam.svg | 1 - src/renderer/assets/svg/icons/oracle.svg | 3 - src/renderer/assets/svg/icons/otne.svg | 1 - src/renderer/assets/svg/icons/parcel.svg | 1 - src/renderer/assets/svg/icons/pascal.svg | 6 - src/renderer/assets/svg/icons/pawn.svg | 1 - src/renderer/assets/svg/icons/pdf.svg | 1 - src/renderer/assets/svg/icons/percy.svg | 1 - src/renderer/assets/svg/icons/perl.svg | 1 - .../assets/svg/icons/php-cs-fixer.svg | 1 - src/renderer/assets/svg/icons/php.svg | 1 - .../assets/svg/icons/php_elephant.svg | 1 - .../assets/svg/icons/php_elephant_pink.svg | 1 - src/renderer/assets/svg/icons/phpunit.svg | 1 - src/renderer/assets/svg/icons/pinejs.svg | 1 - src/renderer/assets/svg/icons/pipeline.svg | 1 - src/renderer/assets/svg/icons/plastic.svg | 7 - src/renderer/assets/svg/icons/playwright.svg | 1 - src/renderer/assets/svg/icons/plop.svg | 1 - src/renderer/assets/svg/icons/pnpm.svg | 1 - src/renderer/assets/svg/icons/pnpm_light.svg | 1 - src/renderer/assets/svg/icons/poetry.svg | 1 - src/renderer/assets/svg/icons/postcss.svg | 1 - src/renderer/assets/svg/icons/posthtml.svg | 1 - src/renderer/assets/svg/icons/powerpoint.svg | 1 - src/renderer/assets/svg/icons/powershell.svg | 1 - src/renderer/assets/svg/icons/prettier.svg | 1 - src/renderer/assets/svg/icons/prisma.svg | 1 - src/renderer/assets/svg/icons/processing.svg | 1 - src/renderer/assets/svg/icons/prolog.svg | 1 - src/renderer/assets/svg/icons/proto.svg | 1 - src/renderer/assets/svg/icons/protractor.svg | 1 - src/renderer/assets/svg/icons/pug.svg | 1 - src/renderer/assets/svg/icons/puppet.svg | 1 - src/renderer/assets/svg/icons/purescript.svg | 1 - src/renderer/assets/svg/icons/python-misc.svg | 1 - src/renderer/assets/svg/icons/python.svg | 1 - src/renderer/assets/svg/icons/qsharp.svg | 1 - src/renderer/assets/svg/icons/quasar.svg | 1 - src/renderer/assets/svg/icons/qwik.svg | 2 - src/renderer/assets/svg/icons/r.svg | 1 - src/renderer/assets/svg/icons/racket.svg | 1 - src/renderer/assets/svg/icons/raml.svg | 1 - src/renderer/assets/svg/icons/razor.svg | 1 - src/renderer/assets/svg/icons/rc.svg | 2 - src/renderer/assets/svg/icons/react.svg | 1 - src/renderer/assets/svg/icons/react_ts.svg | 1 - src/renderer/assets/svg/icons/readme.svg | 1 - src/renderer/assets/svg/icons/reason.svg | 1 - src/renderer/assets/svg/icons/red.svg | 1 - .../assets/svg/icons/redux-action.svg | 1 - .../assets/svg/icons/redux-reducer.svg | 1 - .../assets/svg/icons/redux-selector.svg | 1 - src/renderer/assets/svg/icons/redux-store.svg | 1 - src/renderer/assets/svg/icons/remix.svg | 1 - src/renderer/assets/svg/icons/remix_light.svg | 1 - src/renderer/assets/svg/icons/renovate.svg | 1 - src/renderer/assets/svg/icons/replit.svg | 1 - .../assets/svg/icons/rescript-interface.svg | 1 - src/renderer/assets/svg/icons/rescript.svg | 1 - src/renderer/assets/svg/icons/restql.svg | 1 - src/renderer/assets/svg/icons/riot.svg | 1 - src/renderer/assets/svg/icons/roadmap.svg | 1 - src/renderer/assets/svg/icons/robot.svg | 1 - src/renderer/assets/svg/icons/robots.svg | 1 - src/renderer/assets/svg/icons/rollup.svg | 1 - src/renderer/assets/svg/icons/rome.svg | 1 - src/renderer/assets/svg/icons/routing.svg | 1 - src/renderer/assets/svg/icons/rubocop.svg | 1 - .../assets/svg/icons/rubocop_light.svg | 1 - src/renderer/assets/svg/icons/ruby.svg | 1 - src/renderer/assets/svg/icons/rust.svg | 1 - src/renderer/assets/svg/icons/salesforce.svg | 1 - src/renderer/assets/svg/icons/san.svg | 1 - src/renderer/assets/svg/icons/sas.svg | 1 - src/renderer/assets/svg/icons/sass.svg | 1 - src/renderer/assets/svg/icons/sbt.svg | 1 - src/renderer/assets/svg/icons/scala.svg | 1 - src/renderer/assets/svg/icons/scheme.svg | 1 - src/renderer/assets/svg/icons/search.svg | 1 - .../assets/svg/icons/semantic-release.svg | 1 - .../svg/icons/semantic-release_light.svg | 1 - src/renderer/assets/svg/icons/semgrep.svg | 4 - src/renderer/assets/svg/icons/sentry.svg | 1 - src/renderer/assets/svg/icons/sequelize.svg | 1 - src/renderer/assets/svg/icons/serverless.svg | 1 - src/renderer/assets/svg/icons/settings.svg | 1 - src/renderer/assets/svg/icons/shader.svg | 1 - src/renderer/assets/svg/icons/shaderlab.svg | 1 - .../assets/svg/icons/silverstripe.svg | 1 - src/renderer/assets/svg/icons/siyuan.svg | 1 - src/renderer/assets/svg/icons/sketch.svg | 1 - src/renderer/assets/svg/icons/slim.svg | 1 - src/renderer/assets/svg/icons/slug.svg | 1 - src/renderer/assets/svg/icons/smarty.svg | 1 - src/renderer/assets/svg/icons/sml.svg | 1 - src/renderer/assets/svg/icons/snowpack.svg | 1 - .../assets/svg/icons/snowpack_light.svg | 1 - src/renderer/assets/svg/icons/snyk.svg | 1 - src/renderer/assets/svg/icons/solidity.svg | 1 - src/renderer/assets/svg/icons/sonarcloud.svg | 4 - src/renderer/assets/svg/icons/steadybit.svg | 1 - src/renderer/assets/svg/icons/stencil.svg | 1 - src/renderer/assets/svg/icons/stitches.svg | 1 - .../assets/svg/icons/stitches_light.svg | 1 - src/renderer/assets/svg/icons/storybook.svg | 1 - src/renderer/assets/svg/icons/stryker.svg | 1 - src/renderer/assets/svg/icons/stylable.svg | 10 - src/renderer/assets/svg/icons/stylelint.svg | 1 - .../assets/svg/icons/stylelint_light.svg | 1 - src/renderer/assets/svg/icons/stylus.svg | 1 - src/renderer/assets/svg/icons/sublime.svg | 1 - src/renderer/assets/svg/icons/supabase.svg | 4 - src/renderer/assets/svg/icons/svelte.svg | 1 - src/renderer/assets/svg/icons/svg.svg | 1 - src/renderer/assets/svg/icons/svgo.svg | 1 - src/renderer/assets/svg/icons/svgr.svg | 1 - src/renderer/assets/svg/icons/swc.svg | 1 - src/renderer/assets/svg/icons/swift.svg | 1 - src/renderer/assets/svg/icons/table.svg | 1 - src/renderer/assets/svg/icons/tailwindcss.svg | 1 - src/renderer/assets/svg/icons/tauri.svg | 1 - src/renderer/assets/svg/icons/tcl.svg | 1 - src/renderer/assets/svg/icons/teal.svg | 1 - src/renderer/assets/svg/icons/template.svg | 1 - src/renderer/assets/svg/icons/terraform.svg | 1 - src/renderer/assets/svg/icons/test-js.svg | 1 - src/renderer/assets/svg/icons/test-jsx.svg | 1 - src/renderer/assets/svg/icons/test-ts.svg | 1 - src/renderer/assets/svg/icons/tex.svg | 1 - src/renderer/assets/svg/icons/textlint.svg | 1 - src/renderer/assets/svg/icons/tilt.svg | 1 - src/renderer/assets/svg/icons/tldraw.svg | 4 - .../assets/svg/icons/tldraw_light.svg | 4 - src/renderer/assets/svg/icons/tobi.svg | 1 - src/renderer/assets/svg/icons/tobimake.svg | 1 - src/renderer/assets/svg/icons/todo.svg | 1 - src/renderer/assets/svg/icons/travis.svg | 1 - src/renderer/assets/svg/icons/tree.svg | 1 - src/renderer/assets/svg/icons/tsconfig.svg | 1 - src/renderer/assets/svg/icons/tune.svg | 1 - src/renderer/assets/svg/icons/turborepo.svg | 1 - .../assets/svg/icons/turborepo_light.svg | 1 - src/renderer/assets/svg/icons/twig.svg | 1 - src/renderer/assets/svg/icons/twine.svg | 1 - .../assets/svg/icons/typescript-def.svg | 1 - src/renderer/assets/svg/icons/typescript.svg | 1 - src/renderer/assets/svg/icons/typst.svg | 2 - src/renderer/assets/svg/icons/uml.svg | 1 - src/renderer/assets/svg/icons/uml_light.svg | 1 - src/renderer/assets/svg/icons/unocss.svg | 12 - src/renderer/assets/svg/icons/url.svg | 1 - src/renderer/assets/svg/icons/vagrant.svg | 1 - src/renderer/assets/svg/icons/vala.svg | 1 - src/renderer/assets/svg/icons/velocity.svg | 1 - src/renderer/assets/svg/icons/vercel.svg | 1 - .../assets/svg/icons/vercel_light.svg | 1 - src/renderer/assets/svg/icons/verdaccio.svg | 1 - src/renderer/assets/svg/icons/verilog.svg | 1 - src/renderer/assets/svg/icons/vfl.svg | 1 - src/renderer/assets/svg/icons/video.svg | 1 - src/renderer/assets/svg/icons/vim.svg | 1 - src/renderer/assets/svg/icons/virtual.svg | 1 - .../assets/svg/icons/visualstudio.svg | 1 - src/renderer/assets/svg/icons/vite.svg | 1 - src/renderer/assets/svg/icons/vitest.svg | 6 - src/renderer/assets/svg/icons/vlang.svg | 1 - src/renderer/assets/svg/icons/vscode.svg | 1 - src/renderer/assets/svg/icons/vue-config.svg | 1 - src/renderer/assets/svg/icons/vue.svg | 1 - src/renderer/assets/svg/icons/vuex-store.svg | 1 - src/renderer/assets/svg/icons/wakatime.svg | 1 - .../assets/svg/icons/wakatime_light.svg | 1 - src/renderer/assets/svg/icons/wallaby.svg | 1 - src/renderer/assets/svg/icons/watchman.svg | 1 - src/renderer/assets/svg/icons/webassembly.svg | 1 - src/renderer/assets/svg/icons/webhint.svg | 1 - src/renderer/assets/svg/icons/webpack.svg | 1 - src/renderer/assets/svg/icons/wepy.svg | 1 - src/renderer/assets/svg/icons/windicss.svg | 1 - .../assets/svg/icons/wolframlanguage.svg | 1 - src/renderer/assets/svg/icons/word.svg | 1 - src/renderer/assets/svg/icons/xaml.svg | 1 - src/renderer/assets/svg/icons/xml.svg | 1 - src/renderer/assets/svg/icons/yaml.svg | 1 - src/renderer/assets/svg/icons/yang.svg | 1 - src/renderer/assets/svg/icons/yarn.svg | 1 - src/renderer/assets/svg/icons/zig.svg | 1 - src/renderer/assets/svg/icons/zip.svg | 1 - .../components/devtools/composables/index.ts | 6 - .../components/devtools/crypto/HashTool.vue | 104 - .../components/devtools/crypto/HmacTool.vue | 111 - .../components/devtools/crypto/PassTool.vue | 144 - .../components/devtools/crypto/UuidTool.vue | 85 - .../devtools/crypto/algo-options.json | 34 - .../devtools/crypto/types/index.d.ts | 9 - .../encode-decode/Base64EncodeDecodeTool.vue | 72 - .../encode-decode/UrlEncodeDecodeTool.vue | 72 - .../encode-decode/encode-decode-options.json | 4 - .../devtools/encode-decode/types/index.d.ts | 1 - .../devtools/text/CaseConverterTool.vue | 105 - .../components/devtools/text/SlugTool.vue | 51 - .../components/devtools/text/SortTool.vue | 70 - .../devtools/text/UrlParserTool.vue | 113 - .../components/editor/EditorCodemirror.vue | 409 - .../components/editor/EditorPreview.vue | 172 - src/renderer/components/editor/README.md | 166 - .../components/editor/grammars-aux.ts | 202 - src/renderer/components/editor/grammars.ts | 48 - .../editor/grammars/abap.tmLanguage.json | 361 - .../editor/grammars/abc.tmLanguage.json | 42 - .../grammars/actionscript-3.tmLanguage.json | 949 - .../editor/grammars/ada.tmLanguage.json | 97 - .../editor/grammars/alda.tmLanguage.json | 36 - .../editor/grammars/apache.tmLanguage.json | 562 - .../editor/grammars/apex.tmLanguage.json | 3199 --- .../grammars/applescript.tmLanguage.json | 1403 -- .../editor/grammars/arm.tmLanguage.json | 154 - .../grammars/asciidoctor.tmLanguage.json | 818 - .../editor/grammars/asl.tmLanguage.json | 57 - .../editor/grammars/asm.tmLanguage.json | 1346 -- .../grammars/asp-vb-net.tmlanguage.json | 238 - .../editor/grammars/asymptote.tmLanguage.json | 107 - .../grammars/autohotkey.tmLanguage.json | 128 - .../editor/grammars/batchfile.tmLanguage.json | 788 - .../editor/grammars/bibtex.tmLanguage.json | 272 - .../editor/grammars/bicep.tmLanguage.json | 143 - .../editor/grammars/c.tmLanguage.json | 3555 --- .../editor/grammars/cfscript.tmLanguage.json | 481 - .../editor/grammars/cirru.tmLanguage.json | 44 - .../editor/grammars/clojure.tmLanguage.json | 431 - .../editor/grammars/cobol.tmLanguage.json | 1088 - .../editor/grammars/coffee.tmLanguage.json | 1316 - .../grammars/coldfusion.tmLanguage.json | 433 - .../cpp-embedded-latex.tmLanguage.json | 12878 ---------- .../cpp.embedded.macro.tmLanguage.json | 11059 --------- .../editor/grammars/cpp.tmLanguage.json | 19844 ---------------- .../editor/grammars/crystal.tmLanguage.json | 1081 - .../editor/grammars/csharp.tmLanguage.json | 4742 ---- .../grammars/csound-document.tmLanguage.json | 177 - .../grammars/csound-score.tmLanguage.json | 192 - .../editor/grammars/csound.tmLanguage.json | 825 - .../editor/grammars/css.tmLanguage.json | 1802 -- .../editor/grammars/curly.tmLanguage.json | 96 - .../editor/grammars/d.tmLanguage.json | 3153 --- .../editor/grammars/dart.tmLanguage.json | 516 - .../editor/grammars/diff.tmLanguage.json | 160 - .../editor/grammars/django.tmLanguage.json | 30 - .../editor/grammars/docker.tmLanguage.json | 102 - .../editor/grammars/dot.tmLanguage.json | 98 - .../editor/grammars/drools.tmLanguage.json | 59 - .../editor/grammars/edifact.tmLanguage.json | 26 - .../editor/grammars/eex.tmLanguage.json | 39 - .../editor/grammars/eiffel.tmLanguage.json | 84 - .../editor/grammars/ejs.tmLanguage.json | 299 - .../editor/grammars/elixir.tmLanguage.json | 1013 - .../editor/grammars/elm.tmLanguage.json | 748 - .../editor/grammars/erlang.tmLanguage.json | 1730 -- .../editor/grammars/etc.tmLanguage.json | 991 - .../editor/grammars/forth.tmLanguage.json | 206 - .../editor/grammars/fortran.tmLanguage.json | 355 - .../editor/grammars/fsharp.tmLanguage.json | 1835 -- .../editor/grammars/gcode.tmLanguage.json | 62 - .../editor/grammars/gherkin.tmLanguage.json | 132 - .../grammars/git-commit.tmLanguage.json | 141 - .../grammars/git-rebase.tmLanguage.json | 61 - .../editor/grammars/gitignore.tmLanguage.json | 316 - .../editor/grammars/glsl.tmLanguage.json | 58 - .../editor/grammars/gnuplot.tmLanguage.json | 887 - .../editor/grammars/go.tmLanguage.json | 1017 - .../editor/grammars/graphql.tmLanguage.json | 1289 - .../editor/grammars/groovy.tmLanguage.json | 1383 -- .../editor/grammars/haml.tmLanguage.json | 596 - .../grammars/handlebars.tmLanguage.json | 852 - .../grammars/haskell-cabal.tmLanguage.json | 51 - .../editor/grammars/haskell.tmLanguage.json | 2428 -- .../editor/grammars/haxe.tmLanguage.json | 1285 - .../editor/grammars/hjson.tmLanguage.json | 514 - .../editor/grammars/html-cfml.tmLanguage.json | 470 - .../grammars/html-derivative.tmLanguage.json | 49 - .../grammars/html-django.tmLanguage.json | 56 - .../grammars/html-elixir.tmLanguage.json | 15 - .../editor/grammars/html-ruby.tmLanguage.json | 151 - .../editor/grammars/html.tmLanguage.json | 740 - .../editor/grammars/ini.tmLanguage.json | 113 - .../editor/grammars/io.tmLanguage.json | 119 - .../editor/grammars/java.tmLanguage.json | 1855 -- .../editor/grammars/javadoc.tmLanguage.json | 269 - .../grammars/javascript.tmLanguage.json | 4348 ---- .../editor/grammars/jquery.tmLanguage.json | 235 - .../editor/grammars/json.tmLanguage.json | 213 - .../editor/grammars/json5.tmLanguage.json | 186 - .../editor/grammars/jsonc.tmLanguage.json | 213 - .../editor/grammars/jsoniq.tmLanguage.json | 459 - .../editor/grammars/jsp.tmLanguage.json | 696 - .../grammars/jsx-styled.tmLanguage.json | 112 - .../editor/grammars/jsx.tmLanguage.json | 575 - .../editor/grammars/julia.tmLanguage.json | 945 - .../editor/grammars/kotlin.tmLanguage.json | 705 - .../editor/grammars/kusto.tmLanguage.json | 684 - .../editor/grammars/latex.tmLanguage.json | 1945 -- .../editor/grammars/latte.tmLanguage.json | 92 - .../editor/grammars/less.tmLanguage.json | 542 - .../editor/grammars/liquid.tmLanguage.json | 524 - .../editor/grammars/lisp.tmLanguage.json | 95 - .../grammars/livescript.tmLanguage.json | 436 - .../editor/grammars/log.tmLanguage.json | 129 - .../editor/grammars/lsl.tmLanguage.json | 187 - .../editor/grammars/lua.tmLanguage.json | 801 - .../editor/grammars/make.tmLanguage.json | 634 - .../grammars/markdown-gf.tmLanguage.json | 1926 -- .../markdown-latex-combined.tmLanguage.json | 2970 --- .../editor/grammars/markdown.tmLanguage.json | 2964 --- .../editor/grammars/mask.tmLanguage.json | 819 - .../editor/grammars/matlab.tmLanguage.json | 1130 - .../editor/grammars/mediawiki.tmLanguage.json | 425 - .../editor/grammars/mel.tmLanguage.json | 104 - .../editor/grammars/mermaid.tmLanguage.json | 1090 - .../editor/grammars/mikrotik.tmLanguage.json | 407 - .../editor/grammars/mips.tmLanguage.json | 84 - .../editor/grammars/mysql.tmLanguage.json | 345 - .../editor/grammars/nginx.tmLanguage.json | 2122 -- .../editor/grammars/nim.tmLanguage.json | 1521 -- .../editor/grammars/nix.tmLanguage.json | 1198 - .../editor/grammars/nsis.tmLanguage.json | 110 - .../editor/grammars/nunjucks.tmLanguage.json | 461 - .../grammars/objective-c.tmLanguage.json | 3755 --- .../editor/grammars/ocaml.tmLanguage.json | 2961 --- .../editor/grammars/pascal.tmLanguage.json | 145 - .../editor/grammars/perl.tmLanguage.json | 2977 --- .../editor/grammars/pgsql.tmLanguage.json | 248 - .../editor/grammars/php-blade.tmLanguage.json | 3827 --- .../editor/grammars/php-html.tmLanguage.json | 98 - .../editor/grammars/php.tmLanguage.json | 4001 ---- .../editor/grammars/pig.tmLanguage.json | 157 - .../grammars/plain-text.tmLanguage.json | 6 - .../editor/grammars/plsql.tmLanguage.json | 232 - .../editor/grammars/postcss.tmLanguage.json | 228 - .../grammars/postscript.tmLanguage.json | 166 - .../grammars/powershell.tmLanguage.json | 1029 - .../editor/grammars/praat.tmLanguage.json | 145 - .../editor/grammars/prisma.tmLanguage.json | 241 - .../editor/grammars/prolog.tmLanguage.json | 54 - .../grammars/properties.tmLanguage.json | 88 - .../editor/grammars/protobuf.tmLanguage.json | 177 - .../editor/grammars/pug.tmLanguage.json | 987 - .../editor/grammars/puppet.tmLanguage.json | 774 - .../editor/grammars/python.tmLanguage.json | 5232 ---- .../editor/grammars/qml.tmLanguage.json | 140 - .../editor/grammars/r.tmLanguage.json | 642 - .../editor/grammars/raku.tmLanguage.json | 315 - .../editor/grammars/razor.tmLanguage.json | 1506 -- .../editor/grammars/rdoc.tmLanguage.json | 34 - .../editor/grammars/red.tmLanguage.json | 556 - .../grammars/regexp-extended.tmLanguage.json | 578 - .../regexp-javascript.tmLanguage.json | 98 - .../grammars/regexp-posix.tmLanguage.json | 237 - .../grammars/regexp-python.tmLanguage.json | 497 - .../editor/grammars/regexp.tmLanguage.json | 1501 -- .../editor/grammars/rst.tmLanguage.json | 733 - .../editor/grammars/ruby.tmLanguage.json | 2775 --- .../editor/grammars/rust.tmLanguage.json | 1170 - .../editor/grammars/sas.tmLanguage.json | 306 - .../editor/grammars/sass.tmLanguage.json | 174 - .../editor/grammars/sassdoc.tmLanguage.json | 354 - .../editor/grammars/scad.tmLanguage.json | 99 - .../editor/grammars/scala.tmLanguage.json | 1239 - .../editor/grammars/scheme.tmLanguage.json | 239 - .../editor/grammars/scrypt.tmLanguage.json | 462 - .../editor/grammars/scss.tmLanguage.json | 1879 -- .../grammars/shell-unix-bash.tmLanguage.json | 1343 -- .../editor/grammars/sjs.tmLanguage.json | 35 - .../editor/grammars/slim.tmLanguage.json | 316 - .../editor/grammars/slm.tmLanguage.json | 270 - .../editor/grammars/smalltalk.tmLanguage.json | 239 - .../editor/grammars/smarty.tmLanguage.json | 236 - .../editor/grammars/smithy.tmLanguage.json | 559 - .../editor/grammars/solidity.tmLanguage.json | 1171 - .../grammars/soytemplate.tmLanguage.json | 362 - .../editor/grammars/sql.tmLanguage.json | 539 - .../editor/grammars/stylus.tmLanguage.json | 1202 - .../editor/grammars/svg.tmLanguage.json | 69 - .../editor/grammars/swift.tmLanguage.json | 3303 --- .../editor/grammars/syon.tmLanguage.json | 979 - .../grammars/systemverilog.tmLanguage.json | 642 - .../editor/grammars/tcl.tmLanguage.json | 173 - .../editor/grammars/terraform.tmLanguage.json | 443 - .../editor/grammars/tex.tmLanguage.json | 296 - .../editor/grammars/textile.tmLanguage.json | 159 - .../editor/grammars/toml.tmLanguage.json | 430 - .../editor/grammars/tsx.tmLanguage.json | 5912 ----- .../editor/grammars/twig.tmLanguage.json | 1350 -- .../grammars/typescript.tmLanguage.json | 4086 ---- .../editor/grammars/vala.tmLanguage.json | 518 - .../editor/grammars/velocity.tmLanguage.json | 434 - .../editor/grammars/vhdl.tmLanguage.json | 774 - .../grammars/visualforce.tmLanguage.json | 744 - .../editor/grammars/vue.tmLanguage.json | 580 - .../editor/grammars/wollok.tmLanguage.json | 58 - .../editor/grammars/xml.tmLanguage.json | 203 - .../editor/grammars/xquery.tmLanguage.json | 384 - .../editor/grammars/xsl.tmLanguage.json | 59 - .../editor/grammars/yaml.tmLanguage.json | 621 - .../editor/grammars/zeek.tmLanguage.json | 469 - src/renderer/components/editor/languages.ts | 1004 - src/renderer/components/editor/themes.ts | 136 - .../editor/themes/dracula.tmTheme.json | 575 - .../editor/themes/github.tmTheme.json | 916 - .../material-theme-lighter.tmTheme.json | 673 - .../material-theme-palenight.tmTheme.json | 2119 -- .../editor/themes/material-theme.tmTheme.json | 673 - .../editor/themes/merbivore-soft.tmTheme.json | 177 - .../editor/themes/merbivore.tmTheme.json | 177 - .../editor/themes/monokai.tmTheme.json | 179 - .../editor/themes/oceanic.tmTheme.json | 318 - .../editor/themes/one-dark.tmTheme.json | 397 - .../themes/solarized-light.tmTheme.json | 1334 -- .../editor/themes/tokyo-night.tmTheme.json | 835 - src/renderer/components/markdown/MindMap.vue | 167 - .../components/markdown/TheMarkdown.vue | 323 - .../preferences/AppearancePreferences.vue | 49 - .../preferences/EditorPreferences.vue | 108 - .../preferences/LanguagePreferences.vue | 58 - .../preferences/MarkdownPreferences.vue | 53 - .../preferences/StoragePreferences.vue | 223 - .../screenshot/ScreenshotPalette.vue | 70 - .../components/screenshot/TheScreenshot.vue | 393 - .../components/sidebar/SidebarList.vue | 166 - .../components/sidebar/SidebarListItem.vue | 266 - src/renderer/components/sidebar/TheFolder.vue | 88 - .../components/sidebar/TheSidebar.vue | 258 - src/renderer/components/sidebar/composable.ts | 17 - .../components/snippets/SnippetFragments.vue | 54 - .../components/snippets/SnippetHeader.vue | 191 - .../snippets/SnippetHeaderTools.vue | 29 - .../components/snippets/SnippetList.vue | 106 - .../components/snippets/SnippetListHeader.vue | 89 - .../components/snippets/SnippetListItem.vue | 404 - .../snippets/SnippetsDescription.vue | 93 - .../snippets/SnippetsFragmentsInput.vue | 114 - .../components/snippets/SnippetsTags.vue | 59 - .../components/snippets/SnippetsView.vue | 113 - .../components/ui/AppActionButton.vue | 47 - src/renderer/components/ui/AppButton.vue | 22 - src/renderer/components/ui/AppCheckbox.vue | 68 - src/renderer/components/ui/AppDebug.vue | 29 - src/renderer/components/ui/AppInput.vue | 69 - src/renderer/components/ui/AppInputTags.vue | 94 - src/renderer/components/ui/AppModal.vue | 49 - src/renderer/components/ui/AppSelect.vue | 64 - .../components/ui/AppTree/AppTree.vue | 102 - .../components/ui/AppTree/AppTreeNode.vue | 394 - .../components/ui/AppTree/composable.ts | 64 - src/renderer/components/ui/AppTree/helpers.ts | 72 - .../components/ui/AppTree/types/index.d.ts | 16 - .../ui/folder-icons/AppFolderIcons.vue | 98 - .../ui/folder-icons/AppFolderIconsItem.vue | 38 - .../components/ui/folder-icons/icons.ts | 17 - src/renderer/components/ui/form/AppForm.vue | 17 - .../components/ui/form/AppFormItem.vue | 55 - .../ui/layout/AppLayoutOneColumn.vue | 58 - src/renderer/components/ui/menu/AppMenu.vue | 109 - .../components/ui/menu/AppMenuGroup.vue | 27 - .../components/ui/menu/AppMenuItem.vue | 48 - src/renderer/components/ui/menu/keys.ts | 4 - .../components/ui/menu/types/index.d.ts | 19 - src/renderer/composable/codemirror.ts | 16 - src/renderer/composable/index.ts | 187 - src/renderer/composable/notification.ts | 130 - src/renderer/electron.ts | 4 +- src/renderer/env.d.ts | 8 - src/renderer/index.html | 6 +- src/renderer/main.ts | 18 +- src/renderer/router.ts | 18 - src/renderer/router/index.ts | 19 + src/renderer/services/analytics/index.ts | 34 - src/renderer/store/app.ts | 124 - src/renderer/store/folders.ts | 170 - src/renderer/store/snippets.ts | 372 - src/renderer/store/tags.ts | 28 - src/renderer/styles.css | 3 + src/renderer/types/.keep | 0 src/renderer/utils/index.ts | 22 - src/renderer/views/About.vue | 5 + src/renderer/views/Devtools.vue | 111 - src/renderer/views/Home.vue | 5 + src/renderer/views/Main.vue | 91 - src/renderer/views/Preferences.vue | 56 - src/renderer/views/Presentation.vue | 217 - src/shared/types/main/analytics.d.ts | 71 - src/shared/types/main/db.d.ts | 52 - src/shared/types/main/index.d.ts | 158 - src/shared/types/main/json-server.d.ts | 91 - src/shared/types/main/renderer.d.ts | 16 - src/shared/types/main/store.d.ts | 34 - src/shared/types/main/vite.shim.d.ts | 1 - .../types/renderer/composable/index.d.ts | 11 - src/shared/types/renderer/editor/index.d.ts | 201 - src/shared/types/renderer/sidebar/index.d.ts | 15 - src/shared/types/renderer/store/app.d.ts | 71 - src/shared/types/renderer/store/folders.d.ts | 13 - src/shared/types/renderer/store/snippets.d.ts | 25 - src/shared/types/renderer/store/tag.d.ts | 6 - src/shared/types/renderer/vendor.shim.d.ts | 1 - tailwind.config.js | 11 + tsconfig.electron.json | 34 - tsconfig.json | 40 +- tsconfig.main.json | 14 + vite.config.ts | 22 + 1330 files changed, 6228 insertions(+), 245575 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintignore delete mode 100644 .eslintrc.js delete mode 100644 .husky/.gitignore delete mode 100755 .husky/commit-msg delete mode 100755 .husky/pre-commit delete mode 100644 .npmrc delete mode 100644 .prettierrc rename entitlements.mac.inherit.plist => build/entitlements.mac.inherit.plist (100%) rename {config => build}/icons/256x256.png (100%) rename {config => build}/icons/icon.icns (100%) rename {config => build}/icons/icon.ico (100%) delete mode 100644 config/electron-builder.ts delete mode 100644 config/vite.ts delete mode 100644 demo/db/db.json create mode 100644 electron-builder.json create mode 100644 eslint.config.js create mode 100644 nodemon.json create mode 100644 postcss.config.js delete mode 100644 preview.png delete mode 100644 scripts/build-electron.ts delete mode 100644 scripts/build-vue.ts delete mode 100644 scripts/build.ts delete mode 100644 scripts/dev-server.ts delete mode 100644 scripts/generate-language-readme.ts delete mode 100644 scripts/notarize.ts delete mode 100644 src/main/components/menu.ts delete mode 100644 src/main/config.ts create mode 100644 src/main/db/index.ts delete mode 100644 src/main/menu/main.ts delete mode 100644 src/main/services/api/server.ts delete mode 100644 src/main/services/db/index.ts delete mode 100644 src/main/services/i18n/index.ts delete mode 100644 src/main/services/i18n/language.ts delete mode 100644 src/main/services/i18n/locales/README.md delete mode 100644 src/main/services/i18n/locales/cs/common.json delete mode 100644 src/main/services/i18n/locales/cs/devtools.json delete mode 100644 src/main/services/i18n/locales/cs/dialog.json delete mode 100644 src/main/services/i18n/locales/cs/menu.json delete mode 100644 src/main/services/i18n/locales/cs/preferences.json delete mode 100644 src/main/services/i18n/locales/cs/special.json delete mode 100644 src/main/services/i18n/locales/de_DE/common.json delete mode 100644 src/main/services/i18n/locales/de_DE/dialog.json delete mode 100644 src/main/services/i18n/locales/de_DE/menu.json delete mode 100644 src/main/services/i18n/locales/de_DE/preferences.json delete mode 100644 src/main/services/i18n/locales/de_DE/special.json delete mode 100644 src/main/services/i18n/locales/el/common.json delete mode 100644 src/main/services/i18n/locales/el/dialog.json delete mode 100644 src/main/services/i18n/locales/el/menu.json delete mode 100644 src/main/services/i18n/locales/el/preferences.json delete mode 100644 src/main/services/i18n/locales/el/special.json delete mode 100644 src/main/services/i18n/locales/en/common.json delete mode 100644 src/main/services/i18n/locales/en/devtools.json delete mode 100644 src/main/services/i18n/locales/en/dialog.json delete mode 100644 src/main/services/i18n/locales/en/menu.json delete mode 100644 src/main/services/i18n/locales/en/preferences.json delete mode 100644 src/main/services/i18n/locales/en/special.json delete mode 100644 src/main/services/i18n/locales/es_ES/common.json delete mode 100644 src/main/services/i18n/locales/es_ES/dialog.json delete mode 100644 src/main/services/i18n/locales/es_ES/menu.json delete mode 100644 src/main/services/i18n/locales/es_ES/preferences.json delete mode 100644 src/main/services/i18n/locales/es_ES/special.json delete mode 100644 src/main/services/i18n/locales/fa_IR/common.json delete mode 100644 src/main/services/i18n/locales/fa_IR/devtools.json delete mode 100644 src/main/services/i18n/locales/fa_IR/dialog.json delete mode 100644 src/main/services/i18n/locales/fa_IR/menu.json delete mode 100644 src/main/services/i18n/locales/fa_IR/preferences.json delete mode 100644 src/main/services/i18n/locales/fa_IR/special.json delete mode 100644 src/main/services/i18n/locales/fr_FR/common.json delete mode 100644 src/main/services/i18n/locales/fr_FR/devtools.json delete mode 100644 src/main/services/i18n/locales/fr_FR/dialog.json delete mode 100644 src/main/services/i18n/locales/fr_FR/menu.json delete mode 100644 src/main/services/i18n/locales/fr_FR/preferences.json delete mode 100644 src/main/services/i18n/locales/fr_FR/special.json delete mode 100644 src/main/services/i18n/locales/ja_JP/common.json delete mode 100644 src/main/services/i18n/locales/ja_JP/dialog.json delete mode 100644 src/main/services/i18n/locales/ja_JP/menu.json delete mode 100644 src/main/services/i18n/locales/ja_JP/preferences.json delete mode 100644 src/main/services/i18n/locales/ja_JP/special.json delete mode 100644 src/main/services/i18n/locales/pl/common.json delete mode 100644 src/main/services/i18n/locales/pl/devtools.json delete mode 100644 src/main/services/i18n/locales/pl/dialog.json delete mode 100644 src/main/services/i18n/locales/pl/menu.json delete mode 100644 src/main/services/i18n/locales/pl/preferences.json delete mode 100644 src/main/services/i18n/locales/pl/special.json delete mode 100644 src/main/services/i18n/locales/pt_BR/common.json delete mode 100644 src/main/services/i18n/locales/pt_BR/dialog.json delete mode 100644 src/main/services/i18n/locales/pt_BR/menu.json delete mode 100644 src/main/services/i18n/locales/pt_BR/preferences.json delete mode 100644 src/main/services/i18n/locales/pt_BR/special.json delete mode 100644 src/main/services/i18n/locales/ro_RO/common.json delete mode 100644 src/main/services/i18n/locales/ro_RO/dialog.json delete mode 100644 src/main/services/i18n/locales/ro_RO/menu.json delete mode 100644 src/main/services/i18n/locales/ro_RO/preferences.json delete mode 100644 src/main/services/i18n/locales/ro_RO/special.json delete mode 100644 src/main/services/i18n/locales/ru/common.json delete mode 100644 src/main/services/i18n/locales/ru/devtools.json delete mode 100644 src/main/services/i18n/locales/ru/dialog.json delete mode 100644 src/main/services/i18n/locales/ru/menu.json delete mode 100644 src/main/services/i18n/locales/ru/preferences.json delete mode 100644 src/main/services/i18n/locales/ru/special.json delete mode 100644 src/main/services/i18n/locales/tr/common.json delete mode 100644 src/main/services/i18n/locales/tr/devtools.json delete mode 100644 src/main/services/i18n/locales/tr/dialog.json delete mode 100644 src/main/services/i18n/locales/tr/menu.json delete mode 100644 src/main/services/i18n/locales/tr/preferences.json delete mode 100644 src/main/services/i18n/locales/tr/special.json delete mode 100644 src/main/services/i18n/locales/uk_UA/common.json delete mode 100644 src/main/services/i18n/locales/uk_UA/dialog.json delete mode 100644 src/main/services/i18n/locales/uk_UA/menu.json delete mode 100644 src/main/services/i18n/locales/uk_UA/preferences.json delete mode 100644 src/main/services/i18n/locales/uk_UA/special.json delete mode 100644 src/main/services/i18n/locales/zh_CN/common.json delete mode 100644 src/main/services/i18n/locales/zh_CN/dialog.json delete mode 100644 src/main/services/i18n/locales/zh_CN/menu.json delete mode 100644 src/main/services/i18n/locales/zh_CN/preferences.json delete mode 100644 src/main/services/i18n/locales/zh_CN/special.json delete mode 100644 src/main/services/i18n/locales/zh_HK/common.json delete mode 100644 src/main/services/i18n/locales/zh_HK/dialog.json delete mode 100644 src/main/services/i18n/locales/zh_HK/menu.json delete mode 100644 src/main/services/i18n/locales/zh_HK/preferences.json delete mode 100644 src/main/services/i18n/locales/zh_HK/special.json delete mode 100644 src/main/services/i18n/locales/zh_TW/common.json delete mode 100644 src/main/services/i18n/locales/zh_TW/dialog.json delete mode 100644 src/main/services/i18n/locales/zh_TW/menu.json delete mode 100644 src/main/services/i18n/locales/zh_TW/preferences.json delete mode 100644 src/main/services/i18n/locales/zh_TW/special.json delete mode 100644 src/main/services/ipc/context-menu.ts delete mode 100644 src/main/services/ipc/dialog.ts delete mode 100644 src/main/services/ipc/fs.ts delete mode 100644 src/main/services/ipc/index.ts delete mode 100644 src/main/services/ipc/notifications.ts delete mode 100644 src/main/services/ipc/prettier.ts delete mode 100644 src/main/services/prettier/index.ts delete mode 100644 src/main/services/update-check.ts delete mode 100644 src/main/store/module/preferences.ts create mode 100644 src/main/types/index.ts delete mode 100644 src/main/utils/index.ts create mode 100644 src/renderer/assets/logo.png delete mode 100644 src/renderer/assets/scss/ace.scss delete mode 100644 src/renderer/assets/scss/base.scss delete mode 100644 src/renderer/assets/scss/main.scss delete mode 100644 src/renderer/assets/scss/markdown.scss delete mode 100644 src/renderer/assets/scss/mixins.scss delete mode 100644 src/renderer/assets/scss/reset.scss delete mode 100644 src/renderer/assets/scss/themes.scss delete mode 100644 src/renderer/assets/scss/variables.scss delete mode 100644 src/renderer/assets/scss/vendor.scss delete mode 100644 src/renderer/assets/svg/arrow-slash.svg delete mode 100644 src/renderer/assets/svg/icons/3d.svg delete mode 100644 src/renderer/assets/svg/icons/abc.svg delete mode 100644 src/renderer/assets/svg/icons/actionscript.svg delete mode 100644 src/renderer/assets/svg/icons/ada.svg delete mode 100644 src/renderer/assets/svg/icons/adonis.svg delete mode 100644 src/renderer/assets/svg/icons/advpl_include.svg delete mode 100644 src/renderer/assets/svg/icons/advpl_prw.svg delete mode 100644 src/renderer/assets/svg/icons/advpl_ptm.svg delete mode 100644 src/renderer/assets/svg/icons/advpl_tlpp.svg delete mode 100644 src/renderer/assets/svg/icons/android.svg delete mode 100644 src/renderer/assets/svg/icons/angular-component.svg delete mode 100644 src/renderer/assets/svg/icons/angular-directive.svg delete mode 100644 src/renderer/assets/svg/icons/angular-guard.svg delete mode 100644 src/renderer/assets/svg/icons/angular-pipe.svg delete mode 100644 src/renderer/assets/svg/icons/angular-resolver.svg delete mode 100644 src/renderer/assets/svg/icons/angular-service.svg delete mode 100644 src/renderer/assets/svg/icons/angular.svg delete mode 100644 src/renderer/assets/svg/icons/antlr.svg delete mode 100644 src/renderer/assets/svg/icons/apiblueprint.svg delete mode 100644 src/renderer/assets/svg/icons/apollo.svg delete mode 100644 src/renderer/assets/svg/icons/applescript.svg delete mode 100644 src/renderer/assets/svg/icons/appveyor.svg delete mode 100644 src/renderer/assets/svg/icons/architecture.svg delete mode 100644 src/renderer/assets/svg/icons/arduino.svg delete mode 100644 src/renderer/assets/svg/icons/asciidoc.svg delete mode 100644 src/renderer/assets/svg/icons/assembly.svg delete mode 100644 src/renderer/assets/svg/icons/astro.svg delete mode 100644 src/renderer/assets/svg/icons/astyle.svg delete mode 100644 src/renderer/assets/svg/icons/audio.svg delete mode 100644 src/renderer/assets/svg/icons/aurelia.svg delete mode 100644 src/renderer/assets/svg/icons/authors.svg delete mode 100644 src/renderer/assets/svg/icons/auto.svg delete mode 100644 src/renderer/assets/svg/icons/auto_light.svg delete mode 100644 src/renderer/assets/svg/icons/autohotkey.svg delete mode 100644 src/renderer/assets/svg/icons/autoit.svg delete mode 100644 src/renderer/assets/svg/icons/azure-pipelines.svg delete mode 100644 src/renderer/assets/svg/icons/azure.svg delete mode 100644 src/renderer/assets/svg/icons/babel.svg delete mode 100644 src/renderer/assets/svg/icons/ballerina.svg delete mode 100644 src/renderer/assets/svg/icons/bazel.svg delete mode 100644 src/renderer/assets/svg/icons/bicep.svg delete mode 100644 src/renderer/assets/svg/icons/bitbucket.svg delete mode 100644 src/renderer/assets/svg/icons/bithound.svg delete mode 100644 src/renderer/assets/svg/icons/blink.svg delete mode 100644 src/renderer/assets/svg/icons/blink_light.svg delete mode 100644 src/renderer/assets/svg/icons/blitz.svg delete mode 100644 src/renderer/assets/svg/icons/bower.svg delete mode 100644 src/renderer/assets/svg/icons/brainfuck.svg delete mode 100644 src/renderer/assets/svg/icons/browserlist.svg delete mode 100644 src/renderer/assets/svg/icons/browserlist_light.svg delete mode 100644 src/renderer/assets/svg/icons/buck.svg delete mode 100644 src/renderer/assets/svg/icons/bucklescript.svg delete mode 100644 src/renderer/assets/svg/icons/buildkite.svg delete mode 100644 src/renderer/assets/svg/icons/bun.svg delete mode 100644 src/renderer/assets/svg/icons/bun_light.svg delete mode 100644 src/renderer/assets/svg/icons/c.svg delete mode 100644 src/renderer/assets/svg/icons/cabal.svg delete mode 100644 src/renderer/assets/svg/icons/caddy.svg delete mode 100644 src/renderer/assets/svg/icons/cadence.svg delete mode 100644 src/renderer/assets/svg/icons/cake.svg delete mode 100644 src/renderer/assets/svg/icons/capacitor.svg delete mode 100644 src/renderer/assets/svg/icons/certificate.svg delete mode 100644 src/renderer/assets/svg/icons/changelog.svg delete mode 100644 src/renderer/assets/svg/icons/chess.svg delete mode 100644 src/renderer/assets/svg/icons/chess_light.svg delete mode 100644 src/renderer/assets/svg/icons/circleci.svg delete mode 100644 src/renderer/assets/svg/icons/circleci_light.svg delete mode 100644 src/renderer/assets/svg/icons/clojure.svg delete mode 100644 src/renderer/assets/svg/icons/cloudfoundry.svg delete mode 100644 src/renderer/assets/svg/icons/cmake.svg delete mode 100644 src/renderer/assets/svg/icons/coala.svg delete mode 100644 src/renderer/assets/svg/icons/cobol.svg delete mode 100644 src/renderer/assets/svg/icons/coconut.svg delete mode 100644 src/renderer/assets/svg/icons/code-climate.svg delete mode 100644 src/renderer/assets/svg/icons/code-climate_light.svg delete mode 100644 src/renderer/assets/svg/icons/codecov.svg delete mode 100644 src/renderer/assets/svg/icons/codeowners.svg delete mode 100644 src/renderer/assets/svg/icons/coffee.svg delete mode 100644 src/renderer/assets/svg/icons/coldfusion.svg delete mode 100644 src/renderer/assets/svg/icons/command.svg delete mode 100644 src/renderer/assets/svg/icons/commitlint.svg delete mode 100644 src/renderer/assets/svg/icons/conduct.svg delete mode 100644 src/renderer/assets/svg/icons/console.svg delete mode 100644 src/renderer/assets/svg/icons/contributing.svg delete mode 100644 src/renderer/assets/svg/icons/cpp.svg delete mode 100644 src/renderer/assets/svg/icons/craco.svg delete mode 100644 src/renderer/assets/svg/icons/credits.svg delete mode 100644 src/renderer/assets/svg/icons/crystal.svg delete mode 100644 src/renderer/assets/svg/icons/crystal_light.svg delete mode 100644 src/renderer/assets/svg/icons/csharp.svg delete mode 100644 src/renderer/assets/svg/icons/css-map.svg delete mode 100644 src/renderer/assets/svg/icons/css.svg delete mode 100644 src/renderer/assets/svg/icons/cucumber.svg delete mode 100644 src/renderer/assets/svg/icons/cuda.svg delete mode 100644 src/renderer/assets/svg/icons/cypress.svg delete mode 100644 src/renderer/assets/svg/icons/d.svg delete mode 100644 src/renderer/assets/svg/icons/dart.svg delete mode 100644 src/renderer/assets/svg/icons/dart_generated.svg delete mode 100644 src/renderer/assets/svg/icons/database.svg delete mode 100644 src/renderer/assets/svg/icons/denizenscript.svg delete mode 100644 src/renderer/assets/svg/icons/deno.svg delete mode 100644 src/renderer/assets/svg/icons/deno_light.svg delete mode 100644 src/renderer/assets/svg/icons/dependabot.svg delete mode 100644 src/renderer/assets/svg/icons/dhall.svg delete mode 100644 src/renderer/assets/svg/icons/diff.svg delete mode 100755 src/renderer/assets/svg/icons/digitalocean.svg delete mode 100644 src/renderer/assets/svg/icons/dinophp.svg delete mode 100644 src/renderer/assets/svg/icons/disc.svg delete mode 100644 src/renderer/assets/svg/icons/django.svg delete mode 100644 src/renderer/assets/svg/icons/docker.svg delete mode 100644 src/renderer/assets/svg/icons/document.svg delete mode 100644 src/renderer/assets/svg/icons/dotjs.svg delete mode 100644 src/renderer/assets/svg/icons/drawio.svg delete mode 100644 src/renderer/assets/svg/icons/drone.svg delete mode 100644 src/renderer/assets/svg/icons/drone_light.svg delete mode 100644 src/renderer/assets/svg/icons/dune.svg delete mode 100644 src/renderer/assets/svg/icons/edge.svg delete mode 100644 src/renderer/assets/svg/icons/editorconfig.svg delete mode 100644 src/renderer/assets/svg/icons/ejs.svg delete mode 100644 src/renderer/assets/svg/icons/elixir.svg delete mode 100644 src/renderer/assets/svg/icons/elm.svg delete mode 100644 src/renderer/assets/svg/icons/email.svg delete mode 100644 src/renderer/assets/svg/icons/ember.svg delete mode 100644 src/renderer/assets/svg/icons/erlang.svg delete mode 100644 src/renderer/assets/svg/icons/eslint.svg delete mode 100644 src/renderer/assets/svg/icons/exe.svg delete mode 100644 src/renderer/assets/svg/icons/fastlane.svg delete mode 100644 src/renderer/assets/svg/icons/favicon.svg delete mode 100644 src/renderer/assets/svg/icons/figma.svg delete mode 100644 src/renderer/assets/svg/icons/firebase.svg delete mode 100644 src/renderer/assets/svg/icons/flash.svg delete mode 100644 src/renderer/assets/svg/icons/flow.svg delete mode 100644 src/renderer/assets/svg/icons/folder-admin-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-admin.svg delete mode 100644 src/renderer/assets/svg/icons/folder-android-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-android.svg delete mode 100644 src/renderer/assets/svg/icons/folder-angular-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-angular.svg delete mode 100644 src/renderer/assets/svg/icons/folder-animation-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-animation.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ansible-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ansible.svg delete mode 100644 src/renderer/assets/svg/icons/folder-api-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-api.svg delete mode 100644 src/renderer/assets/svg/icons/folder-apollo-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-apollo.svg delete mode 100644 src/renderer/assets/svg/icons/folder-app-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-app.svg delete mode 100644 src/renderer/assets/svg/icons/folder-archive-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-archive.svg delete mode 100644 src/renderer/assets/svg/icons/folder-audio-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-audio.svg delete mode 100644 src/renderer/assets/svg/icons/folder-aurelia-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-aurelia.svg delete mode 100644 src/renderer/assets/svg/icons/folder-aws-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-aws.svg delete mode 100644 src/renderer/assets/svg/icons/folder-azure-pipelines-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-azure-pipelines.svg delete mode 100644 src/renderer/assets/svg/icons/folder-base-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-base.svg delete mode 100644 src/renderer/assets/svg/icons/folder-batch-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-batch.svg delete mode 100644 src/renderer/assets/svg/icons/folder-benchmark-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-benchmark.svg delete mode 100644 src/renderer/assets/svg/icons/folder-bower-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-bower.svg delete mode 100644 src/renderer/assets/svg/icons/folder-buildkite-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-buildkite.svg delete mode 100644 src/renderer/assets/svg/icons/folder-cart-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-cart.svg delete mode 100644 src/renderer/assets/svg/icons/folder-changesets-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-changesets.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ci-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ci.svg delete mode 100644 src/renderer/assets/svg/icons/folder-circleci-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-circleci.svg delete mode 100644 src/renderer/assets/svg/icons/folder-class-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-class.svg delete mode 100644 src/renderer/assets/svg/icons/folder-client-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-client.svg delete mode 100644 src/renderer/assets/svg/icons/folder-cluster-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-cluster.svg delete mode 100644 src/renderer/assets/svg/icons/folder-cobol-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-cobol.svg delete mode 100644 src/renderer/assets/svg/icons/folder-command-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-command.svg delete mode 100644 src/renderer/assets/svg/icons/folder-components-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-components.svg delete mode 100644 src/renderer/assets/svg/icons/folder-config-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-config.svg delete mode 100644 src/renderer/assets/svg/icons/folder-connection-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-connection.svg delete mode 100644 src/renderer/assets/svg/icons/folder-constant-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-constant.svg delete mode 100644 src/renderer/assets/svg/icons/folder-container-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-container.svg delete mode 100644 src/renderer/assets/svg/icons/folder-content-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-content.svg delete mode 100644 src/renderer/assets/svg/icons/folder-context-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-context.svg delete mode 100644 src/renderer/assets/svg/icons/folder-contract-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-contract.svg delete mode 100644 src/renderer/assets/svg/icons/folder-controller-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-controller.svg delete mode 100644 src/renderer/assets/svg/icons/folder-core-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-core.svg delete mode 100644 src/renderer/assets/svg/icons/folder-coverage-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-coverage.svg delete mode 100644 src/renderer/assets/svg/icons/folder-css-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-css.svg delete mode 100644 src/renderer/assets/svg/icons/folder-custom-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-custom.svg delete mode 100644 src/renderer/assets/svg/icons/folder-cypress-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-cypress.svg delete mode 100644 src/renderer/assets/svg/icons/folder-database-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-database.svg delete mode 100644 src/renderer/assets/svg/icons/folder-debug-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-debug.svg delete mode 100644 src/renderer/assets/svg/icons/folder-decorators-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-decorators.svg delete mode 100644 src/renderer/assets/svg/icons/folder-delta-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-delta.svg delete mode 100644 src/renderer/assets/svg/icons/folder-dist-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-dist.svg delete mode 100644 src/renderer/assets/svg/icons/folder-docker-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-docker.svg delete mode 100644 src/renderer/assets/svg/icons/folder-docs-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-docs.svg delete mode 100644 src/renderer/assets/svg/icons/folder-download-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-download.svg delete mode 100644 src/renderer/assets/svg/icons/folder-dump-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-dump.svg delete mode 100644 src/renderer/assets/svg/icons/folder-environment-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-environment.svg delete mode 100644 src/renderer/assets/svg/icons/folder-error-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-error.svg delete mode 100644 src/renderer/assets/svg/icons/folder-event-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-event.svg delete mode 100644 src/renderer/assets/svg/icons/folder-examples-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-examples.svg delete mode 100644 src/renderer/assets/svg/icons/folder-expo-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-expo.svg delete mode 100644 src/renderer/assets/svg/icons/folder-export-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-export.svg delete mode 100644 src/renderer/assets/svg/icons/folder-fastlane-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-fastlane.svg delete mode 100644 src/renderer/assets/svg/icons/folder-firebase-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-firebase.svg delete mode 100644 src/renderer/assets/svg/icons/folder-flow-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-flow.svg delete mode 100644 src/renderer/assets/svg/icons/folder-font-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-font.svg delete mode 100644 src/renderer/assets/svg/icons/folder-functions-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-functions.svg delete mode 100644 src/renderer/assets/svg/icons/folder-gamemaker-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-gamemaker.svg delete mode 100644 src/renderer/assets/svg/icons/folder-generator-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-generator.svg delete mode 100644 src/renderer/assets/svg/icons/folder-git-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-git.svg delete mode 100644 src/renderer/assets/svg/icons/folder-github-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-github.svg delete mode 100644 src/renderer/assets/svg/icons/folder-gitlab-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-gitlab.svg delete mode 100644 src/renderer/assets/svg/icons/folder-global-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-global.svg delete mode 100644 src/renderer/assets/svg/icons/folder-godot-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-godot.svg delete mode 100644 src/renderer/assets/svg/icons/folder-gradle-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-gradle.svg delete mode 100644 src/renderer/assets/svg/icons/folder-graphql-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-graphql.svg delete mode 100644 src/renderer/assets/svg/icons/folder-guard-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-guard.svg delete mode 100644 src/renderer/assets/svg/icons/folder-gulp-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-gulp.svg delete mode 100644 src/renderer/assets/svg/icons/folder-helper-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-helper.svg delete mode 100644 src/renderer/assets/svg/icons/folder-home-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-home.svg delete mode 100644 src/renderer/assets/svg/icons/folder-hook-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-hook.svg delete mode 100644 src/renderer/assets/svg/icons/folder-husky-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-husky.svg delete mode 100644 src/renderer/assets/svg/icons/folder-i18n-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-i18n.svg delete mode 100644 src/renderer/assets/svg/icons/folder-images-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-images.svg delete mode 100644 src/renderer/assets/svg/icons/folder-import-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-import.svg delete mode 100644 src/renderer/assets/svg/icons/folder-include-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-include.svg delete mode 100644 src/renderer/assets/svg/icons/folder-intellij-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-intellij-open_light.svg delete mode 100644 src/renderer/assets/svg/icons/folder-intellij.svg delete mode 100644 src/renderer/assets/svg/icons/folder-intellij_light.svg delete mode 100644 src/renderer/assets/svg/icons/folder-interface-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-interface.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ios-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ios.svg delete mode 100644 src/renderer/assets/svg/icons/folder-java-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-java.svg delete mode 100644 src/renderer/assets/svg/icons/folder-javascript-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-javascript.svg delete mode 100644 src/renderer/assets/svg/icons/folder-jinja-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-jinja-open_light.svg delete mode 100644 src/renderer/assets/svg/icons/folder-jinja.svg delete mode 100644 src/renderer/assets/svg/icons/folder-jinja_light.svg delete mode 100644 src/renderer/assets/svg/icons/folder-job-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-job.svg delete mode 100644 src/renderer/assets/svg/icons/folder-json-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-json.svg delete mode 100644 src/renderer/assets/svg/icons/folder-keys-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-keys.svg delete mode 100644 src/renderer/assets/svg/icons/folder-kubernetes-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-kubernetes.svg delete mode 100644 src/renderer/assets/svg/icons/folder-layout-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-layout.svg delete mode 100644 src/renderer/assets/svg/icons/folder-less-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-less.svg delete mode 100644 src/renderer/assets/svg/icons/folder-lib-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-lib.svg delete mode 100644 src/renderer/assets/svg/icons/folder-log-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-log.svg delete mode 100644 src/renderer/assets/svg/icons/folder-lua-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-lua.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mail-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mail.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mappings-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mappings.svg delete mode 100644 src/renderer/assets/svg/icons/folder-markdown-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-markdown.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mercurial-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mercurial.svg delete mode 100644 src/renderer/assets/svg/icons/folder-messages-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-messages.svg delete mode 100644 src/renderer/assets/svg/icons/folder-meta-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-meta.svg delete mode 100644 src/renderer/assets/svg/icons/folder-middleware-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-middleware.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mjml-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mjml.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mobile-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mobile.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mock-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mock.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mojo-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-mojo.svg delete mode 100644 src/renderer/assets/svg/icons/folder-netlify-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-netlify.svg delete mode 100644 src/renderer/assets/svg/icons/folder-next-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-next.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-actions-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-actions.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-effects-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-effects.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-entities-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-entities.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-reducer-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-reducer.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-selectors-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-selectors.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-state-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-state.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-store-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-ngrx-store.svg delete mode 100644 src/renderer/assets/svg/icons/folder-node-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-node.svg delete mode 100644 src/renderer/assets/svg/icons/folder-nuxt-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-nuxt.svg delete mode 100644 src/renderer/assets/svg/icons/folder-other-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-other.svg delete mode 100644 src/renderer/assets/svg/icons/folder-packages-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-packages.svg delete mode 100644 src/renderer/assets/svg/icons/folder-pdf-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-pdf.svg delete mode 100644 src/renderer/assets/svg/icons/folder-php-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-php.svg delete mode 100644 src/renderer/assets/svg/icons/folder-phpmailer-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-phpmailer.svg delete mode 100644 src/renderer/assets/svg/icons/folder-pipe-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-pipe.svg delete mode 100644 src/renderer/assets/svg/icons/folder-plastic-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-plastic.svg delete mode 100644 src/renderer/assets/svg/icons/folder-plugin-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-plugin.svg delete mode 100644 src/renderer/assets/svg/icons/folder-prisma-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-prisma.svg delete mode 100644 src/renderer/assets/svg/icons/folder-private-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-private.svg delete mode 100644 src/renderer/assets/svg/icons/folder-project-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-project.svg delete mode 100644 src/renderer/assets/svg/icons/folder-proto-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-proto.svg delete mode 100644 src/renderer/assets/svg/icons/folder-public-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-public.svg delete mode 100644 src/renderer/assets/svg/icons/folder-python-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-python.svg delete mode 100644 src/renderer/assets/svg/icons/folder-quasar-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-quasar.svg delete mode 100644 src/renderer/assets/svg/icons/folder-queue-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-queue.svg delete mode 100644 src/renderer/assets/svg/icons/folder-react-components-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-react-components.svg delete mode 100644 src/renderer/assets/svg/icons/folder-redux-actions-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-redux-actions.svg delete mode 100644 src/renderer/assets/svg/icons/folder-redux-reducer-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-redux-reducer.svg delete mode 100644 src/renderer/assets/svg/icons/folder-redux-selector-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-redux-selector.svg delete mode 100644 src/renderer/assets/svg/icons/folder-redux-store-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-redux-store.svg delete mode 100644 src/renderer/assets/svg/icons/folder-resolver-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-resolver.svg delete mode 100644 src/renderer/assets/svg/icons/folder-resource-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-resource.svg delete mode 100644 src/renderer/assets/svg/icons/folder-review-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-review.svg delete mode 100644 src/renderer/assets/svg/icons/folder-routes-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-routes.svg delete mode 100644 src/renderer/assets/svg/icons/folder-rules-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-rules.svg delete mode 100644 src/renderer/assets/svg/icons/folder-sass-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-sass.svg delete mode 100644 src/renderer/assets/svg/icons/folder-scala-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-scala.svg delete mode 100644 src/renderer/assets/svg/icons/folder-scripts-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-scripts.svg delete mode 100644 src/renderer/assets/svg/icons/folder-secure-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-secure.svg delete mode 100644 src/renderer/assets/svg/icons/folder-server-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-server.svg delete mode 100644 src/renderer/assets/svg/icons/folder-serverless-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-serverless.svg delete mode 100644 src/renderer/assets/svg/icons/folder-shader-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-shader.svg delete mode 100644 src/renderer/assets/svg/icons/folder-shared-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-shared.svg delete mode 100644 src/renderer/assets/svg/icons/folder-src-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-src.svg delete mode 100644 src/renderer/assets/svg/icons/folder-stack-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-stack.svg delete mode 100644 src/renderer/assets/svg/icons/folder-stencil-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-stencil.svg delete mode 100644 src/renderer/assets/svg/icons/folder-storybook-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-storybook.svg delete mode 100644 src/renderer/assets/svg/icons/folder-stylus-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-stylus.svg delete mode 100644 src/renderer/assets/svg/icons/folder-sublime-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-sublime.svg delete mode 100644 src/renderer/assets/svg/icons/folder-supabase-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-supabase.svg delete mode 100644 src/renderer/assets/svg/icons/folder-svelte-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-svelte.svg delete mode 100644 src/renderer/assets/svg/icons/folder-svg-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-svg.svg delete mode 100644 src/renderer/assets/svg/icons/folder-syntax-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-syntax.svg delete mode 100644 src/renderer/assets/svg/icons/folder-target-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-target.svg delete mode 100644 src/renderer/assets/svg/icons/folder-tasks-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-tasks.svg delete mode 100644 src/renderer/assets/svg/icons/folder-temp-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-temp.svg delete mode 100644 src/renderer/assets/svg/icons/folder-template-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-template.svg delete mode 100644 src/renderer/assets/svg/icons/folder-terraform-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-terraform.svg delete mode 100644 src/renderer/assets/svg/icons/folder-test-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-test.svg delete mode 100644 src/renderer/assets/svg/icons/folder-theme-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-theme.svg delete mode 100644 src/renderer/assets/svg/icons/folder-tools-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-tools.svg delete mode 100644 src/renderer/assets/svg/icons/folder-typescript-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-typescript.svg delete mode 100644 src/renderer/assets/svg/icons/folder-unity-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-unity.svg delete mode 100644 src/renderer/assets/svg/icons/folder-update-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-update.svg delete mode 100644 src/renderer/assets/svg/icons/folder-upload-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-upload.svg delete mode 100644 src/renderer/assets/svg/icons/folder-utils-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-utils.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vercel-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vercel.svg delete mode 100644 src/renderer/assets/svg/icons/folder-verdaccio-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-verdaccio.svg delete mode 100644 src/renderer/assets/svg/icons/folder-video-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-video.svg delete mode 100644 src/renderer/assets/svg/icons/folder-views-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-views.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vm-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vm.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vscode-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vscode.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vue-directives-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vue-directives.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vue-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vue.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vuepress-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vuepress.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vuex-store-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-vuex-store.svg delete mode 100644 src/renderer/assets/svg/icons/folder-wakatime-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-wakatime.svg delete mode 100644 src/renderer/assets/svg/icons/folder-webpack-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-webpack.svg delete mode 100644 src/renderer/assets/svg/icons/folder-wordpress-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-wordpress.svg delete mode 100644 src/renderer/assets/svg/icons/folder-yarn-open.svg delete mode 100644 src/renderer/assets/svg/icons/folder-yarn.svg delete mode 100644 src/renderer/assets/svg/icons/font.svg delete mode 100644 src/renderer/assets/svg/icons/forth.svg delete mode 100644 src/renderer/assets/svg/icons/fortran.svg delete mode 100644 src/renderer/assets/svg/icons/foxpro.svg delete mode 100644 src/renderer/assets/svg/icons/fsharp.svg delete mode 100644 src/renderer/assets/svg/icons/fusebox.svg delete mode 100644 src/renderer/assets/svg/icons/gamemaker.svg delete mode 100644 src/renderer/assets/svg/icons/gatsby.svg delete mode 100644 src/renderer/assets/svg/icons/gcp.svg delete mode 100644 src/renderer/assets/svg/icons/gemfile.svg delete mode 100644 src/renderer/assets/svg/icons/gemini.svg delete mode 100644 src/renderer/assets/svg/icons/git.svg delete mode 100644 src/renderer/assets/svg/icons/gitlab.svg delete mode 100644 src/renderer/assets/svg/icons/gitpod.svg delete mode 100644 src/renderer/assets/svg/icons/gleam.svg delete mode 100644 src/renderer/assets/svg/icons/go-mod.svg delete mode 100644 src/renderer/assets/svg/icons/go.svg delete mode 100644 src/renderer/assets/svg/icons/go_gopher.svg delete mode 100644 src/renderer/assets/svg/icons/godot-assets.svg delete mode 100644 src/renderer/assets/svg/icons/godot.svg delete mode 100644 src/renderer/assets/svg/icons/gradle.svg delete mode 100644 src/renderer/assets/svg/icons/grain.svg delete mode 100644 src/renderer/assets/svg/icons/graphcool.svg delete mode 100644 src/renderer/assets/svg/icons/graphql.svg delete mode 100644 src/renderer/assets/svg/icons/gridsome.svg delete mode 100644 src/renderer/assets/svg/icons/groovy.svg delete mode 100644 src/renderer/assets/svg/icons/grunt.svg delete mode 100644 src/renderer/assets/svg/icons/gulp.svg delete mode 100644 src/renderer/assets/svg/icons/h.svg delete mode 100644 src/renderer/assets/svg/icons/hack.svg delete mode 100644 src/renderer/assets/svg/icons/haml.svg delete mode 100644 src/renderer/assets/svg/icons/handlebars.svg delete mode 100644 src/renderer/assets/svg/icons/hardhat.svg delete mode 100644 src/renderer/assets/svg/icons/haskell.svg delete mode 100644 src/renderer/assets/svg/icons/haxe.svg delete mode 100644 src/renderer/assets/svg/icons/hcl.svg delete mode 100644 src/renderer/assets/svg/icons/hcl_light.svg delete mode 100644 src/renderer/assets/svg/icons/helm.svg delete mode 100644 src/renderer/assets/svg/icons/heroku.svg delete mode 100644 src/renderer/assets/svg/icons/hex.svg delete mode 100644 src/renderer/assets/svg/icons/horusec.svg delete mode 100644 src/renderer/assets/svg/icons/hpp.svg delete mode 100644 src/renderer/assets/svg/icons/html.svg delete mode 100644 src/renderer/assets/svg/icons/http.svg delete mode 100644 src/renderer/assets/svg/icons/husky.svg delete mode 100644 src/renderer/assets/svg/icons/i18n.svg delete mode 100644 src/renderer/assets/svg/icons/idris.svg delete mode 100644 src/renderer/assets/svg/icons/ifanr-cloud.svg delete mode 100644 src/renderer/assets/svg/icons/image.svg delete mode 100644 src/renderer/assets/svg/icons/imba.svg delete mode 100644 src/renderer/assets/svg/icons/ionic.svg delete mode 100644 src/renderer/assets/svg/icons/istanbul.svg delete mode 100644 src/renderer/assets/svg/icons/jar.svg delete mode 100644 src/renderer/assets/svg/icons/java.svg delete mode 100644 src/renderer/assets/svg/icons/javaclass.svg delete mode 100644 src/renderer/assets/svg/icons/javascript-map.svg delete mode 100644 src/renderer/assets/svg/icons/javascript.svg delete mode 100644 src/renderer/assets/svg/icons/jenkins.svg delete mode 100644 src/renderer/assets/svg/icons/jest.svg delete mode 100644 src/renderer/assets/svg/icons/jinja.svg delete mode 100644 src/renderer/assets/svg/icons/jinja_light.svg delete mode 100644 src/renderer/assets/svg/icons/jsconfig.svg delete mode 100644 src/renderer/assets/svg/icons/json.svg delete mode 100644 src/renderer/assets/svg/icons/julia.svg delete mode 100644 src/renderer/assets/svg/icons/jupyter.svg delete mode 100644 src/renderer/assets/svg/icons/karma.svg delete mode 100644 src/renderer/assets/svg/icons/key.svg delete mode 100644 src/renderer/assets/svg/icons/kivy.svg delete mode 100644 src/renderer/assets/svg/icons/kl.svg delete mode 100644 src/renderer/assets/svg/icons/kotlin.svg delete mode 100644 src/renderer/assets/svg/icons/kusto.svg delete mode 100644 src/renderer/assets/svg/icons/laravel.svg delete mode 100644 src/renderer/assets/svg/icons/lerna.svg delete mode 100644 src/renderer/assets/svg/icons/less.svg delete mode 100644 src/renderer/assets/svg/icons/lib.svg delete mode 100644 src/renderer/assets/svg/icons/lighthouse.svg delete mode 100644 src/renderer/assets/svg/icons/lilypond.svg delete mode 100644 src/renderer/assets/svg/icons/liquid.svg delete mode 100644 src/renderer/assets/svg/icons/lisp.svg delete mode 100644 src/renderer/assets/svg/icons/livescript.svg delete mode 100644 src/renderer/assets/svg/icons/lock.svg delete mode 100644 src/renderer/assets/svg/icons/log.svg delete mode 100644 src/renderer/assets/svg/icons/lolcode.svg delete mode 100644 src/renderer/assets/svg/icons/lua.svg delete mode 100644 src/renderer/assets/svg/icons/makefile.svg delete mode 100644 src/renderer/assets/svg/icons/markdown.svg delete mode 100644 src/renderer/assets/svg/icons/markojs.svg delete mode 100644 src/renderer/assets/svg/icons/mathematica.svg delete mode 100644 src/renderer/assets/svg/icons/matlab.svg delete mode 100644 src/renderer/assets/svg/icons/maven.svg delete mode 100644 src/renderer/assets/svg/icons/mdsvex.svg delete mode 100644 src/renderer/assets/svg/icons/mdx.svg delete mode 100644 src/renderer/assets/svg/icons/mercurial.svg delete mode 100644 src/renderer/assets/svg/icons/merlin.svg delete mode 100644 src/renderer/assets/svg/icons/mermaid.svg delete mode 100644 src/renderer/assets/svg/icons/meson.svg delete mode 100644 src/renderer/assets/svg/icons/minecraft.svg delete mode 100644 src/renderer/assets/svg/icons/mint.svg delete mode 100644 src/renderer/assets/svg/icons/mjml.svg delete mode 100644 src/renderer/assets/svg/icons/mocha.svg delete mode 100644 src/renderer/assets/svg/icons/modernizr.svg delete mode 100644 src/renderer/assets/svg/icons/mojo.svg delete mode 100755 src/renderer/assets/svg/icons/moodle.svg delete mode 100644 src/renderer/assets/svg/icons/moonscript.svg delete mode 100644 src/renderer/assets/svg/icons/mxml.svg delete mode 100644 src/renderer/assets/svg/icons/nano-staged.svg delete mode 100644 src/renderer/assets/svg/icons/nano-staged_light.svg delete mode 100644 src/renderer/assets/svg/icons/ndst.svg delete mode 100644 src/renderer/assets/svg/icons/nest-controller.svg delete mode 100644 src/renderer/assets/svg/icons/nest-decorator.svg delete mode 100644 src/renderer/assets/svg/icons/nest-filter.svg delete mode 100644 src/renderer/assets/svg/icons/nest-gateway.svg delete mode 100644 src/renderer/assets/svg/icons/nest-guard.svg delete mode 100644 src/renderer/assets/svg/icons/nest-middleware.svg delete mode 100644 src/renderer/assets/svg/icons/nest-module.svg delete mode 100644 src/renderer/assets/svg/icons/nest-pipe.svg delete mode 100644 src/renderer/assets/svg/icons/nest-resolver.svg delete mode 100644 src/renderer/assets/svg/icons/nest-service.svg delete mode 100644 src/renderer/assets/svg/icons/nest.svg delete mode 100644 src/renderer/assets/svg/icons/netlify.svg delete mode 100644 src/renderer/assets/svg/icons/netlify_light.svg delete mode 100644 src/renderer/assets/svg/icons/next.svg delete mode 100644 src/renderer/assets/svg/icons/next_light.svg delete mode 100644 src/renderer/assets/svg/icons/nginx.svg delete mode 100644 src/renderer/assets/svg/icons/ngrx-actions.svg delete mode 100644 src/renderer/assets/svg/icons/ngrx-effects.svg delete mode 100644 src/renderer/assets/svg/icons/ngrx-entity.svg delete mode 100644 src/renderer/assets/svg/icons/ngrx-reducer.svg delete mode 100644 src/renderer/assets/svg/icons/ngrx-selectors.svg delete mode 100644 src/renderer/assets/svg/icons/ngrx-state.svg delete mode 100644 src/renderer/assets/svg/icons/nim.svg delete mode 100644 src/renderer/assets/svg/icons/nix.svg delete mode 100644 src/renderer/assets/svg/icons/nodejs.svg delete mode 100644 src/renderer/assets/svg/icons/nodejs_alt.svg delete mode 100644 src/renderer/assets/svg/icons/nodemon.svg delete mode 100644 src/renderer/assets/svg/icons/npm.svg delete mode 100644 src/renderer/assets/svg/icons/nrwl.svg delete mode 100644 src/renderer/assets/svg/icons/nuget.svg delete mode 100644 src/renderer/assets/svg/icons/nunjucks.svg delete mode 100644 src/renderer/assets/svg/icons/nuxt.svg delete mode 100644 src/renderer/assets/svg/icons/objective-c.svg delete mode 100644 src/renderer/assets/svg/icons/objective-cpp.svg delete mode 100644 src/renderer/assets/svg/icons/ocaml.svg delete mode 100644 src/renderer/assets/svg/icons/odin.svg delete mode 100644 src/renderer/assets/svg/icons/opa.svg delete mode 100644 src/renderer/assets/svg/icons/opam.svg delete mode 100755 src/renderer/assets/svg/icons/oracle.svg delete mode 100644 src/renderer/assets/svg/icons/otne.svg delete mode 100644 src/renderer/assets/svg/icons/parcel.svg delete mode 100644 src/renderer/assets/svg/icons/pascal.svg delete mode 100644 src/renderer/assets/svg/icons/pawn.svg delete mode 100644 src/renderer/assets/svg/icons/pdf.svg delete mode 100644 src/renderer/assets/svg/icons/percy.svg delete mode 100644 src/renderer/assets/svg/icons/perl.svg delete mode 100644 src/renderer/assets/svg/icons/php-cs-fixer.svg delete mode 100644 src/renderer/assets/svg/icons/php.svg delete mode 100644 src/renderer/assets/svg/icons/php_elephant.svg delete mode 100644 src/renderer/assets/svg/icons/php_elephant_pink.svg delete mode 100644 src/renderer/assets/svg/icons/phpunit.svg delete mode 100644 src/renderer/assets/svg/icons/pinejs.svg delete mode 100644 src/renderer/assets/svg/icons/pipeline.svg delete mode 100644 src/renderer/assets/svg/icons/plastic.svg delete mode 100644 src/renderer/assets/svg/icons/playwright.svg delete mode 100644 src/renderer/assets/svg/icons/plop.svg delete mode 100644 src/renderer/assets/svg/icons/pnpm.svg delete mode 100644 src/renderer/assets/svg/icons/pnpm_light.svg delete mode 100644 src/renderer/assets/svg/icons/poetry.svg delete mode 100644 src/renderer/assets/svg/icons/postcss.svg delete mode 100644 src/renderer/assets/svg/icons/posthtml.svg delete mode 100644 src/renderer/assets/svg/icons/powerpoint.svg delete mode 100644 src/renderer/assets/svg/icons/powershell.svg delete mode 100644 src/renderer/assets/svg/icons/prettier.svg delete mode 100644 src/renderer/assets/svg/icons/prisma.svg delete mode 100644 src/renderer/assets/svg/icons/processing.svg delete mode 100644 src/renderer/assets/svg/icons/prolog.svg delete mode 100644 src/renderer/assets/svg/icons/proto.svg delete mode 100644 src/renderer/assets/svg/icons/protractor.svg delete mode 100644 src/renderer/assets/svg/icons/pug.svg delete mode 100644 src/renderer/assets/svg/icons/puppet.svg delete mode 100644 src/renderer/assets/svg/icons/purescript.svg delete mode 100644 src/renderer/assets/svg/icons/python-misc.svg delete mode 100644 src/renderer/assets/svg/icons/python.svg delete mode 100644 src/renderer/assets/svg/icons/qsharp.svg delete mode 100644 src/renderer/assets/svg/icons/quasar.svg delete mode 100644 src/renderer/assets/svg/icons/qwik.svg delete mode 100644 src/renderer/assets/svg/icons/r.svg delete mode 100644 src/renderer/assets/svg/icons/racket.svg delete mode 100644 src/renderer/assets/svg/icons/raml.svg delete mode 100644 src/renderer/assets/svg/icons/razor.svg delete mode 100644 src/renderer/assets/svg/icons/rc.svg delete mode 100644 src/renderer/assets/svg/icons/react.svg delete mode 100644 src/renderer/assets/svg/icons/react_ts.svg delete mode 100644 src/renderer/assets/svg/icons/readme.svg delete mode 100644 src/renderer/assets/svg/icons/reason.svg delete mode 100644 src/renderer/assets/svg/icons/red.svg delete mode 100644 src/renderer/assets/svg/icons/redux-action.svg delete mode 100644 src/renderer/assets/svg/icons/redux-reducer.svg delete mode 100644 src/renderer/assets/svg/icons/redux-selector.svg delete mode 100644 src/renderer/assets/svg/icons/redux-store.svg delete mode 100644 src/renderer/assets/svg/icons/remix.svg delete mode 100644 src/renderer/assets/svg/icons/remix_light.svg delete mode 100644 src/renderer/assets/svg/icons/renovate.svg delete mode 100644 src/renderer/assets/svg/icons/replit.svg delete mode 100644 src/renderer/assets/svg/icons/rescript-interface.svg delete mode 100644 src/renderer/assets/svg/icons/rescript.svg delete mode 100644 src/renderer/assets/svg/icons/restql.svg delete mode 100644 src/renderer/assets/svg/icons/riot.svg delete mode 100644 src/renderer/assets/svg/icons/roadmap.svg delete mode 100644 src/renderer/assets/svg/icons/robot.svg delete mode 100644 src/renderer/assets/svg/icons/robots.svg delete mode 100644 src/renderer/assets/svg/icons/rollup.svg delete mode 100644 src/renderer/assets/svg/icons/rome.svg delete mode 100644 src/renderer/assets/svg/icons/routing.svg delete mode 100644 src/renderer/assets/svg/icons/rubocop.svg delete mode 100644 src/renderer/assets/svg/icons/rubocop_light.svg delete mode 100644 src/renderer/assets/svg/icons/ruby.svg delete mode 100644 src/renderer/assets/svg/icons/rust.svg delete mode 100644 src/renderer/assets/svg/icons/salesforce.svg delete mode 100644 src/renderer/assets/svg/icons/san.svg delete mode 100644 src/renderer/assets/svg/icons/sas.svg delete mode 100644 src/renderer/assets/svg/icons/sass.svg delete mode 100644 src/renderer/assets/svg/icons/sbt.svg delete mode 100644 src/renderer/assets/svg/icons/scala.svg delete mode 100644 src/renderer/assets/svg/icons/scheme.svg delete mode 100644 src/renderer/assets/svg/icons/search.svg delete mode 100644 src/renderer/assets/svg/icons/semantic-release.svg delete mode 100644 src/renderer/assets/svg/icons/semantic-release_light.svg delete mode 100644 src/renderer/assets/svg/icons/semgrep.svg delete mode 100644 src/renderer/assets/svg/icons/sentry.svg delete mode 100644 src/renderer/assets/svg/icons/sequelize.svg delete mode 100644 src/renderer/assets/svg/icons/serverless.svg delete mode 100644 src/renderer/assets/svg/icons/settings.svg delete mode 100644 src/renderer/assets/svg/icons/shader.svg delete mode 100644 src/renderer/assets/svg/icons/shaderlab.svg delete mode 100644 src/renderer/assets/svg/icons/silverstripe.svg delete mode 100644 src/renderer/assets/svg/icons/siyuan.svg delete mode 100644 src/renderer/assets/svg/icons/sketch.svg delete mode 100644 src/renderer/assets/svg/icons/slim.svg delete mode 100644 src/renderer/assets/svg/icons/slug.svg delete mode 100644 src/renderer/assets/svg/icons/smarty.svg delete mode 100644 src/renderer/assets/svg/icons/sml.svg delete mode 100644 src/renderer/assets/svg/icons/snowpack.svg delete mode 100644 src/renderer/assets/svg/icons/snowpack_light.svg delete mode 100644 src/renderer/assets/svg/icons/snyk.svg delete mode 100644 src/renderer/assets/svg/icons/solidity.svg delete mode 100644 src/renderer/assets/svg/icons/sonarcloud.svg delete mode 100644 src/renderer/assets/svg/icons/steadybit.svg delete mode 100644 src/renderer/assets/svg/icons/stencil.svg delete mode 100644 src/renderer/assets/svg/icons/stitches.svg delete mode 100644 src/renderer/assets/svg/icons/stitches_light.svg delete mode 100644 src/renderer/assets/svg/icons/storybook.svg delete mode 100644 src/renderer/assets/svg/icons/stryker.svg delete mode 100644 src/renderer/assets/svg/icons/stylable.svg delete mode 100644 src/renderer/assets/svg/icons/stylelint.svg delete mode 100644 src/renderer/assets/svg/icons/stylelint_light.svg delete mode 100644 src/renderer/assets/svg/icons/stylus.svg delete mode 100644 src/renderer/assets/svg/icons/sublime.svg delete mode 100644 src/renderer/assets/svg/icons/supabase.svg delete mode 100644 src/renderer/assets/svg/icons/svelte.svg delete mode 100644 src/renderer/assets/svg/icons/svg.svg delete mode 100644 src/renderer/assets/svg/icons/svgo.svg delete mode 100644 src/renderer/assets/svg/icons/svgr.svg delete mode 100644 src/renderer/assets/svg/icons/swc.svg delete mode 100644 src/renderer/assets/svg/icons/swift.svg delete mode 100644 src/renderer/assets/svg/icons/table.svg delete mode 100644 src/renderer/assets/svg/icons/tailwindcss.svg delete mode 100644 src/renderer/assets/svg/icons/tauri.svg delete mode 100644 src/renderer/assets/svg/icons/tcl.svg delete mode 100644 src/renderer/assets/svg/icons/teal.svg delete mode 100644 src/renderer/assets/svg/icons/template.svg delete mode 100644 src/renderer/assets/svg/icons/terraform.svg delete mode 100644 src/renderer/assets/svg/icons/test-js.svg delete mode 100644 src/renderer/assets/svg/icons/test-jsx.svg delete mode 100644 src/renderer/assets/svg/icons/test-ts.svg delete mode 100644 src/renderer/assets/svg/icons/tex.svg delete mode 100644 src/renderer/assets/svg/icons/textlint.svg delete mode 100644 src/renderer/assets/svg/icons/tilt.svg delete mode 100644 src/renderer/assets/svg/icons/tldraw.svg delete mode 100644 src/renderer/assets/svg/icons/tldraw_light.svg delete mode 100644 src/renderer/assets/svg/icons/tobi.svg delete mode 100644 src/renderer/assets/svg/icons/tobimake.svg delete mode 100644 src/renderer/assets/svg/icons/todo.svg delete mode 100644 src/renderer/assets/svg/icons/travis.svg delete mode 100644 src/renderer/assets/svg/icons/tree.svg delete mode 100644 src/renderer/assets/svg/icons/tsconfig.svg delete mode 100644 src/renderer/assets/svg/icons/tune.svg delete mode 100644 src/renderer/assets/svg/icons/turborepo.svg delete mode 100644 src/renderer/assets/svg/icons/turborepo_light.svg delete mode 100644 src/renderer/assets/svg/icons/twig.svg delete mode 100644 src/renderer/assets/svg/icons/twine.svg delete mode 100644 src/renderer/assets/svg/icons/typescript-def.svg delete mode 100644 src/renderer/assets/svg/icons/typescript.svg delete mode 100644 src/renderer/assets/svg/icons/typst.svg delete mode 100644 src/renderer/assets/svg/icons/uml.svg delete mode 100644 src/renderer/assets/svg/icons/uml_light.svg delete mode 100644 src/renderer/assets/svg/icons/unocss.svg delete mode 100644 src/renderer/assets/svg/icons/url.svg delete mode 100644 src/renderer/assets/svg/icons/vagrant.svg delete mode 100644 src/renderer/assets/svg/icons/vala.svg delete mode 100644 src/renderer/assets/svg/icons/velocity.svg delete mode 100644 src/renderer/assets/svg/icons/vercel.svg delete mode 100644 src/renderer/assets/svg/icons/vercel_light.svg delete mode 100644 src/renderer/assets/svg/icons/verdaccio.svg delete mode 100644 src/renderer/assets/svg/icons/verilog.svg delete mode 100644 src/renderer/assets/svg/icons/vfl.svg delete mode 100644 src/renderer/assets/svg/icons/video.svg delete mode 100644 src/renderer/assets/svg/icons/vim.svg delete mode 100644 src/renderer/assets/svg/icons/virtual.svg delete mode 100644 src/renderer/assets/svg/icons/visualstudio.svg delete mode 100644 src/renderer/assets/svg/icons/vite.svg delete mode 100644 src/renderer/assets/svg/icons/vitest.svg delete mode 100644 src/renderer/assets/svg/icons/vlang.svg delete mode 100644 src/renderer/assets/svg/icons/vscode.svg delete mode 100644 src/renderer/assets/svg/icons/vue-config.svg delete mode 100644 src/renderer/assets/svg/icons/vue.svg delete mode 100644 src/renderer/assets/svg/icons/vuex-store.svg delete mode 100644 src/renderer/assets/svg/icons/wakatime.svg delete mode 100644 src/renderer/assets/svg/icons/wakatime_light.svg delete mode 100644 src/renderer/assets/svg/icons/wallaby.svg delete mode 100644 src/renderer/assets/svg/icons/watchman.svg delete mode 100644 src/renderer/assets/svg/icons/webassembly.svg delete mode 100644 src/renderer/assets/svg/icons/webhint.svg delete mode 100644 src/renderer/assets/svg/icons/webpack.svg delete mode 100644 src/renderer/assets/svg/icons/wepy.svg delete mode 100644 src/renderer/assets/svg/icons/windicss.svg delete mode 100644 src/renderer/assets/svg/icons/wolframlanguage.svg delete mode 100644 src/renderer/assets/svg/icons/word.svg delete mode 100644 src/renderer/assets/svg/icons/xaml.svg delete mode 100644 src/renderer/assets/svg/icons/xml.svg delete mode 100644 src/renderer/assets/svg/icons/yaml.svg delete mode 100644 src/renderer/assets/svg/icons/yang.svg delete mode 100644 src/renderer/assets/svg/icons/yarn.svg delete mode 100644 src/renderer/assets/svg/icons/zig.svg delete mode 100644 src/renderer/assets/svg/icons/zip.svg delete mode 100644 src/renderer/components/devtools/composables/index.ts delete mode 100644 src/renderer/components/devtools/crypto/HashTool.vue delete mode 100644 src/renderer/components/devtools/crypto/HmacTool.vue delete mode 100644 src/renderer/components/devtools/crypto/PassTool.vue delete mode 100644 src/renderer/components/devtools/crypto/UuidTool.vue delete mode 100644 src/renderer/components/devtools/crypto/algo-options.json delete mode 100644 src/renderer/components/devtools/crypto/types/index.d.ts delete mode 100644 src/renderer/components/devtools/encode-decode/Base64EncodeDecodeTool.vue delete mode 100644 src/renderer/components/devtools/encode-decode/UrlEncodeDecodeTool.vue delete mode 100644 src/renderer/components/devtools/encode-decode/encode-decode-options.json delete mode 100644 src/renderer/components/devtools/encode-decode/types/index.d.ts delete mode 100644 src/renderer/components/devtools/text/CaseConverterTool.vue delete mode 100644 src/renderer/components/devtools/text/SlugTool.vue delete mode 100644 src/renderer/components/devtools/text/SortTool.vue delete mode 100644 src/renderer/components/devtools/text/UrlParserTool.vue delete mode 100644 src/renderer/components/editor/EditorCodemirror.vue delete mode 100644 src/renderer/components/editor/EditorPreview.vue delete mode 100644 src/renderer/components/editor/README.md delete mode 100644 src/renderer/components/editor/grammars-aux.ts delete mode 100644 src/renderer/components/editor/grammars.ts delete mode 100644 src/renderer/components/editor/grammars/abap.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/abc.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/actionscript-3.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/ada.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/alda.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/apache.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/apex.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/applescript.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/arm.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/asciidoctor.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/asl.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/asm.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/asp-vb-net.tmlanguage.json delete mode 100644 src/renderer/components/editor/grammars/asymptote.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/autohotkey.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/batchfile.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/bibtex.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/bicep.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/c.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/cfscript.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/cirru.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/clojure.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/cobol.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/coffee.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/coldfusion.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/cpp-embedded-latex.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/cpp.embedded.macro.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/cpp.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/crystal.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/csharp.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/csound-document.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/csound-score.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/csound.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/css.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/curly.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/d.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/dart.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/diff.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/django.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/docker.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/dot.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/drools.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/edifact.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/eex.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/eiffel.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/ejs.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/elixir.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/elm.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/erlang.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/etc.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/forth.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/fortran.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/fsharp.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/gcode.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/gherkin.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/git-commit.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/git-rebase.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/gitignore.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/glsl.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/gnuplot.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/go.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/graphql.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/groovy.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/haml.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/handlebars.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/haskell-cabal.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/haskell.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/haxe.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/hjson.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/html-cfml.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/html-derivative.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/html-django.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/html-elixir.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/html-ruby.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/html.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/ini.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/io.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/java.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/javadoc.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/javascript.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/jquery.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/json.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/json5.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/jsonc.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/jsoniq.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/jsp.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/jsx-styled.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/jsx.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/julia.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/kotlin.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/kusto.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/latex.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/latte.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/less.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/liquid.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/lisp.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/livescript.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/log.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/lsl.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/lua.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/make.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/markdown-gf.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/markdown-latex-combined.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/markdown.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/mask.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/matlab.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/mediawiki.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/mel.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/mermaid.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/mikrotik.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/mips.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/mysql.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/nginx.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/nim.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/nix.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/nsis.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/nunjucks.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/objective-c.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/ocaml.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/pascal.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/perl.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/pgsql.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/php-blade.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/php-html.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/php.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/pig.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/plain-text.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/plsql.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/postcss.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/postscript.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/powershell.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/praat.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/prisma.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/prolog.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/properties.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/protobuf.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/pug.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/puppet.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/python.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/qml.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/r.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/raku.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/razor.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/rdoc.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/red.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/regexp-extended.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/regexp-javascript.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/regexp-posix.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/regexp-python.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/regexp.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/rst.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/ruby.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/rust.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/sas.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/sass.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/sassdoc.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/scad.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/scala.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/scheme.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/scrypt.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/scss.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/shell-unix-bash.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/sjs.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/slim.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/slm.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/smalltalk.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/smarty.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/smithy.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/solidity.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/soytemplate.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/sql.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/stylus.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/svg.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/swift.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/syon.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/systemverilog.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/tcl.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/terraform.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/tex.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/textile.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/toml.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/tsx.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/twig.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/typescript.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/vala.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/velocity.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/vhdl.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/visualforce.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/vue.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/wollok.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/xml.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/xquery.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/xsl.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/yaml.tmLanguage.json delete mode 100644 src/renderer/components/editor/grammars/zeek.tmLanguage.json delete mode 100644 src/renderer/components/editor/languages.ts delete mode 100644 src/renderer/components/editor/themes.ts delete mode 100644 src/renderer/components/editor/themes/dracula.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/github.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/material-theme-lighter.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/material-theme-palenight.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/material-theme.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/merbivore-soft.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/merbivore.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/monokai.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/oceanic.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/one-dark.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/solarized-light.tmTheme.json delete mode 100644 src/renderer/components/editor/themes/tokyo-night.tmTheme.json delete mode 100644 src/renderer/components/markdown/MindMap.vue delete mode 100644 src/renderer/components/markdown/TheMarkdown.vue delete mode 100644 src/renderer/components/preferences/AppearancePreferences.vue delete mode 100644 src/renderer/components/preferences/EditorPreferences.vue delete mode 100644 src/renderer/components/preferences/LanguagePreferences.vue delete mode 100644 src/renderer/components/preferences/MarkdownPreferences.vue delete mode 100644 src/renderer/components/preferences/StoragePreferences.vue delete mode 100644 src/renderer/components/screenshot/ScreenshotPalette.vue delete mode 100644 src/renderer/components/screenshot/TheScreenshot.vue delete mode 100644 src/renderer/components/sidebar/SidebarList.vue delete mode 100644 src/renderer/components/sidebar/SidebarListItem.vue delete mode 100644 src/renderer/components/sidebar/TheFolder.vue delete mode 100644 src/renderer/components/sidebar/TheSidebar.vue delete mode 100644 src/renderer/components/sidebar/composable.ts delete mode 100644 src/renderer/components/snippets/SnippetFragments.vue delete mode 100644 src/renderer/components/snippets/SnippetHeader.vue delete mode 100644 src/renderer/components/snippets/SnippetHeaderTools.vue delete mode 100644 src/renderer/components/snippets/SnippetList.vue delete mode 100644 src/renderer/components/snippets/SnippetListHeader.vue delete mode 100644 src/renderer/components/snippets/SnippetListItem.vue delete mode 100644 src/renderer/components/snippets/SnippetsDescription.vue delete mode 100644 src/renderer/components/snippets/SnippetsFragmentsInput.vue delete mode 100644 src/renderer/components/snippets/SnippetsTags.vue delete mode 100644 src/renderer/components/snippets/SnippetsView.vue delete mode 100644 src/renderer/components/ui/AppActionButton.vue delete mode 100644 src/renderer/components/ui/AppButton.vue delete mode 100644 src/renderer/components/ui/AppCheckbox.vue delete mode 100644 src/renderer/components/ui/AppDebug.vue delete mode 100644 src/renderer/components/ui/AppInput.vue delete mode 100644 src/renderer/components/ui/AppInputTags.vue delete mode 100644 src/renderer/components/ui/AppModal.vue delete mode 100644 src/renderer/components/ui/AppSelect.vue delete mode 100644 src/renderer/components/ui/AppTree/AppTree.vue delete mode 100644 src/renderer/components/ui/AppTree/AppTreeNode.vue delete mode 100644 src/renderer/components/ui/AppTree/composable.ts delete mode 100644 src/renderer/components/ui/AppTree/helpers.ts delete mode 100644 src/renderer/components/ui/AppTree/types/index.d.ts delete mode 100644 src/renderer/components/ui/folder-icons/AppFolderIcons.vue delete mode 100644 src/renderer/components/ui/folder-icons/AppFolderIconsItem.vue delete mode 100644 src/renderer/components/ui/folder-icons/icons.ts delete mode 100644 src/renderer/components/ui/form/AppForm.vue delete mode 100644 src/renderer/components/ui/form/AppFormItem.vue delete mode 100644 src/renderer/components/ui/layout/AppLayoutOneColumn.vue delete mode 100644 src/renderer/components/ui/menu/AppMenu.vue delete mode 100644 src/renderer/components/ui/menu/AppMenuGroup.vue delete mode 100644 src/renderer/components/ui/menu/AppMenuItem.vue delete mode 100644 src/renderer/components/ui/menu/keys.ts delete mode 100644 src/renderer/components/ui/menu/types/index.d.ts delete mode 100644 src/renderer/composable/codemirror.ts delete mode 100644 src/renderer/composable/index.ts delete mode 100644 src/renderer/composable/notification.ts delete mode 100644 src/renderer/env.d.ts delete mode 100644 src/renderer/router.ts create mode 100644 src/renderer/router/index.ts delete mode 100644 src/renderer/services/analytics/index.ts delete mode 100644 src/renderer/store/app.ts delete mode 100644 src/renderer/store/folders.ts delete mode 100644 src/renderer/store/snippets.ts delete mode 100644 src/renderer/store/tags.ts create mode 100644 src/renderer/styles.css delete mode 100644 src/renderer/types/.keep delete mode 100644 src/renderer/utils/index.ts create mode 100644 src/renderer/views/About.vue delete mode 100644 src/renderer/views/Devtools.vue create mode 100644 src/renderer/views/Home.vue delete mode 100644 src/renderer/views/Main.vue delete mode 100644 src/renderer/views/Preferences.vue delete mode 100644 src/renderer/views/Presentation.vue delete mode 100644 src/shared/types/main/analytics.d.ts delete mode 100644 src/shared/types/main/db.d.ts delete mode 100644 src/shared/types/main/index.d.ts delete mode 100644 src/shared/types/main/json-server.d.ts delete mode 100644 src/shared/types/main/renderer.d.ts delete mode 100644 src/shared/types/main/store.d.ts delete mode 100644 src/shared/types/main/vite.shim.d.ts delete mode 100644 src/shared/types/renderer/composable/index.d.ts delete mode 100644 src/shared/types/renderer/editor/index.d.ts delete mode 100644 src/shared/types/renderer/sidebar/index.d.ts delete mode 100644 src/shared/types/renderer/store/app.d.ts delete mode 100644 src/shared/types/renderer/store/folders.d.ts delete mode 100644 src/shared/types/renderer/store/snippets.d.ts delete mode 100644 src/shared/types/renderer/store/tag.d.ts delete mode 100644 src/shared/types/renderer/vendor.shim.d.ts create mode 100644 tailwind.config.js delete mode 100644 tsconfig.electron.json create mode 100644 tsconfig.main.json create mode 100644 vite.config.ts diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 9d08a1a8..00000000 --- a/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 2cf1da45..00000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -dist -build \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 142d6f99..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,53 +0,0 @@ -module.exports = { - root: true, - env: { - node: true - }, - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@typescript-eslint/parser' - }, - extends: [ - '@vue/eslint-config-standard', - 'plugin:vue/vue3-recommended', - 'plugin:@typescript-eslint/recommended' - ], - plugins: ['@typescript-eslint', 'prettier'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'vue/component-name-in-template-casing': ['error', 'PascalCase'], - 'arrow-parens': ['error', 'as-needed'], - 'no-unused-vars': 'off', - 'no-undef': 'off', - 'vue/no-v-html': 'off', - 'vue/require-prop-types': 'off', - 'vue/require-default-prop': 'off', - 'vue/multi-word-component-names': 'off', - '@typescript-eslint/semi': ['error', 'never'], - '@typescript-eslint/member-delimiter-style': [ - 'error', - { multiline: { delimiter: 'none' } } - ], - '@typescript-eslint/type-annotation-spacing': ['error', {}], - '@typescript-eslint/consistent-type-imports': [ - 'error', - { prefer: 'type-imports', disallowTypeAnnotations: false } - ], - '@typescript-eslint/camelcase': 'off', - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/explicit-member-accessibility': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-parameter-properties': 'off', - '@typescript-eslint/no-empty-interface': 'off', - '@typescript-eslint/ban-ts-ignore': 'off', - '@typescript-eslint/no-empty-function': 'off', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/ban-types': 'off', - '@typescript-eslint/no-namespace': 'off', - indent: 'off', - '@typescript-eslint/indent': ['error', 2] - } -} diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 9791d842..60a44906 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -10,4 +10,4 @@ liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry -custom: ['paypal.me/antongithub', antonreshetov.gumroad.com/l/masscode] +custom: [paypal.me/antongithub, antonreshetov.gumroad.com/l/masscode] diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index f86f7726..e2c913cb 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,6 +1,6 @@ -name: "\U0001F41E Bug report" +name: 🐞 Bug report description: Report an issue with massCode -title: "[Bug]: " +title: '[Bug]: ' labels: [pending triage] body: - type: markdown @@ -53,4 +53,4 @@ body: - label: Check that there isn't [already an issue](https://github.com/massCodeIO/massCode/issues) that reports the same bug to avoid creating a duplicate. required: true - label: Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/massCodeIO/massCode/discussions). - required: true \ No newline at end of file + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 14a17a2c..f8761111 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,4 +2,4 @@ blank_issues_enabled: false contact_links: - name: Questions & Discussions url: https://github.com/massCodeIO/massCode/discussions - about: Use GitHub discussions for message-board style questions and discussions. \ No newline at end of file + about: Use GitHub discussions for message-board style questions and discussions. diff --git a/.github/workflows/issue-close-require.yml b/.github/workflows/issue-close-require.yml index 58a7e664..d80cc449 100644 --- a/.github/workflows/issue-close-require.yml +++ b/.github/workflows/issue-close-require.yml @@ -2,7 +2,7 @@ name: Issue Close Require on: schedule: - - cron: "0 0 * * *" + - cron: '0 0 * * *' jobs: close-issues: @@ -11,7 +11,7 @@ jobs: - name: need reproduction uses: actions-cool/issues-helper@v3 with: - actions: "close-issues" + actions: close-issues token: ${{ secrets.GITHUB_TOKEN }} - labels: "need reproduction" - inactive-day: 3 \ No newline at end of file + labels: need reproduction + inactive-day: 3 diff --git a/.github/workflows/issue-labeled.yml b/.github/workflows/issue-labeled.yml index 4783fe2a..43512f75 100644 --- a/.github/workflows/issue-labeled.yml +++ b/.github/workflows/issue-labeled.yml @@ -13,9 +13,9 @@ jobs: if: github.event.label.name == 'need reproduction' uses: actions-cool/issues-helper@v3 with: - actions: "create-comment, remove-labels" + actions: 'create-comment, remove-labels' token: ${{ secrets.GITHUB_TOKEN }} issue-number: ${{ github.event.issue.number }} body: | - Hello @${{ github.event.issue.user.login }}. Please describe in detail the sequence of actions that leads to the bug (skip it if it's already there). Add screenshots of errors from the console. If possible add a video. Issues marked with `need reproduction` will be closed if they have no activity within 3 days. - labels: "pending triage" + Hello @${{ github.event.issue.user.login }}. Please describe in detail the sequence of actions that leads to the bug (skip it if it's already there). Add screenshots of errors from the console. If possible add a video. Issues marked with `need reproduction` will be closed if they have no activity within 3 days. + labels: pending triage diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index 28fa0604..37ac48af 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -3,7 +3,7 @@ name: Add GitHub Release Tag on: push: tags: - - "v*" # Push events to matching v*, i.e. v1.0, v20.15.10 + - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 jobs: build: @@ -23,4 +23,4 @@ jobs: with: tag_name: ${{ github.ref }} draft: true - preset: angular # Use conventional-changelog preset \ No newline at end of file + preset: angular # Use conventional-changelog preset diff --git a/.gitignore b/.gitignore index a2ac8086..233a2b06 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,6 @@ -node_modules dist -build +build/main +build/renderer -.vscode -.idea -.DS_Store -src/renderer/types/auto-imports.d.ts -src/renderer/types/components.d.ts -*.log -*.local -.env +node_modules +.DS_Store \ No newline at end of file diff --git a/.husky/.gitignore b/.husky/.gitignore deleted file mode 100644 index 31354ec1..00000000 --- a/.husky/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_ diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100755 index d71a03b9..00000000 --- a/.husky/commit-msg +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -yarn commitlint --edit $1 diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index d2ae35e8..00000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -yarn lint-staged diff --git a/.npmrc b/.npmrc deleted file mode 100644 index cc8df9de..00000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -node-linker=hoisted \ No newline at end of file diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 49955e2e..00000000 --- a/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "semi": false, - "singleQuote": true, - "trailingComma": "none" -} diff --git a/entitlements.mac.inherit.plist b/build/entitlements.mac.inherit.plist similarity index 100% rename from entitlements.mac.inherit.plist rename to build/entitlements.mac.inherit.plist diff --git a/config/icons/256x256.png b/build/icons/256x256.png similarity index 100% rename from config/icons/256x256.png rename to build/icons/256x256.png diff --git a/config/icons/icon.icns b/build/icons/icon.icns similarity index 100% rename from config/icons/icon.icns rename to build/icons/icon.icns diff --git a/config/icons/icon.ico b/build/icons/icon.ico similarity index 100% rename from config/icons/icon.ico rename to build/icons/icon.ico diff --git a/commitlint.config.js b/commitlint.config.js index b2894ad6..5c4a9e1b 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -10,15 +10,14 @@ module.exports = { 'docs', 'feat', 'fix', - 'perf', 'polish', 'refactor', 'release', 'revert', 'style', 'test', - 'types' - ] - ] - } + 'types', + ], + ], + }, } diff --git a/config/electron-builder.ts b/config/electron-builder.ts deleted file mode 100644 index e2f85055..00000000 --- a/config/electron-builder.ts +++ /dev/null @@ -1,87 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import type { Configuration } from 'electron-builder' -import path from 'path' - -const isSponsored = process.env.VITE_SPONSORED === 'true' -const isTestBuild = process.env.TEST_BUILD === 'true' -const testMacArch = process.env.TEST_MAC_ARCH - -const artifactName = isSponsored - ? '${productName}-${version}-${arch}-sponsored.${ext}' - : undefined - -const macTarget = [ - { target: 'dmg', arch: 'arm64' }, - { target: 'dmg', arch: 'x64' } -] - -if (isTestBuild) { - if (testMacArch === 'arm64') macTarget.pop() - if (testMacArch === 'x64') macTarget.shift() -} - -export default { - appId: 'io.masscode.app', - artifactName, - productName: 'massCode', - directories: { - output: path.resolve(__dirname, '../../dist') - }, - // afterSign: !isTestBuild ? 'build/scripts/notarize.js' : undefined, - nsis: { - oneClick: false, - perMachine: false, - allowToChangeInstallationDirectory: true, - shortcutName: 'massCode' - }, - mac: { - target: macTarget, - icon: 'config/icons/icon.icns', - category: 'public.app-category.productivity', - hardenedRuntime: true, - entitlements: 'build/entitlements.mac.inherit.plist' - }, - win: { - target: 'nsis', - icon: 'config/icons/icon.ico' - }, - linux: { - target: ['snap'], - icon: 'config/icons' - }, - extraMetadata: { - main: 'src/main/index.js' - }, - protocols: [ - { - name: 'massCode', - schemes: ['masscode'] - } - ], - files: [ - '!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme}', - '!**/node_modules/*/{test,__tests__,tests,powered-test,example,examples}', - '!**/node_modules/*.d.ts', - '!**/node_modules/.bin', - '!config', - '!README.md', - '!scripts', - '!dist', - '!src', - '!build', - '!hero.png', - '!commitlint.config.js', - '!tsconfig.electron.json', - '!tsconfig.json', - { - from: 'build/renderer', - to: 'renderer', - filter: ['**/*'] - }, - { - from: 'build/src', - to: 'src', - filter: ['**/*'] - } - ] -} as Configuration diff --git a/config/vite.ts b/config/vite.ts deleted file mode 100644 index ceecafb0..00000000 --- a/config/vite.ts +++ /dev/null @@ -1,58 +0,0 @@ -import path from 'path' -import vuePlugin from '@vitejs/plugin-vue' -import { defineConfig } from 'vite' -import AutoImport from 'unplugin-auto-import/vite' -import Components from 'unplugin-vue-components/vite' -import Icons from 'unplugin-icons/vite' -import { FileSystemIconLoader } from 'unplugin-icons/loaders' -import IconsResolver from 'unplugin-icons/resolver' - -const pathSrc = path.resolve(__dirname, '../../src/renderer') -const pathOut = path.resolve(__dirname, '../renderer') - -export default defineConfig({ - root: pathSrc, - publicDir: 'public', - server: { - port: 8080, - open: false - }, - build: { - outDir: pathOut, - emptyOutDir: true, - target: 'esnext' - }, - define: { - // прокладка для pseudomap при билде - 'process.env.TEST_PSEUDOMAP': {} - }, - plugins: [ - vuePlugin(), - AutoImport({ - dts: `${pathSrc}/types/auto-imports.d.ts` - }), - Components({ - dts: `${pathSrc}/types/components.d.ts`, - dirs: [`${pathSrc}/components`], - resolvers: [ - IconsResolver({ - prefix: '', - customCollections: ['unicons', 'svg'] - }) - ] - }), - Icons({ - customCollections: { - unicons: FileSystemIconLoader( - './node_modules/@iconscout/unicons/svg/line' - ), - svg: FileSystemIconLoader(pathSrc + '/assets/svg') - } - }) - ], - resolve: { - alias: { - '@': pathSrc - } - } -}) diff --git a/demo/db/db.json b/demo/db/db.json deleted file mode 100644 index dd8d921a..00000000 --- a/demo/db/db.json +++ /dev/null @@ -1,2879 +0,0 @@ -{ - "folders": [ - { - "id": "J7rNZi7X", - "name": "Test Grammars", - "defaultLanguage": "typescript", - "parentId": null, - "isOpen": false, - "isSystem": false, - "createdAt": 1659494503299, - "updatedAt": 1659494610605 - } - ], - "snippets": [ - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ABAP", - "content": [ - { - "label": "Fragment 1", - "language": "abap", - "value": "***************************************\n** Program: EXAMPLE **\n** Author: Joe Byte, 07-Jul-2007 **\n***************************************\n \nREPORT BOOKINGS.\n \n* Read flight bookings from the database\nSELECT * FROM FLIGHTINFO\n WHERE CLASS = 'Y' \"Y = economy\n OR CLASS = 'C'. \"C = business\n(...)\n\nREPORT TEST.\nWRITE 'Hello World'.\n\nUSERPROMPT = 'Please double-click on a line in the output list ' &\n 'to see the complete details of the transaction.'.\n\n\nDATA LAST_EOM TYPE D. \"last end-of-month date\n \n* Start from today's date\n LAST_EOM = SY-DATUM.\n* Set characters 6 and 7 (0-relative) of the YYYYMMDD string to \"01\",\n* giving the first day of the current month\n LAST_EOM+6(2) = '01'.\n* Subtract one day\n LAST_EOM = LAST_EOM - 1.\n \n WRITE: 'Last day of previous month was', LAST_EOM.\n \nDATA : BEGIN OF I_VBRK OCCURS 0,\n VBELN LIKE VBRK-VBELN,\n ZUONR LIKE VBRK-ZUONR,\n END OF I_VBRK.\n\nSORT i_vbrk BY vbeln ASCENDING.\nSORT i_vbrk BY vbeln DESCENDING.\n\nRETURN." - } - ], - "id": "JMINV1s7", - "createdAt": 1659494546718, - "updatedAt": 1659494556760 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ABC", - "content": [ - { - "label": "Fragment 1", - "language": "abc", - "value": "%abc-2.1\nH:This file contains some example English tunes\n% note that the comments (like this one) are to highlight usages\n% and would not normally be included in such detail\nO:England % the origin of all tunes is England\n\nX:1 % tune no 1\nT:Dusty Miller, The % title\nT:Binny's Jig % an alternative title\nC:Trad. % traditional\nR:DH % double hornpipe\nM:3/4 % meter\nK:G % key\nB>cd BAG|FA Ac BA|B>cd BAG|DG GB AG:|\nBdd gfg|aA Ac BA|Bdd gfa|gG GB AG:|\nBG G/2G/2G BG|FA Ac BA|BG G/2G/2G BG|DG GB AG:|\nW:Hey, the dusty miller, and his dusty coat;\nW:He will win a shilling, or he spend a groat.\nW:Dusty was the coat, dusty was the colour;\nW:Dusty was the kiss, that I got frae the miller.\n\nX:2\nT:Old Sir Simon the King\nC:Trad.\nS:Offord MSS % from Offord manuscript\nN:see also Playford % reference note\nM:9/8\nR:SJ % slip jig\nN:originally in C % transcription note\nK:G\nD|GFG GAG G2D|GFG GAG F2D|EFE EFE EFG|A2G F2E D2:|\nD|GAG GAB d2D|GAG GAB c2D|[1 EFE EFE EFG|[A2G] F2E D2:|\\ % no line-break in score\nM:12/8 % change of meter\n[2 E2E EFE E2E EFG|\\ % no line-break in score\nM:9/8 % change of meter\nA2G F2E D2|]\n\nX:3\nT:William and Nancy\nT:New Mown Hay\nT:Legacy, The\nC:Trad.\nO:England; Gloucs; Bledington % place of origin\nB:Sussex Tune Book % can be found in these books\nB:Mally's Cotswold Morris vol.1 2\nD:Morris On % can be heard on this record\nP:(AB)2(AC)2A % play the parts in this order\nM:6/8\nK:G \n[P:A] D|\"G\"G2G GBd|\"C\"e2e \"G\"dBG|\"D7\"A2d \"G\"BAG|\"C\"E2\"D7\"F \"G\"G2:|\n[P:B] d|\"G\"e2d B2d|\"C\"gfe \"G\"d2d| \"G\"e2d B2d|\"C\"gfe \"D7\"d2c|\n \"G\"B2B Bcd|\"C\"e2e \"G\"dBG|\"D7\"A2d \"G\"BAG|\"C\"E2\"D7\"F \"G\"G2:|\n% changes of meter, using inline fields\n[T:Slows][M:4/4][L:1/4][P:C]\"G\"d2|\"C\"e2 \"G\"d2|B2 d2|\"Em\"gf \"A7\"e2|\"D7\"d2 \"G\"d2|\\\n \"C\"e2 \"G\"d2|[M:3/8][L:1/8] \"G\"B2 d |[M:6/8] \"C\"gfe \"D7\"d2c|\n \"G\"B2B Bcd|\"C\"e2e \"G\"dBG|\"D7\"A2d \"G\"BAG|\"C\"E2\"D7\"F \"G\"G2:|\n\nX:4\nT:South Downs Jig\nR:jig\nS:Robert Harbron\nM:6/8\nL:1/8\nK:G\n|: d | dcA G3 | EFG AFE | DEF GAB | cde d2d |\ndcA G3 | EFG AFE | DEF GAB | cAF G2 :|\nB | Bcd e2c | d2B c2A | Bcd e2c | [M:9/8]d2B c2B A3 |\n[M:6/8]DGF E3 | cBA FED | DEF GAB |1 cAF G2 :|2 cAF G3 |]\n\nX:5\nT:Atholl Brose\n% in this example, which reproduces Highland Bagpipe gracing,\n% the large number of grace notes mean that it is more convenient to be specific about\n% score line-breaks (using the $ symbol), rather than using code line breaks to indicate them\nI:linebreak $\nK:D\n{gcd}c<{e}A {gAGAG}A2 {gef}e>A {gAGAG}Ad|\n{gcd}c<{e}A {gAGAG}A>e {ag}a>f {gef}e>d|\n{gcd}c<{e}A {gAGAG}A2 {gef}e>A {gAGAG}Ad|\n{g}c/d/e {g}G>{d}B {gf}gG {dc}d>B:|$\n{g}ce {ag}a>e {gf}g>e|\n{g}ce {ag}a2 {GdG}a>d|\n{g}ce {ag}a>e {gf}g>f|\n{gef}e>d {gf}g>d {gBd}B<{e}G {dc}d>B|\n{g}ce {ag}a>e {gf}g>e|\n{g}ce {ag}a2 {GdG}ad|\n{g}c<{GdG}e {gf}ga {f}g>e {g}f>d|\n{g}e/f/g {Gdc}d>c {gBd}B<{e}G {dc}d2|]\n\nX:6\nT:Untitled Reel\nC:Trad.\nK:D\neg|a2ab ageg|agbg agef|g2g2 fgag|f2d2 d2:|\\\ned|cecA B2ed|cAcA E2ed|cecA B2ed|c2A2 A2:|\nK:G\nAB|cdec BcdB|ABAF GFE2|cdec BcdB|c2A2 A2:|\n\nX:7\nT:Kitchen Girl\nC:Trad.\nK:D\n[c4a4] [B4g4]|efed c2cd|e2f2 gaba|g2e2 e2fg|\na4 g4|efed cdef|g2d2 efed|c2A2 A4:|\nK:G\nABcA BAGB|ABAG EDEG|A2AB c2d2|e3f edcB|ABcA BAGB|\nABAG EGAB|cBAc BAG2|A4 A4:|\n\n%abc-2.1\n%%pagewidth 21cm\n%%pageheight 29.7cm\n%%topspace 0.5cm\n%%topmargin 1cm\n%%botmargin 0cm\n%%leftmargin 1cm\n%%rightmargin 1cm\n%%titlespace 0cm\n%%titlefont Times-Bold 32\n%%subtitlefont Times-Bold 24\n%%composerfont Times 16\n%%vocalfont Times-Roman 14\n%%staffsep 60pt\n%%sysstaffsep 20pt\n%%musicspace 1cm\n%%vocalspace 5pt\n%%measurenb 0\n%%barsperstaff 5\n%%scale 0.7\nX: 1\nT: Canzonetta a tre voci\nC: Claudio Monteverdi (1567-1643)\nM: C\nL: 1/4\nQ: \"Andante mosso\" 1/4 = 110\n%%score [1 2 3]\nV: 1 clef=treble name=\"Soprano\"sname=\"A\"\nV: 2 clef=treble name=\"Alto\" sname=\"T\"\nV: 3 clef=bass middle=d name=\"Tenor\" sname=\"B\"\n%%MIDI program 1 75 % recorder\n%%MIDI program 2 75\n%%MIDI program 3 75\nK: Eb\n% 1 - 4\n[V: 1] |:z4 |z4 |f2ec |_ddcc |\nw: Son que-sti~i cre-spi cri-ni~e\nw: Que-sti son gli~oc-chi che mi-\n[V: 2] |:c2BG|AAGc|(F/G/A/B/)c=A|B2AA |\nw: Son que-sti~i cre-spi cri-ni~e que - - - - sto~il vi-so e\nw: Que-sti son~gli oc-chi che mi-ran - - - - do fi-so mi-\n[V: 3] |:z4 |f2ec|_ddcf |(B/c/_d/e/)ff|\nw: Son que-sti~i cre-spi cri-ni~e que - - - - sto~il\nw: Que-sti son~gli oc-chi che mi-ran - - - - do\n% 5 - 9\n[V: 1] cAB2 |cAAA |c3B|G2!fermata!Gz ::e4|\nw: que-sto~il vi-so ond' io ri-man-go~uc-ci-so. Deh,\nw: ran-do fi-so, tut-to re-stai con-qui-so.\n[V: 2] AAG2 |AFFF |A3F|=E2!fermata!Ez::c4|\nw: que-sto~il vi-so ond' io ri-man-go~uc-ci-so. Deh,\nw: ran-do fi-so tut-to re-stai con-qui-so.\n[V: 3] (ag/f/e2)|A_ddd|A3B|c2!fermata!cz ::A4|\nw: vi - - - so ond' io ti-man-go~uc-ci-so. Deh,\nw: fi - - - so tut-to re-stai con-qui-so.\n% 10 - 15\n[V: 1] f_dec |B2c2|zAGF |\\\nw: dim-me-lo ben mi-o, che que-sto\\\n=EFG2 |1F2z2:|2F8|] % more notes\nw: sol de-si-o_. % more lyrics\n[V: 2] ABGA |G2AA|GF=EF |(GF3/2=E//D//E)|1F2z2:|2F8|]\nw: dim-me-lo ben mi-o, che que-sto sol de-si - - - - o_.\n[V: 3] _dBc>d|e2AF|=EFc_d|c4 |1F2z2:|2F8|]\nw: dim-me-lo ben mi-o, che que-sto sol de-si-o_." - } - ], - "id": "XvJhtwXD", - "createdAt": 1659494559915, - "updatedAt": 1659494581094 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ActionScript", - "content": [ - { - "label": "Fragment 1", - "language": "actionscript", - "value": "package code\n{\n /*****************************************\n\t * based on textmate actionscript bundle\n\t ****************************************/\n\t \n\timport fl.events.SliderEvent;\n\t\n\tpublic class Foo extends MovieClip\n\t{\n\t\t//*************************\n\t\t// Properties:\n\t\t\n\t\tpublic var activeSwatch:MovieClip;\n\t\t\n\t\t// Color offsets\n\t\tpublic var c1:Number = 0;\t// R\n\t\t\n\t\t//*************************\n\t\t// Constructor:\n\t\t\n\t\tpublic function Foo()\n\t\t{\n\t\t\t// Respond to mouse events\n\t\t\tswatch1_btn.addEventListener(MouseEvent.CLICK,swatchHandler,false,0,false);\n\t\t\tpreviewBox_btn.addEventListener(MouseEvent.MOUSE_DOWN,dragPressHandler);\n\t\t\t\n\t\t\t// Respond to drag events\n\t\t\tred_slider.addEventListener(SliderEvent.THUMB_DRAG,sliderHandler);\n\t\t\t\n\t\t\t// Draw a frame later\n\t\t\taddEventListener(Event.ENTER_FRAME,draw);\n\t\t}\n \n\t\tprotected function clickHandler(event:MouseEvent):void\n\t\t{\n\t\t\tcar.transform.colorTransform = new ColorTransform(0,0,0,1,c1,c2,c3);\n\t\t}\n\t\t\n\t\tprotected function changeRGBHandler(event:Event):void\n\t\t{\n\t\t\tc1 = Number(c1_txt.text);\n \n\t\t\tif(!(c1>=0)){\n\t\t\t\tc1 = 0;\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tupdateSliders();\n\t\t}\n\t}\n}" - } - ], - "id": "QpGK-4E3", - "createdAt": 1659494622609, - "updatedAt": 1659494644279 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ADA", - "content": [ - { - "label": "Fragment 1", - "language": "ada", - "value": "with Ada.Text_IO; use Ada.Text_IO;\nprocedure Hello is\nbegin\n Put_Line(\"Hello, world!\");\nend Hello;" - } - ], - "id": "Px9jIO7P", - "createdAt": 1659494650343, - "updatedAt": 1659494671562 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Alda", - "content": [ - { - "label": "Fragment 1", - "language": "alda", - "value": "# Example taken from https://github.com/alda-lang/alda-core/blob/master/examples/across_the_sea.alda\n(tempo! 90)\n(quant! 95)\n\npiano:\n o5 g- > g- g-/f > e- d-4. < b-8 d-2 | c-4 e- d- d- g-\n\nflute:\n r2 g-4 a- b-2. > d-32~ e-16.~8 < b-2 a- g-1" - } - ], - "id": "nxTqeuxF", - "createdAt": 1659494682982, - "updatedAt": 1659494699425 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Apache", - "content": [ - { - "label": "Fragment 1", - "language": "apache_conf", - "value": "Redirect /linux http://www.linux.org\nRedirect 301 /kernel http://www.linux.org\n\n# comment\nRewriteEngine on\n\nRewriteCond %{HTTP_USER_AGENT} ^Mozilla.*\nRewriteRule ^/$ /homepage.max.html [L]\n\nRewriteRule ^/$ /homepage.std.html [L]\n" - } - ], - "id": "A89NVbKL", - "createdAt": 1659494861634, - "updatedAt": 1659494932607 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Apex", - "content": [ - { - "label": "Fragment 1", - "language": "apex", - "value": "public class testBlockDuplicatesLeadTrigger {\n\t\n\tstatic testMethod void testDuplicateTrigger(){ \n\t\n\t\tLead[] l1 =new Lead[]{\n\t\t\tnew Lead( Email='homer@fox.tv', LastName='Simpson', Company='fox' )\n\t\t};\n\t\tinsert l1;\t\t// add a known lead\n\t\t\n\t\tLead[] l2 =new Lead[]{\n\t\t\tnew Lead( Email='homer@fox.tv', LastName='Simpson', Company='fox' )\n\t\t};\n\t\t// try to add a matching lead\n\t\ttry {\tinsert l2;\t} catch ( System.DmlException e) { \n\t\t\tsystem.assert(e.getMessage().contains('first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, A lead with this email address already exists'),\n\t\t\t e.getMessage());\n\t\t}\n\t\t\n\t\t// test duplicates in the same batch\n\t\tLead[] l3 =new Lead[]{\n\t\t\tnew Lead( Email='marge@fox.tv', LastName='Simpson', Company='fox' ),\n\t\t\tnew Lead( Email='marge@fox.tv', LastName='Simpson', Company='fox' )\n\t\t};\t\t\n\t\ttry { insert l3;\t} catch ( System.DmlException e) { \n\t\t\tsystem.assert(e.getMessage().contains('first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Another new lead has the same email'),\n\t\t\t\te.getMessage());\n\t\t\t\n\t\t}\n\t\t\n\t\t// test update also\n\t\tLead[] lup = new Lead[]{\n\t\t\tnew Lead( Email='marge@fox.tv', LastName='Simpson', Company='fox' )\n\t\t};\n\t\tinsert lup;\n\t\tLead marge = [ select id,Email from lead where Email = 'marge@fox.tv' limit 1];\n\t\tsystem.assert(marge!=null);\n\t\tmarge.Email = 'homer@fox.tv'; \n\t\t\n\t\ttry { update marge; } catch ( System.DmlException e) { \n\t\t\tsystem.assert(e.getMessage().contains('irst error: FIELD_CUSTOM_VALIDATION_EXCEPTION, A lead with this email address already exists'),\n\t\t\t\te.getMessage());\t\n\t\t}\n\t}\n}" - } - ], - "id": "vvnKSBLd", - "createdAt": 1659494946912, - "updatedAt": 1659495156796 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "AppleScript", - "content": [ - { - "label": "Fragment 1", - "language": "applescript", - "value": "set advancedSettings to {background color:{65535, 0, 0}, background dimensions:{1024, 90}, opacity:100}\ndisplay overlay text \"Warning. Boss approaching…\" duration 1 advanced settings advancedSettings with goose honk" - } - ], - "id": "sHDdrA-8", - "createdAt": 1659495204662, - "updatedAt": 1659495281720 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "AsciiDoc", - "content": [ - { - "label": "Fragment 1", - "language": "asciidoc", - "value": "AsciiDoc User Guide\n===================\nStuart Rackham \n:Author Initials: SJR\n:toc:\n:icons:\n:numbered:\n:website: http://www.methods.co.nz/asciidoc/\n\nAsciiDoc is a text document format for writing notes, documentation,\narticles, books, ebooks, slideshows, web pages, blogs and UNIX man\npages. AsciiDoc files can be translated to many formats including\nHTML, PDF, EPUB, man page. AsciiDoc is highly configurable: both the\nAsciiDoc source file syntax and the backend output markups (which can\nbe almost any type of SGML/XML markup) can be customized and extended\nby the user.\n\n.This document\n**********************************************************************\nThis is an overly large document, it probably needs to be refactored\ninto a Tutorial, Quick Reference and Formal Reference.\n\nIf you're new to AsciiDoc read this section and the <> section and take a look at the example AsciiDoc (`*.txt`)\nsource files in the distribution `doc` directory.\n**********************************************************************\n\n\nIntroduction\n------------\nAsciiDoc is a plain text human readable/writable document format that\ncan be translated to DocBook or HTML using the asciidoc(1) command.\nYou can then either use asciidoc(1) generated HTML directly or run\nasciidoc(1) DocBook output through your favorite DocBook toolchain or\nuse the AsciiDoc a2x(1) toolchain wrapper to produce PDF, EPUB, DVI,\nLaTeX, PostScript, man page, HTML and text formats.\n\nThe AsciiDoc format is a useful presentation format in its own right:\nAsciiDoc markup is simple, intuitive and as such is easily proofed and\nedited.\n\nAsciiDoc is light weight: it consists of a single Python script and a\nbunch of configuration files. Apart from asciidoc(1) and a Python\ninterpreter, no other programs are required to convert AsciiDoc text\nfiles to DocBook or HTML. See <>\nbelow.\n\nText markup conventions tend to be a matter of (often strong) personal\npreference: if the default syntax is not to your liking you can define\nyour own by editing the text based asciidoc(1) configuration files.\nYou can also create configuration files to translate AsciiDoc\ndocuments to almost any SGML/XML markup.\n\nasciidoc(1) comes with a set of configuration files to translate\nAsciiDoc articles, books and man pages to HTML or DocBook backend\nformats.\n\n.My AsciiDoc Itch\n**********************************************************************\nDocBook has emerged as the de facto standard Open Source documentation\nformat. But DocBook is a complex language, the markup is difficult to\nread and even more difficult to write directly -- I found I was\nspending more time typing markup tags, consulting reference manuals\nand fixing syntax errors, than I was writing the documentation.\n**********************************************************************\n\n\n[[X6]]\nGetting Started\n---------------\nInstalling AsciiDoc\n~~~~~~~~~~~~~~~~~~~\nSee the `README` and `INSTALL` files for install prerequisites and\nprocedures. Packagers take a look at <>.\n\n[[X11]]\nExample AsciiDoc Documents\n~~~~~~~~~~~~~~~~~~~~~~~~~~\nThe best way to quickly get a feel for AsciiDoc is to view the\nAsciiDoc web site and/or distributed examples:\n\n- Take a look at the linked examples on the AsciiDoc web site home\n page {website}. Press the 'Page Source' sidebar menu item to view\n corresponding AsciiDoc source.\n- Read the `*.txt` source files in the distribution `./doc` directory\n along with the corresponding HTML and DocBook XML files.\n\n\nAsciiDoc Document Types\n-----------------------\nThere are three types of AsciiDoc documents: article, book and\nmanpage. All document types share the same AsciiDoc format with some\nminor variations. If you are familiar with DocBook you will have\nnoticed that AsciiDoc document types correspond to the same-named\nDocBook document types.\n\nUse the asciidoc(1) `-d` (`--doctype`) option to specify the AsciiDoc\ndocument type -- the default document type is 'article'.\n\nBy convention the `.txt` file extension is used for AsciiDoc document\nsource files.\n\narticle\n~~~~~~~\nUsed for short documents, articles and general documentation. See the\nAsciiDoc distribution `./doc/article.txt` example.\n\nAsciiDoc defines standard DocBook article frontmatter and backmatter\n<> (appendix, abstract, bibliography,\nglossary, index).\n\nbook\n~~~~\nBooks share the same format as articles, with the following\ndifferences:\n\n- The part titles in multi-part books are <>\n (same level as book title).\n- Some sections are book specific e.g. preface and colophon.\n\nBook documents will normally be used to produce DocBook output since\nDocBook processors can automatically generate footnotes, table of\ncontents, list of tables, list of figures, list of examples and\nindexes.\n\nAsciiDoc defines standard DocBook book frontmatter and backmatter\n<> (appendix, dedication, preface,\nbibliography, glossary, index, colophon).\n\n.Example book documents\nBook::\n The `./doc/book.txt` file in the AsciiDoc distribution.\n\nMulti-part book::\n The `./doc/book-multi.txt` file in the AsciiDoc distribution.\n\nmanpage\n~~~~~~~\nUsed to generate roff format UNIX manual pages. AsciiDoc manpage\ndocuments observe special header title and section naming conventions\n-- see the <> section for details.\n\nAsciiDoc defines the 'synopsis' <> to\ngenerate the DocBook `refsynopsisdiv` section.\n\nSee also the asciidoc(1) man page source (`./doc/asciidoc.1.txt`) from\nthe AsciiDoc distribution.\n\n\n[[X5]]\nAsciiDoc Backends\n-----------------\nThe asciidoc(1) command translates an AsciiDoc formatted file to the\nbackend format specified by the `-b` (`--backend`) command-line\noption. asciidoc(1) itself has little intrinsic knowledge of backend\nformats, all translation rules are contained in customizable cascading\nconfiguration files. Backend specific attributes are listed in the\n<> section.\n\ndocbook45::\n Outputs DocBook XML 4.5 markup.\n\nhtml4::\n This backend generates plain HTML 4.01 Transitional markup.\n\nxhtml11::\n This backend generates XHTML 1.1 markup styled with CSS2. Output\n files have an `.html` extension.\n\nhtml5::\n This backend generates HTML 5 markup, apart from the inclusion of\n <> it is functionally identical to\n the 'xhtml11' backend.\n\nslidy::\n Use this backend to generate self-contained\n http://www.w3.org/Talks/Tools/Slidy2/[Slidy] HTML slideshows for\n your web browser from AsciiDoc documents. The Slidy backend is\n documented in the distribution `doc/slidy.txt` file and\n {website}slidy.html[online].\n\nwordpress::\n A minor variant of the 'html4' backend to support\n http://srackham.wordpress.com/blogpost1/[blogpost].\n\nlatex::\n Experimental LaTeX backend.\n\nBackend Aliases\n~~~~~~~~~~~~~~~\nBackend aliases are alternative names for AsciiDoc backends. AsciiDoc\ncomes with two backend aliases: 'html' (aliased to 'xhtml11') and\n'docbook' (aliased to 'docbook45').\n\nYou can assign (or reassign) backend aliases by setting an AsciiDoc\nattribute named like `backend-alias-` to an AsciiDoc backend\nname. For example, the following backend alias attribute definitions\nappear in the `[attributes]` section of the global `asciidoc.conf`\nconfiguration file:\n\n backend-alias-html=xhtml11\n backend-alias-docbook=docbook45\n\n[[X100]]\nBackend Plugins\n~~~~~~~~~~~~~~~\nThe asciidoc(1) `--backend` option is also used to install and manage\nbackend <>.\n\n- A backend plugin is used just like the built-in backends.\n- Backend plugins <> over built-in backends with\n the same name.\n- You can use the `{asciidoc-confdir}` <> to\n refer to the built-in backend configuration file location from\n backend plugin configuration files.\n- You can use the `{backend-confdir}` <> to\n refer to the backend plugin configuration file location.\n- By default backends plugins are installed in\n `$HOME/.asciidoc/backends/` where `` is the\n backend name.\n\n\nDocBook\n-------\nAsciiDoc generates 'article', 'book' and 'refentry'\nhttp://www.docbook.org/[DocBook] documents (corresponding to the\nAsciiDoc 'article', 'book' and 'manpage' document types).\n\nMost Linux distributions come with conversion tools (collectively\ncalled a toolchain) for <> to\npresentation formats such as Postscript, HTML, PDF, EPUB, DVI,\nPostScript, LaTeX, roff (the native man page format), HTMLHelp,\nJavaHelp and text. There are also programs that allow you to view\nDocBook files directly, for example http://live.gnome.org/Yelp[Yelp]\n(the GNOME help viewer).\n\n[[X12]]\nConverting DocBook to other file formats\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nDocBook files are validated, parsed and translated various\npresentation file formats using a combination of applications\ncollectively called a DocBook 'tool chain'. The function of a tool\nchain is to read the DocBook markup (produced by AsciiDoc) and\ntransform it to a presentation format (for example HTML, PDF, HTML\nHelp, EPUB, DVI, PostScript, LaTeX).\n\nA wide range of user output format requirements coupled with a choice\nof available tools and stylesheets results in many valid tool chain\ncombinations.\n\n[[X43]]\na2x Toolchain Wrapper\n~~~~~~~~~~~~~~~~~~~~~\nOne of the biggest hurdles for new users is installing, configuring\nand using a DocBook XML toolchain. `a2x(1)` can help -- it's a\ntoolchain wrapper command that will generate XHTML (chunked and\nunchunked), PDF, EPUB, DVI, PS, LaTeX, man page, HTML Help and text\nfile outputs from an AsciiDoc text file. `a2x(1)` does all the grunt\nwork associated with generating and sequencing the toolchain commands\nand managing intermediate and output files. `a2x(1)` also optionally\ndeploys admonition and navigation icons and a CSS stylesheet. See the\n`a2x(1)` man page for more details. In addition to `asciidoc(1)` you\nalso need <>, <> and\noptionally: <> or <> (to generate PDF);\n`w3m(1)` or `lynx(1)` (to generate text).\n\nThe following examples generate `doc/source-highlight-filter.pdf` from\nthe AsciiDoc `doc/source-highlight-filter.txt` source file. The first\nexample uses `dblatex(1)` (the default PDF generator) the second\nexample forces FOP to be used:\n\n $ a2x -f pdf doc/source-highlight-filter.txt\n $ a2x -f pdf --fop doc/source-highlight-filter.txt\n\nSee the `a2x(1)` man page for details.\n\nTIP: Use the `--verbose` command-line option to view executed\ntoolchain commands.\n\nHTML generation\n~~~~~~~~~~~~~~~\nAsciiDoc produces nicely styled HTML directly without requiring a\nDocBook toolchain but there are also advantages in going the DocBook\nroute:\n\n- HTML from DocBook can optionally include automatically generated\n indexes, tables of contents, footnotes, lists of figures and tables.\n- DocBook toolchains can also (optionally) generate separate (chunked)\n linked HTML pages for each document section.\n- Toolchain processing performs link and document validity checks.\n- If the DocBook 'lang' attribute is set then things like table of\n contents, figure and table captions and admonition captions will be\n output in the specified language (setting the AsciiDoc 'lang'\n attribute sets the DocBook 'lang' attribute).\n\nOn the other hand, HTML output directly from AsciiDoc is much faster,\nis easily customized and can be used in situations where there is no\nsuitable DocBook toolchain (for example, see the {website}[AsciiDoc\nwebsite]).\n\nPDF generation\n~~~~~~~~~~~~~~\nThere are two commonly used tools to generate PDFs from DocBook,\n<> and <>.\n\n.dblatex or FOP?\n- 'dblatex' is easier to install, there's zero configuration\n required and no Java VM to install -- it just works out of the box.\n- 'dblatex' source code highlighting and numbering is superb.\n- 'dblatex' is easier to use as it converts DocBook directly to PDF\n whereas before using 'FOP' you have to convert DocBook to XML-FO\n using <>.\n- 'FOP' is more feature complete (for example, callouts are processed\n inside literal layouts) and arguably produces nicer looking output.\n\nHTML Help generation\n~~~~~~~~~~~~~~~~~~~~\n. Convert DocBook XML documents to HTML Help compiler source files\n using <> and <>.\n. Convert the HTML Help source (`.hhp` and `.html`) files to HTML Help\n (`.chm`) files using the <>.\n\nToolchain components summary\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nAsciiDoc::\n Converts AsciiDoc (`.txt`) files to DocBook XML (`.xml`) files.\n\n[[X13]]http://docbook.sourceforge.net/projects/xsl/[DocBook XSL Stylesheets]::\n These are a set of XSL stylesheets containing rules for converting\n DocBook XML documents to HTML, XSL-FO, manpage and HTML Help files.\n The stylesheets are used in conjunction with an XML parser such as\n <>.\n\n[[X40]]http://www.xmlsoft.org[xsltproc]::\n An XML parser for applying XSLT stylesheets (in our case the\n <>) to XML documents.\n\n[[X31]]http://dblatex.sourceforge.net/[dblatex]::\n Generates PDF, DVI, PostScript and LaTeX formats directly from\n DocBook source via the intermediate LaTeX typesetting language --\n uses <>, <> and\n `latex(1)`.\n\n[[X14]]http://xml.apache.org/fop/[FOP]::\n The Apache Formatting Objects Processor converts XSL-FO (`.fo`)\n files to PDF files. The XSL-FO files are generated from DocBook\n source files using <> and\n <>.\n\n[[X67]]Microsoft Help Compiler::\n The Microsoft HTML Help Compiler (`hhc.exe`) is a command-line tool\n that converts HTML Help source files to a single HTML Help (`.chm`)\n file. It runs on MS Windows platforms and can be downloaded from\n http://www.microsoft.com.\n\nAsciiDoc dblatex configuration files\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nThe AsciiDoc distribution `./dblatex` directory contains\n`asciidoc-dblatex.xsl` (customized XSL parameter settings) and\n`asciidoc-dblatex.sty` (customized LaTeX settings). These are examples\nof optional <> output customization and are used by\n<>.\n\nAsciiDoc DocBook XSL Stylesheets drivers\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nYou will have noticed that the distributed HTML and HTML Help\ndocumentation files (for example `./doc/asciidoc.html`) are not the\nplain outputs produced using the default 'DocBook XSL Stylesheets'\nconfiguration. This is because they have been processed using\ncustomized DocBook XSL Stylesheets along with (in the case of HTML\noutputs) the custom `./stylesheets/docbook-xsl.css` CSS stylesheet.\n\nYou'll find the customized DocBook XSL drivers along with additional\ndocumentation in the distribution `./docbook-xsl` directory. The\nexamples that follow are executed from the distribution documentation\n(`./doc`) directory. These drivers are also used by <>.\n\n`common.xsl`::\n Shared driver parameters. This file is not used directly but is\n included in all the following drivers.\n\n`chunked.xsl`::\n Generate chunked XHTML (separate HTML pages for each document\n section) in the `./doc/chunked` directory. For example:\n\n $ python ../asciidoc.py -b docbook asciidoc.txt\n $ xsltproc --nonet ../docbook-xsl/chunked.xsl asciidoc.xml\n\n`epub.xsl`::\n Used by <> to generate EPUB formatted documents.\n\n`fo.xsl`::\n Generate XSL Formatting Object (`.fo`) files for subsequent PDF\n file generation using FOP. For example:\n\n $ python ../asciidoc.py -b docbook article.txt\n $ xsltproc --nonet ../docbook-xsl/fo.xsl article.xml > article.fo\n $ fop article.fo article.pdf\n\n`htmlhelp.xsl`::\n Generate Microsoft HTML Help source files for the MS HTML Help\n Compiler in the `./doc/htmlhelp` directory. This example is run on\n MS Windows from a Cygwin shell prompt:\n\n $ python ../asciidoc.py -b docbook asciidoc.txt\n $ xsltproc --nonet ../docbook-xsl/htmlhelp.xsl asciidoc.xml\n $ c:/Program\\ Files/HTML\\ Help\\ Workshop/hhc.exe htmlhelp.hhp\n\n`manpage.xsl`::\n Generate a `roff(1)` format UNIX man page from a DocBook XML\n 'refentry' document. This example generates an `asciidoc.1` man\n page file:\n\n $ python ../asciidoc.py -d manpage -b docbook asciidoc.1.txt\n $ xsltproc --nonet ../docbook-xsl/manpage.xsl asciidoc.1.xml\n\n`xhtml.xsl`::\n Convert a DocBook XML file to a single XHTML file. For example:\n\n $ python ../asciidoc.py -b docbook asciidoc.txt\n $ xsltproc --nonet ../docbook-xsl/xhtml.xsl asciidoc.xml > asciidoc.html\n\nIf you want to see how the complete documentation set is processed\ntake a look at the A-A-P script `./doc/main.aap`.\n\n\nGenerating Plain Text Files\n---------------------------\nAsciiDoc does not have a text backend (for most purposes AsciiDoc\nsource text is fine), however you can convert AsciiDoc text files to\nformatted text using the AsciiDoc <> toolchain wrapper\nutility.\n\n\n[[X35]]\nHTML5 and XHTML 1.1\n-------------------\nThe 'xhtml11' and 'html5' backends embed or link CSS and JavaScript\nfiles in their outputs, there is also a <> plugin\nframework.\n\n- If the AsciiDoc 'linkcss' attribute is defined then CSS and\n JavaScript files are linked to the output document, otherwise they\n are embedded (the default behavior).\n- The default locations for CSS and JavaScript files can be changed by\n setting the AsciiDoc 'stylesdir' and 'scriptsdir' attributes\n respectively.\n- The default locations for embedded and linked files differ and are\n calculated at different times -- embedded files are loaded when\n asciidoc(1) generates the output document, linked files are loaded\n by the browser when the user views the output document.\n- Embedded files are automatically inserted in the output files but\n you need to manually copy linked CSS and Javascript files from\n AsciiDoc <> to the correct location\n relative to the output document.\n\n.Stylesheet file locations\n[cols=\"3*\",frame=\"topbot\",options=\"header\"]\n|====================================================================\n|'stylesdir' attribute\n|Linked location ('linkcss' attribute defined)\n|Embedded location ('linkcss' attribute undefined)\n\n|Undefined (default).\n|Same directory as the output document.\n|`stylesheets` subdirectory in the AsciiDoc configuration directory\n(the directory containing the backend conf file).\n\n|Absolute or relative directory name.\n|Absolute or relative to the output document.\n|Absolute or relative to the AsciiDoc configuration directory (the\ndirectory containing the backend conf file).\n\n|====================================================================\n\n.JavaScript file locations\n[cols=\"3*\",frame=\"topbot\",options=\"header\"]\n|====================================================================\n|'scriptsdir' attribute\n|Linked location ('linkcss' attribute defined)\n|Embedded location ('linkcss' attribute undefined)\n\n|Undefined (default).\n|Same directory as the output document.\n|`javascripts` subdirectory in the AsciiDoc configuration directory\n(the directory containing the backend conf file).\n\n|Absolute or relative directory name.\n|Absolute or relative to the output document.\n|Absolute or relative to the AsciiDoc configuration directory (the\ndirectory containing the backend conf file).\n\n|====================================================================\n\n[[X99]]\nThemes\n~~~~~~\nThe AsciiDoc 'theme' attribute is used to select an alternative CSS\nstylesheet and to optionally include additional JavaScript code.\n\n- Theme files reside in an AsciiDoc <>\n named `themes//` (where `` is the the theme name set\n by the 'theme' attribute). asciidoc(1) sets the 'themedir' attribute\n to the theme directory path name.\n- The 'theme' attribute can also be set using the asciidoc(1)\n `--theme` option, the `--theme` option can also be used to manage\n theme <>.\n- AsciiDoc ships with two themes: 'flask' and 'volnitsky'.\n- The `.css` file replaces the default `asciidoc.css` CSS file.\n- The `.js` file is included in addition to the default\n `asciidoc.js` JavaScript file.\n- If the <> attribute is defined then icons are loaded\n from the theme `icons` sub-directory if it exists (i.e. the\n 'iconsdir' attribute is set to theme `icons` sub-directory path).\n- Embedded theme files are automatically inserted in the output files\n but you need to manually copy linked CSS and Javascript files to the\n location of the output documents.\n- Linked CSS and JavaScript theme files are linked to the same linked\n locations as <>.\n\nFor example, the command-line option `--theme foo` (or `--attribute\ntheme=foo`) will cause asciidoc(1) to search <<\"X27\",\"configuration\nfile locations 1, 2 and 3\">> for a sub-directory called `themes/foo`\ncontaining the stylesheet `foo.css` and optionally a JavaScript file\nname `foo.js`.\n\n\nDocument Structure\n------------------\nAn AsciiDoc document consists of a series of <>\nstarting with an optional document Header, followed by an optional\nPreamble, followed by zero or more document Sections.\n\nAlmost any combination of zero or more elements constitutes a valid\nAsciiDoc document: documents can range from a single sentence to a\nmulti-part book.\n\nBlock Elements\n~~~~~~~~~~~~~~\nBlock elements consist of one or more lines of text and may contain\nother block elements.\n\nThe AsciiDoc block structure can be informally summarized as follows\nfootnote:[This is a rough structural guide, not a rigorous syntax\ndefinition]:\n\n Document ::= (Header?,Preamble?,Section*)\n Header ::= (Title,(AuthorInfo,RevisionInfo?)?)\n AuthorInfo ::= (FirstName,(MiddleName?,LastName)?,EmailAddress?)\n RevisionInfo ::= (RevisionNumber?,RevisionDate,RevisionRemark?)\n Preamble ::= (SectionBody)\n Section ::= (Title,SectionBody?,(Section)*)\n SectionBody ::= ((BlockTitle?,Block)|BlockMacro)+\n Block ::= (Paragraph|DelimitedBlock|List|Table)\n List ::= (BulletedList|NumberedList|LabeledList|CalloutList)\n BulletedList ::= (ListItem)+\n NumberedList ::= (ListItem)+\n CalloutList ::= (ListItem)+\n LabeledList ::= (ListEntry)+\n ListEntry ::= (ListLabel,ListItem)\n ListLabel ::= (ListTerm+)\n ListItem ::= (ItemText,(List|ListParagraph|ListContinuation)*)\n\nWhere:\n\n- '?' implies zero or one occurrence, '+' implies one or more\n occurrences, '*' implies zero or more occurrences.\n- All block elements are separated by line boundaries.\n- `BlockId`, `AttributeEntry` and `AttributeList` block elements (not\n shown) can occur almost anywhere.\n- There are a number of document type and backend specific\n restrictions imposed on the block syntax.\n- The following elements cannot contain blank lines: Header, Title,\n Paragraph, ItemText.\n- A ListParagraph is a Paragraph with its 'listelement' option set.\n- A ListContinuation is a <>.\n\n[[X95]]\nHeader\n~~~~~~\nThe Header contains document meta-data, typically title plus optional\nauthorship and revision information:\n\n- The Header is optional, but if it is used it must start with a\n document <>.\n- Optional Author and Revision information immediately follows the\n header title.\n- The document header must be separated from the remainder of the\n document by one or more blank lines and cannot contain blank lines.\n- The header can include comments.\n- The header can include <>, typically\n 'doctype', 'lang', 'encoding', 'icons', 'data-uri', 'toc',\n 'numbered'.\n- Header attributes are overridden by command-line attributes.\n- If the header contains non-UTF-8 characters then the 'encoding' must\n precede the header (either in the document or on the command-line).\n\nHere's an example AsciiDoc document header:\n\n Writing Documentation using AsciiDoc\n ====================================\n Joe Bloggs \n v2.0, February 2003:\n Rewritten for version 2 release.\n\nThe author information line contains the author's name optionally\nfollowed by the author's email address. The author's name is formatted\nlike:\n\n firstname[ [middlename ]lastname][ ]]\n\ni.e. a first name followed by optional middle and last names followed\nby an email address in that order. Multi-word first, middle and last\nnames can be entered using the underscore as a word separator. The\nemail address comes last and must be enclosed in angle <> brackets.\nHere a some examples of author information lines:\n\n Joe Bloggs \n Joe Bloggs\n Vincent Willem van_Gogh\n\nIf the author line does not match the above specification then the\nentire author line is treated as the first name.\n\nThe optional revision information line follows the author information\nline. The revision information can be one of two formats:\n\n. An optional document revision number followed by an optional\n revision date followed by an optional revision remark:\n+\n--\n * If the revision number is specified it must be followed by a\n comma.\n * The revision number must contain at least one numeric character.\n * Any non-numeric characters preceding the first numeric character\n will be dropped.\n * If a revision remark is specified it must be preceded by a colon.\n The revision remark extends from the colon up to the next blank\n line, attribute entry or comment and is subject to normal text\n substitutions.\n * If a revision number or remark has been set but the revision date\n has not been set then the revision date is set to the value of the\n 'docdate' attribute.\n\nExamples:\n\n v2.0, February 2003\n February 2003\n v2.0,\n v2.0, February 2003: Rewritten for version 2 release.\n February 2003: Rewritten for version 2 release.\n v2.0,: Rewritten for version 2 release.\n :Rewritten for version 2 release.\n--\n\n. The revision information line can also be an RCS/CVS/SVN $Id$\n marker:\n+\n--\n * AsciiDoc extracts the 'revnumber', 'revdate', and 'author'\n attributes from the $Id$ revision marker and displays them in the\n document header.\n * If an $Id$ revision marker is used the header author line can be\n omitted.\n\nExample:\n\n $Id: mydoc.txt,v 1.5 2009/05/17 17:58:44 jbloggs Exp $\n--\n\nYou can override or set header parameters by passing 'revnumber',\n'revremark', 'revdate', 'email', 'author', 'authorinitials',\n'firstname' and 'lastname' attributes using the asciidoc(1) `-a`\n(`--attribute`) command-line option. For example:\n\n $ asciidoc -a revdate=2004/07/27 article.txt\n\nAttribute entries can also be added to the header for substitution in\nthe header template with <> elements.\n\nThe 'title' element in HTML outputs is set to the AsciiDoc document\ntitle, you can set it to a different value by including a 'title'\nattribute entry in the document header.\n\n[[X87]]\nAdditional document header information\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nAsciiDoc has two mechanisms for optionally including additional\nmeta-data in the header of the output document:\n\n'docinfo' configuration file sections::\nIf a <> section named 'docinfo' has been loaded\nthen it will be included in the document header. Typically the\n'docinfo' section name will be prefixed with a '+' character so that it\nis appended to (rather than replace) other 'docinfo' sections.\n\n'docinfo' files::\nTwo docinfo files are recognized: one named `docinfo` and a second\nnamed like the AsciiDoc source file with a `-docinfo` suffix. For\nexample, if the source document is called `mydoc.txt` then the\ndocument information files would be `docinfo.xml` and\n`mydoc-docinfo.xml` (for DocBook outputs) and `docinfo.html` and\n`mydoc-docinfo.html` (for HTML outputs). The <> attributes control which docinfo files are included in\nthe output files.\n\nThe contents docinfo templates and files is dependent on the type of\noutput:\n\nHTML::\n Valid 'head' child elements. Typically 'style' and 'script' elements\n for CSS and JavaScript inclusion.\n\nDocBook::\n Valid 'articleinfo' or 'bookinfo' child elements. DocBook defines\n numerous elements for document meta-data, for example: copyrights,\n document history and authorship information. See the DocBook\n `./doc/article-docinfo.xml` example that comes with the AsciiDoc\n distribution. The rendering of meta-data elements (or not) is\n DocBook processor dependent.\n\n\n[[X86]]\nPreamble\n~~~~~~~~\nThe Preamble is an optional untitled section body between the document\nHeader and the first Section title.\n\nSections\n~~~~~~~~\nIn addition to the document title (level 0), AsciiDoc supports four\nsection levels: 1 (top) to 4 (bottom). Section levels are delimited\nby section <>. Sections are translated using\nconfiguration file <>. AsciiDoc\ngenerates the following <> specifically for\nuse in section markup templates:\n\nlevel::\nThe `level` attribute is the section level number, it is normally just\nthe <> level number (1..4). However, if the `leveloffset`\nattribute is defined it will be added to the `level` attribute. The\n`leveloffset` attribute is useful for <>.\n\nsectnum::\nThe `-n` (`--section-numbers`) command-line option generates the\n`sectnum` (section number) attribute. The `sectnum` attribute is used\nfor section numbers in HTML outputs (DocBook section numbering are\nhandled automatically by the DocBook toolchain commands).\n\n[[X93]]\nSection markup templates\n^^^^^^^^^^^^^^^^^^^^^^^^\nSection markup templates specify output markup and are defined in\nAsciiDoc configuration files. Section markup template names are\nderived as follows (in order of precedence):\n\n1. From the title's first positional attribute or 'template'\n attribute. For example, the following three section titles are\n functionally equivalent:\n+\n.....................................................................\n[[terms]]\n[glossary]\nList of Terms\n-------------\n\n[\"glossary\",id=\"terms\"]\nList of Terms\n-------------\n\n[template=\"glossary\",id=\"terms\"]\nList of Terms\n-------------\n.....................................................................\n\n2. When the title text matches a configuration file\n <> entry.\n3. If neither of the above the default `sect` template is used\n (where `` is a number from 1 to 4).\n\nIn addition to the normal section template names ('sect1', 'sect2',\n'sect3', 'sect4') AsciiDoc has the following templates for\nfrontmatter, backmatter and other special sections: 'abstract',\n'preface', 'colophon', 'dedication', 'glossary', 'bibliography',\n'synopsis', 'appendix', 'index'. These special section templates\ngenerate the corresponding Docbook elements; for HTML outputs they\ndefault to the 'sect1' section template.\n\nSection IDs\n^^^^^^^^^^^\nIf no explicit section ID is specified an ID will be synthesised from\nthe section title. The primary purpose of this feature is to ensure\npersistence of table of contents links (permalinks): the missing\nsection IDs are generated dynamically by the JavaScript TOC generator\n*after* the page is loaded. If you link to a dynamically generated TOC\naddress the page will load but the browser will ignore the (as yet\nungenerated) section ID.\n\nThe IDs are generated by the following algorithm:\n\n- Replace all non-alphanumeric title characters with underscores.\n- Strip leading or trailing underscores.\n- Convert to lowercase.\n- Prepend the `idprefix` attribute (so there's no possibility of name\n clashes with existing document IDs). Prepend an underscore if the\n `idprefix` attribute is not defined.\n- A numbered suffix (`_2`, `_3` ...) is added if a same named\n auto-generated section ID exists.\n- If the `ascii-ids` attribute is defined then non-ASCII characters\n are replaced with ASCII equivalents. This attribute may be\n deprecated in future releases and *should be avoided*, it's sole\n purpose is to accommodate deficient downstream applications that\n cannot process non-ASCII ID attributes.\n\nExample: the title 'Jim's House' would generate the ID `_jim_s_house`.\n\nSection ID synthesis can be disabled by undefining the `sectids`\nattribute.\n\n[[X16]]\nSpecial Section Titles\n^^^^^^^^^^^^^^^^^^^^^^\nAsciiDoc has a mechanism for mapping predefined section titles\nauto-magically to specific markup templates. For example a title\n'Appendix A: Code Reference' will automatically use the 'appendix'\n<>. The mappings from title to template\nname are specified in `[specialsections]` sections in the Asciidoc\nlanguage configuration files (`lang-*.conf`). Section entries are\nformatted like:\n\n =<template>\n\n`<title>` is a Python regular expression and `<template>` is the name\nof a configuration file markup template section. If the `<title>`\nmatches an AsciiDoc document section title then the backend output is\nmarked up using the `<template>` markup template (instead of the\ndefault `sect<level>` section template). The `{title}` attribute value\nis set to the value of the matched regular expression group named\n'title', if there is no 'title' group `{title}` defaults to the whole\nof the AsciiDoc section title. If `<template>` is blank then any\nexisting entry with the same `<title>` will be deleted.\n\n.Special section titles vs. explicit template names\n*********************************************************************\nAsciiDoc has two mechanisms for specifying non-default section markup\ntemplates: you can specify the template name explicitly (using the\n'template' attribute) or indirectly (using 'special section titles').\nSpecifying a <<X93,section template>> attribute explicitly is\npreferred. Auto-magical 'special section titles' have the following\ndrawbacks:\n\n- They are non-obvious, you have to know the exact matching\n title for each special section on a language by language basis.\n- Section titles are predefined and can only be customised with a\n configuration change.\n- The implementation is complicated by multiple languages: every\n special section title has to be defined for each language (in each\n of the `lang-*.conf` files).\n\nSpecifying special section template names explicitly does add more\nnoise to the source document (the 'template' attribute declaration),\nbut the intention is obvious and the syntax is consistent with other\nAsciiDoc elements c.f. bibliographic, Q&A and glossary lists.\n\nSpecial section titles have been deprecated but are retained for\nbackward compatibility.\n\n*********************************************************************\n\nInline Elements\n~~~~~~~~~~~~~~~\n<<X34,Inline document elements>> are used to format text and to\nperform various types of text substitution. Inline elements and inline\nelement syntax is defined in the asciidoc(1) configuration files.\n\nHere is a list of AsciiDoc inline elements in the (default) order in\nwhich they are processed:\n\nSpecial characters::\n These character sequences escape special characters used by\n the backend markup (typically `<`, `>`, and `&` characters).\n See `[specialcharacters]` configuration file sections.\n\nQuotes::\n Elements that markup words and phrases; usually for character\n formatting. See `[quotes]` configuration file sections.\n\nSpecial Words::\n Word or word phrase patterns singled out for markup without\n the need for further annotation. See `[specialwords]`\n configuration file sections.\n\nReplacements::\n Each replacement defines a word or word phrase pattern to\n search for along with corresponding replacement text. See\n `[replacements]` configuration file sections.\n\nAttribute references::\n Document attribute names enclosed in braces are replaced by\n the corresponding attribute value.\n\nInline Macros::\n Inline macros are replaced by the contents of parametrized\n configuration file sections.\n\n\nDocument Processing\n-------------------\nThe AsciiDoc source document is read and processed as follows:\n\n1. The document 'Header' is parsed, header parameter values are\n substituted into the configuration file `[header]` template section\n which is then written to the output file.\n2. Each document 'Section' is processed and its constituent elements\n translated to the output file.\n3. The configuration file `[footer]` template section is substituted\n and written to the output file.\n\nWhen a block element is encountered asciidoc(1) determines the type of\nblock by checking in the following order (first to last): (section)\nTitles, BlockMacros, Lists, DelimitedBlocks, Tables, AttributeEntrys,\nAttributeLists, BlockTitles, Paragraphs.\n\nThe default paragraph definition `[paradef-default]` is last element\nto be checked.\n\nKnowing the parsing order will help you devise unambiguous macro, list\nand block syntax rules.\n\nInline substitutions within block elements are performed in the\nfollowing default order:\n\n1. Special characters\n2. Quotes\n3. Special words\n4. Replacements\n5. Attributes\n6. Inline Macros\n7. Replacements2\n\nThe substitutions and substitution order performed on\nTitle, Paragraph and DelimitedBlock elements is determined by\nconfiguration file parameters.\n\n\nText Formatting\n---------------\n[[X51]]\nQuoted Text\n~~~~~~~~~~~\nWords and phrases can be formatted by enclosing inline text with\nquote characters:\n\n_Emphasized text_::\n Word phrases \\'enclosed in single quote characters' (acute\n accents) or \\_underline characters_ are emphasized.\n\n*Strong text*::\n Word phrases \\*enclosed in asterisk characters* are rendered\n in a strong font (usually bold).\n\n[[X81]]+Monospaced text+::\n Word phrases \\+enclosed in plus characters+ are rendered in a\n monospaced font. Word phrases \\`enclosed in backtick\n characters` (grave accents) are also rendered in a monospaced\n font but in this case the enclosed text is rendered literally\n and is not subject to further expansion (see <<X80,inline\n literal passthrough>>).\n\n`Single quoted text'::\n Phrases enclosed with a \\`single grave accent to the left and\n a single acute accent to the right' are rendered in single\n quotation marks.\n\n``Double quoted text''::\n Phrases enclosed with \\\\``two grave accents to the left and\n two acute accents to the right'' are rendered in quotation\n marks.\n\n#Unquoted text#::\n Placing \\#hashes around text# does nothing, it is a mechanism\n to allow inline attributes to be applied to otherwise\n unformatted text.\n\nNew quote types can be defined by editing asciidoc(1) configuration\nfiles. See the <<X7,Configuration Files>> section for details.\n\n.Quoted text behavior\n- Quoting cannot be overlapped.\n- Different quoting types can be nested.\n- To suppress quoted text formatting place a backslash character\n immediately in front of the leading quote character(s). In the case\n of ambiguity between escaped and non-escaped text you will need to\n escape both leading and trailing quotes, in the case of\n multi-character quotes you may even need to escape individual\n characters.\n\n[[X96]]\nQuoted text attributes\n^^^^^^^^^^^^^^^^^^^^^^\nQuoted text can be prefixed with an <<X21,attribute list>>. The first\npositional attribute ('role' attribute) is translated by AsciiDoc to\nan HTML 'span' element 'class' attribute or a DocBook 'phrase' element\n'role' attribute.\n\nDocBook XSL Stylesheets translate DocBook 'phrase' elements with\n'role' attributes to corresponding HTML 'span' elements with the same\n'class' attributes; CSS can then be used\nhttp://www.sagehill.net/docbookxsl/UsingCSS.html[to style the\ngenerated HTML]. Thus CSS styling can be applied to both DocBook and\nAsciiDoc generated HTML outputs. You can also specify multiple class\nnames separated by spaces.\n\nCSS rules for text color, text background color, text size and text\ndecorators are included in the distributed AsciiDoc CSS files and are\nused in conjunction with AsciiDoc 'xhtml11', 'html5' and 'docbook'\noutputs. The CSS class names are:\n\n- '<color>' (text foreground color).\n- '<color>-background' (text background color).\n- 'big' and 'small' (text size).\n- 'underline', 'overline' and 'line-through' (strike through) text\n decorators.\n\nWhere '<color>' can be any of the\nhttp://en.wikipedia.org/wiki/Web_colors#HTML_color_names[sixteen HTML\ncolor names]. Examples:\n\n [red]#Obvious# and [big red yellow-background]*very obvious*.\n\n [underline]#Underline text#, [overline]#overline text# and\n [blue line-through]*bold blue and line-through*.\n\nis rendered as:\n\n[red]#Obvious# and [big red yellow-background]*very obvious*.\n\n[underline]#Underline text#, [overline]#overline text# and\n[bold blue line-through]*bold blue and line-through*.\n\nNOTE: Color and text decorator attributes are rendered for XHTML and\nHTML 5 outputs using CSS stylesheets. The mechanism to implement\ncolor and text decorator attributes is provided for DocBook toolchains\nvia the DocBook 'phrase' element 'role' attribute, but the actual\nrendering is toolchain specific and is not part of the AsciiDoc\ndistribution.\n\n[[X52]]\nConstrained and Unconstrained Quotes\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nThere are actually two types of quotes:\n\nConstrained quotes\n++++++++++++++++++\nQuoted must be bounded by white space or commonly adjoining\npunctuation characters. These are the most commonly used type of\nquote.\n\nUnconstrained quotes\n++++++++++++++++++++\nUnconstrained quotes have no boundary constraints and can be placed\nanywhere within inline text. For consistency and to make them easier\nto remember unconstrained quotes are double-ups of the `_`, `*`, `+`\nand `#` constrained quotes:\n\n __unconstrained emphasized text__\n **unconstrained strong text**\n ++unconstrained monospaced text++\n ##unconstrained unquoted text##\n\nThe following example emboldens the letter F:\n\n **F**ile Open...\n\nSuperscripts and Subscripts\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\nPut \\^carets on either^ side of the text to be superscripted, put\n\\~tildes on either side~ of text to be subscripted. For example, the\nfollowing line:\n\n e^πi^+1 = 0. H~2~O and x^10^. Some ^super text^\n and ~some sub text~\n\nIs rendered like:\n\ne^πi^+1 = 0. H~2~O and x^10^. Some ^super text^\nand ~some sub text~\n\nSuperscripts and subscripts are implemented as <<X52,unconstrained\nquotes>> and they can be escaped with a leading backslash and prefixed\nwith with an attribute list.\n\nLine Breaks\n~~~~~~~~~~~\nA plus character preceded by at least one space character at the end\nof a non-blank line forces a line break. It generates a line break\n(`br`) tag for HTML outputs and a custom XML `asciidoc-br` processing\ninstruction for DocBook outputs. The `asciidoc-br` processing\ninstruction is handled by <<X43,a2x(1)>>.\n\nPage Breaks\n~~~~~~~~~~~\nA line of three or more less-than (`<<<`) characters will generate a\nhard page break in DocBook and printed HTML outputs. It uses the CSS\n`page-break-after` property for HTML outputs and a custom XML\n`asciidoc-pagebreak` processing instruction for DocBook outputs. The\n`asciidoc-pagebreak` processing instruction is handled by\n<<X43,a2x(1)>>. Hard page breaks are sometimes handy but as a general\nrule you should let your page processor generate page breaks for you.\n\nRulers\n~~~~~~\nA line of three or more apostrophe characters will generate a ruler\nline. It generates a ruler (`hr`) tag for HTML outputs and a custom\nXML `asciidoc-hr` processing instruction for DocBook outputs. The\n`asciidoc-hr` processing instruction is handled by <<X43,a2x(1)>>.\n\nTabs\n~~~~\nBy default tab characters input files will translated to 8 spaces. Tab\nexpansion is set with the 'tabsize' entry in the configuration file\n`[miscellaneous]` section and can be overridden in included files by\nsetting a 'tabsize' attribute in the `include` macro's attribute list.\nFor example:\n\n include::addendum.txt[tabsize=2]\n\nThe tab size can also be set using the attribute command-line option,\nfor example `--attribute tabsize=4`\n\nReplacements\n~~~~~~~~~~~~\nThe following replacements are defined in the default AsciiDoc\nconfiguration:\n\n (C) copyright, (TM) trademark, (R) registered trademark,\n -- em dash, ... ellipsis, -> right arrow, <- left arrow, => right\n double arrow, <= left double arrow.\n\nWhich are rendered as:\n\n(C) copyright, (TM) trademark, (R) registered trademark,\n-- em dash, ... ellipsis, -> right arrow, <- left arrow, => right\ndouble arrow, <= left double arrow.\n\nYou can also include arbitrary entity references in the AsciiDoc\nsource. Examples:\n\n ➊ ¶\n\nrenders:\n\n➊ ¶\n\nTo render a replacement literally escape it with a leading back-slash.\n\nThe <<X7,Configuration Files>> section explains how to configure your\nown replacements.\n\nSpecial Words\n~~~~~~~~~~~~~\nWords defined in `[specialwords]` configuration file sections are\nautomatically marked up without having to be explicitly notated.\n\nThe <<X7,Configuration Files>> section explains how to add and replace\nspecial words.\n\n\n[[X17]]\nTitles\n------\nDocument and section titles can be in either of two formats:\n\nTwo line titles\n~~~~~~~~~~~~~~~\nA two line title consists of a title line, starting hard against the\nleft margin, and an underline. Section underlines consist a repeated\ncharacter pairs spanning the width of the preceding title (give or\ntake up to two characters):\n\nThe default title underlines for each of the document levels are:\n\n\n Level 0 (top level): ======================\n Level 1: ----------------------\n Level 2: ~~~~~~~~~~~~~~~~~~~~~~\n Level 3: ^^^^^^^^^^^^^^^^^^^^^^\n Level 4 (bottom level): ++++++++++++++++++++++\n\nExamples:\n\n Level One Section Title\n -----------------------\n\n Level 2 Subsection Title\n ~~~~~~~~~~~~~~~~~~~~~~~~\n\n[[X46]]\nOne line titles\n~~~~~~~~~~~~~~~\nOne line titles consist of a single line delimited on either side by\none or more equals characters (the number of equals characters\ncorresponds to the section level minus one). Here are some examples:\n\n = Document Title (level 0) =\n == Section title (level 1) ==\n === Section title (level 2) ===\n ==== Section title (level 3) ====\n ===== Section title (level 4) =====\n\n[NOTE]\n=====================================================================\n- One or more spaces must fall between the title and the delimiters.\n- The trailing title delimiter is optional.\n- The one-line title syntax can be changed by editing the\n configuration file `[titles]` section `sect0`...`sect4` entries.\n=====================================================================\n\nFloating titles\n~~~~~~~~~~~~~~~\nSetting the title's first positional attribute or 'style' attribute to\n'float' generates a free-floating title. A free-floating title is\nrendered just like a normal section title but is not formally\nassociated with a text body and is not part of the regular section\nhierarchy so the normal ordering rules do not apply. Floating titles\ncan also be used in contexts where section titles are illegal: for\nexample sidebar and admonition blocks. Example:\n\n [float]\n The second day\n ~~~~~~~~~~~~~~\n\nFloating titles do not appear in a document's table of contents.\n\n\n[[X42]]\nBlock Titles\n------------\nA 'BlockTitle' element is a single line beginning with a period\nfollowed by the title text. A BlockTitle is applied to the immediately\nfollowing Paragraph, DelimitedBlock, List, Table or BlockMacro. For\nexample:\n\n........................\n.Notes\n- Note 1.\n- Note 2.\n........................\n\nis rendered as:\n\n.Notes\n- Note 1.\n- Note 2.\n\n\n[[X41]]\nBlockId Element\n---------------\nA 'BlockId' is a single line block element containing a unique\nidentifier enclosed in double square brackets. It is used to assign an\nidentifier to the ensuing block element. For example:\n\n [[chapter-titles]]\n Chapter titles can be ...\n\nThe preceding example identifies the ensuing paragraph so it can be\nreferenced from other locations, for example with\n`<<chapter-titles,chapter titles>>`.\n\n'BlockId' elements can be applied to Title, Paragraph, List,\nDelimitedBlock, Table and BlockMacro elements. The BlockId element\nsets the `{id}` attribute for substitution in the subsequent block's\nmarkup template. If a second positional argument is supplied it sets\nthe `{reftext}` attribute which is used to set the DocBook `xreflabel`\nattribute.\n\nThe 'BlockId' element has the same syntax and serves the same function\nto the <<X30,anchor inline macro>>.\n\n[[X79]]\nAttributeList Element\n---------------------\nAn 'AttributeList' block element is an <<X21,attribute list>> on a\nline by itself:\n\n- 'AttributeList' attributes are only applied to the immediately\n following block element -- the attributes are made available to the\n block's markup template.\n- Multiple contiguous 'AttributeList' elements are additively combined\n in the order they appear..\n- The first positional attribute in the list is often used to specify\n the ensuing element's <<X23,style>>.\n\nAttribute value substitution\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nBy default, only substitutions that take place inside attribute list\nvalues are attribute references, this is because not all attributes\nare destined to be marked up and rendered as text (for example the\ntable 'cols' attribute). To perform normal inline text substitutions\n(special characters, quotes, macros, replacements) on an attribute\nvalue you need to enclose it in single quotes. In the following quote\nblock the second attribute value in the AttributeList is quoted to\nensure the 'http' macro is expanded to a hyperlink.\n\n---------------------------------------------------------------------\n[quote,'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]']\n_____________________________________________________________________\nSir, a woman's preaching is like a dog's walking on his hind legs. It\nis not done well; but you are surprised to find it done at all.\n_____________________________________________________________________\n---------------------------------------------------------------------\n\nCommon attributes\n~~~~~~~~~~~~~~~~~\nMost block elements support the following attributes:\n\n[cols=\"1e,1,5a\",frame=\"topbot\",options=\"header\"]\n|====================================================================\n|Name |Backends |Description\n\n|id |html4, html5, xhtml11, docbook |\nUnique identifier typically serve as link targets.\nCan also be set by the 'BlockId' element.\n\n|role |html4, html5, xhtml11, docbook |\nRole contains a string used to classify or subclassify an element and\ncan be applied to AsciiDoc block elements. The AsciiDoc 'role'\nattribute is translated to the 'role' attribute in DocBook outputs and\nis included in the 'class' attribute in HTML outputs, in this respect\nit behaves like the <<X96,quoted text role attribute>>.\n\nDocBook XSL Stylesheets translate DocBook 'role' attributes to HTML\n'class' attributes; CSS can then be used\nhttp://www.sagehill.net/docbookxsl/UsingCSS.html[to style the\ngenerated HTML].\n\n|reftext |docbook |\n'reftext' is used to set the DocBook 'xreflabel' attribute.\nThe 'reftext' attribute can an also be set by the 'BlockId' element.\n\n|====================================================================\n\n\nParagraphs\n----------\nParagraphs are blocks of text terminated by a blank line, the end of\nfile, or the start of a delimited block or a list. There are three\nparagraph syntaxes: normal, indented (literal) and admonition which\nare rendered, by default, with the corresponding paragraph style.\n\nEach syntax has a default style, but you can explicitly apply any\nparagraph style to any paragraph syntax. You can also apply\n<<X104,delimited block>> styles to single paragraphs.\n\nThe built-in paragraph styles are: 'normal', 'literal', 'verse',\n'quote', 'listing', 'TIP', 'NOTE', 'IMPORTANT', 'WARNING', 'CAUTION',\n'abstract', 'partintro', 'comment', 'example', 'sidebar', 'source',\n'music', 'latex', 'graphviz'.\n\nnormal paragraph syntax\n~~~~~~~~~~~~~~~~~~~~~~~\nNormal paragraph syntax consists of one or more non-blank lines of\ntext. The first line must start hard against the left margin (no\nintervening white space). The default processing expectation is that\nof a normal paragraph of text.\n\n[[X85]]\nliteral paragraph syntax\n~~~~~~~~~~~~~~~~~~~~~~~~\nLiteral paragraphs are rendered verbatim in a monospaced font without\nany distinguishing background or border. By default there is no text\nformatting or substitutions within Literal paragraphs apart from\nSpecial Characters and Callouts.\n\nThe 'literal' style is applied implicitly to indented paragraphs i.e.\nwhere the first line of the paragraph is indented by one or more space\nor tab characters. For example:\n\n---------------------------------------------------------------------\n Consul *necessitatibus* per id,\n consetetur, eu pro everti postulant\n homero verear ea mea, qui.\n---------------------------------------------------------------------\n\nRenders:\n\n Consul *necessitatibus* per id,\n consetetur, eu pro everti postulant\n homero verear ea mea, qui.\n\nNOTE: Because <<X64,lists>> can be indented it's possible for your\nindented paragraph to be misinterpreted as a list -- in situations\nlike this apply the 'literal' style to a normal paragraph.\n\nInstead of using a paragraph indent you could apply the 'literal'\nstyle explicitly, for example:\n\n---------------------------------------------------------------------\n[literal]\nConsul *necessitatibus* per id,\nconsetetur, eu pro everti postulant\nhomero verear ea mea, qui.\n---------------------------------------------------------------------\n\nRenders:\n\n[literal]\nConsul *necessitatibus* per id,\nconsetetur, eu pro everti postulant\nhomero verear ea mea, qui.\n\n[[X94]]\nquote and verse paragraph styles\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nThe optional 'attribution' and 'citetitle' attributes (positional\nattributes 2 and 3) specify the author and source respectively.\n\nThe 'verse' style retains the line breaks, for example:\n\n---------------------------------------------------------------------\n[verse, William Blake, from Auguries of Innocence]\nTo see a world in a grain of sand,\nAnd a heaven in a wild flower,\nHold infinity in the palm of your hand,\nAnd eternity in an hour.\n---------------------------------------------------------------------\n\nWhich is rendered as:\n\n[verse, William Blake, from Auguries of Innocence]\nTo see a world in a grain of sand,\nAnd a heaven in a wild flower,\nHold infinity in the palm of your hand,\nAnd eternity in an hour.\n\nThe 'quote' style flows the text at left and right margins, for\nexample:\n\n---------------------------------------------------------------------\n[quote, Bertrand Russell, The World of Mathematics (1956)]\nA good notation has subtlety and suggestiveness which at times makes\nit almost seem like a live teacher.\n---------------------------------------------------------------------\n\nWhich is rendered as:\n\n[quote, Bertrand Russell, The World of Mathematics (1956)]\nA good notation has subtlety and suggestiveness which at times makes\nit almost seem like a live teacher.\n\n[[X28]]\nAdmonition Paragraphs\n~~~~~~~~~~~~~~~~~~~~~\n'TIP', 'NOTE', 'IMPORTANT', 'WARNING' and 'CAUTION' admonishment\nparagraph styles are generated by placing `NOTE:`, `TIP:`,\n`IMPORTANT:`, `WARNING:` or `CAUTION:` as the first word of the\nparagraph. For example:\n\n NOTE: This is an example note.\n\nAlternatively, you can specify the paragraph admonition style\nexplicitly using an <<X79,AttributeList element>>. For example:\n\n [NOTE]\n This is an example note.\n\nRenders:\n\nNOTE: This is an example note.\n\nTIP: If your admonition requires more than a single paragraph use an\n<<X22,admonition block>> instead.\n\n[[X47]]\nAdmonition Icons and Captions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nNOTE: Admonition customization with `icons`, `iconsdir`, `icon` and\n`caption` attributes does not apply when generating DocBook output. If\nyou are going the DocBook route then the <<X43,a2x(1)>> `--no-icons`\nand `--icons-dir` options can be used to set the appropriate XSL\nStylesheets parameters.\n\nBy default the asciidoc(1) HTML backends generate text captions\ninstead of admonition icon image links. To generate links to icon\nimages define the <<X45,`icons`>> attribute, for example using the `-a\nicons` command-line option.\n\nThe <<X44,`iconsdir`>> attribute sets the location of linked icon\nimages.\n\nYou can override the default icon image using the `icon` attribute to\nspecify the path of the linked image. For example:\n\n [icon=\"./images/icons/wink.png\"]\n NOTE: What lovely war.\n\nUse the `caption` attribute to customize the admonition captions (not\napplicable to `docbook` backend). The following example suppresses the\nicon image and customizes the caption of a 'NOTE' admonition\n(undefining the `icons` attribute with `icons=None` is only necessary\nif <<X45,admonition icons>> have been enabled):\n\n [icons=None, caption=\"My Special Note\"]\n NOTE: This is my special note.\n\nThis subsection also applies to <<X22,Admonition Blocks>>.\n\n\n[[X104]]\nDelimited Blocks\n----------------\nDelimited blocks are blocks of text enveloped by leading and trailing\ndelimiter lines (normally a series of four or more repeated\ncharacters). The behavior of Delimited Blocks is specified by entries\nin configuration file `[blockdef-*]` sections.\n\nPredefined Delimited Blocks\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\nAsciiDoc ships with a number of predefined DelimitedBlocks (see the\n`asciidoc.conf` configuration file in the asciidoc(1) program\ndirectory):\n\nPredefined delimited block underlines:\n\n CommentBlock: //////////////////////////\n PassthroughBlock: ++++++++++++++++++++++++++\n ListingBlock: --------------------------\n LiteralBlock: ..........................\n SidebarBlock: **************************\n QuoteBlock: __________________________\n ExampleBlock: ==========================\n OpenBlock: --\n\n.Default DelimitedBlock substitutions\n[cols=\"2e,7*^\",frame=\"topbot\",options=\"header,autowidth\"]\n|=====================================================\n| |Attributes |Callouts |Macros | Quotes |Replacements\n|Special chars |Special words\n\n|PassthroughBlock |Yes |No |Yes |No |No |No |No\n|ListingBlock |No |Yes |No |No |No |Yes |No\n|LiteralBlock |No |Yes |No |No |No |Yes |No\n|SidebarBlock |Yes |No |Yes |Yes |Yes |Yes |Yes\n|QuoteBlock |Yes |No |Yes |Yes |Yes |Yes |Yes\n|ExampleBlock |Yes |No |Yes |Yes |Yes |Yes |Yes\n|OpenBlock |Yes |No |Yes |Yes |Yes |Yes |Yes\n|=====================================================\n\nListing Blocks\n~~~~~~~~~~~~~~\n'ListingBlocks' are rendered verbatim in a monospaced font, they\nretain line and whitespace formatting and are often distinguished by a\nbackground or border. There is no text formatting or substitutions\nwithin Listing blocks apart from Special Characters and Callouts.\nListing blocks are often used for computer output and file listings.\n\nHere's an example:\n\n[listing]\n......................................\n--------------------------------------\n#include <stdio.h>\n\nint main() {\n printf(\"Hello World!\\n\");\n exit(0);\n}\n--------------------------------------\n......................................\n\nWhich will be rendered like:\n\n--------------------------------------\n#include <stdio.h>\n\nint main() {\n printf(\"Hello World!\\n\");\n exit(0);\n}\n--------------------------------------\n\nBy convention <<X59,filter blocks>> use the listing block syntax and\nare implemented as distinct listing block styles.\n\n[[X65]]\nLiteral Blocks\n~~~~~~~~~~~~~~\n'LiteralBlocks' are rendered just like <<X85,literal paragraphs>>.\nExample:\n\n---------------------------------------------------------------------\n...................................\nConsul *necessitatibus* per id,\nconsetetur, eu pro everti postulant\nhomero verear ea mea, qui.\n...................................\n---------------------------------------------------------------------\n\nRenders:\n...................................\nConsul *necessitatibus* per id,\nconsetetur, eu pro everti postulant\nhomero verear ea mea, qui.\n...................................\n\nIf the 'listing' style is applied to a LiteralBlock it will be\nrendered as a ListingBlock (this is handy if you have a listing\ncontaining a ListingBlock).\n\nSidebar Blocks\n~~~~~~~~~~~~~~\nA sidebar is a short piece of text presented outside the narrative\nflow of the main text. The sidebar is normally presented inside a\nbordered box to set it apart from the main text.\n\nThe sidebar body is treated like a normal section body.\n\nHere's an example:\n\n---------------------------------------------------------------------\n.An Example Sidebar\n************************************************\nAny AsciiDoc SectionBody element (apart from\nSidebarBlocks) can be placed inside a sidebar.\n************************************************\n---------------------------------------------------------------------\n\nWhich will be rendered like:\n\n.An Example Sidebar\n************************************************\nAny AsciiDoc SectionBody element (apart from\nSidebarBlocks) can be placed inside a sidebar.\n************************************************\n\n[[X26]]\nComment Blocks\n~~~~~~~~~~~~~~\nThe contents of 'CommentBlocks' are not processed; they are useful for\nannotations and for excluding new or outdated content that you don't\nwant displayed. CommentBlocks are never written to output files.\nExample:\n\n---------------------------------------------------------------------\n//////////////////////////////////////////\nCommentBlock contents are not processed by\nasciidoc(1).\n//////////////////////////////////////////\n---------------------------------------------------------------------\n\nSee also <<X25,Comment Lines>>.\n\nNOTE: System macros are executed inside comment blocks.\n\n[[X76]]\nPassthrough Blocks\n~~~~~~~~~~~~~~~~~~\nBy default the block contents is subject only to 'attributes' and\n'macros' substitutions (use an explicit 'subs' attribute to apply\ndifferent substitutions). PassthroughBlock content will often be\nbackend specific. Here's an example:\n\n---------------------------------------------------------------------\n[subs=\"quotes\"]\n++++++++++++++++++++++++++++++++++++++\n<table border=\"1\"><tr>\n <td>*Cell 1*</td>\n <td>*Cell 2*</td>\n</tr></table>\n++++++++++++++++++++++++++++++++++++++\n---------------------------------------------------------------------\n\nThe following styles can be applied to passthrough blocks:\n\npass::\n No substitutions are performed. This is equivalent to `subs=\"none\"`.\n\nasciimath, latexmath::\n By default no substitutions are performed, the contents are rendered\n as <<X78,mathematical formulas>>.\n\nQuote Blocks\n~~~~~~~~~~~~\n'QuoteBlocks' are used for quoted passages of text. There are two\nstyles: 'quote' and 'verse'. The style behavior is identical to\n<<X94,quote and verse paragraphs>> except that blocks can contain\nmultiple paragraphs and, in the case of the 'quote' style, other\nsection elements. The first positional attribute sets the style, if\nno attributes are specified the 'quote' style is used. The optional\n'attribution' and 'citetitle' attributes (positional attributes 2 and\n3) specify the quote's author and source. For example:\n\n---------------------------------------------------------------------\n[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]\n____________________________________________________________________\nAs he spoke there was the sharp sound of horses' hoofs and\ngrating wheels against the curb, followed by a sharp pull at the\nbell. Holmes whistled.\n\n\"A pair, by the sound,\" said he. \"Yes,\" he continued, glancing\nout of the window. \"A nice little brougham and a pair of\nbeauties. A hundred and fifty guineas apiece. There's money in\nthis case, Watson, if there is nothing else.\"\n____________________________________________________________________\n---------------------------------------------------------------------\n\nWhich is rendered as:\n\n[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]\n____________________________________________________________________\nAs he spoke there was the sharp sound of horses' hoofs and\ngrating wheels against the curb, followed by a sharp pull at the\nbell. Holmes whistled.\n\n\"A pair, by the sound,\" said he. \"Yes,\" he continued, glancing\nout of the window. \"A nice little brougham and a pair of\nbeauties. A hundred and fifty guineas apiece. There's money in\nthis case, Watson, if there is nothing else.\"\n____________________________________________________________________\n\n[[X48]]\nExample Blocks\n~~~~~~~~~~~~~~\n'ExampleBlocks' encapsulate the DocBook Example element and are used\nfor, well, examples. Example blocks can be titled by preceding them\nwith a 'BlockTitle'. DocBook toolchains will normally automatically\nnumber examples and generate a 'List of Examples' backmatter section.\n\nExample blocks are delimited by lines of equals characters and can\ncontain any block elements apart from Titles, BlockTitles and\nSidebars) inside an example block. For example:\n\n---------------------------------------------------------------------\n.An example\n=====================================================================\nQui in magna commodo, est labitur dolorum an. Est ne magna primis\nadolescens.\n=====================================================================\n---------------------------------------------------------------------\n\nRenders:\n\n.An example\n=====================================================================\nQui in magna commodo, est labitur dolorum an. Est ne magna primis\nadolescens.\n=====================================================================\n\nA title prefix that can be inserted with the `caption` attribute\n(HTML backends). For example:\n\n---------------------------------------------------------------------\n[caption=\"Example 1: \"]\n.An example with a custom caption\n=====================================================================\nQui in magna commodo, est labitur dolorum an. Est ne magna primis\nadolescens.\n=====================================================================\n---------------------------------------------------------------------\n\n[[X22]]\nAdmonition Blocks\n~~~~~~~~~~~~~~~~~\nThe 'ExampleBlock' definition includes a set of admonition\n<<X23,styles>> ('NOTE', 'TIP', 'IMPORTANT', 'WARNING', 'CAUTION') for\ngenerating admonition blocks (admonitions containing more than a\n<<X28,single paragraph>>). Just precede the 'ExampleBlock' with an\nattribute list specifying the admonition style name. For example:\n\n---------------------------------------------------------------------\n[NOTE]\n.A NOTE admonition block\n=====================================================================\nQui in magna commodo, est labitur dolorum an. Est ne magna primis\nadolescens.\n\n. Fusce euismod commodo velit.\n. Vivamus fringilla mi eu lacus.\n .. Fusce euismod commodo velit.\n .. Vivamus fringilla mi eu lacus.\n. Donec eget arcu bibendum\n nunc consequat lobortis.\n=====================================================================\n---------------------------------------------------------------------\n\nRenders:\n\n[NOTE]\n.A NOTE admonition block\n=====================================================================\nQui in magna commodo, est labitur dolorum an. Est ne magna primis\nadolescens.\n\n. Fusce euismod commodo velit.\n. Vivamus fringilla mi eu lacus.\n .. Fusce euismod commodo velit.\n .. Vivamus fringilla mi eu lacus.\n. Donec eget arcu bibendum\n nunc consequat lobortis.\n=====================================================================\n\nSee also <<X47,Admonition Icons and Captions>>.\n\n[[X29]]\nOpen Blocks\n~~~~~~~~~~~\nOpen blocks are special:\n\n- The open block delimiter is line containing two hyphen characters\n (instead of four or more repeated characters).\n\n- They can be used to group block elements for <<X15,List item\n continuation>>.\n\n- Open blocks can be styled to behave like any other type of delimited\n block. The following built-in styles can be applied to open\n blocks: 'literal', 'verse', 'quote', 'listing', 'TIP', 'NOTE',\n 'IMPORTANT', 'WARNING', 'CAUTION', 'abstract', 'partintro',\n 'comment', 'example', 'sidebar', 'source', 'music', 'latex',\n 'graphviz'. For example, the following open block and listing block\n are functionally identical:\n\n [listing]\n --\n Lorum ipsum ...\n --\n\n ---------------\n Lorum ipsum ...\n ---------------\n\n- An unstyled open block groups section elements but otherwise does\n nothing.\n\nOpen blocks are used to generate document abstracts and book part\nintroductions:\n\n- Apply the 'abstract' style to generate an abstract, for example:\n\n [abstract]\n --\n In this paper we will ...\n --\n\n. Apply the 'partintro' style to generate a book part introduction for\n a multi-part book, for example:\n\n [partintro]\n .Optional part introduction title\n --\n Optional part introduction goes here.\n --\n\n\n[[X64]]\nLists\n-----\n.List types\n- Bulleted lists. Also known as itemized or unordered lists.\n- Numbered lists. Also called ordered lists.\n- Labeled lists. Sometimes called variable or definition lists.\n- Callout lists (a list of callout annotations).\n\n.List behavior\n- List item indentation is optional and does not determine nesting,\n indentation does however make the source more readable.\n- Another list or a literal paragraph immediately following a list\n item will be implicitly included in the list item; use <<X15, list\n item continuation>> to explicitly append other block elements to a\n list item.\n- A comment block or a comment line block macro element will terminate\n a list -- use inline comment lines to put comments inside lists.\n- The `listindex` <<X60,intrinsic attribute>> is the current list item\n index (1..). If this attribute is used outside a list then it's value\n is the number of items in the most recently closed list. Useful for\n displaying the number of items in a list.\n\nBulleted Lists\n~~~~~~~~~~~~~~\nBulleted list items start with a single dash or one to five asterisks\nfollowed by some white space then some text. Bulleted list syntaxes\nare:\n\n...................\n- List item.\n* List item.\n** List item.\n*** List item.\n**** List item.\n***** List item.\n...................\n\nNumbered Lists\n~~~~~~~~~~~~~~\nList item numbers are explicit or implicit.\n\n.Explicit numbering\nList items begin with a number followed by some white space then the\nitem text. The numbers can be decimal (arabic), roman (upper or lower\ncase) or alpha (upper or lower case). Decimal and alpha numbers are\nterminated with a period, roman numbers are terminated with a closing\nparenthesis. The different terminators are necessary to ensure 'i',\n'v' and 'x' roman numbers are are distinguishable from 'x', 'v' and\n'x' alpha numbers. Examples:\n\n.....................................................................\n1. Arabic (decimal) numbered list item.\na. Lower case alpha (letter) numbered list item.\nF. Upper case alpha (letter) numbered list item.\niii) Lower case roman numbered list item.\nIX) Upper case roman numbered list item.\n.....................................................................\n\n.Implicit numbering\nList items begin one to five period characters, followed by some white\nspace then the item text. Examples:\n\n.....................................................................\n. Arabic (decimal) numbered list item.\n.. Lower case alpha (letter) numbered list item.\n... Lower case roman numbered list item.\n.... Upper case alpha (letter) numbered list item.\n..... Upper case roman numbered list item.\n.....................................................................\n\nYou can use the 'style' attribute (also the first positional\nattribute) to specify an alternative numbering style. The numbered\nlist style can be one of the following values: 'arabic', 'loweralpha',\n'upperalpha', 'lowerroman', 'upperroman'.\n\nHere are some examples of bulleted and numbered lists:\n\n---------------------------------------------------------------------\n- Praesent eget purus quis magna eleifend eleifend.\n 1. Fusce euismod commodo velit.\n a. Fusce euismod commodo velit.\n b. Vivamus fringilla mi eu lacus.\n c. Donec eget arcu bibendum nunc consequat lobortis.\n 2. Vivamus fringilla mi eu lacus.\n i) Fusce euismod commodo velit.\n ii) Vivamus fringilla mi eu lacus.\n 3. Donec eget arcu bibendum nunc consequat lobortis.\n 4. Nam fermentum mattis ante.\n- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n * Fusce euismod commodo velit.\n ** Qui in magna commodo, est labitur dolorum an. Est ne magna primis\n adolescens. Sit munere ponderum dignissim et. Minim luptatum et\n vel.\n ** Vivamus fringilla mi eu lacus.\n * Donec eget arcu bibendum nunc consequat lobortis.\n- Nulla porttitor vulputate libero.\n . Fusce euismod commodo velit.\n . Vivamus fringilla mi eu lacus.\n[upperroman]\n .. Fusce euismod commodo velit.\n .. Vivamus fringilla mi eu lacus.\n . Donec eget arcu bibendum nunc consequat lobortis.\n---------------------------------------------------------------------\n\nWhich render as:\n\n- Praesent eget purus quis magna eleifend eleifend.\n 1. Fusce euismod commodo velit.\n a. Fusce euismod commodo velit.\n b. Vivamus fringilla mi eu lacus.\n c. Donec eget arcu bibendum nunc consequat lobortis.\n 2. Vivamus fringilla mi eu lacus.\n i) Fusce euismod commodo velit.\n ii) Vivamus fringilla mi eu lacus.\n 3. Donec eget arcu bibendum nunc consequat lobortis.\n 4. Nam fermentum mattis ante.\n- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n * Fusce euismod commodo velit.\n ** Qui in magna commodo, est labitur dolorum an. Est ne magna primis\n adolescens. Sit munere ponderum dignissim et. Minim luptatum et\n vel.\n ** Vivamus fringilla mi eu lacus.\n * Donec eget arcu bibendum nunc consequat lobortis.\n- Nulla porttitor vulputate libero.\n . Fusce euismod commodo velit.\n . Vivamus fringilla mi eu lacus.\n[upperroman]\n .. Fusce euismod commodo velit.\n .. Vivamus fringilla mi eu lacus.\n . Donec eget arcu bibendum nunc consequat lobortis.\n\nA predefined 'compact' option is available to bulleted and numbered\nlists -- this translates to the DocBook 'spacing=\"compact\"' lists\nattribute which may or may not be processed by the DocBook toolchain.\nExample:\n\n [options=\"compact\"]\n - Compact list item.\n - Another compact list item.\n\nTIP: To apply the 'compact' option globally define a document-wide\n'compact-option' attribute, e.g. using the `-a compact-option`\ncommand-line option.\n\nYou can set the list start number using the 'start' attribute (works\nfor HTML outputs and DocBook outputs processed by DocBook XSL\nStylesheets). Example:\n\n [start=7]\n . List item 7.\n . List item 8.\n\nLabeled Lists\n~~~~~~~~~~~~~\nLabeled list items consist of one or more text labels followed by the\ntext of the list item.\n\nAn item label begins a line with an alphanumeric character hard\nagainst the left margin and ends with two, three or four colons or two\nsemi-colons. A list item can have multiple labels, one per line.\n\nThe list item text consists of one or more lines of text starting\nafter the last label (either on the same line or a new line) and can\nbe followed by nested List or ListParagraph elements. Item text can be\noptionally indented.\n\nHere are some examples:\n\n---------------------------------------------------------------------\nIn::\nLorem::\n Fusce euismod commodo velit.\n\n Fusce euismod commodo velit.\n\nIpsum:: Vivamus fringilla mi eu lacus.\n * Vivamus fringilla mi eu lacus.\n * Donec eget arcu bibendum nunc consequat lobortis.\nDolor::\n Donec eget arcu bibendum nunc consequat lobortis.\n Suspendisse;;\n A massa id sem aliquam auctor.\n Morbi;;\n Pretium nulla vel lorem.\n In;;\n Dictum mauris in urna.\n Vivamus::: Fringilla mi eu lacus.\n Donec::: Eget arcu bibendum nunc consequat lobortis.\n---------------------------------------------------------------------\n\nWhich render as:\n\nIn::\nLorem::\n Fusce euismod commodo velit.\n\n Fusce euismod commodo velit.\n\nIpsum:: Vivamus fringilla mi eu lacus.\n * Vivamus fringilla mi eu lacus.\n * Donec eget arcu bibendum nunc consequat lobortis.\nDolor::\n Donec eget arcu bibendum nunc consequat lobortis.\n Suspendisse;;\n A massa id sem aliquam auctor.\n Morbi;;\n Pretium nulla vel lorem.\n In;;\n Dictum mauris in urna.\n Vivamus::: Fringilla mi eu lacus.\n Donec::: Eget arcu bibendum nunc consequat lobortis.\n\nHorizontal labeled list style\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nThe 'horizontal' labeled list style (also the first positional\nattribute) places the list text side-by-side with the label instead of\nunder the label. Here is an example:\n\n---------------------------------------------------------------------\n[horizontal]\n*Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est\nlabitur dolorum an. Est ne magna primis adolescens.\n\n Fusce euismod commodo velit.\n\n*Ipsum*:: Vivamus fringilla mi eu lacus.\n- Vivamus fringilla mi eu lacus.\n- Donec eget arcu bibendum nunc consequat lobortis.\n\n*Dolor*::\n - Vivamus fringilla mi eu lacus.\n - Donec eget arcu bibendum nunc consequat lobortis.\n\n---------------------------------------------------------------------\n\nWhich render as:\n\n[horizontal]\n*Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est\nlabitur dolorum an. Est ne magna primis adolescens.\n\n Fusce euismod commodo velit.\n\n*Ipsum*:: Vivamus fringilla mi eu lacus.\n- Vivamus fringilla mi eu lacus.\n- Donec eget arcu bibendum nunc consequat lobortis.\n\n*Dolor*::\n - Vivamus fringilla mi eu lacus.\n - Donec eget arcu bibendum nunc consequat lobortis.\n\n[NOTE]\n=====================================================================\n- Current PDF toolchains do not make a good job of determining\n the relative column widths for horizontal labeled lists.\n- Nested horizontal labeled lists will generate DocBook validation\n errors because the 'DocBook XML V4.2' DTD does not permit nested\n informal tables (although <<X13,DocBook XSL Stylesheets>> and\n <<X31,dblatex>> process them correctly).\n- The label width can be set as a percentage of the total width by\n setting the 'width' attribute e.g. `width=\"10%\"`\n=====================================================================\n\nQuestion and Answer Lists\n~~~~~~~~~~~~~~~~~~~~~~~~~\nAsciiDoc comes pre-configured with a 'qanda' style labeled list for generating\nDocBook question and answer (Q&A) lists. Example:\n\n---------------------------------------------------------------------\n[qanda]\nQuestion one::\n Answer one.\nQuestion two::\n Answer two.\n---------------------------------------------------------------------\n\nRenders:\n\n[qanda]\nQuestion one::\n Answer one.\nQuestion two::\n Answer two.\n\nGlossary Lists\n~~~~~~~~~~~~~~\nAsciiDoc comes pre-configured with a 'glossary' style labeled list for\ngenerating DocBook glossary lists. Example:\n\n---------------------------------------------------------------------\n[glossary]\nA glossary term::\n The corresponding definition.\nA second glossary term::\n The corresponding definition.\n---------------------------------------------------------------------\n\nFor working examples see the `article.txt` and `book.txt` documents in\nthe AsciiDoc `./doc` distribution directory.\n\nNOTE: To generate valid DocBook output glossary lists must be located\nin a section that uses the 'glossary' <<X93,section markup template>>.\n\nBibliography Lists\n~~~~~~~~~~~~~~~~~~\nAsciiDoc comes with a predefined 'bibliography' bulleted list style\ngenerating DocBook bibliography entries. Example:\n\n---------------------------------------------------------------------\n[bibliography]\n.Optional list title\n- [[[taoup]]] Eric Steven Raymond. 'The Art of UNIX\n Programming'. Addison-Wesley. ISBN 0-13-142901-9.\n- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.\n 'DocBook - The Definitive Guide'. O'Reilly & Associates.\n 1999. ISBN 1-56592-580-7.\n---------------------------------------------------------------------\n\nThe `[[[<reference>]]]` syntax is a bibliography entry anchor, it\ngenerates an anchor named `<reference>` and additionally displays\n`[<reference>]` at the anchor position. For example `[[[taoup]]]`\ngenerates an anchor named `taoup` that displays `[taoup]` at the\nanchor position. Cite the reference from elsewhere your document using\n`<<taoup>>`, this displays a hyperlink (`[taoup]`) to the\ncorresponding bibliography entry anchor.\n\nFor working examples see the `article.txt` and `book.txt` documents in\nthe AsciiDoc `./doc` distribution directory.\n\nNOTE: To generate valid DocBook output bibliography lists must be\nlocated in a <<X93,bibliography section>>.\n\n[[X15]]\nList Item Continuation\n~~~~~~~~~~~~~~~~~~~~~~\nAnother list or a literal paragraph immediately following a list item\nis implicitly appended to the list item; to append other block\nelements to a list item you need to explicitly join them to the list\nitem with a 'list continuation' (a separator line containing a single\nplus character). Multiple block elements can be appended to a list\nitem using list continuations (provided they are legal list item\nchildren in the backend markup).\n\nHere are some examples of list item continuations: list item one\ncontains multiple continuations; list item two is continued with an\n<<X29,OpenBlock>> containing multiple elements:\n\n---------------------------------------------------------------------\n1. List item one.\n+\nList item one continued with a second paragraph followed by an\nIndented block.\n+\n.................\n$ ls *.sh\n$ mv *.sh ~/tmp\n.................\n+\nList item continued with a third paragraph.\n\n2. List item two continued with an open block.\n+\n--\nThis paragraph is part of the preceding list item.\n\na. This list is nested and does not require explicit item continuation.\n+\nThis paragraph is part of the preceding list item.\n\nb. List item b.\n\nThis paragraph belongs to item two of the outer list.\n--\n---------------------------------------------------------------------\n\nRenders:\n\n1. List item one.\n+\nList item one continued with a second paragraph followed by an\nIndented block.\n+\n.................\n$ ls *.sh\n$ mv *.sh ~/tmp\n.................\n+\nList item continued with a third paragraph.\n\n2. List item two continued with an open block.\n+\n--\nThis paragraph is part of the preceding list item.\n\na. This list is nested and does not require explicit item continuation.\n+\nThis paragraph is part of the preceding list item.\n\nb. List item b.\n\nThis paragraph belongs to item two of the outer list.\n--\n\n\n[[X92]]\nFootnotes\n---------\nThe shipped AsciiDoc configuration includes three footnote inline\nmacros:\n\n`footnote:[<text>]`::\n Generates a footnote with text `<text>`.\n\n`footnoteref:[<id>,<text>]`::\n Generates a footnote with a reference ID `<id>` and text `<text>`.\n\n`footnoteref:[<id>]`::\n Generates a reference to the footnote with ID `<id>`.\n\nThe footnote text can span multiple lines.\n\nThe 'xhtml11' and 'html5' backends render footnotes dynamically using\nJavaScript; 'html4' outputs do not use JavaScript and leave the\nfootnotes inline; 'docbook' footnotes are processed by the downstream\nDocBook toolchain.\n\nExample footnotes:\n\n A footnote footnote:[An example footnote.];\n a second footnote with a reference ID footnoteref:[note2,Second footnote.];\n finally a reference to the second footnote footnoteref:[note2].\n\nRenders:\n\nA footnote footnote:[An example footnote.];\na second footnote with a reference ID footnoteref:[note2,Second footnote.];\nfinally a reference to the second footnote footnoteref:[note2].\n\n\nIndexes\n-------\nThe shipped AsciiDoc configuration includes the inline macros for\ngenerating DocBook index entries.\n\n`indexterm:[<primary>,<secondary>,<tertiary>]`::\n`(((<primary>,<secondary>,<tertiary>)))`::\n This inline macro generates an index term (the `<secondary>` and\n `<tertiary>` positional attributes are optional). Example:\n `indexterm:[Tigers,Big cats]` (or, using the alternative syntax\n `(((Tigers,Big cats)))`. Index terms that have secondary and\n tertiary entries also generate separate index terms for the\n secondary and tertiary entries. The index terms appear in the\n index, not the primary text flow.\n\n`indexterm2:[<primary>]`::\n`((<primary>))`::\n This inline macro generates an index term that appears in both the\n index and the primary text flow. The `<primary>` should not be\n padded to the left or right with white space characters.\n\nFor working examples see the `article.txt` and `book.txt` documents in\nthe AsciiDoc `./doc` distribution directory.\n\nNOTE: Index entries only really make sense if you are generating\nDocBook markup -- DocBook conversion programs automatically generate\nan index at the point an 'Index' section appears in source document.\n\n\n[[X105]]\nCallouts\n--------\nCallouts are a mechanism for annotating verbatim text (for example:\nsource code, computer output and user input). Callout markers are\nplaced inside the annotated text while the actual annotations are\npresented in a callout list after the annotated text. Here's an\nexample:\n\n---------------------------------------------------------------------\n .MS-DOS directory listing\n -----------------------------------------------------\n 10/17/97 9:04 <DIR> bin\n 10/16/97 14:11 <DIR> DOS \\<1>\n 10/16/97 14:40 <DIR> Program Files\n 10/16/97 14:46 <DIR> TEMP\n 10/17/97 9:04 <DIR> tmp\n 10/16/97 14:37 <DIR> WINNT\n 10/16/97 14:25 119 AUTOEXEC.BAT \\<2>\n 2/13/94 6:21 54,619 COMMAND.COM \\<2>\n 10/16/97 14:25 115 CONFIG.SYS \\<2>\n 11/16/97 17:17 61,865,984 pagefile.sys\n 2/13/94 6:21 9,349 WINA20.386 \\<3>\n -----------------------------------------------------\n\n \\<1> This directory holds MS-DOS.\n \\<2> System startup code for DOS.\n \\<3> Some sort of Windows 3.1 hack.\n---------------------------------------------------------------------\n\nWhich renders:\n\n.MS-DOS directory listing\n-----------------------------------------------------\n10/17/97 9:04 <DIR> bin\n10/16/97 14:11 <DIR> DOS <1>\n10/16/97 14:40 <DIR> Program Files\n10/16/97 14:46 <DIR> TEMP\n10/17/97 9:04 <DIR> tmp\n10/16/97 14:37 <DIR> WINNT\n10/16/97 14:25 119 AUTOEXEC.BAT <2>\n 2/13/94 6:21 54,619 COMMAND.COM <2>\n10/16/97 14:25 115 CONFIG.SYS <2>\n11/16/97 17:17 61,865,984 pagefile.sys\n 2/13/94 6:21 9,349 WINA20.386 <3>\n-----------------------------------------------------\n\n<1> This directory holds MS-DOS.\n<2> System startup code for DOS.\n<3> Some sort of Windows 3.1 hack.\n\n.Explanation\n- The callout marks are whole numbers enclosed in angle brackets --\n they refer to the correspondingly numbered item in the following\n callout list.\n- By default callout marks are confined to 'LiteralParagraphs',\n 'LiteralBlocks' and 'ListingBlocks' (although this is a\n configuration file option and can be changed).\n- Callout list item numbering is fairly relaxed -- list items can\n start with `<n>`, `n>` or `>` where `n` is the optional list item\n number (in the latter case list items starting with a single `>`\n character are implicitly numbered starting at one).\n- Callout lists should not be nested.\n- Callout lists start list items hard against the left margin.\n- If you want to present a number inside angle brackets you'll need to\n escape it with a backslash to prevent it being interpreted as a\n callout mark.\n\nNOTE: Define the AsciiDoc 'icons' attribute (for example using the `-a\nicons` command-line option) to display callout icons.\n\nImplementation Notes\n~~~~~~~~~~~~~~~~~~~~\nCallout marks are generated by the 'callout' inline macro while\ncallout lists are generated using the 'callout' list definition. The\n'callout' macro and 'callout' list are special in that they work\ntogether. The 'callout' inline macro is not enabled by the normal\n'macros' substitutions option, instead it has its own 'callouts'\nsubstitution option.\n\nThe following attributes are available during inline callout macro\nsubstitution:\n\n`{index}`::\n The callout list item index inside the angle brackets.\n`{coid}`::\n An identifier formatted like `CO<listnumber>-<index>` that\n uniquely identifies the callout mark. For example `CO2-4`\n identifies the fourth callout mark in the second set of callout\n marks.\n\nThe `{coids}` attribute can be used during callout list item\nsubstitution -- it is a space delimited list of callout IDs that refer\nto the explanatory list item.\n\nIncluding callouts in included code\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nYou can annotate working code examples with callouts -- just remember\nto put the callouts inside source code comments. This example displays\nthe `test.py` source file (containing a single callout) using the\n'source' (code highlighter) filter:\n\n.AsciiDoc source\n---------------------------------------------------------------------\n [source,python]\n -------------------------------------------\n \\include::test.py[]\n -------------------------------------------\n\n \\<1> Print statement.\n---------------------------------------------------------------------\n\n.Included `test.py` source\n---------------------------------------------------------------------\nprint 'Hello World!' # \\<1>\n---------------------------------------------------------------------\n\n\nMacros\n------\nMacros are a mechanism for substituting parametrized text into output\ndocuments.\n\nMacros have a 'name', a single 'target' argument and an 'attribute\nlist'. The usual syntax is `<name>:<target>[<attrlist>]` (for\ninline macros) and `<name>::<target>[<attrlist>]` (for block\nmacros). Here are some examples:\n\n http://www.docbook.org/[DocBook.org]\n include::chapt1.txt[tabsize=2]\n mailto:srackham@gmail.com[]\n\n.Macro behavior\n- `<name>` is the macro name. It can only contain letters, digits or\n dash characters and cannot start with a dash.\n- The optional `<target>` cannot contain white space characters.\n- `<attrlist>` is a <<X21,list of attributes>> enclosed in square\n brackets.\n- `]` characters inside attribute lists must be escaped with a\n backslash.\n- Expansion of macro references can normally be escaped by prefixing a\n backslash character (see the AsciiDoc 'FAQ' for examples of\n exceptions to this rule).\n- Attribute references in block macros are expanded.\n- The substitutions performed prior to Inline macro macro expansion\n are determined by the inline context.\n- Macros are processed in the order they appear in the configuration\n file(s).\n- Calls to inline macros can be nested inside different inline macros\n (an inline macro call cannot contain a nested call to itself).\n- In addition to `<name>`, `<target>` and `<attrlist>` the\n `<passtext>` and `<subslist>` named groups are available to\n <<X77,passthrough macros>>. A macro is a passthrough macro if the\n definition includes a `<passtext>` named group.\n\nInline Macros\n~~~~~~~~~~~~~\nInline Macros occur in an inline element context. Predefined Inline\nmacros include 'URLs', 'image' and 'link' macros.\n\nURLs\n^^^^\n'http', 'https', 'ftp', 'file', 'mailto' and 'callto' URLs are\nrendered using predefined inline macros.\n\n- If you don't need a custom link caption you can enter the 'http',\n 'https', 'ftp', 'file' URLs and email addresses without any special\n macro syntax.\n- If the `<attrlist>` is empty the URL is displayed.\n\nHere are some examples:\n\n http://www.docbook.org/[DocBook.org]\n http://www.docbook.org/\n mailto:joe.bloggs@foobar.com[email Joe Bloggs]\n joe.bloggs@foobar.com\n\nWhich are rendered:\n\nhttp://www.docbook.org/[DocBook.org]\n\nhttp://www.docbook.org/\n\nmailto:joe.bloggs@foobar.com[email Joe Bloggs]\n\njoe.bloggs@foobar.com\n\nIf the `<target>` necessitates space characters use `%20`, for example\n`large%20image.png`.\n\nInternal Cross References\n^^^^^^^^^^^^^^^^^^^^^^^^^\nTwo AsciiDoc inline macros are provided for creating hypertext links\nwithin an AsciiDoc document. You can use either the standard macro\nsyntax or the (preferred) alternative.\n\n[[X30]]\nanchor\n++++++\nUsed to specify hypertext link targets:\n\n [[<id>,<xreflabel>]]\n anchor:<id>[<xreflabel>]\n\nThe `<id>` is a unique string that conforms to the output markup's\nanchor syntax. The optional `<xreflabel>` is the text to be displayed\nby captionless 'xref' macros that refer to this anchor. The optional\n`<xreflabel>` is only really useful when generating DocBook output.\nExample anchor:\n\n [[X1]]\n\nYou may have noticed that the syntax of this inline element is the\nsame as that of the <<X41,BlockId block element>>, this is no\ncoincidence since they are functionally equivalent.\n\nxref\n++++\nCreates a hypertext link to a document anchor.\n\n <<<id>,<caption>>>\n xref:<id>[<caption>]\n\nThe `<id>` refers to an anchor ID. The optional `<caption>` is the\nlink's displayed text. Example:\n\n <<X21,attribute lists>>\n\nIf `<caption>` is not specified then the displayed text is\nauto-generated:\n\n- The AsciiDoc 'xhtml11' and 'html5' backends display the `<id>`\n enclosed in square brackets.\n- If DocBook is produced the DocBook toolchain is responsible for the\n displayed text which will normally be the referenced figure, table\n or section title number followed by the element's title text.\n\nHere is an example:\n\n---------------------------------------------------------------------\n[[tiger_image]]\n.Tyger tyger\nimage::tiger.png[]\n\nThis can be seen in <<tiger_image>>.\n---------------------------------------------------------------------\n\nLinking to Local Documents\n^^^^^^^^^^^^^^^^^^^^^^^^^^\nHypertext links to files on the local file system are specified using\nthe 'link' inline macro.\n\n link:<target>[<caption>]\n\nThe 'link' macro generates relative URLs. The link macro `<target>` is\nthe target file name (relative to the file system location of the\nreferring document). The optional `<caption>` is the link's displayed\ntext. If `<caption>` is not specified then `<target>` is displayed.\nExample:\n\n link:downloads/foo.zip[download foo.zip]\n\nYou can use the `<filename>#<id>` syntax to refer to an anchor within\na target document but this usually only makes sense when targeting\nHTML documents.\n\n[[X9]]\nImages\n^^^^^^\nInline images are inserted into the output document using the 'image'\nmacro. The inline syntax is:\n\n image:<target>[<attributes>]\n\nThe contents of the image file `<target>` is displayed. To display the\nimage its file format must be supported by the target backend\napplication. HTML and DocBook applications normally support PNG or JPG\nfiles.\n\n`<target>` file name paths are relative to the location of the\nreferring document.\n\n[[X55]]\n.Image macro attributes\n- The optional 'alt' attribute is also the first positional attribute,\n it specifies alternative text which is displayed if the output\n application is unable to display the image file (see also\n http://htmlhelp.com/feature/art3.htm[Use of ALT texts in IMGs]). For\n example:\n\n image:images/logo.png[Company Logo]\n\n- The optional 'title' attribute provides a title for the image. The\n <<X49,block image macro>> renders the title alongside the image.\n The inline image macro displays the title as a popup ``tooltip'' in\n visual browsers (AsciiDoc HTML outputs only).\n\n- The optional `width` and `height` attributes scale the image size\n and can be used in any combination. The units are pixels. The\n following example scales the previous example to a height of 32\n pixels:\n\n image:images/logo.png[\"Company Logo\",height=32]\n\n- The optional `link` attribute is used to link the image to an\n external document. The following example links a screenshot\n thumbnail to a full size version:\n\n image:screen-thumbnail.png[height=32,link=\"screen.png\"]\n\n- The optional `scaledwidth` attribute is only used in DocBook block\n images (specifically for PDF documents). The following example\n scales the images to 75% of the available print width:\n\n image::images/logo.png[scaledwidth=\"75%\",alt=\"Company Logo\"]\n\n- The image `scale` attribute sets the DocBook `imagedata` element\n `scale` attribute.\n\n- The optional `align` attribute is used for horizontal image\n alignment. Allowed values are `center`, `left` and `right`. For\n example:\n\n image::images/tiger.png[\"Tiger image\",align=\"left\"]\n\n- The optional `float` attribute floats the image `left` or `right` on\n the page (works with HTML outputs only, has no effect on DocBook\n outputs). `float` and `align` attributes are mutually exclusive.\n Use the `unfloat::[]` block macro to stop floating.\n\nComment Lines\n^^^^^^^^^^^^^\nSee <<X25,comment block macro>>.\n\nBlock Macros\n~~~~~~~~~~~~\nA Block macro reference must be contained in a single line separated\neither side by a blank line or a block delimiter.\n\nBlock macros behave just like Inline macros, with the following\ndifferences:\n\n- They occur in a block context.\n- The default syntax is `<name>::<target>[<attrlist>]` (two\n colons, not one).\n- Markup template section names end in `-blockmacro` instead of\n `-inlinemacro`.\n\nBlock Identifier\n^^^^^^^^^^^^^^^^\nThe Block Identifier macro sets the `id` attribute and has the same\nsyntax as the <<X30,anchor inline macro>> since it performs\nessentially the same function -- block templates use the `id`\nattribute as a block element ID. For example:\n\n [[X30]]\n\nThis is equivalent to the `[id=\"X30\"]` <<X79,AttributeList element>>).\n\n[[X49]]\nImages\n^^^^^^\nThe 'image' block macro is used to display images in a block context.\nThe syntax is:\n\n image::<target>[<attributes>]\n\nThe block `image` macro has the same <<X55,macro attributes>> as it's\n<<X9,inline image macro>> counterpart.\n\nBlock images can be titled by preceding the 'image' macro with a\n'BlockTitle'. DocBook toolchains normally number titled block images\nand optionally list them in an automatically generated 'List of\nFigures' backmatter section.\n\nThis example:\n\n .Main circuit board\n image::images/layout.png[J14P main circuit board]\n\nis equivalent to:\n\n image::images/layout.png[\"J14P main circuit board\",\n title=\"Main circuit board\"]\n\nA title prefix that can be inserted with the `caption` attribute\n(HTML backends). For example:\n\n .Main circuit board\n [caption=\"Figure 2: \"]\n image::images/layout.png[J14P main circuit board]\n\n[[X66]]\n.Embedding images in XHTML documents\n*********************************************************************\nIf you define the `data-uri` attribute then images will be embedded in\nXHTML outputs using the\nhttp://en.wikipedia.org/wiki/Data:_URI_scheme[data URI scheme]. You\ncan use the 'data-uri' attribute with the 'xhtml11' and 'html5'\nbackends to produce single-file XHTML documents with embedded images\nand CSS, for example:\n\n $ asciidoc -a data-uri mydocument.txt\n\n[NOTE]\n======\n- All current popular browsers support data URIs, although versions\n of Internet Explorer prior to version 8 do not.\n- Some browsers limit the size of data URIs.\n======\n*********************************************************************\n\n[[X25]]\nComment Lines\n^^^^^^^^^^^^^\nSingle lines starting with two forward slashes hard up against the\nleft margin are treated as comments. Comment lines do not appear in\nthe output unless the 'showcomments' attribute is defined. Comment\nlines have been implemented as both block and inline macros so a\ncomment line can appear as a stand-alone block or within block elements\nthat support inline macro expansion. Example comment line:\n\n // This is a comment.\n\nIf the 'showcomments' attribute is defined comment lines are written\nto the output:\n\n- In DocBook the comment lines are enclosed by the 'remark' element\n (which may or may not be rendered by your toolchain).\n- The 'showcomments' attribute does not expose <<X26,Comment Blocks>>.\n Comment Blocks are never passed to the output.\n\nSystem Macros\n~~~~~~~~~~~~~\nSystem macros are block macros that perform a predefined task and are\nhardwired into the asciidoc(1) program.\n\n- You can escape system macros with a leading backslash character\n (as you can with other macros).\n- The syntax and tasks performed by system macros is built into\n asciidoc(1) so they don't appear in configuration files. You can\n however customize the syntax by adding entries to a configuration\n file `[macros]` section.\n\n[[X63]]\nInclude Macros\n^^^^^^^^^^^^^^\nThe `include` and `include1` system macros to include the contents of\na named file into the source document.\n\nThe `include` macro includes a file as if it were part of the parent\ndocument -- tabs are expanded and system macros processed. The\ncontents of `include1` files are not subject to tab expansion or\nsystem macro processing nor are attribute or lower priority\nsubstitutions performed. The `include1` macro's intended use is to\ninclude verbatim embedded CSS or scripts into configuration file\nheaders. Example:\n\n------------------------------------\n\\include::chapter1.txt[tabsize=4]\n------------------------------------\n\n.Include macro behavior\n- If the included file name is specified with a relative path then the\n path is relative to the location of the referring document.\n- Include macros can appear inside configuration files.\n- Files included from within 'DelimitedBlocks' are read to completion\n to avoid false end-of-block underline termination.\n- Attribute references are expanded inside the include 'target'; if an\n attribute is undefined then the included file is silently skipped.\n- The 'tabsize' macro attribute sets the number of space characters to\n be used for tab expansion in the included file (not applicable to\n `include1` macro).\n- The 'depth' macro attribute sets the maximum permitted number of\n subsequent nested includes (not applicable to `include1` macro which\n does not process nested includes). Setting 'depth' to '1' disables\n nesting inside the included file. By default, nesting is limited to\n a depth of ten.\n- If the he 'warnings' attribute is set to 'False' (or any other\n Python literal that evaluates to boolean false) then no warning\n message is printed if the included file does not exist. By default\n 'warnings' are enabled.\n- Internally the `include1` macro is translated to the `include1`\n system attribute which means it must be evaluated in a region where\n attribute substitution is enabled. To inhibit nested substitution in\n included files it is preferable to use the `include` macro and set\n the attribute `depth=1`.\n\nConditional Inclusion Macros\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nLines of text in the source document can be selectively included or\nexcluded from processing based on the existence (or not) of a document\nattribute.\n\nDocument text between the `ifdef` and `endif` macros is included if a\ndocument attribute is defined:\n\n ifdef::<attribute>[]\n :\n endif::<attribute>[]\n\nDocument text between the `ifndef` and `endif` macros is not included\nif a document attribute is defined:\n\n ifndef::<attribute>[]\n :\n endif::<attribute>[]\n\n`<attribute>` is an attribute name which is optional in the trailing\n`endif` macro.\n\nIf you only want to process a single line of text then the text can be\nput inside the square brackets and the `endif` macro omitted, for\nexample:\n\n ifdef::revnumber[Version number 42]\n\nIs equivalent to:\n\n ifdef::revnumber[]\n Version number 42\n endif::revnumber[]\n\n'ifdef' and 'ifndef' macros also accept multiple attribute names:\n\n- Multiple ',' separated attribute names evaluate to defined if one\n or more of the attributes is defined, otherwise it's value is\n undefined.\n- Multiple '+' separated attribute names evaluate to defined if all\n of the attributes is defined, otherwise it's value is undefined.\n\nDocument text between the `ifeval` and `endif` macros is included if\nthe Python expression inside the square brackets is true. Example:\n\n ifeval::[{rs458}==2]\n :\n endif::[]\n\n- Document attribute references are expanded before the expression is\n evaluated.\n- If an attribute reference is undefined then the expression is\n considered false.\n\nTake a look at the `*.conf` configuration files in the AsciiDoc\ndistribution for examples of conditional inclusion macro usage.\n\nExecutable system macros\n^^^^^^^^^^^^^^^^^^^^^^^^\nThe 'eval', 'sys' and 'sys2' block macros exhibit the same behavior as\ntheir same named <<X24, system attribute references>>. The difference\nis that system macros occur in a block macro context whereas system\nattributes are confined to inline contexts where attribute\nsubstitution is enabled.\n\nThe following example displays a long directory listing inside a\nliteral block:\n\n ------------------\n sys::[ls -l *.txt]\n ------------------\n\nNOTE: There are no block macro versions of the 'eval3' and 'sys3'\nsystem attributes.\n\nTemplate System Macro\n^^^^^^^^^^^^^^^^^^^^^\nThe `template` block macro allows the inclusion of one configuration\nfile template section within another. The following example includes\nthe `[admonitionblock]` section in the `[admonitionparagraph]`\nsection:\n\n [admonitionparagraph]\n template::[admonitionblock]\n\n.Template macro behavior\n- The `template::[]` macro is useful for factoring configuration file\n markup.\n- `template::[]` macros cannot be nested.\n- `template::[]` macro expansion is applied after all configuration\n files have been read.\n\n\n[[X77]]\nPassthrough macros\n~~~~~~~~~~~~~~~~~~\nPassthrough macros are analogous to <<X76,passthrough blocks>> and are\nused to pass text directly to the output. The substitution performed\non the text is determined by the macro definition but can be overridden\nby the `<subslist>`. The usual syntax is\n`<name>:<subslist>[<passtext>]` (for inline macros) and\n`<name>::<subslist>[<passtext>]` (for block macros). Passthroughs, by\ndefinition, take precedence over all other text substitutions.\n\npass::\n Inline and block. Passes text unmodified (apart from explicitly\n specified substitutions). Examples:\n\n pass:[<q>To be or not to be</q>]\n pass:attributes,quotes[<u>the '{author}'</u>]\n\nasciimath, latexmath::\n Inline and block. Passes text unmodified. Used for\n <<X78,mathematical formulas>>.\n\n\\+++::\n Inline and block. The triple-plus passthrough is functionally\n identical to the 'pass' macro but you don't have to escape `]`\n characters and you can prefix with quoted attributes in the inline\n version. Example:\n\n Red [red]+++`sum_(i=1)\\^n i=(n(n+1))/2`$+++ AsciiMathML formula\n\n$$::\n Inline and block. The double-dollar passthrough is functionally\n identical to the triple-plus passthrough with one exception: special\n characters are escaped. Example:\n\n $$`[[a,b],[c,d]]((n),(k))`$$\n\n[[X80]]`::\n Text quoted with single backtick characters constitutes an 'inline\n literal' passthrough. The enclosed text is rendered in a monospaced\n font and is only subject to special character substitution. This\n makes sense since monospace text is usually intended to be rendered\n literally and often contains characters that would otherwise have to\n be escaped. If you need monospaced text containing inline\n substitutions use a <<X81,plus character instead of a backtick>>.\n\nMacro Definitions\n~~~~~~~~~~~~~~~~~\nEach entry in the configuration `[macros]` section is a macro\ndefinition which can take one of the following forms:\n\n`<pattern>=<name>[<subslist]`:: Inline macro definition.\n`<pattern>=#<name>[<subslist]`:: Block macro definition.\n`<pattern>=+<name>[<subslist]`:: System macro definition.\n`<pattern>`:: Delete the existing macro with this `<pattern>`.\n\n`<pattern>` is a Python regular expression and `<name>` is the name of\na markup template. If `<name>` is omitted then it is the value of the\nregular expression match group named 'name'. The optional\n`[<subslist]` is a comma-separated list of substitution names enclosed\nin `[]` brackets, it sets the default substitutions for passthrough\ntext, if omitted then no passthrough substitutions are performed.\n\n.Pattern named groups\nThe following named groups can be used in macro `<pattern>` regular\nexpressions and are available as markup template attributes:\n\nname::\n The macro name.\n\ntarget::\n The macro target.\n\nattrlist::\n The macro attribute list.\n\npasstext::\n Contents of this group are passed unmodified to the output subject\n only to 'subslist' substitutions.\n\nsubslist::\n Processed as a comma-separated list of substitution names for\n 'passtext' substitution, overrides the the macro definition\n 'subslist'.\n\n.Here's what happens during macro substitution\n- Each contextually relevant macro 'pattern' from the `[macros]`\n section is matched against the input source line.\n- If a match is found the text to be substituted is loaded from a\n configuration markup template section named like\n `<name>-inlinemacro` or `<name>-blockmacro` (depending on the macro\n type).\n- Global and macro attribute list attributes are substituted in the\n macro's markup template.\n- The substituted template replaces the macro reference in the output\n document.\n\n\n[[X98]]\nHTML 5 audio and video block macros\n-----------------------------------\nThe 'html5' backend 'audio' and 'video' block macros generate the HTML\n5 'audio' and 'video' elements respectively. They follow the usual\nAsciiDoc block macro syntax `<name>::<target>[<attrlist>]` where:\n\n[horizontal]\n`<name>`:: 'audio' or 'video'.\n`<target>`:: The URL or file name of the video or audio file.\n`<attrlist>`:: A list of named attributes (see below).\n\n.Audio macro attributes\n[options=\"header\",cols=\"1,5\",frame=\"topbot\"]\n|====================================================================\n|Name | Value\n|options\n|A comma separated list of one or more of the following items:\n'autoplay', 'loop' which correspond to the same-named HTML 5 'audio'\nelement boolean attributes. By default the player 'controls' are\nenabled, include the 'nocontrols' option value to hide them.\n|====================================================================\n\n.Video macro attributes\n[options=\"header\",cols=\"1,5\",frame=\"topbot\"]\n|====================================================================\n|Name | Value\n|height | The height of the player in pixels.\n|width | The width of the player in pixels.\n|poster | The URL or file name of an image representing the video.\n|options\n|A comma separated list of one or more of the following items:\n'autoplay', 'loop' and 'nocontrols'. The 'autoplay' and 'loop' options\ncorrespond to the same-named HTML 5 'video' element boolean\nattributes. By default the player 'controls' are enabled, include the\n'nocontrols' option value to hide them.\n|====================================================================\n\nExamples:\n\n---------------------------------------------------------------------\naudio::images/example.ogg[]\n\nvideo::gizmo.ogv[width=200,options=\"nocontrols,autoplay\"]\n\n.Example video\nvideo::gizmo.ogv[]\n\nvideo::http://www.808.dk/pics/video/gizmo.ogv[]\n---------------------------------------------------------------------\n\nIf your needs are more complex put raw HTML 5 in a markup block, for\nexample (from http://www.808.dk/?code-html-5-video):\n\n---------------------------------------------------------------------\n++++\n<video poster=\"pics/video/gizmo.jpg\" id=\"video\" style=\"cursor: pointer;\" >\n <source src=\"pics/video/gizmo.mp4\" />\n <source src=\"pics/video/gizmo.webm\" type=\"video/webm\" />\n <source src=\"pics/video/gizmo.ogv\" type=\"video/ogg\" />\n Video not playing? <a href=\"pics/video/gizmo.mp4\">Download file</a> instead.\n</video>\n\n<script type=\"text/javascript\">\n var video = document.getElementById('video');\n video.addEventListener('click',function(){\n video.play();\n },false);\n</script>\n++++\n---------------------------------------------------------------------\n\n\nTables\n------\nThe AsciiDoc table syntax looks and behaves like other delimited block\ntypes and supports standard <<X73,block configuration entries>>.\nFormatting is easy to read and, just as importantly, easy to enter.\n\n- Cells and columns can be formatted using built-in customizable styles.\n- Horizontal and vertical cell alignment can be set on columns and\n cell.\n- Horizontal and vertical cell spanning is supported.\n\n.Use tables sparingly\n*********************************************************************\nWhen technical users first start creating documents, tables (complete\nwith column spanning and table nesting) are often considered very\nimportant. The reality is that tables are seldom used, even in\ntechnical documentation.\n\nTry this exercise: thumb through your library of technical books,\nyou'll be surprised just how seldom tables are actually used, even\nless seldom are tables containing block elements (such as paragraphs\nor lists) or spanned cells. This is no accident, like figures, tables\nare outside the normal document flow -- tables are for consulting not\nfor reading.\n\nTables are designed for, and should normally only be used for,\ndisplaying column oriented tabular data.\n*********************************************************************\n\nExample tables\n~~~~~~~~~~~~~~\n\n.Simple table\n[width=\"15%\"]\n|=======\n|1 |2 |A\n|3 |4 |B\n|5 |6 |C\n|=======\n\n.AsciiDoc source\n---------------------------------------------------------------------\n[width=\"15%\"]\n|=======\n|1 |2 |A\n|3 |4 |B\n|5 |6 |C\n|=======\n---------------------------------------------------------------------\n\n.Columns formatted with strong, monospaced and emphasis styles\n[width=\"50%\",cols=\">s,^m,e\",frame=\"topbot\",options=\"header,footer\"]\n|==========================\n| 2+|Columns 2 and 3\n|1 |Item 1 |Item 1\n|2 |Item 2 |Item 2\n|3 |Item 3 |Item 3\n|4 |Item 4 |Item 4\n|footer 1|footer 2|footer 3\n|==========================\n\n.AsciiDoc source\n---------------------------------------------------------------------\n.An example table\n[width=\"50%\",cols=\">s,^m,e\",frame=\"topbot\",options=\"header,footer\"]\n|==========================\n| 2+|Columns 2 and 3\n|1 |Item 1 |Item 1\n|2 |Item 2 |Item 2\n|3 |Item 3 |Item 3\n|4 |Item 4 |Item 4\n|footer 1|footer 2|footer 3\n|==========================\n---------------------------------------------------------------------\n\n.Horizontal and vertical source data\n[width=\"80%\",cols=\"3,^2,^2,10\",options=\"header\"]\n|=========================================================\n|Date |Duration |Avg HR |Notes\n\n|22-Aug-08 |10:24 | 157 |\nWorked out MSHR (max sustainable heart rate) by going hard\nfor this interval.\n\n|22-Aug-08 |23:03 | 152 |\nBack-to-back with previous interval.\n\n|24-Aug-08 |40:00 | 145 |\nModerately hard interspersed with 3x 3min intervals (2min\nhard + 1min really hard taking the HR up to 160).\n\n|=========================================================\n\nShort cells can be entered horizontally, longer cells vertically. The\ndefault behavior is to strip leading and trailing blank lines within a\ncell. These characteristics aid readability and data entry.\n\n.AsciiDoc source\n---------------------------------------------------------------------\n.Windtrainer workouts\n[width=\"80%\",cols=\"3,^2,^2,10\",options=\"header\"]\n|=========================================================\n|Date |Duration |Avg HR |Notes\n\n|22-Aug-08 |10:24 | 157 |\nWorked out MSHR (max sustainable heart rate) by going hard\nfor this interval.\n\n|22-Aug-08 |23:03 | 152 |\nBack-to-back with previous interval.\n\n|24-Aug-08 |40:00 | 145 |\nModerately hard interspersed with 3x 3min intervals (2min\nhard + 1min really hard taking the HR up to 160).\n\n|=========================================================\n---------------------------------------------------------------------\n\n.A table with externally sourced CSV data\n[format=\"csv\",cols=\"^1,4*2\",options=\"header\"]\n|===================================================\nID,Customer Name,Contact Name,Customer Address,Phone\ninclude::customers.csv[]\n|===================================================\n\n.AsciiDoc source\n---------------------------------------------------------------------\n[format=\"csv\",cols=\"^1,4*2\",options=\"header\"]\n|===================================================\nID,Customer Name,Contact Name,Customer Address,Phone\n\\include::customers.csv[]\n|===================================================\n---------------------------------------------------------------------\n\n\n.Cell spans, alignments and styles\n[cols=\"e,m,^,>s\",width=\"25%\"]\n|============================\n|1 >s|2 |3 |4\n^|5 2.2+^.^|6 .3+<.>m|7\n^|8\n|9 2+>|10\n|============================\n\n.AsciiDoc source\n---------------------------------------------------------------------\n[cols=\"e,m,^,>s\",width=\"25%\"]\n|============================\n|1 >s|2 |3 |4\n^|5 2.2+^.^|6 .3+<.>m|7\n^|8\n|9 2+>|10\n|============================\n---------------------------------------------------------------------\n\n[[X68]]\nTable input data formats\n~~~~~~~~~~~~~~~~~~~~~~~~\nAsciiDoc table data can be 'psv', 'dsv' or 'csv' formatted. The\ndefault table format is 'psv'.\n\nAsciiDoc 'psv' ('Prefix Separated Values') and 'dsv' ('Delimiter\nSeparated Values') formats are cell oriented -- the table is treated\nas a sequence of cells -- there are no explicit row separators.\n\n- 'psv' prefixes each cell with a separator whereas 'dsv' delimits\n cells with a separator.\n- 'psv' and 'dsv' separators are Python regular expressions.\n- The default 'psv' separator contains <<X84, cell specifier>> related\n named regular expression groups.\n- The default 'dsv' separator is `:|\\n` (a colon or a new line\n character).\n- 'psv' and 'dsv' cell separators can be escaped by preceding them\n with a backslash character.\n\nHere are four 'psv' cells (the second item spans two columns; the\nlast contains an escaped separator):\n\n |One 2+|Two and three |A \\| separator character\n\n'csv' is the quasi-standard row oriented 'Comma Separated Values\n(CSV)' format commonly used to import and export spreadsheet and\ndatabase data.\n\n[[X69]]\nTable attributes\n~~~~~~~~~~~~~~~~\nTables can be customized by the following attributes:\n\nformat::\n'psv' (default), 'dsv' or 'csv' (See <<X68, Table Data Formats>>).\n\nseparator::\nThe cell separator. A Python regular expression ('psv' and 'dsv'\nformats) or a single character ('csv' format).\n\nframe::\nDefines the table border and can take the following values: 'topbot'\n(top and bottom), 'all' (all sides), 'none' and 'sides' (left and\nright sides). The default value is 'all'.\n\ngrid::\nDefines which ruler lines are drawn between table rows and columns.\nThe 'grid' attribute value can be any of the following values: 'none',\n'cols', 'rows' and 'all'. The default value is 'all'.\n\nalign::\nUse the 'align' attribute to horizontally align the table on the\npage (works with HTML outputs only, has no effect on DocBook outputs).\nThe following values are valid: 'left', 'right', and 'center'.\n\nfloat::\nUse the 'float' attribute to float the table 'left' or 'right' on the\npage (works with HTML outputs only, has no effect on DocBook outputs).\nFloating only makes sense in conjunction with a table 'width'\nattribute value of less than 100% (otherwise the table will take up\nall the available space). 'float' and 'align' attributes are mutually\nexclusive. Use the `unfloat::[]` block macro to stop floating.\n\nhalign::\nUse the 'halign' attribute to horizontally align all cells in a table.\nThe following values are valid: 'left', 'right', and 'center'\n(defaults to 'left'). Overridden by <<X70,Column specifiers>> and\n<<X84,Cell specifiers>>.\n\nvalign::\nUse the 'valign' attribute to vertically align all cells in a table.\nThe following values are valid: 'top', 'bottom', and 'middle'\n(defaults to 'top'). Overridden by <<X70,Column specifiers>> and\n<<X84,Cell specifiers>>.\n\noptions::\nThe 'options' attribute can contain comma separated values, for\nexample: 'header', 'footer'. By default header and footer rows are\nomitted. See <<X74,attribute options>> for a complete list of\navailable table options.\n\ncols::\nThe 'cols' attribute is a comma separated list of <<X70,column\nspecifiers>>. For example `cols=\"2<p,2*,4p,>\"`.\n\n- If 'cols' is present it must specify all columns.\n- If the 'cols' attribute is not specified the number of columns is\n calculated as the number of data items in the *first line* of the\n table.\n- The degenerate form for the 'cols' attribute is an integer\n specifying the number of columns e.g. `cols=4`.\n\nwidth::\nThe 'width' attribute is expressed as a percentage value\n('\"1%\"'...'\"99%\"'). The width specifies the table width relative to\nthe available width. HTML backends use this value to set the table\nwidth attribute. It's a bit more complicated with DocBook, see the\n<<X89,DocBook table widths>> sidebar.\n\nfilter::\nThe 'filter' attribute defines an external shell command that is\ninvoked for each cell. The built-in 'asciidoc' table style is\nimplemented using a filter.\n\n[[X89]]\n.DocBook table widths\n**********************************************************************\nThe AsciiDoc docbook backend generates CALS tables. CALS tables do not\nsupport a table width attribute -- table width can only be controlled\nby specifying absolute column widths.\n\nSpecifying absolute column widths is not media independent because\ndifferent presentation media have different physical dimensions. To\nget round this limitation both\nhttp://www.sagehill.net/docbookxsl/Tables.html#TableWidth[DocBook XSL\nStylesheets] and\nhttp://dblatex.sourceforge.net/doc/manual/ch03s05.html#sec-table-width[dblatex]\nhave implemented table width processing instructions for setting the\ntable width as a percentage of the available width. AsciiDoc emits\nthese processing instructions if the 'width' attribute is set along\nwith proportional column widths (the AsciiDoc docbook backend\n'pageunits' attribute defaults to '*').\n\nTo generate DocBook tables with absolute column widths set the\n'pageunits' attribute to a CALS absolute unit such as 'pt' and set the\n'pagewidth' attribute to match the width of the presentation media.\n**********************************************************************\n\n[[X70]]\nColumn Specifiers\n~~~~~~~~~~~~~~~~~\nColumn specifiers define how columns are rendered and appear in the\ntable <<X69,cols attribute>>. A column specifier consists of an\noptional column multiplier followed by optional alignment, width and\nstyle values and is formatted like:\n\n [<multiplier>*][<align>][<width>][<style>]\n\n- All components are optional. The multiplier must be first and the\n style last. The order of `<align>` or `<width>` is not important.\n- Column `<width>` can be either an integer proportional value (1...)\n or a percentage (1%...100%). The default value is 1. To ensure\n portability across different backends, there is no provision for\n absolute column widths (not to be confused with output column width\n <<X72,markup attributes>> which are available in both percentage and\n absolute units).\n- The '<align>' column alignment specifier is formatted like:\n\n [<horizontal>][.<vertical>]\n+\nWhere `<horizontal>` and `<vertical>` are one of the following\ncharacters: `<`, `^` or `>` which represent 'left', 'center' and\n'right' horizontal alignment or 'top', 'middle' and 'bottom' vertical\nalignment respectively.\n\n- A `<multiplier>` can be used to specify repeated columns e.g.\n `cols=\"4*<\"` specifies four left-justified columns. The default\n multiplier value is 1.\n- The `<style>` name specifies a <<X71,table style>> to used to markup\n column cells (you can use the full style names if you wish but the\n first letter is normally sufficient).\n- Column specific styles are not applied to header rows.\n\n[[X84]]\nCell Specifiers\n~~~~~~~~~~~~~~~\nCell specifiers allow individual cells in 'psv' formatted tables to be\nspanned, multiplied, aligned and styled. Cell specifiers prefix 'psv'\n`|` delimiters and are formatted like:\n\n [<span>*|+][<align>][<style>]\n\n- '<span>' specifies horizontal and vertical cell spans ('+' operator) or\n the number of times the cell is replicated ('*' operator). '<span>'\n is formatted like:\n\n [<colspan>][.<rowspan>]\n+\nWhere `<colspan>` and `<rowspan>` are integers specifying the number of\ncolumns and rows to span.\n\n- `<align>` specifies horizontal and vertical cell alignment an is the\n same as in <<X70,column specifiers>>.\n- A `<style>` value is the first letter of <<X71,table style>> name.\n\nFor example, the following 'psv' formatted cell will span two columns\nand the text will be centered and emphasized:\n\n `2+^e| Cell text`\n\n[[X71]]\nTable styles\n~~~~~~~~~~~~\nTable styles can be applied to the entire table (by setting the\n'style' attribute in the table's attribute list) or on a per column\nbasis (by specifying the style in the table's <<X69,cols attribute>>).\nTable data can be formatted using the following predefined styles:\n\ndefault::\nThe default style: AsciiDoc inline text formatting; blank lines are\ntreated as paragraph breaks.\n\nemphasis::\nLike default but all text is emphasised.\n\nmonospaced::\nLike default but all text is in a monospaced font.\n\nstrong::\nLike default but all text is bold.\n\nheader::\nApply the same style as the table header. Normally used to create a\nvertical header in the first column.\n\nasciidoc::\nWith this style table cells can contain any of the AsciiDoc elements\nthat are allowed inside document sections. This style runs asciidoc(1)\nas a filter to process cell contents. See also <<X83,Docbook table\nlimitations>>.\n\nliteral::\nNo text formatting; monospaced font; all line breaks are retained\n(the same as the AsciiDoc <<X65,LiteralBlock>> element).\n\nverse::\nAll line breaks are retained (just like the AsciiDoc <<X94,verse\nparagraph style>>).\n\n[[X72]]\nMarkup attributes\n~~~~~~~~~~~~~~~~~\nAsciiDoc makes a number of attributes available to table markup\ntemplates and tags. Column specific attributes are available when\nsubstituting the 'colspec' cell data tags.\n\npageunits::\nDocBook backend only. Specifies table column absolute width units.\nDefaults to '*'.\n\npagewidth::\nDocBook backend only. The nominal output page width in 'pageunit'\nunits. Used to calculate CALS tables absolute column and table\nwidths. Defaults to '425'.\n\ntableabswidth::\nInteger value calculated from 'width' and 'pagewidth' attributes.\nIn 'pageunit' units.\n\ntablepcwidth::\nTable width expressed as a percentage of the available width. Integer\nvalue (0..100).\n\ncolabswidth::\nInteger value calculated from 'cols' column width, 'width' and\n'pagewidth' attributes. In 'pageunit' units.\n\ncolpcwidth::\nColumn width expressed as a percentage of the table width. Integer\nvalue (0..100).\n\ncolcount::\nTotal number of table columns.\n\nrowcount::\nTotal number of table rows.\n\nhalign::\nHorizontal cell content alignment: 'left', 'right' or 'center'.\n\nvalign::\nVertical cell content alignment: 'top', 'bottom' or 'middle'.\n\ncolnumber, colstart::\nThe number of the leftmost column occupied by the cell (1...).\n\ncolend::\nThe number of the rightmost column occupied by the cell (1...).\n\ncolspan::\nNumber of columns the cell should span.\n\nrowspan::\nNumber of rows the cell should span (1...).\n\nmorerows::\nNumber of additional rows the cell should span (0...).\n\nNested tables\n~~~~~~~~~~~~~\nAn alternative 'psv' separator character '!' can be used (instead of\n'|') in nested tables. This allows a single level of table nesting.\nColumns containing nested tables must use the 'asciidoc' style. An\nexample can be found in `./examples/website/newtables.txt`.\n\n[[X83]]\nDocBook table limitations\n~~~~~~~~~~~~~~~~~~~~~~~~~\nFully implementing tables is not trivial, some DocBook toolchains do\nbetter than others. AsciiDoc HTML table outputs are rendered\ncorrectly in all the popular browsers -- if your DocBook generated\ntables don't look right compare them with the output generated by the\nAsciiDoc 'xhtml11' backend or try a different DocBook toolchain. Here\nis a list of things to be aware of:\n\n- Although nested tables are not legal in DocBook 4 the FOP and\n dblatex toolchains will process them correctly. If you use `a2x(1)`\n you will need to include the `--no-xmllint` option to suppress\n DocBook validation errors.\n+\nNOTE: In theory you can nest DocBook 4 tables one level using the\n'entrytbl' element, but not all toolchains process 'entrytbl'.\n\n- DocBook only allows a subset of block elements inside table cells so\n not all AsciiDoc elements produce valid DocBook inside table cells.\n If you get validation errors running `a2x(1)` try the `--no-xmllint`\n option, toolchains will often process nested block elements such as\n sidebar blocks and floating titles correctly even though, strictly\n speaking, they are not legal.\n\n- Text formatting in cells using the 'monospaced' table style will\n raise validation errors because the DocBook 'literal' element was\n not designed to support formatted text (using the 'literal' element\n is a kludge on the part of AsciiDoc as there is no easy way to set\n the font style in DocBook.\n\n- Cell alignments are ignored for 'verse', 'literal' or 'asciidoc'\n table styles.\n\n\n[[X1]]\nManpage Documents\n-----------------\nSooner or later, if you program in a UNIX environment, you're going\nto have to write a man page.\n\nBy observing a couple of additional conventions (detailed below) you\ncan write AsciiDoc files that will generate HTML and PDF man pages\nplus the native manpage roff format. The easiest way to generate roff\nmanpages from AsciiDoc source is to use the a2x(1) command. The\nfollowing example generates a roff formatted manpage file called\n`asciidoc.1` (a2x(1) uses asciidoc(1) to convert `asciidoc.1.txt` to\nDocBook which it then converts to roff using DocBook XSL Stylesheets):\n\n a2x --doctype manpage --format manpage asciidoc.1.txt\n\n.Viewing and printing manpage files\n**********************************************************************\nUse the `man(1)` command to view the manpage file:\n\n $ man -l asciidoc.1\n\nTo print a high quality man page to a postscript printer:\n\n $ man -l -Tps asciidoc.1 | lpr\n\nYou could also create a PDF version of the man page by converting\nPostScript to PDF using `ps2pdf(1)`:\n\n $ man -l -Tps asciidoc.1 | ps2pdf - asciidoc.1.pdf\n\nThe `ps2pdf(1)` command is included in the Ghostscript distribution.\n**********************************************************************\n\nTo find out more about man pages view the `man(7)` manpage\n(`man 7 man` and `man man-pages` commands).\n\n\nDocument Header\n~~~~~~~~~~~~~~~\nA manpage document Header is mandatory. The title line contains the\nman page name followed immediately by the manual section number in\nbrackets, for example 'ASCIIDOC(1)'. The title name should not contain\nwhite space and the manual section number is a single digit optionally\nfollowed by a single character.\n\nThe NAME Section\n~~~~~~~~~~~~~~~~\nThe first manpage section is mandatory, must be titled 'NAME' and must\ncontain a single paragraph (usually a single line) consisting of a\nlist of one or more comma separated command name(s) separated from the\ncommand purpose by a dash character. The dash must have at least one\nwhite space character on either side. For example:\n\n printf, fprintf, sprintf - print formatted output\n\nThe SYNOPSIS Section\n~~~~~~~~~~~~~~~~~~~~\nThe second manpage section is mandatory and must be titled 'SYNOPSIS'.\n\nrefmiscinfo attributes\n~~~~~~~~~~~~~~~~~~~~~~\nIn addition to the automatically created man page <<X60,intrinsic\nattributes>> you can assign DocBook\nhttp://www.docbook.org/tdg5/en/html/refmiscinfo.html[refmiscinfo]\nelement 'source', 'version' and 'manual' values using AsciiDoc\n`{mansource}`, `{manversion}` and `{manmanual}` attributes\nrespectively. This example is from the AsciiDoc header of a man page\nsource file:\n\n :man source: AsciiDoc\n :man version: {revnumber}\n :man manual: AsciiDoc Manual\n\n\n[[X78]]\nMathematical Formulas\n---------------------\nThe 'asciimath' and 'latexmath' <<X77,passthrough macros>> along with\n'asciimath' and 'latexmath' <<X76,passthrough blocks>> provide a\n(backend dependent) mechanism for rendering mathematical formulas. You\ncan use the following math markups:\n\nNOTE: The 'latexmath' macro used to include 'LaTeX Math' in DocBook\noutputs is not the same as the 'latexmath' macro used to include\n'LaTeX MathML' in XHTML outputs. 'LaTeX Math' applies to DocBook\noutputs that are processed by <<X31,dblatex>> and is normally used to\ngenerate PDF files. 'LaTeXMathML' is very much a subset of 'LaTeX\nMath' and applies to XHTML documents.\n\nLaTeX Math\n~~~~~~~~~~\nftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf[LaTeX\nmath] can be included in documents that are processed by\n<<X31,dblatex(1)>>. Example inline formula:\n\n latexmath:[$C = \\alpha + \\beta Y^{\\gamma} + \\epsilon$]\n\nFor more examples see the {website}[AsciiDoc website] or the\ndistributed `doc/latexmath.txt` file.\n\nASCIIMathML\n~~~~~~~~~~~\n/////////////////////////////////////////////////////////////////////\nThe older ASCIIMathML 1.47 version is used instead of version 2\nbecause:\n\n1. Version 2 doesn't work when embedded.\n2. Version 2 is much larger.\n/////////////////////////////////////////////////////////////////////\n\nhttp://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML]\nformulas can be included in XHTML documents generated using the\n'xhtml11' and 'html5' backends. To enable ASCIIMathML support you must\ndefine the 'asciimath' attribute, for example using the `-a asciimath`\ncommand-line option. Example inline formula:\n\n asciimath:[`x/x={(1,if x!=0),(text{undefined},if x=0):}`]\n\nFor more examples see the {website}[AsciiDoc website] or the\ndistributed `doc/asciimathml.txt` file.\n\nLaTeXMathML\n~~~~~~~~~~~\n/////////////////////////////////////////////////////////////////////\nThere is an http://math.etsu.edu/LaTeXMathML/[extended LaTeXMathML\nversion] by Jeff Knisley, in addition to a JavaScript file it requires\nthe inclusion of a CSS file.\n/////////////////////////////////////////////////////////////////////\n\n'LaTeXMathML' allows LaTeX Math style formulas to be included in XHTML\ndocuments generated using the AsciiDoc 'xhtml11' and 'html5' backends.\nAsciiDoc uses the\nhttp://www.maths.nottingham.ac.uk/personal/drw/lm.html[original\nLaTeXMathML] by Douglas Woodall. 'LaTeXMathML' is derived from\nASCIIMathML and is for users who are more familiar with or prefer\nusing LaTeX math formulas (it recognizes a subset of LaTeX Math, the\ndifferences are documented on the 'LaTeXMathML' web page). To enable\nLaTeXMathML support you must define the 'latexmath' attribute, for\nexample using the `-a latexmath` command-line option. Example inline\nformula:\n\n latexmath:[$\\sum_{n=1}^\\infty \\frac{1}{2^n}$]\n\nFor more examples see the {website}[AsciiDoc website] or the\ndistributed `doc/latexmathml.txt` file.\n\nMathML\n~~~~~~\nhttp://www.w3.org/Math/[MathML] is a low level XML markup for\nmathematics. AsciiDoc has no macros for MathML but users familiar with\nthis markup could use passthrough macros and passthrough blocks to\ninclude MathML in output documents.\n\n\n[[X7]]\nConfiguration Files\n-------------------\nAsciiDoc source file syntax and output file markup is largely\ncontrolled by a set of cascading, text based, configuration files. At\nruntime The AsciiDoc default configuration files are combined with\noptional user and document specific configuration files.\n\nConfiguration File Format\n~~~~~~~~~~~~~~~~~~~~~~~~~\nConfiguration files contain named sections. Each section begins with a\nsection name in square brackets []. The section body consists of the\nlines of text between adjacent section headings.\n\n- Section names consist of one or more alphanumeric, underscore or\n dash characters and cannot begin or end with a dash.\n- Lines starting with a '#' character are treated as comments and\n ignored.\n- If the section name is prefixed with a '+' character then the\n section contents is appended to the contents of an already existing\n same-named section.\n- Otherwise same-named sections and section entries override\n previously loaded sections and section entries (this is sometimes\n referred to as 'cascading'). Consequently, downstream configuration\n files need only contain those sections and section entries that need\n to be overridden.\n\nTIP: When creating custom configuration files you only need to include\nthe sections and entries that differ from the default configuration.\n\nTIP: The best way to learn about configuration files is to read the\ndefault configuration files in the AsciiDoc distribution in\nconjunction with asciidoc(1) output files. You can view configuration\nfile load sequence by turning on the asciidoc(1) `-v` (`--verbose`)\ncommand-line option.\n\nAsciiDoc reserves the following section names for specific purposes:\n\nmiscellaneous::\n Configuration options that don't belong anywhere else.\nattributes::\n Attribute name/value entries.\nspecialcharacters::\n Special characters reserved by the backend markup.\ntags::\n Backend markup tags.\nquotes::\n Definitions for quoted inline character formatting.\nspecialwords::\n Lists of words and phrases singled out for special markup.\nreplacements, replacements2, replacements3::\n Find and replace substitution definitions.\nspecialsections::\n Used to single out special section names for specific markup.\nmacros::\n Macro syntax definitions.\ntitles::\n Heading, section and block title definitions.\nparadef-*::\n Paragraph element definitions.\nblockdef-*::\n DelimitedBlock element definitions.\nlistdef-*::\n List element definitions.\nlisttags-*::\n List element tag definitions.\ntabledef-*::\n Table element definitions.\ntabletags-*::\n Table element tag definitions.\n\nEach line of text in these sections is a 'section entry'. Section\nentries share the following syntax:\n\nname=value::\n The entry value is set to value.\nname=::\n The entry value is set to a zero length string.\nname!::\n The entry is undefined (deleted from the configuration). This\n syntax only applies to 'attributes' and 'miscellaneous'\n sections.\n\n.Section entry behavior\n- All equals characters inside the `name` must be escaped with a\n backslash character.\n- `name` and `value` are stripped of leading and trailing white space.\n- Attribute names, tag entry names and markup template section names\n consist of one or more alphanumeric, underscore or dash characters.\n Names should not begin or end with a dash.\n- A blank configuration file section (one without any entries) deletes\n any preceding section with the same name (applies to non-markup\n template sections).\n\n\nMiscellaneous section\n~~~~~~~~~~~~~~~~~~~~~\nThe optional `[miscellaneous]` section specifies the following\n`name=value` options:\n\nnewline::\n Output file line termination characters. Can include any\n valid Python string escape sequences. The default value is\n `\\r\\n` (carriage return, line feed). Should not be quoted or\n contain explicit spaces (use `\\x20` instead). For example:\n\n $ asciidoc -a 'newline=\\n' -b docbook mydoc.txt\n\noutfilesuffix::\n The default extension for the output file, for example\n `outfilesuffix=.html`. Defaults to backend name.\ntabsize::\n The number of spaces to expand tab characters, for example\n `tabsize=4`. Defaults to 8. A 'tabsize' of zero suppresses tab\n expansion (useful when piping included files through block\n filters). Included files can override this option using the\n 'tabsize' attribute.\npagewidth, pageunits::\n These global table related options are documented in the\n <<X4,Table Configuration File Definitions>> sub-section.\n\nNOTE: `[miscellaneous]` configuration file entries can be set using\nthe asciidoc(1) `-a` (`--attribute`) command-line option.\n\nTitles section\n~~~~~~~~~~~~~~\nsectiontitle::\n Two line section title pattern. The entry value is a Python\n regular expression containing the named group 'title'.\n\nunderlines::\n A comma separated list of document and section title underline\n character pairs starting with the section level 0 and ending\n with section level 4 underline. The default setting is:\n\n underlines=\"==\",\"--\",\"~~\",\"^^\",\"++\"\n\nsect0...sect4::\n One line section title patterns. The entry value is a Python\n regular expression containing the named group 'title'.\n\nblocktitle::\n <<X42,BlockTitle element>> pattern. The entry value is a\n Python regular expression containing the named group 'title'.\n\nsubs::\n A comma separated list of substitutions that are performed on\n the document header and section titles. Defaults to 'normal'\n substitution.\n\nTags section\n~~~~~~~~~~~~\nThe `[tags]` section contains backend tag definitions (one per\nline). Tags are used to translate AsciiDoc elements to backend\nmarkup.\n\nAn AsciiDoc tag definition is formatted like\n`<tagname>=<starttag>|<endtag>`. For example:\n\n emphasis=<em>|</em>\n\nIn this example asciidoc(1) replaces the | character with the\nemphasized text from the AsciiDoc input file and writes the result to\nthe output file.\n\nUse the `{brvbar}` attribute reference if you need to include a | pipe\ncharacter inside tag text.\n\nAttributes section\n~~~~~~~~~~~~~~~~~~\nThe optional `[attributes]` section contains predefined attributes.\n\nIf the attribute value requires leading or trailing spaces then the\ntext text should be enclosed in quotation mark (\") characters.\n\nTo delete a attribute insert a `name!` entry in a downstream\nconfiguration file or use the asciidoc(1) `--attribute name!`\ncommand-line option (an attribute name suffixed with a `!` character\ndeletes the attribute)\n\nSpecial Characters section\n~~~~~~~~~~~~~~~~~~~~~~~~~~\nThe `[specialcharacters]` section specifies how to escape characters\nreserved by the backend markup. Each translation is specified on a\nsingle line formatted like:\n\n <special_character>=<translated_characters>\n\nSpecial characters are normally confined to those that resolve\nmarkup ambiguity (in the case of HTML and XML markups the ampersand,\nless than and greater than characters). The following example causes\nall occurrences of the `<` character to be replaced by `<`.\n\n <=<\n\nQuoted Text section\n~~~~~~~~~~~~~~~~~~~\nQuoting is used primarily for text formatting. The `[quotes]` section\ndefines AsciiDoc quoting characters and their corresponding backend\nmarkup tags. Each section entry value is the name of a of a `[tags]`\nsection entry. The entry name is the character (or characters) that\nquote the text. The following examples are taken from AsciiDoc\nconfiguration files:\n\n [quotes]\n _=emphasis\n\n [tags]\n emphasis=<em>|</em>\n\nYou can specify the left and right quote strings separately by\nseparating them with a | character, for example:\n\n ``|''=quoted\n\nOmitting the tag will disable quoting, for example, if you don't want\nsuperscripts or subscripts put the following in a custom configuration\nfile or edit the global `asciidoc.conf` configuration file:\n\n [quotes]\n ^=\n ~=\n\n<<X52,Unconstrained quotes>> are differentiated from constrained\nquotes by prefixing the tag name with a hash character, for example:\n\n __=#emphasis\n\n.Quoted text behavior\n- Quote characters must be non-alphanumeric.\n- To minimize quoting ambiguity try not to use the same quote\n characters in different quote types.\n\nSpecial Words section\n~~~~~~~~~~~~~~~~~~~~~\nThe `[specialwords]` section is used to single out words and phrases\nthat you want to consistently format in some way throughout your\ndocument without having to repeatedly specify the markup. The name of\neach entry corresponds to a markup template section and the entry\nvalue consists of a list of words and phrases to be marked up. For\nexample:\n\n [specialwords]\n strongwords=NOTE IMPORTANT\n\n [strongwords]\n <strong>{words}</strong>\n\nThe examples specifies that any occurrence of `NOTE` or `IMPORTANT`\nshould appear in a bold font.\n\nWords and word phrases are treated as Python regular expressions: for\nexample, the word `^NOTE` would only match `NOTE` if appeared at\nthe start of a line.\n\nAsciiDoc comes with three built-in Special Word types:\n'emphasizedwords', 'monospacedwords' and 'strongwords', each has a\ncorresponding (backend specific) markup template section. Edit the\nconfiguration files to customize existing Special Words and to add new\nones.\n\n.Special word behavior\n- Word list entries must be separated by space characters.\n- Word list entries with embedded spaces should be enclosed in quotation (\")\n characters.\n- A `[specialwords]` section entry of the form\n +name=word1{nbsp}[word2...]+ adds words to existing `name` entries.\n- A `[specialwords]` section entry of the form `name` undefines\n (deletes) all existing `name` words.\n- Since word list entries are processed as Python regular expressions\n you need to be careful to escape regular expression special\n characters.\n- By default Special Words are substituted before Inline Macros, this\n may lead to undesirable consequences. For example the special word\n `foobar` would be expanded inside the macro call\n `http://www.foobar.com[]`. A possible solution is to emphasize\n whole words only by defining the word using regular expression\n characters, for example `\\bfoobar\\b`.\n- If the first matched character of a special word is a backslash then\n the remaining characters are output without markup i.e. the\n backslash can be used to escape special word markup. For example\n the special word `\\\\?\\b[Tt]en\\b` will mark up the words `Ten` and\n `ten` only if they are not preceded by a backslash.\n\n[[X10]]\nReplacements section\n~~~~~~~~~~~~~~~~~~~~\n`[replacements]`, `[replacements2]` and `[replacements3]`\nconfiguration file entries specify find and replace text and are\nformatted like:\n\n <find_pattern>=<replacement_text>\n\nThe find text can be a Python regular expression; the replace text can\ncontain Python regular expression group references.\n\nUse Replacement shortcuts for often used macro references, for\nexample (the second replacement allows us to backslash escape the\nmacro name):\n\n NEW!=image:./images/smallnew.png[New!]\n \\\\NEW!=NEW!\n\nThe only difference between the three replacement types is how they\nare applied. By default 'replacements' and 'replacement2' are applied\nin <<X102,normal>> substitution contexts whereas 'replacements3' needs\nto be configured explicitly and should only be used in backend\nconfiguration files.\n\n.Replacement behavior\n- The built-in replacements can be escaped with a backslash.\n- If the find or replace text has leading or trailing spaces then the\n text should be enclosed in quotation (\") characters.\n- Since the find text is processed as a regular expression you need to\n be careful to escape regular expression special characters.\n- Replacements are performed in the same order they appear in the\n configuration file replacements section.\n\nMarkup Template Sections\n~~~~~~~~~~~~~~~~~~~~~~~~\nMarkup template sections supply backend markup for translating\nAsciiDoc elements. Since the text is normally backend dependent\nyou'll find these sections in the backend specific configuration\nfiles. Template sections differ from other sections in that they\ncontain a single block of text instead of per line 'name=value'\nentries. A markup template section body can contain:\n\n- Attribute references\n- System macro calls.\n- A document content placeholder\n\nThe document content placeholder is a single | character and is\nreplaced by text from the source element. Use the `{brvbar}`\nattribute reference if you need a literal | character in the template.\n\n[[X27]]\nConfiguration file names, precedence and locations\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nConfiguration files have a `.conf` file name extension; they are\nloaded from the following locations:\n\n1. The directory containing the asciidoc executable.\n2. If there is no `asciidoc.conf` file in the directory containing the\n asciidoc executable then load from the global configuration\n directory (normally `/etc/asciidoc` or `/usr/local/etc/asciidoc`)\n i.e. the global configuration files directory is skipped if\n AsciiDoc configuration files are installed in the same directory as\n the asciidoc executable. This allows both a system wide copy and\n multiple local copies of AsciiDoc to coexist on the same host PC.\n3. The user's `$HOME/.asciidoc` directory (if it exists).\n4. The directory containing the AsciiDoc source file.\n5. Explicit configuration files specified using:\n - The `conf-files` attribute (one or more file names separated by a\n `|` character). These files are loaded in the order they are\n specified and prior to files specified using the `--conf-file`\n command-line option.\n - The asciidoc(1) `--conf-file`) command-line option. The\n `--conf-file` option can be specified multiple times, in which\n case configuration files will be processed in the same order they\n appear on the command-line.\n6. <<X100,Backend plugin>> configuration files are loaded from\n subdirectories named like `backends/<backend>` in locations 1, 2\n and 3.\n7. <<X59,Filter>> configuration files are loaded from subdirectories\n named like `filters/<filter>` in locations 1, 2 and 3.\n\nConfiguration files from the above locations are loaded in the\nfollowing order:\n\n- The `[attributes]` section only from:\n * `asciidoc.conf` in location 3\n * Files from location 5.\n+\nThis first pass makes locally set attributes available in the global\n`asciidoc.conf` file.\n\n- `asciidoc.conf` from locations 1, 2, 3.\n- 'attributes', 'titles' and 'specialcharacters' sections from the\n `asciidoc.conf` in location 4.\n- The document header is parsed at this point and we can assume the\n 'backend' and 'doctype' have now been defined.\n- Backend plugin `<backend>.conf` and `<backend>-<doctype>.conf` files\n from locations 6. If a backend plugin is not found then try\n locations 1, 2 and 3 for `<backend>.conf` and\n `<backend>-<doctype>.conf` backend configuration files.\n- Filter conf files from locations 7.\n- `lang-<lang>.conf` from locations 1, 2, 3.\n- `asciidoc.conf` from location 4.\n- `<backend>.conf` and `<backend>-<doctype>.conf` from location 4.\n- Filter conf files from location 4.\n- `<docfile>.conf` and `<docfile>-<backend>.conf` from location 4.\n- Configuration files from location 5.\n\nWhere:\n\n- `<backend>` and `<doctype>` are values specified by the asciidoc(1)\n `-b` (`--backend`) and `-d` (`--doctype`) command-line options.\n- `<infile>` is the path name of the AsciiDoc input file without the\n file name extension.\n- `<lang>` is a two letter country code set by the the AsciiDoc 'lang'\n attribute.\n\n[NOTE]\n=====================================================================\nThe backend and language global configuration files are loaded *after*\nthe header has been parsed. This means that you can set most\nattributes in the document header. Here's an example header:\n\n Life's Mysteries\n ================\n :author: Hu Nose\n :doctype: book\n :toc:\n :icons:\n :data-uri:\n :lang: en\n :encoding: iso-8859-1\n\nAttributes set in the document header take precedence over\nconfiguration file attributes.\n\n=====================================================================\n\nTIP: Use the asciidoc(1) `-v` (`--verbose`) command-line option to see\nwhich configuration files are loaded and the order in which they are\nloaded.\n\n\nDocument Attributes\n-------------------\nA document attribute is comprised of a 'name' and a textual 'value'\nand is used for textual substitution in AsciiDoc documents and\nconfiguration files. An attribute reference (an attribute name\nenclosed in braces) is replaced by the corresponding attribute\nvalue. Attribute names are case insensitive and can only contain\nalphanumeric, dash and underscore characters.\n\nThere are four sources of document attributes (from highest to lowest\nprecedence):\n\n- Command-line attributes.\n- AttributeEntry, AttributeList, Macro and BlockId elements.\n- Configuration file `[attributes]` sections.\n- Intrinsic attributes.\n\nWithin each of these divisions the last processed entry takes\nprecedence.\n\nNOTE: If an attribute is not defined then the line containing the\nattribute reference is dropped. This property is used extensively in\nAsciiDoc configuration files to facilitate conditional markup\ngeneration.\n\n\n[[X18]]\nAttribute Entries\n-----------------\nThe `AttributeEntry` block element allows document attributes to be\nassigned within an AsciiDoc document. Attribute entries are added to\nthe global document attributes dictionary. The attribute name/value\nsyntax is a single line like:\n\n :<name>: <value>\n\nFor example:\n\n :Author Initials: JB\n\nThis will set an attribute reference `{authorinitials}` to the value\n'JB' in the current document.\n\nTo delete (undefine) an attribute use the following syntax:\n\n :<name>!:\n\n.AttributeEntry behavior\n- The attribute entry line begins with colon -- no white space allowed\n in left margin.\n- AsciiDoc converts the `<name>` to a legal attribute name (lower\n case, alphanumeric, dash and underscore characters only -- all other\n characters deleted). This allows more human friendly text to be\n used.\n- Leading and trailing white space is stripped from the `<value>`.\n- Lines ending in a space followed by a plus character are continued\n to the next line, for example:\n\n :description: AsciiDoc is a text document format for writing notes, +\n documentation, articles, books, slideshows, web pages +\n and man pages.\n\n- If the `<value>` is blank then the corresponding attribute value is\n set to an empty string.\n- Attribute references contained in the entry `<value>` will be\n expanded.\n- By default AttributeEntry values are substituted for\n `specialcharacters` and `attributes` (see above), if you want to\n change or disable AttributeEntry substitution use the <<X77,pass:[]\n inline macro>> syntax.\n- Attribute entries in the document Header are available for header\n markup template substitution.\n- Attribute elements override configuration file and intrinsic\n attributes but do not override command-line attributes.\n\nHere are some more attribute entry examples:\n\n---------------------------------------------------------------------\nAsciiDoc User Manual\n====================\n:author: Stuart Rackham\n:email: srackham@gmail.com\n:revdate: April 23, 2004\n:revnumber: 5.1.1\n---------------------------------------------------------------------\n\nWhich creates these attributes:\n\n {author}, {firstname}, {lastname}, {authorinitials}, {email},\n {revdate}, {revnumber}\n\nThe previous example is equivalent to this <<X95,document header>>:\n\n---------------------------------------------------------------------\nAsciiDoc User Manual\n====================\nStuart Rackham <srackham@gmail.com>\n5.1.1, April 23, 2004\n---------------------------------------------------------------------\n\nSetting configuration entries\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nA variant of the Attribute Entry syntax allows configuration file\nsection entries and markup template sections to be set from within an\nAsciiDoc document:\n\n :<section_name>.[<entry_name>]: <entry_value>\n\nWhere `<section_name>` is the configuration section name,\n`<entry_name>` is the name of the entry and `<entry_value>` is the\noptional entry value. This example sets the default labeled list\nstyle to 'horizontal':\n\n :listdef-labeled.style: horizontal\n\nIt is exactly equivalent to a configuration file containing:\n\n [listdef-labeled]\n style=horizontal\n\n- If the `<entry_name>` is omitted then the entire section is\n substituted with the `<entry_value>`. This feature should only be\n used to set markup template sections. The following example sets the\n 'xref2' inline macro markup template:\n\n :xref2-inlinemacro.: <a href=\"#{1}\">{2?{2}}</a>\n\n- No substitution is performed on configuration file attribute entries\n and they cannot be undefined.\n- This feature can only be used in attribute entries -- configuration\n attributes cannot be set using the asciidoc(1) command `--attribute`\n option.\n\n[[X62]]\n.Attribute entries promote clarity and eliminate repetition\n*********************************************************************\nURLs and file names in AsciiDoc macros are often quite long -- they\nbreak paragraph flow and readability suffers. The problem is\ncompounded by redundancy if the same name is used repeatedly.\nAttribute entries can be used to make your documents easier to read\nand write, here are some examples:\n\n :1: http://freshmeat.net/projects/asciidoc/\n :homepage: http://methods.co.nz/asciidoc/[AsciiDoc home page]\n :new: image:./images/smallnew.png[]\n :footnote1: footnote:[A meaningless latin term]\n\n Using previously defined attributes: See the {1}[Freshmeat summary]\n or the {homepage} for something new {new}. Lorem ispum {footnote1}.\n\n.Note\n- The attribute entry definition must precede it's usage.\n- You are not limited to URLs or file names, entire macro calls or\n arbitrary lines of text can be abbreviated.\n- Shared attributes entries could be grouped into a separate file and\n <<X63,included>> in multiple documents.\n*********************************************************************\n\n\n[[X21]]\nAttribute Lists\n---------------\n- An attribute list is a comma separated list of attribute values.\n- The entire list is enclosed in square brackets.\n- Attribute lists are used to pass parameters to macros, blocks (using\n the <<X79,AttributeList element>>) and inline quotes.\n\nThe list consists of zero or more positional attribute values followed\nby zero or more named attribute values. Here are three examples: a\nsingle unquoted positional attribute; three unquoted positional\nattribute values; one positional attribute followed by two named\nattributes; the unquoted attribute value in the final example contains\ncomma (`,`) and double-quote (`"`) character entities:\n\n [Hello]\n [quote, Bertrand Russell, The World of Mathematics (1956)]\n [\"22 times\", backcolor=\"#0e0e0e\", options=\"noborders,wide\"]\n [A footnote, "with an image" image:smallnew.png[]]\n\n.Attribute list behavior\n- If one or more attribute values contains a comma the all string\n values must be quoted (enclosed in double quotation mark\n characters).\n- If the list contains any named or quoted attributes then all string\n attribute values must be quoted.\n- To include a double quotation mark (\") character in a quoted\n attribute value the the quotation mark must be escaped with a\n backslash.\n- List attributes take precedence over existing attributes.\n- List attributes can only be referenced in configuration file markup\n templates and tags, they are not available elsewhere in the\n document.\n- Setting a named attribute to `None` undefines the attribute.\n- Positional attributes are referred to as `{1}`,`{2}`,`{3}`,...\n- Attribute `{0}` refers to the entire list (excluding the enclosing\n square brackets).\n- Named attribute names cannot contain dash characters.\n\n[[X75]]\nOptions attribute\n~~~~~~~~~~~~~~~~~\nIf the attribute list contains an attribute named `options` it is\nprocessed as a comma separated list of option names:\n\n- Each name generates an attribute named like `<option>-option` (where\n `<option>` is the option name) with an empty string value. For\n example `[options=\"opt1,opt2,opt3\"]` is equivalent to setting the\n following three attributes\n `[opt1-option=\"\",opt2-option=\"\",opt2-option=\"\"]`.\n- If you define a an option attribute globally (for example with an\n <<X18,attribute entry>>) then it will apply to all elements in the\n document.\n- AsciiDoc implements a number of predefined options which are listed\n in the <<X74,Attribute Options appendix>>.\n\nMacro Attribute lists\n~~~~~~~~~~~~~~~~~~~~~\nMacros calls are suffixed with an attribute list. The list may be\nempty but it cannot be omitted. List entries are used to pass\nattribute values to macro markup templates.\n\n\nAttribute References\n--------------------\nAn attribute reference is an attribute name (possibly followed by an\nadditional parameters) enclosed in curly braces. When an attribute\nreference is encountered it is evaluated and replaced by its\ncorresponding text value. If the attribute is undefined the line\ncontaining the attribute is dropped.\n\nThere are three types of attribute reference: 'Simple', 'Conditional'\nand 'System'.\n\n.Attribute reference evaluation\n- You can suppress attribute reference expansion by placing a\n backslash character immediately in front of the opening brace\n character.\n- By default attribute references are not expanded in\n 'LiteralParagraphs', 'ListingBlocks' or 'LiteralBlocks'.\n- Attribute substitution proceeds line by line in reverse line order.\n- Attribute reference evaluation is performed in the following order:\n 'Simple' then 'Conditional' and finally 'System'.\n\nSimple Attributes References\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nSimple attribute references take the form `{<name>}`. If the\nattribute name is defined its text value is substituted otherwise the\nline containing the reference is dropped from the output.\n\nConditional Attribute References\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nAdditional parameters are used in conjunction with attribute names to\ncalculate a substitution value. Conditional attribute references take\nthe following forms:\n\n`{<names>=<value>}`::\n `<value>` is substituted if the attribute `<names>` is\n undefined otherwise its value is substituted. `<value>` can\n contain simple attribute references.\n\n`{<names>?<value>}`::\n `<value>` is substituted if the attribute `<names>` is defined\n otherwise an empty string is substituted. `<value>` can\n contain simple attribute references.\n\n`{<names>!<value>}`::\n `<value>` is substituted if the attribute `<names>` is\n undefined otherwise an empty string is substituted. `<value>`\n can contain simple attribute references.\n\n`{<names>#<value>}`::\n `<value>` is substituted if the attribute `<names>` is defined\n otherwise the undefined attribute entry causes the containing\n line to be dropped. `<value>` can contain simple attribute\n references.\n\n`{<names>%<value>}`::\n `<value>` is substituted if the attribute `<names>` is not\n defined otherwise the containing line is dropped. `<value>`\n can contain simple attribute references.\n\n`{<names>@<regexp>:<value1>[:<value2>]}`::\n `<value1>` is substituted if the value of attribute `<names>`\n matches the regular expression `<regexp>` otherwise `<value2>`\n is substituted. If attribute `<names>` is not defined the\n containing line is dropped. If `<value2>` is omitted an empty\n string is assumed. The values and the regular expression can\n contain simple attribute references. To embed colons in the\n values or the regular expression escape them with backslashes.\n\n`{<names>$<regexp>:<value1>[:<value2>]}`::\n Same behavior as the previous ternary attribute except for\n the following cases:\n\n `{<names>$<regexp>:<value>}`;;\n Substitutes `<value>` if `<names>` matches `<regexp>`\n otherwise the result is undefined and the containing\n line is dropped.\n\n `{<names>$<regexp>::<value>}`;;\n Substitutes `<value>` if `<names>` does not match\n `<regexp>` otherwise the result is undefined and the\n containing line is dropped.\n\nThe attribute `<names>` parameter normally consists of a single\nattribute name but it can be any one of the following:\n\n- A single attribute name which evaluates to the attributes value.\n- Multiple ',' separated attribute names which evaluates to an empty\n string if one or more of the attributes is defined, otherwise it's\n value is undefined.\n- Multiple '+' separated attribute names which evaluates to an empty\n string if all of the attributes are defined, otherwise it's value is\n undefined.\n\nConditional attributes with single attribute names are evaluated first\nso they can be used inside the multi-attribute conditional `<value>`.\n\nConditional attribute examples\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nConditional attributes are mainly used in AsciiDoc configuration\nfiles -- see the distribution `.conf` files for examples.\n\nAttribute equality test::\n If `{backend}` is 'docbook45' or 'xhtml11' the example evaluates to\n ``DocBook 4.5 or XHTML 1.1 backend'' otherwise it evaluates to\n ``some other backend'':\n\n {backend@docbook45|xhtml11:DocBook 4.5 or XHTML 1.1 backend:some other backend}\n\nAttribute value map::\n This example maps the `frame` attribute values [`topbot`, `all`,\n `none`, `sides`] to [`hsides`, `border`, `void`, `vsides`]:\n\n {frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}\n\n\n[[X24]]\nSystem Attribute References\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\nSystem attribute references generate the attribute text value by\nexecuting a predefined action that is parametrized by one or more\narguments. The syntax is `{<action>:<arguments>}`.\n\n`{counter:<attrname>[:<seed>]}`::\n Increments the document attribute (if the attribute is\n undefined it is set to `1`). Returns the new attribute value.\n\n - Counters generate global (document wide) attributes.\n - The optional `<seed>` specifies the counter's initial value;\n it can be a number or a single letter; defaults to '1'.\n - `<seed>` can contain simple and conditional attribute\n references.\n - The 'counter' system attribute will not be executed if the\n containing line is dropped by the prior evaluation of an\n undefined attribute.\n\n`{counter2:<attrname>[:<seed>]}`::\n Same as `counter` except the it always returns a blank string.\n\n`{eval:<expression>}`::\n Substitutes the result of the Python `<expression>`.\n\n - If `<expression>` evaluates to `None` or `False` the\n reference is deemed undefined and the line containing the\n reference is dropped from the output.\n - If the expression evaluates to `True` the attribute\n evaluates to an empty string.\n - `<expression>` can contain simple and conditional attribute\n references.\n - The 'eval' system attribute can be nested inside other\n system attributes.\n\n`{eval3:<command>}`::\n Passthrough version of `{eval:<expression>}` -- the generated\n output is written directly to the output without any further\n substitutions.\n\n`{include:<filename>}`::\n Substitutes contents of the file named `<filename>`.\n\n - The included file is read at the time of attribute\n substitution.\n - If the file does not exist a warning is emitted and the line\n containing the reference is dropped from the output file.\n - Tabs are expanded based on the current 'tabsize' attribute\n value.\n\n`{set:<attrname>[!][:<value>]}`::\n Sets or unsets document attribute. Normally only used in\n configuration file markup templates (use\n <<X18,AttributeEntries>> in AsciiDoc documents).\n\n - If the attribute name is followed by an exclamation mark\n the attribute becomes undefined.\n - If `<value>` is omitted the attribute is set to a blank\n string.\n - `<value>` can contain simple and conditional attribute\n references.\n - Returns a blank string unless the attribute is undefined in\n which case the return value is undefined and the enclosing\n line will be dropped.\n\n`{set2:<attrname>[!][:<value>]}`::\n Same as `set` except that the attribute scope is local to the\n template.\n\n`{sys:<command>}`::\n Substitutes the stdout generated by the execution of the shell\n `<command>`.\n\n`{sys2:<command>}`::\n Substitutes the stdout and stderr generated by the execution\n of the shell `<command>`.\n\n`{sys3:<command>}`::\n Passthrough version of `{sys:<command>}` -- the generated\n output is written directly to the output without any further\n substitutions.\n\n`{template:<template>}`::\n Substitutes the contents of the configuration file section\n named `<template>`. Attribute references contained in the\n template are substituted.\n\n.System reference behavior\n- System attribute arguments can contain non-system attribute\n references.\n- Closing brace characters inside system attribute arguments must be\n escaped with a backslash.\n\n[[X60]]\nIntrinsic Attributes\n--------------------\nIntrinsic attributes are simple attributes that are created\nautomatically from: AsciiDoc document header parameters; asciidoc(1)\ncommand-line arguments; attributes defined in the default\nconfiguration files; the execution context. Here's the list of\npredefined intrinsic attributes:\n\n {amp} ampersand (&) character entity\n {asciidoc-args} used to pass inherited arguments to asciidoc filters\n {asciidoc-confdir} the asciidoc(1) global configuration directory\n {asciidoc-dir} the asciidoc(1) application directory\n {asciidoc-file} the full path name of the asciidoc(1) script\n {asciidoc-version} the version of asciidoc(1)\n {author} author's full name\n {authored} empty string '' if {author} or {email} defined,\n {authorinitials} author initials (from document header)\n {backend-<backend>} empty string ''\n {<backend>-<doctype>} empty string ''\n {backend} document backend specified by `-b` option\n {backend-confdir} the directory containing the <backend>.conf file\n {backslash} backslash character\n {basebackend-<base>} empty string ''\n {basebackend} html or docbook\n {blockname} current block name (note 8).\n {brvbar} broken vertical bar (|) character\n {docdate} document last modified date\n {docdir} document input directory name (note 5)\n {docfile} document file name (note 5)\n {docname} document file name without extension (note 6)\n {doctime} document last modified time\n {doctitle} document title (from document header)\n {doctype-<doctype>} empty string ''\n {doctype} document type specified by `-d` option\n {email} author's email address (from document header)\n {empty} empty string ''\n {encoding} specifies input and output encoding\n {filetype-<fileext>} empty string ''\n {filetype} output file name file extension\n {firstname} author first name (from document header)\n {gt} greater than (>) character entity\n {id} running block id generated by BlockId elements\n {indir} input file directory name (note 2,5)\n {infile} input file name (note 2,5)\n {lastname} author last name (from document header)\n {ldquo} Left double quote character (note 7)\n {level} title level 1..4 (in section titles)\n {listindex} the list index (1..) of the most recent list item\n {localdate} the current date\n {localtime} the current time\n {lsquo} Left single quote character (note 7)\n {lt} less than (<) character entity\n {manname} manpage name (defined in NAME section)\n {manpurpose} manpage (defined in NAME section)\n {mantitle} document title minus the manpage volume number\n {manvolnum} manpage volume number (1..8) (from document header)\n {middlename} author middle name (from document header)\n {nbsp} non-breaking space character entity\n {notitle} do not display the document title\n {outdir} document output directory name (note 2)\n {outfile} output file name (note 2)\n {python} the full path name of the Python interpreter executable\n {rdquo} Right double quote character (note 7)\n {reftext} running block xreflabel generated by BlockId elements\n {revdate} document revision date (from document header)\n {revnumber} document revision number (from document header)\n {rsquo} Right single quote character (note 7)\n {sectnum} formatted section number (in section titles)\n {sp} space character\n {showcomments} send comment lines to the output\n {title} section title (in titled elements)\n {two-colons} Two colon characters\n {two-semicolons} Two semicolon characters\n {user-dir} the ~/.asciidoc directory (if it exists)\n {verbose} defined as '' if --verbose command option specified\n {wj} Word-joiner\n {zwsp} Zero-width space character entity\n\n[NOTE]\n======\n1. Intrinsic attributes are global so avoid defining custom attributes\n with the same names.\n2. `{outfile}`, `{outdir}`, `{infile}`, `{indir}` attributes are\n effectively read-only (you can set them but it won't affect the\n input or output file paths).\n3. See also the <<X88,Backend Attributes>> section for attributes\n that relate to AsciiDoc XHTML file generation.\n4. The entries that translate to blank strings are designed to be used\n for conditional text inclusion. You can also use the `ifdef`,\n `ifndef` and `endif` System macros for conditional inclusion.\n footnote:[Conditional inclusion using `ifdef` and `ifndef` macros\n differs from attribute conditional inclusion in that the former\n occurs when the file is read while the latter occurs when the\n contents are written.]\n5. `{docfile}` and `{docdir}` refer to root document specified on the\n asciidoc(1) command-line; `{infile}` and `{indir}` refer to the\n current input file which may be the root document or an included\n file. When the input is being read from the standard input\n (`stdin`) these attributes are undefined.\n6. If the input file is the standard input and the output file is not\n the standard output then `{docname}` is the output file name sans\n file extension.\n7. See\n http://en.wikipedia.org/wiki/Non-English_usage_of_quotation_marks[non-English\n usage of quotation marks].\n8. The `{blockname}` attribute identifies the style of the current\n block. It applies to delimited blocks, lists and tables. Here is a\n list of `{blockname}` values (does not include filters or custom\n block and style names):\n\n delimited blocks:: comment, sidebar, open, pass, literal, verse,\n listing, quote, example, note, tip, important, caution, warning,\n abstract, partintro\n\n lists:: arabic, loweralpha, upperalpha, lowerroman, upperroman,\n labeled, labeled3, labeled4, qanda, horizontal, bibliography,\n glossary\n\n tables:: table\n\n======\n\n\n[[X73]]\nBlock Element Definitions\n-------------------------\nThe syntax and behavior of Paragraph, DelimitedBlock, List and Table\nblock elements is determined by block definitions contained in\n<<X7,AsciiDoc configuration file>> sections.\n\nEach definition consists of a section title followed by one or more\nsection entries. Each entry defines a block parameter controlling some\naspect of the block's behavior. Here's an example:\n\n---------------------------------------------------------------------\n[blockdef-listing]\ndelimiter=^-{4,}$\ntemplate=listingblock\npresubs=specialcharacters,callouts\n---------------------------------------------------------------------\n\nConfiguration file block definition sections are processed\nincrementally after each configuration file is loaded. Block\ndefinition section entries are merged into the block definition, this\nallows block parameters to be overridden and extended by later\n<<X27,loading configuration files>>.\n\nAsciiDoc Paragraph, DelimitedBlock, List and Table block elements\nshare a common subset of configuration file parameters:\n\ndelimiter::\n A Python regular expression that matches the first line of a block\n element -- in the case of DelimitedBlocks and Tables it also matches\n the last line.\n\ntemplate::\n The name of the configuration file markup template section that will\n envelope the block contents. The pipe ('|') character is substituted\n for the block contents. List elements use a set of (list specific)\n tag parameters instead of a single template. The template name can\n contain attribute references allowing dynamic template selection a\n the time of template substitution.\n\noptions::\n A comma delimited list of element specific option names. In addition\n to being used internally, options are available during markup tag\n and template substitution as attributes with an empty string value\n named like `<option>-option` (where `<option>` is the option name).\n See <<X74,attribute options>> for a complete list of available\n options.\n\nsubs, presubs, postsubs::\n * 'presubs' and 'postsubs' are lists of comma separated substitutions that are\n performed on the block contents. 'presubs' is applied first,\n 'postsubs' (if specified) second.\n\n * 'subs' is an alias for 'presubs'.\n\n * If a 'filter' is allowed (Paragraphs, DelimitedBlocks and Tables)\n and has been specified then 'presubs' and 'postsubs' substitutions\n are performed before and after the filter is run respectively.\n\n * Allowed values: 'specialcharacters', 'quotes', 'specialwords',\n 'replacements', 'macros', 'attributes', 'callouts'.\n\n * [[X102]]The following composite values are also allowed:\n\n 'none';;\n No substitutions.\n 'normal';;\n The following substitutions in the following order:\n 'specialcharacters', 'quotes', 'attributes', 'specialwords',\n 'replacements', 'macros', 'replacements2'.\n 'verbatim';;\n The following substitutions in the following order:\n 'specialcharacters' and 'callouts'.\n\n * 'normal' and 'verbatim' substitutions can be redefined by with\n `subsnormal` and `subsverbatim` entries in a configuration file\n `[miscellaneous]` section.\n\n * The substitutions are processed in the order in which they are\n listed and can appear more than once.\n\nfilter::\n This optional entry specifies an executable shell command for\n processing block content (Paragraphs, DelimitedBlocks and Tables).\n The filter command can contain attribute references.\n\nposattrs::\n Optional comma separated list of positional attribute names. This\n list maps positional attributes (in the block's <<X21,attribute\n list>>) to named block attributes. The following example, from the\n QuoteBlock definition, maps the first and section positional\n attributes:\n\n posattrs=attribution,citetitle\n\nstyle::\n This optional parameter specifies the default style name.\n\n\n<stylename>-style::\n Optional style definition (see <<X23,Styles>> below).\n\nThe following block parameters behave like document attributes and can\nbe set in block attribute lists and style definitions: 'template',\n'options', 'subs', 'presubs', 'postsubs', 'filter'.\n\n[[X23]]\nStyles\n~~~~~~\nA style is a set of block parameter bundled as a single named\nparameter. The following example defines a style named 'verbatim':\n\n verbatim-style=template=\"literalblock\",subs=\"verbatim\"\n\nIf a block's <<X21,attribute list>> contains a 'style' attribute then\nthe corresponding style parameters are be merged into the default\nblock definition parameters.\n\n- All style parameter names must be suffixed with `-style` and the\n style parameter value is in the form of a list of <<X21,named\n attributes>>.\n- The 'template' style parameter is mandatory, other parameters can be\n omitted in which case they inherit their values from the default\n block definition parameters.\n- Multi-item style parameters ('subs','presubs','postsubs','posattrs')\n must be specified using Python tuple syntax (rather than a simple\n list of values as they in separate entries) e.g.\n `postsubs=(\"callouts\",)` not `postsubs=\"callouts\"`.\n\nParagraphs\n~~~~~~~~~~\nParagraph translation is controlled by `[paradef-*]` configuration\nfile section entries. Users can define new types of paragraphs and\nmodify the behavior of existing types by editing AsciiDoc\nconfiguration files.\n\nHere is the shipped Default paragraph definition:\n\n--------------------------------------------------------------------\n[paradef-default]\ndelimiter=(?P<text>\\S.*)\ntemplate=paragraph\n--------------------------------------------------------------------\n\nThe normal paragraph definition has a couple of special properties:\n\n1. It must exist and be defined in a configuration file section named\n `[paradef-default]`.\n2. Irrespective of its position in the configuration files default\n paragraph document matches are attempted only after trying all\n other paragraph types.\n\nParagraph specific block parameter notes:\n\ndelimiter::\n This regular expression must contain the named group 'text' which\n matches the text on the first line. Paragraphs are terminated by a\n blank line, the end of file, or the start of a DelimitedBlock.\n\noptions::\n The 'listelement' option specifies that paragraphs of this type will\n automatically be considered part of immediately preceding list\n items. The 'skip' option causes the paragraph to be treated as a\n comment (see <<X26,CommentBlocks>>).\n\n.Paragraph processing proceeds as follows:\n1. The paragraph text is aligned to the left margin.\n2. Optional 'presubs' inline substitutions are performed on the\n paragraph text.\n3. If a filter command is specified it is executed and the paragraph\n text piped to its standard input; the filter output replaces the\n paragraph text.\n4. Optional 'postsubs' inline substitutions are performed on the\n paragraph text.\n5. The paragraph text is enveloped by the paragraph's markup template\n and written to the output file.\n\nDelimited Blocks\n~~~~~~~~~~~~~~~~\nDelimitedBlock 'options' values are:\n\nsectionbody::\n The block contents are processed as a SectionBody.\n\nskip::\n The block is treated as a comment (see <<X26,CommentBlocks>>).\n Preceding <<X21,attribute lists>> and <<X42,block titles>> are not\n consumed.\n\n'presubs', 'postsubs' and 'filter' entries are ignored when\n'sectionbody' or 'skip' options are set.\n\nDelimitedBlock processing proceeds as follows:\n\n1. Optional 'presubs' substitutions are performed on the block\n contents.\n2. If a filter is specified it is executed and the block's contents\n piped to its standard input. The filter output replaces the block\n contents.\n3. Optional 'postsubs' substitutions are performed on the block\n contents.\n4. The block contents is enveloped by the block's markup template and\n written to the output file.\n\nTIP: Attribute expansion is performed on the block filter command\nbefore it is executed, this is useful for passing arguments to the\nfilter.\n\nLists\n~~~~~\nList behavior and syntax is determined by `[listdef-*]` configuration\nfile sections. The user can change existing list behavior and add new\nlist types by editing configuration files.\n\nList specific block definition notes:\n\ntype::\n This is either 'bulleted','numbered','labeled' or 'callout'.\n\ndelimiter::\n A Python regular expression that matches the first line of a\n list element entry. This expression can contain the named groups\n 'text' (bulleted groups), 'index' and 'text' (numbered lists),\n 'label' and 'text' (labeled lists).\n\ntags::\n The `<name>` of the `[listtags-<name>]` configuration file section\n containing list markup tag definitions. The tag entries ('list',\n 'entry', 'label', 'term', 'text') map the AsciiDoc list structure to\n backend markup; see the 'listtags' sections in the AsciiDoc\n distributed backend `.conf` configuration files for examples.\n\nTables\n~~~~~~\nTable behavior and syntax is determined by `[tabledef-*]` and\n`[tabletags-*]` configuration file sections. The user can change\nexisting table behavior and add new table types by editing\nconfiguration files. The following `[tabledef-*]` section entries\ngenerate table output markup elements:\n\ncolspec::\n The table 'colspec' tag definition.\n\nheadrow, footrow, bodyrow::\n Table header, footer and body row tag definitions. 'headrow' and\n 'footrow' table definition entries default to 'bodyrow' if\n they are undefined.\n\nheaddata, footdata, bodydata::\n Table header, footer and body data tag definitions. 'headdata' and\n 'footdata' table definition entries default to 'bodydata' if they\n are undefined.\n\nparagraph::\n If the 'paragraph' tag is specified then blank lines in the cell\n data are treated as paragraph delimiters and marked up using this\n tag.\n\n[[X4]]\nTable behavior is also influenced by the following `[miscellaneous]`\nconfiguration file entries:\n\npagewidth::\n This integer value is the printable width of the output media. See\n <<X69,table attributes>>.\n\npageunits::\n The units of width in output markup width attribute values.\n\n.Table definition behavior\n- The output markup generation is specifically designed to work with\n the HTML and CALS (DocBook) table models, but should be adaptable to\n most XML table schema.\n- Table definitions can be ``mixed in'' from multiple cascading\n configuration files.\n- New table definitions inherit the default table and table tags\n definitions (`[tabledef-default]` and `[tabletags-default]`) so you\n only need to override those conf file entries that require\n modification.\n\n\n[[X59]]\nFilters\n-------\nAsciiDoc filters allow external commands to process AsciiDoc\n'Paragraphs', 'DelimitedBlocks' and 'Table' content. Filters are\nprimarily an extension mechanism for generating specialized outputs.\nFilters are implemented using external commands which are specified in\nconfiguration file definitions.\n\nThere's nothing special about the filters, they're just standard UNIX\nfilters: they read text from the standard input, process it, and write\nto the standard output.\n\nThe asciidoc(1) command `--filter` option can be used to install and\nremove filters. The same option is used to unconditionally load a\nfilter.\n\nAttribute substitution is performed on the filter command prior to\nexecution -- attributes can be used to pass parameters from the\nAsciiDoc source document to the filter.\n\nWARNING: Filters sometimes included executable code. Before installing\na filter you should verify that it is from a trusted source.\n\nFilter Search Paths\n~~~~~~~~~~~~~~~~~~~\nIf the filter command does not specify a directory path then\nasciidoc(1) recursively searches for the executable filter command:\n\n- First it looks in the user's `$HOME/.asciidoc/filters` directory.\n- Next the global filters directory (usually `/etc/asciidoc/filters`\n or `/usr/local/etc/asciidoc`) directory is searched.\n- Then it looks in the asciidoc(1) `./filters` directory.\n- Finally it relies on the executing shell to search the environment\n search path (`$PATH`).\n\nStandard practice is to install each filter in it's own sub-directory\nwith the same name as the filter's style definition. For example the\nmusic filter's style name is 'music' so it's configuration and filter\nfiles are stored in the `filters/music` directory.\n\nFilter Configuration Files\n~~~~~~~~~~~~~~~~~~~~~~~~~~\nFilters are normally accompanied by a configuration file containing a\nParagraph or DelimitedBlock definition along with corresponding markup\ntemplates.\n\nWhile it is possible to create new 'Paragraph' or 'DelimitedBlock'\ndefinitions the preferred way to implement a filter is to add a\n<<X23,style>> to the existing Paragraph and ListingBlock definitions\n(all filters shipped with AsciiDoc use this technique). The filter is\napplied to the paragraph or delimited block by preceding it with an\nattribute list: the first positional attribute is the style name,\nremaining attributes are normally filter specific parameters.\n\nasciidoc(1) auto-loads all `.conf` files found in the filter search\npaths unless the container directory also contains a file named\n`__noautoload__` (see previous section). The `__noautoload__` feature\nis used for filters that will be loaded manually using the `--filter`\noption.\n\n[[X56]]\nExample Filter\n~~~~~~~~~~~~~~\nAsciiDoc comes with a toy filter for highlighting source code keywords\nand comments. See also the `./filters/code/code-filter-readme.txt`\nfile.\n\nNOTE: The purpose of this toy filter is to demonstrate how to write a\nfilter -- it's much to simplistic to be passed off as a code syntax\nhighlighter. If you want a full featured multi-language highlighter\nuse the {website}source-highlight-filter.html[source code highlighter\nfilter].\n\nBuilt-in filters\n~~~~~~~~~~~~~~~~\nThe AsciiDoc distribution includes 'source', 'music', 'latex' and\n'graphviz' filters, details are on the\n{website}index.html#_filters[AsciiDoc website].\n\n[cols=\"1e,5\",frame=\"topbot\",options=\"header\"]\n.Built-in filters list\n|====================================================================\n|Filter name |Description\n\n|music\n|A {website}music-filter.html[music filter] is included in the\ndistribution `./filters/` directory. It translates music in\nhttp://lilypond.org/[LilyPond] or http://abcnotation.org.uk/[ABC]\nnotation to standard classical notation.\n\n|source\n|A {website}source-highlight-filter.html[source code highlight filter]\nis included in the distribution `./filters/` directory.\n\n|latex\n|The {website}latex-filter.html[AsciiDoc LaTeX filter] translates\nLaTeX source to a PNG image that is automatically inserted into the\nAsciiDoc output documents.\n\n|graphviz\n|Gouichi Iisaka has written a http://www.graphviz.org/[Graphviz]\nfilter for AsciiDoc. Graphviz generates diagrams from a textual\nspecification. Gouichi Iisaka's Graphviz filter is included in the\nAsciiDoc distribution. Here are some\n{website}asciidoc-graphviz-sample.html[AsciiDoc Graphviz examples].\n\n|====================================================================\n\n[[X58]]\nFilter plugins\n~~~~~~~~~~~~~~\nFilter <<X101,plugins>> are a mechanism for distributing AsciiDoc\nfilters. A filter plugin is a Zip file containing the files that\nconstitute a filter. The asciidoc(1) `--filter` option is used to\nload and manage filer <<X101,plugins>>.\n\n- Filter plugins <<X27,take precedence>> over built-in filters with\n the same name.\n- By default filter plugins are installed in\n `$HOME/.asciidoc/filters/<filter>` where `<filter>` is the filter\n name.\n\n\n[[X101]]\nPlugins\n-------\nThe AsciiDoc plugin architecture is an extension mechanism that allows\nadditional <<X100,backends>>, <<X58,filters>> and <<X99,themes>> to be\nadded to AsciiDoc.\n\n- A plugin is a Zip file containing an AsciiDoc backend, filter or\n theme (configuration files, stylesheets, scripts, images).\n- The asciidoc(1) `--backend`, `--filter` and `--theme` command-line\n options are used to load and manage plugins. Each of these options\n responds to the plugin management 'install', 'list', 'remove' and\n 'build' commands.\n- The plugin management command names are reserved and cannot be used\n for filter, backend or theme names.\n- The plugin Zip file name always begins with the backend, filter or\n theme name.\n\nPlugin commands and conventions are documented in the asciidoc(1) man\npage. You can find lists of plugins on the\n{website}plugins.html[AsciiDoc website].\n\n\n[[X36]]\nHelp Commands\n-------------\nThe asciidoc(1) command has a `--help` option which prints help topics\nto stdout. The default topic summarizes asciidoc(1) usage:\n\n $ asciidoc --help\n\nTo print a help topic specify the topic name as a command argument.\nHelp topic names can be shortened so long as they are not ambiguous.\nExamples:\n\n $ asciidoc --help manpage\n $ asciidoc -h m # Short version of previous example.\n $ asciidoc --help syntax\n $ asciidoc -h s # Short version of previous example.\n\nCustomizing Help\n~~~~~~~~~~~~~~~~\nTo change, delete or add your own help topics edit a help\nconfiguration file. The help file name `help-<lang>.conf` is based on\nthe setting of the `lang` attribute, it defaults to `help.conf`\n(English). The <<X27,help file location>> will depend on whether you\nwant the topics to apply to all users or just the current user.\n\nThe help topic files have the same named section format as other\n<<X7,configuration files>>. The `help.conf` files are stored in the\nsame locations and loaded in the same order as other configuration\nfiles.\n\nWhen the `--help` command-line option is specified AsciiDoc loads the\nappropriate help files and then prints the contents of the section\nwhose name matches the help topic name. If a topic name is not\nspecified `default` is used. You don't need to specify the whole help\ntopic name on the command-line, just enough letters to ensure it's not\nambiguous. If a matching help file section is not found a list of\navailable topics is printed.\n\n\nTips and Tricks\n---------------\n\nKnow Your Editor\n~~~~~~~~~~~~~~~~\nWriting AsciiDoc documents will be a whole lot more pleasant if you\nknow your favorite text editor. Learn how to indent and reformat text\nblocks, paragraphs, lists and sentences. <<X20,Tips for 'vim' users>>\nfollow.\n\n[[X20]]\nVim Commands for Formatting AsciiDoc\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nText Wrap Paragraphs\n^^^^^^^^^^^^^^^^^^^^\nUse the vim `:gq` command to reformat paragraphs. Setting the\n'textwidth' sets the right text wrap margin; for example:\n\n :set textwidth=70\n\nTo reformat a paragraph:\n\n1. Position the cursor at the start of the paragraph.\n2. Type `gq}`.\n\nExecute `:help gq` command to read about the vim gq command.\n\n[TIP]\n=====================================================================\n- Assign the `gq}` command to the Q key with the `nnoremap Q gq}`\n command or put it in your `~/.vimrc` file to so it's always\n available (see the <<X61, Example `~/.vimrc` file>>).\n- Put `set` commands in your `~/.vimrc` file so you don't have to\n enter them manually.\n- The Vim website (http://www.vim.org) has a wealth of resources,\n including scripts for automated spell checking and ASCII Art\n drawing.\n=====================================================================\n\nFormat Lists\n^^^^^^^^^^^^\nThe `gq` command can also be used to format bulleted, numbered and\ncallout lists. First you need to set the `comments`, `formatoptions`\nand `formatlistpat` (see the <<X61, Example `~/.vimrc` file>>).\n\nNow you can format simple lists that use dash, asterisk, period and\nplus bullets along with numbered ordered lists:\n\n1. Position the cursor at the start of the list.\n2. Type `gq}`.\n\nIndent Paragraphs\n^^^^^^^^^^^^^^^^^\nIndent whole paragraphs by indenting the fist line with the desired\nindent and then executing the `gq}` command.\n\n[[X61]]\nExample `~/.vimrc` File\n^^^^^^^^^^^^^^^^^^^^^^^\n---------------------------------------------------------------------\n\" Use bold bright fonts.\nset background=dark\n\n\" Show tabs and trailing characters.\nset listchars=tab:��,trail:�\nset list\n\n\" Don't highlight searched text.\nhighlight clear Search\n\n\" Don't move to matched text while search pattern is being entered.\nset noincsearch\n\n\" Reformat paragraphs and list.\nnnoremap R gq}\n\n\" Delete trailing white space and Dos-returns and to expand tabs to spaces.\nnnoremap S :set et<CR>:retab!<CR>:%s/[\\r \\t]\\+$//<CR>\n\nautocmd BufRead,BufNewFile *.txt,README,TODO,CHANGELOG,NOTES\n \\ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2 filetype=asciidoc\n \\ textwidth=70 wrap formatoptions=tcqn\n \\ formatlistpat=^\\\\s*\\\\d\\\\+\\\\.\\\\s\\\\+\\\\\\\\|^\\\\s*<\\\\d\\\\+>\\\\s\\\\+\\\\\\\\|^\\\\s*[a-zA-Z.]\\\\.\\\\s\\\\+\\\\\\\\|^\\\\s*[ivxIVX]\\\\+\\\\.\\\\s\\\\+\n \\ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:>\n---------------------------------------------------------------------\n\nTroubleshooting\n~~~~~~~~~~~~~~~\nAsciiDoc diagnostic features are detailed in the <<X82,Diagnostics\nappendix>>.\n\nGotchas\n~~~~~~~\nIncorrect character encoding::\n If you get an error message like `'UTF-8' codec can't decode ...`\n then you source file contains invalid UTF-8 characters -- set the\n AsciiDoc <<X54,encoding attribute>> for the correct character set\n (typically ISO-8859-1 (Latin-1) for European languages).\n\nInvalid output::\n AsciiDoc attempts to validate the input AsciiDoc source but makes\n no attempt to validate the output markup, it leaves that to\n external tools such as `xmllint(1)` (integrated into `a2x(1)`).\n Backend validation cannot be hardcoded into AsciiDoc because\n backends are dynamically configured. The following example\n generates valid HTML but invalid DocBook (the DocBook `literal`\n element cannot contain an `emphasis` element):\n\n +monospaced text with an _emphasized_ word+\n\nMisinterpreted text formatting::\n You can suppress markup expansion by placing a backslash character\n immediately in front of the element. The following example\n suppresses inline monospaced formatting:\n\n \\+1 for C++.\n\nOverlapping text formatting::\n Overlapping text formatting will generate illegal overlapping\n markup tags which will result in downstream XML parsing errors.\n Here's an example:\n\n Some *strong markup _that overlaps* emphasized markup_.\n\nAmbiguous underlines::\n A DelimitedBlock can immediately follow a paragraph without an\n intervening blank line, but be careful, a single line paragraph\n underline may be misinterpreted as a section title underline\n resulting in a ``closing block delimiter expected'' error.\n\nAmbiguous ordered list items::\n Lines beginning with numbers at the end of sentences will be\n interpreted as ordered list items. The following example\n (incorrectly) begins a new list with item number 1999:\n\n He was last sighted in\n 1999. Since then things have moved on.\n+\nThe 'list item out of sequence' warning makes it unlikely that this\nproblem will go unnoticed.\n\nSpecial characters in attribute values::\n Special character substitution precedes attribute substitution so\n if attribute values contain special characters you may, depending\n on the substitution context, need to escape the special characters\n yourself. For example:\n\n $ asciidoc -a 'orgname=Bill & Ben Inc.' mydoc.txt\n\nAttribute lists::\n If any named attribute entries are present then all string\n attribute values must be quoted. For example:\n\n [\"Desktop screenshot\",width=32]\n\n[[X90]]\nCombining separate documents\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nYou have a number of stand-alone AsciiDoc documents that you want to\nprocess as a single document. Simply processing them with a series of\n`include` macros won't work because the documents contain (level 0)\ndocument titles. The solution is to create a top level wrapper\ndocument and use the `leveloffset` attribute to push them all down one\nlevel. For example:\n\n[listing]\n.....................................................................\nCombined Document Title\n=======================\n\n// Push titles down one level.\n:leveloffset: 1\n\n\\include::document1.txt[]\n\n// Return to normal title levels.\n:leveloffset: 0\n\nA Top Level Section\n-------------------\nLorum ipsum.\n\n// Push titles down one level.\n:leveloffset: 1\n\n\\include::document2.txt[]\n\n\\include::document3.txt[]\n.....................................................................\n\nThe document titles in the included documents will now be processed as\nlevel 1 section titles, level 1 sections as level 2 sections and so\non.\n\n- Put a blank line between the `include` macro lines to ensure the\n title of the included document is not seen as part of the last\n paragraph of the previous document.\n- You won't want non-title document header lines (for example, Author\n and Revision lines) in the included files -- conditionally exclude\n them if they are necessary for stand-alone processing.\n\nProcessing document sections separately\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nYou have divided your AsciiDoc document into separate files (one per\ntop level section) which are combined and processed with the following\ntop level document:\n\n---------------------------------------------------------------------\nCombined Document Title\n=======================\nJoe Bloggs\nv1.0, 12-Aug-03\n\n\\include::section1.txt[]\n\n\\include::section2.txt[]\n\n\\include::section3.txt[]\n---------------------------------------------------------------------\n\nYou also want to process the section files as separate documents.\nThis is easy because asciidoc(1) will quite happily process\n`section1.txt`, `section2.txt` and `section3.txt` separately -- the\nresulting output documents contain the section but have no document\ntitle.\n\nProcessing document snippets\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nUse the `-s` (`--no-header-footer`) command-line option to suppress\nheader and footer output, this is useful if the processed output is to\nbe included in another file. For example:\n\n $ asciidoc -sb docbook section1.txt\n\nasciidoc(1) can be used as a filter, so you can pipe chunks of text\nthrough it. For example:\n\n $ echo 'Hello *World!*' | asciidoc -s -\n <div class=\"paragraph\"><p>Hello <strong>World!</strong></p></div>\n\nBadges in HTML page footers\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\nSee the `[footer]` section in the AsciiDoc distribution `xhtml11.conf`\nconfiguration file.\n\nPretty printing AsciiDoc output\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nIf the indentation and layout of the asciidoc(1) output is not to your\nliking you can:\n\n1. Change the indentation and layout of configuration file markup\n template sections. The `{empty}` attribute is useful for outputting\n trailing blank lines in markup templates.\n\n2. Use Dave Raggett's http://tidy.sourceforge.net/[HTML Tidy] program\n to tidy asciidoc(1) output. Example:\n\n $ asciidoc -b docbook -o - mydoc.txt | tidy -indent -xml >mydoc.xml\n\n3. Use the `xmllint(1)` format option. Example:\n\n $ xmllint --format mydoc.xml\n\nSupporting minor DocBook DTD variations\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nThe conditional inclusion of DocBook SGML markup at the end of the\ndistribution `docbook45.conf` file illustrates how to support minor\nDTD variations. The included sections override corresponding entries\nfrom preceding sections.\n\nCreating stand-alone HTML documents\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nIf you've ever tried to send someone an HTML document that includes\nstylesheets and images you'll know that it's not as straight-forward\nas exchanging a single file. AsciiDoc has options to create\nstand-alone documents containing embedded images, stylesheets and\nscripts. The following AsciiDoc command creates a single file\ncontaining <<X66,embedded images>>, CSS stylesheets, and JavaScript\n(for table of contents and footnotes):\n\n $ asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt\n\nYou can view the HTML file here: {website}article-standalone.html[]\n\nShipping stand-alone AsciiDoc source\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nReproducing presentation documents from someone else's source has one\nmajor problem: unless your configuration files are the same as the\ncreator's you won't get the same output.\n\nThe solution is to create a single backend specific configuration file\nusing the asciidoc(1) `-c` (`--dump-conf`) command-line option. You\nthen ship this file along with the AsciiDoc source document plus the\n`asciidoc.py` script. The only end user requirement is that they have\nPython installed (and that they consider you a trusted source). This\nexample creates a composite HTML configuration file for `mydoc.txt`:\n\n $ asciidoc -cb xhtml11 mydoc.txt > mydoc-xhtml11.conf\n\nShip `mydoc.txt`, `mydoc-html.conf`, and `asciidoc.py`. With\nthese three files (and a Python interpreter) the recipient can\nregenerate the HMTL output:\n\n $ ./asciidoc.py -eb xhtml11 mydoc.txt\n\nThe `-e` (`--no-conf`) option excludes the use of implicit\nconfiguration files, ensuring that only entries from the\n`mydoc-html.conf` configuration are used.\n\nInserting blank space\n~~~~~~~~~~~~~~~~~~~~~\nAdjust your style sheets to add the correct separation between block\nelements. Inserting blank paragraphs containing a single non-breaking\nspace character `{nbsp}` works but is an ad hoc solution compared\nto using style sheets.\n\nClosing open sections\n~~~~~~~~~~~~~~~~~~~~~\nYou can close off section tags up to level `N` by calling the\n`eval::[Section.setlevel(N)]` system macro. This is useful if you\nwant to include a section composed of raw markup. The following\nexample includes a DocBook glossary division at the top section level\n(level 0):\n\n---------------------------------------------------------------------\n\\ifdef::basebackend-docbook[]\n\n\\eval::[Section.setlevel(0)]\n\n+++++++++++++++++++++++++++++++\n<glossary>\n <title>Glossary\n \n ...\n \n\n+++++++++++++++++++++++++++++++\n\\endif::basebackend-docbook[]\n---------------------------------------------------------------------\n\nValidating output files\n~~~~~~~~~~~~~~~~~~~~~~~\nUse `xmllint(1)` to check the AsciiDoc generated markup is both well\nformed and valid. Here are some examples:\n\n $ xmllint --nonet --noout --valid docbook-file.xml\n $ xmllint --nonet --noout --valid xhtml11-file.html\n $ xmllint --nonet --noout --valid --html html4-file.html\n\nThe `--valid` option checks the file is valid against the document\ntype's DTD, if the DTD is not installed in your system's catalog then\nit will be fetched from its Internet location. If you omit the\n`--valid` option the document will only be checked that it is well\nformed.\n\nThe online http://validator.w3.org/#validate_by_uri+with_options[W3C\nMarkup Validation Service] is the defacto standard when it comes to\nvalidating HTML (it validates all HTML standards including HTML5).\n\n\n:numbered!:\n\n[glossary]\nGlossary\n--------\n[glossary]\n[[X8]] Block element::\n An AsciiDoc block element is a document entity composed of one or\n more whole lines of text.\n\n[[X34]] Inline element::\n AsciiDoc inline elements occur within block element textual\n content, they perform formatting and substitution tasks.\n\nFormal element::\n An AsciiDoc block element that has a BlockTitle. Formal elements\n are normally listed in front or back matter, for example lists of\n tables, examples and figures.\n\nVerbatim element::\n The word verbatim indicates that white space and line breaks in\n the source document are to be preserved in the output document.\n\n\n[appendix]\nMigration Notes\n---------------\n[[X53]]\nVersion 7 to version 8\n~~~~~~~~~~~~~~~~~~~~~~\n- A new set of quotes has been introduced which may match inline text\n in existing documents -- if they do you'll need to escape the\n matched text with backslashes.\n- The index entry inline macro syntax has changed -- if your documents\n include indexes you may need to edit them.\n- Replaced a2x(1) `--no-icons` and `--no-copy` options with their\n negated equivalents: `--icons` and `--copy` respectively. The\n default behavior has also changed -- the use of icons and copying of\n icon and CSS files must be specified explicitly with the `--icons`\n and `--copy` options.\n\nThe rationale for the changes can be found in the AsciiDoc\n`CHANGELOG`.\n\nNOTE: If you want to disable unconstrained quotes, the new alternative\nconstrained quotes syntax and the new index entry syntax then you can\ndefine the attribute `asciidoc7compatible` (for example by using the\n`-a asciidoc7compatible` command-line option).\n\n[[X38]]\n[appendix]\nPackager Notes\n--------------\nRead the `README` and `INSTALL` files (in the distribution root\ndirectory) for install prerequisites and procedures. The distribution\n`Makefile.in` (used by `configure` to generate the `Makefile`) is the\ncanonical installation procedure.\n\n\n[[X39]]\n[appendix]\nAsciiDoc Safe Mode\n-------------------\nAsciiDoc 'safe mode' skips potentially dangerous scripted sections in\nAsciiDoc source files by inhibiting the execution of arbitrary code or\nthe inclusion of arbitrary files.\n\nThe safe mode is disabled by default, it can be enabled with the\nasciidoc(1) `--safe` command-line option.\n\n.Safe mode constraints\n- `eval`, `sys` and `sys2` executable attributes and block macros are\n not executed.\n- `include::[]` and `include1::[]` block macro\n files must reside inside the parent file's directory.\n- `{include:}` executable attribute files must reside\n inside the source document directory.\n- Passthrough Blocks are dropped.\n\n[WARNING]\n=====================================================================\nThe safe mode is not designed to protect against unsafe AsciiDoc\nconfiguration files. Be especially careful when:\n\n1. Implementing filters.\n2. Implementing elements that don't escape special characters.\n3. Accepting configuration files from untrusted sources.\n=====================================================================\n\n\n[appendix]\nUsing AsciiDoc with non-English Languages\n-----------------------------------------\nAsciiDoc can process UTF-8 character sets but there are some things\nyou need to be aware of:\n\n- If you are generating output documents using a DocBook toolchain\n then you should set the AsciiDoc `lang` attribute to the appropriate\n language (it defaults to `en` (English)). This will ensure things\n like table of contents, figure and table captions and admonition\n captions are output in the specified language. For example:\n\n $ a2x -a lang=es doc/article.txt\n\n- If you are outputting HTML directly from asciidoc(1) you'll\n need to set the various `*_caption` attributes to match your target\n language (see the list of captions and titles in the `[attributes]`\n section of the distribution `lang-*.conf` files). The easiest way is\n to create a language `.conf` file (see the AsciiDoc's `lang-en.conf`\n file).\n+\nNOTE: You still use the 'NOTE', 'CAUTION', 'TIP', 'WARNING',\n'IMPORTANT' captions in the AsciiDoc source, they get translated in\nthe HTML output file.\n\n- asciidoc(1) automatically loads configuration files named like\n `lang-.conf` where `` is a two letter language code that\n matches the current AsciiDoc `lang` attribute. See also\n <>.\n\n\n[appendix]\nVim Syntax Highlighter\n----------------------\nSyntax highlighting is incredibly useful, in addition to making\nreading AsciiDoc documents much easier syntax highlighting also helps\nyou catch AsciiDoc syntax errors as you write your documents.\n\nThe AsciiDoc `./vim/` distribution directory contains Vim syntax\nhighlighter and filetype detection scripts for AsciiDoc. Syntax\nhighlighting makes it much easier to spot AsciiDoc syntax errors.\n\nIf Vim is installed on your system the AsciiDoc installer\n(`install.sh`) will automatically install the vim scripts in the Vim\nglobal configuration directory (`/etc/vim`).\n\nYou can also turn on syntax highlighting by adding the following line\nto the end of you AsciiDoc source files:\n\n // vim: set syntax=asciidoc:\n\nTIP: Bold fonts are often easier to read, use the Vim `:set\nbackground=dark` command to set bold bright fonts.\n\nNOTE: There are a number of alternative syntax highlighters for\nvarious editors listed on the {website}[AsciiDoc website].\n\nLimitations\n~~~~~~~~~~~\nThe current implementation does a reasonable job but on occasions gets\nthings wrong:\n\n- Nested quoted text formatting is highlighted according to the outer\n format.\n- If a closing Example Block delimiter is sometimes mistaken for a\n title underline. A workaround is to insert a blank line before the\n closing delimiter.\n- Lines within a paragraph starting with equals characters may be\n highlighted as single-line titles.\n- Lines within a paragraph beginning with a period may be highlighted\n as block titles.\n\n\n[[X74]]\n[appendix]\nAttribute Options\n-----------------\nHere is the list of predefined <>:\n\n\n[cols=\"2e,2,2,5\",frame=\"topbot\",options=\"header\"]\n|====================================================================\n|Option|Backends|AsciiDoc Elements|Description\n\n|autowidth |xhtml11, html5, html4 |table|\nThe column widths are determined by the browser, not the AsciiDoc\n'cols' attribute. If there is no 'width' attribute the table width is\nalso left up to the browser.\n\n|unbreakable |xhtml11, html5 |block elements|\n'unbreakable' attempts to keep the block element together on a single\nprinted page c.f. the 'breakable' and 'unbreakable' docbook (XSL/FO)\noptions below.\n\n|breakable, unbreakable |docbook (XSL/FO) |table, example, block image|\nThe 'breakable' options allows block elements to break across page\nboundaries; 'unbreakable' attempts to keep the block element together\non a single page. If neither option is specified the default XSL\nstylesheet behavior prevails.\n\n|compact |docbook, xhtml11, html5 |bulleted list, numbered list|\nMinimizes vertical space in the list\n\n|footer |docbook, xhtml11, html5, html4 |table|\nThe last row of the table is rendered as a footer.\n\n|header |docbook, xhtml11, html5, html4 |table|\nThe first row of the table is rendered as a header.\n\n|pgwide |docbook (XSL/FO) |table, block image, horizontal labeled list|\nSpecifies that the element should be rendered across the full text\nwidth of the page irrespective of the current indentation.\n\n|strong |xhtml11, html5, html4 |labeled lists|\nEmboldens label text.\n|====================================================================\n\n\n[[X82]]\n[appendix]\nDiagnostics\n-----------\nThe `asciidoc(1)` `--verbose` command-line option prints additional\ninformation to stderr: files processed, filters processed, warnings,\nsystem attribute evaluation.\n\nA special attribute named 'trace' enables the output of\nelement-by-element diagnostic messages detailing output markup\ngeneration to stderr. The 'trace' attribute can be set on the\ncommand-line or from within the document using <> (the latter allows tracing to be confined to specific\nportions of the document).\n\n- Trace messages print the source file name and line number and the\n trace name followed by related markup.\n- 'trace names' are normally the names of AsciiDoc elements (see the\n list below).\n- The trace message is only printed if the 'trace' attribute value\n matches the start of a 'trace name'. The 'trace' attribute value can\n be any Python regular expression. If a trace value is not specified\n all trace messages will be printed (this can result in large amounts\n of output if applied to the whole document).\n\n- In the case of inline substitutions:\n * The text before and after the substitution is printed; the before\n text is preceded by a line containing `<<<` and the after text by\n a line containing `>>>`.\n * The 'subs' trace value is an alias for all inline substitutions.\n\n.Trace names\n.....................................................................\n block close\n block open\n\ndropped line (a line containing an undefined attribute reference).\nfloating title\nfooter\nheader\nlist close\nlist entry close\nlist entry open\nlist item close\nlist item open\nlist label close\nlist label open\nlist open\nmacro block (a block macro)\nname (man page NAME section)\nparagraph\npreamble close\npreamble open\npush blockname\npop blockname\nsection close\nsection open: level \nsubs (all inline substitutions)\ntable\n.....................................................................\n\nWhere:\n\n- `` is section level number '0...4'.\n- `` is a delimited block name: 'comment', 'sidebar',\n 'open', 'pass', 'listing', 'literal', 'quote', 'example'.\n- `` is an inline substitution type:\n 'specialcharacters','quotes','specialwords', 'replacements',\n 'attributes','macros','callouts', 'replacements2', 'replacements3'.\n\nCommand-line examples:\n\n. Trace the entire document.\n\n $ asciidoc -a trace mydoc.txt\n\n. Trace messages whose names start with `quotes` or `macros`:\n\n $ asciidoc -a 'trace=quotes|macros' mydoc.txt\n\n. Print the first line of each trace message:\n\n $ asciidoc -a trace mydoc.txt 2>&1 | grep ^TRACE:\n\nAttribute Entry examples:\n\n. Begin printing all trace messages:\n\n :trace:\n\n. Print only matched trace messages:\n\n :trace: quotes|macros\n\n. Turn trace messages off:\n\n :trace!:\n\n\n[[X88]]\n[appendix]\nBackend Attributes\n------------------\nThis table contains a list of optional attributes that influence the\ngenerated outputs.\n\n[cols=\"1e,1,5a\",frame=\"topbot\",options=\"header\"]\n|====================================================================\n|Name |Backends |Description\n\n|badges |xhtml11, html5 |\nLink badges ('XHTML 1.1' and 'CSS') in document footers. By default\nbadges are omitted ('badges' is undefined).\n\nNOTE: The path names of images, icons and scripts are relative path\nnames to the output document not the source document.\n\n|data-uri |xhtml11, html5 |\nEmbed images using the <>.\n\n|css-signature |html5, xhtml11 |\nSet a 'CSS signature' for the document (sets the 'id' attribute of the\nHTML 'body' element). CSS signatures provide a mechanism that allows\nusers to personalize the document appearance. The term 'CSS signature'\nwas http://archivist.incutio.com/viewlist/css-discuss/13291[coined by\nEric Meyer].\n\n\n|disable-javascript |xhtml11, html5 |\nIf the `disable-javascript` attribute is defined the `asciidoc.js`\nJavaScript is not embedded or linked to the output document. By\ndefault AsciiDoc automatically embeds or links the `asciidoc.js`\nJavaScript to the output document. The script dynamically generates\n<> and <>.\n\n|[[X97]] docinfo, docinfo1, docinfo2 |All backends |\nThese three attributes control which <> will be included in the the header of the output file:\n\ndocinfo:: Include `-docinfo.`\ndocinfo1:: Include `docinfo.`\ndocinfo2:: Include `docinfo.` and `-docinfo.`\n\nWhere `` is the file name (sans extension) of the AsciiDoc\ninput file and `` is `.html` for HTML outputs or `.xml` for\nDocBook outputs. If the input file is the standard input then the\noutput file name is used. The following example will include the\n`mydoc-docinfo.xml` docinfo file in the DocBook `mydoc.xml` output\nfile:\n\n $ asciidoc -a docinfo -b docbook mydoc.txt\n\nThis next example will include `docinfo.html` and `mydoc-docinfo.html`\ndocinfo files in the HTML output file:\n\n $ asciidoc -a docinfo2 -b html4 mydoc.txt\n\n\n|[[X54]]encoding |html4, html5, xhtml11, docbook |\nSet the input and output document character set encoding. For example\nthe `--attribute encoding=ISO-8859-1` command-line option will set the\ncharacter set encoding to `ISO-8859-1`.\n\n- The default encoding is UTF-8.\n- This attribute specifies the character set in the output document.\n- The encoding name must correspond to a Python codec name or alias.\n- The 'encoding' attribute can be set using an AttributeEntry inside\n the document header. For example:\n\n :encoding: ISO-8859-1\n\n|[[X45]]icons |xhtml11, html5 |\nLink admonition paragraph and admonition block icon images and badge\nimages. By default 'icons' is undefined and text is used in place of\nicon images.\n\n|[[X44]]iconsdir |html4, html5, xhtml11, docbook |\nThe name of the directory containing linked admonition icons,\nnavigation icons and the `callouts` sub-directory (the `callouts`\nsub-directory contains <> number images). 'iconsdir'\ndefaults to `./images/icons`.\n\n|imagesdir |html4, html5, xhtml11, docbook |\nIf this attribute is defined it is prepended to the target image file\nname paths in inline and block image macros.\n\n|keywords, description, title |html4, html5, xhtml11 |\nThe 'keywords' and 'description' attributes set the correspondingly\nnamed HTML meta tag contents; the 'title' attribute sets the HTML\ntitle tag contents. Their principle use is for SEO (Search Engine\nOptimisation). All three are optional, but if they are used they must\nappear in the document header (or on the command-line). If 'title' is\nnot specified the AsciiDoc document title is used.\n\n|linkcss |html5, xhtml11 |\nLink CSS stylesheets and JavaScripts. By default 'linkcss' is\nundefined in which case stylesheets and scripts are automatically\nembedded in the output document.\n\n|[[X103]]max-width |html5, xhtml11 |\nSet the document maximum display width (sets the 'body' element CSS\n'max-width' property).\n\n|numbered |html4, html5, xhtml11, docbook (XSL Stylesheets) |\nAdds section numbers to section titles. The 'docbook' backend ignores\n'numbered' attribute entries after the document header.\n\n|plaintext | All backends |\nIf this global attribute is defined all inline substitutions are\nsuppressed and block indents are retained. This option is useful when\ndealing with large amounts of imported plain text.\n\n|quirks |xhtml11 |\nInclude the `xhtml11-quirks.conf` configuration file and\n`xhtml11-quirks.css` <> to work around IE6 browser\nincompatibilities. This feature is deprecated and its use is\ndiscouraged -- documents are still viewable in IE6 without it.\n\n|revremark |docbook |\nA short summary of changes in this document revision. Must be defined\nprior to the first document section. The document also needs to be\ndated to output this attribute.\n\n|scriptsdir |html5, xhtml11 |\nThe name of the directory containing linked JavaScripts.\nSee <>.\n\n|sgml |docbook45 |\nThe `--backend=docbook45` command-line option produces DocBook 4.5\nXML. You can produce the older DocBook SGML format using the\n`--attribute sgml` command-line option.\n\n|stylesdir |html5, xhtml11 |\nThe name of the directory containing linked or embedded\n<>.\nSee <>.\n\n|stylesheet |html5, xhtml11 |\nThe file name of an optional additional CSS <>.\n\n|theme |html5, xhtml11 |\nUse alternative stylesheet (see <>).\n\n|[[X91]]toc |html5, xhtml11, docbook (XSL Stylesheets) |\nAdds a table of contents to the start of an article or book document.\nThe `toc` attribute can be specified using the `--attribute toc`\ncommand-line option or a `:toc:` attribute entry in the document\nheader. The 'toc' attribute is defined by default when the 'docbook'\nbackend is used. To disable table of contents generation undefine the\n'toc' attribute by putting a `:toc!:` attribute entry in the document\nheader or from the command-line with an `--attribute toc!` option.\n\n*xhtml11 and html5 backends*\n\n- JavaScript needs to be enabled in your browser.\n- The following example generates a numbered table of contents using a\n JavaScript embedded in the `mydoc.html` output document:\n\n $ asciidoc -a toc -a numbered mydoc.txt\n\n|toc2 |html5, xhtml11 |\nAdds a scrollable table of contents in the left hand margin of an\narticle or book document. Use the 'max-width' attribute to change the\ncontent width. In all other respects behaves the same as the 'toc'\nattribute.\n\n|toc-placement |html5, xhtml11 |\nWhen set to 'auto' (the default value) asciidoc(1) will place the\ntable of contents in the document header. When 'toc-placement' is set\nto 'manual' the TOC can be positioned anywhere in the document by\nplacing the `toc::[]` block macro at the point you want the TOC to\nappear.\n\nNOTE: If you use 'toc-placement' then you also have to define the\n<> attribute.\n\n|toc-title |html5, xhtml11 |\nSets the table of contents title (defaults to 'Table of Contents').\n\n|toclevels |html5, xhtml11 |\nSets the number of title levels (1..4) reported in the table of\ncontents (see the 'toc' attribute above). Defaults to 2 and must be\nused with the 'toc' attribute. Example usage:\n\n $ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt\n\n|====================================================================\n\n\n[appendix]\nLicense\n-------\nAsciiDoc is free software; you can redistribute it and/or modify it\nunder the terms of the 'GNU General Public License version 2' (GPLv2)\nas published by the Free Software Foundation.\n\nAsciiDoc is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\nGeneral Public License version 2 for more details.\n\nAsciiDoc Highlighter sponsored by O'Reilly Media\n\nCopyright (C) 2002-2011 Stuart Rackham.\n" - } - ], - "id": "tDhk-3Cs", - "createdAt": 1659495355948, - "updatedAt": 1659495379957 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ASL", - "content": [ - { - "label": "Fragment 1", - "language": "asl", - "value": "/*\n * Intel ACPI Component Architecture\n * AML/ASL+ Disassembler version 20180105\n *\n * ASL example\n */\nDefinitionBlock (\"\", \"SSDT\", 1, \"PmRef\", \"Cpu0Ist\", 0x00003000)\n{\n External (_PR_.CPU0, DeviceObj)\n External (_SB_.CPUP, UnknownObj)\n\n Scope (\\_PR.CPU0)\n {\n Method (_PCT, 0, NotSerialized) // _PCT: Performance Control\n {\n If (((CFGD & One) && (PDC0 & One)))\n {\n Return (Package (0x02)\n {\n ResourceTemplate ()\n {\n Register (FFixedHW, \n 0x00, // Bit Width\n 0x00, // Bit Offset\n 0x0000000000000000, // Address\n ,)\n }, \n\n ResourceTemplate ()\n {\n Register (FFixedHW, \n 0x00, // Bit Width\n 0x00, // Bit Offset\n 0x0000000000000000, // Address\n ,)\n }\n })\n }\n\n Return (Package (0x02)\n {\n ResourceTemplate ()\n {\n Register (SystemIO, \n 0x10, // Bit Width\n 0x00, // Bit Offset\n 0x0000000000001000, // Address\n ,)\n }, \n\n ResourceTemplate ()\n {\n Register (SystemIO, \n 0x08, // Bit Width\n 0x00, // Bit Offset\n 0x00000000000000B3, // Address\n ,)\n }\n })\n }\n\n Name (PSDF, Zero)\n Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies\n {\n If (!PSDF)\n {\n DerefOf (HPSD [Zero]) [0x04] = TCNT /* External reference */\n DerefOf (SPSD [Zero]) [0x04] = TCNT /* External reference */\n PSDF = Ones\n }\n\n If ((PDC0 & 0x0800))\n {\n Return (HPSD) /* \\_PR_.CPU0.HPSD */\n }\n\n Return (SPSD) /* \\_PR_.CPU0.SPSD */\n }\n }\n}\n\n" - } - ], - "id": "Rn6BOXbG", - "createdAt": 1659495382193, - "updatedAt": 1659495397930 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ASP vb.NET / VBScript", - "content": [ - { - "label": "Fragment 1", - "language": "asp_vb_net", - "value": "myfilename = \"C:\\Wikipedia - VBScript - Example - Hello World.txt\"\nMakeHelloWorldFile myfilename\n \nSub MakeHelloWorldFile (FileName)\n 'Create a new file in C: drive or overwrite existing file\n Set FSO = CreateObject(\"Scripting.FileSystemObject\")\n If FSO.FileExists(FileName) Then \n Answer = MsgBox (\"File \" & FileName & \" exists ... OK to overwrite?\", vbOKCancel)\n 'If button selected is not OK, then quit now\n 'vbOK is a language constant\n If Answer <> vbOK Then Exit Sub\n Else\n 'Confirm OK to create\n Answer = MsgBox (\"File \" & FileName & \" ... OK to create?\", vbOKCancel)\n If Answer <> vbOK Then Exit Sub\n End If\n 'Create new file (or replace an existing file)\n Set FileObject = FSO.CreateTextFile (FileName)\n FileObject.WriteLine \"Time ... \" & Now()\n FileObject.WriteLine \"Hello World\"\n FileObject.Close()\n MsgBox \"File \" & FileName & \" ... updated.\"\nEnd Sub" - } - ], - "id": "HVqfS-xI", - "createdAt": 1659495399059, - "updatedAt": 1659495473147 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Assembly x86", - "content": [ - { - "label": "Fragment 1", - "language": "assembly_x86", - "value": "section\t.text\n global main ;must be declared for using gcc\n\nmain:\t ;tell linker entry point\n\n\tmov\tedx, len\t ;message length\n\tmov\tecx, msg\t ;message to write\n\tmov\tebx, 1\t ;file descriptor (stdout)\n\tmov\teax, 4\t ;system call number (sys_write)\n\tint\t0x80\t ;call kernel\n\n\tmov\teax, 1\t ;system call number (sys_exit)\n\tint\t0x80\t ;call kernel\n\nsection\t.data\n\nmsg\tdb\t'Hello, world!',0xa\t;our dear string\nlen\tequ\t$ - msg\t\t\t;length of our dear string\n" - } - ], - "id": "eXuPh5Es", - "createdAt": 1659495407360, - "updatedAt": 1659495444742 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "AutoHotkey / Autoit", - "content": [ - { - "label": "Fragment 1", - "language": "autohotkey", - "value": "#NoEnv\nSetBatchLines -1\n\nCoordMode Mouse, Screen\nOnExit GuiClose\n\nzoom := 9\n\ncomputeSize(){\n\tglobal as_x\n\tas_x := Round(ws_x/zoom/2 - 0.5)\n\tif (zoom>1) {\n\t\tpix := Round(zoom)\n\t} ele {\n\t\tpix := 1\n\t}\n ToolTip Message %as_x% %zoom% %ws_x% %hws_x% \n}\n\nhdc_frame := DllCall(\"GetDC\", UInt, MagnifierID)\n\n; comment\nDrawCross(byRef x=\"\", rX,rY,z, dc){\n ;specify the style, thickness and color of the cross lines\n h_pen := DllCall( \"gdi32.dll\\CreatePen\", Int, 0, Int, 1, UInt, 0x0000FF)\n}\n\n;Ctrl ^; Shift +; Win #; Alt !\n^NumPadAdd::\n^WheelUp:: \n^;:: ;comment\n If(zoom < ws_x and ( A_ThisHotKey = \"^WheelUp\" or A_ThisHotKey =\"^NumPadAdd\") )\n\t\tzoom *= 1.189207115 ; sqrt(sqrt(2))\n\tGosub,setZoom\nreturn\n" - } - ], - "id": "h9uzH9Df", - "createdAt": 1659495475278, - "updatedAt": 1659495970811 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Bash / Shell", - "content": [ - { - "label": "Fragment 1", - "language": "sh", - "value": "#!/bin/sh\n\n# Script to open a browser to current branch\n# Repo formats:\n# ssh git@github.com:richo/gh_pr.git\n# http https://richoH@github.com/richo/gh_pr.git\n# git git://github.com/richo/gh_pr.git\n\nusername=`git config --get github.user`\n\nget_repo() {\n git remote -v | grep ${@:-$username} | while read remote; do\n if repo=`echo $remote | grep -E -o \"git@github.com:[^ ]*\"`; then\n echo $repo | sed -e \"s/^git@github\\.com://\" -e \"s/\\.git$//\"\n exit 1\n fi\n if repo=`echo $remote | grep -E -o \"https?://([^@]*@)?github.com/[^ ]*\\.git\"`; then\n echo $repo | sed -e \"s|^https?://||\" -e \"s/^.*github\\.com\\///\" -e \"s/\\.git$//\"\n exit 1\n fi\n if repo=`echo $remote | grep -E -o \"git://github.com/[^ ]*\\.git\"`; then\n echo $repo | sed -e \"s|^git://github.com/||\" -e \"s/\\.git$//\"\n exit 1\n fi\n done\n\n if [ $? -eq 0 ]; then\n echo \"Couldn't find a valid remote\" >&2\n exit 1\n fi\n}\n\necho ${#x[@]}\n\nif repo=`get_repo $@`; then\n branch=`git symbolic-ref HEAD 2>/dev/null`\n echo \"http://github.com/$repo/pull/new/${branch##refs/heads/}\"\nelse\n exit 1\nfi\n" - } - ], - "id": "GMIZPvNc", - "createdAt": 1659496009403, - "updatedAt": 1659496046361 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "BatchFile", - "content": [ - { - "label": "Fragment 1", - "language": "batchfile", - "value": ":: batch file highlighting in Ace!\n@echo off\n\nCALL set var1=%cd%\necho unhide everything in %var1%!\n\n:: FOR loop in bat is super strange!\nFOR /f \"tokens=*\" %%G IN ('dir /A:D /b') DO (\necho %var1%%%G\nattrib -r -a -h -s \"%var1%%%G\" /D /S\n)\n\npause\n\nREM that's all\n" - } - ], - "id": "JZ3lQT7I", - "createdAt": 1659496051082, - "updatedAt": 1659496082487 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "C & C++", - "content": [ - { - "label": "Fragment 1", - "language": "c_cpp", - "value": "// compound assignment operators\n\n#include \n\n#include \\\n \n\n#include \\\n \\\n \n\n#include \\\n \\\n \"iostream\"\n\n#include \n#include \"boost/asio/io_service.hpp\"\n\n#include \\\n \\\n \"iostream\" \\\n \"string\" \\\n \n \nusing namespace std;\n\n//\nint main ()\n{\n int a, b=3; /* foobar */\n a = b; // single line comment\\\n continued\n a+=2; // equivalent to a=a+2\n cout << a;\n #if VERBOSE >= 2\n prints(\"trace message\\n\");\n #endif\n return 0;\n}\n\n/* Print an error message and get out */\n#define ABORT \\\n do { \\\n print( \"Abort\\n\" ); \\\n exit(8); \\\n} while (0) /* Note: No semicolon */" - } - ], - "id": "1pea5dPy", - "createdAt": 1659496085994, - "updatedAt": 1659496111732 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "C#", - "content": [ - { - "label": "Fragment 1", - "language": "csharp", - "value": "public void HelloWorld() {\n //Say Hello!\n Console.WriteLine(\"Hello World\");\n}" - } - ], - "id": "wEHTLKi1", - "createdAt": 1659496115792, - "updatedAt": 1659496137710 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Cirru", - "content": [ - { - "label": "Fragment 1", - "language": "cirru", - "value": "-- https://github.com/Cirru/cirru-gopher/blob/master/code/scope.cr,\n\nset a (int 2)\n\nprint (self)\n\nset c (child)\n\nunder c\n under parent\n print a\n\nprint $ get c a\n\nset c x (int 3)\nprint $ get c x\n\nset just-print $ code\n print a\n\nprint just-print\n\neval (self) just-print\neval just-print\n\nprint (string \"string with space\")\nprint (string \"escapes \\n \\\"\\\\\")\n\nbrackets ((((()))))\n\n\"eval\" $ string \"eval\"\n\nprint (add $ (int 1) (int 2))\n\nprint $ unwrap $\n map (a $ int 1) (b $ int 2)\n\nprint a\n int 1\n , b c\n int 2\n , d" - } - ], - "id": "jb3ZmJqm", - "createdAt": 1659496321101, - "updatedAt": 1659496366135 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Clojure", - "content": [ - { - "label": "Fragment 1", - "language": "clojure", - "value": "(defn parting\n \"returns a String parting in a given language\"\n ([] (parting \"World\"))\n ([name] (parting name \"en\"))\n ([name language]\n ; condp is similar to a case statement in other languages.\n ; It is described in more detail later.\n ; It is used here to take different actions based on whether the\n ; parameter \"language\" is set to \"en\", \"es\" or something else.\n (condp = language\n \"en\" (str \"Goodbye, \" name)\n \"es\" (str \"Adios, \" name)\n (throw (IllegalArgumentException.\n (str \"unsupported language \" language))))))\n\n(println (parting)) ; -> Goodbye, World\n(println (parting \"Mark\")) ; -> Goodbye, Mark\n(println (parting \"Mark\" \"es\")) ; -> Adios, Mark\n(println (parting \"Mark\", \"xy\")) ; -> java.lang.IllegalArgumentException: unsupported language xy" - } - ], - "id": "n8stzXZu", - "createdAt": 1659496368210, - "updatedAt": 1659496386902 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Cobol", - "content": [ - { - "label": "Fragment 1", - "language": "cobol", - "value": "GNU >>SOURCE FORMAT IS FIXED\nCobol *> ***************************************************************\n *> Purpose: Say hello to GNU Cobol\nHello *> Tectonics: cobc -x bigworld.cob\nmoney *> ***************************************************************\n identification division.\n program-id. bigworld.\n\nDATA data division.\n working-storage section.\n 01 hello pic $$$$,$$$,$$$,$$$,$$$,$$$.99.\n 01 world pic s9(18)v99 value zero.\n\n 01 people pic ZZZ,ZZZ,ZZZ,ZZ9.\n 01 persons pic 9(18) value 7182044470.\n\n 01 each pic 9(5)v99 value 26202.42.\n\n *> ***************************************************************\nCODE procedure division.\n\n multiply persons by each giving world\n on size error\n display \"We did it. We broke the world bank\" end-display\n end-multiply\n\n move world to hello\n move persons to people\n\n display \"Hello, world\" end-display\n display \" \" end-display\n display\n \"On \" function locale-date(20130927)\n \" at \" function locale-time(120000)\n \", according to UN estimates:\" \n end-display\n display\n \"You were home to some \" people \" people,\"\n \" with an estimated worth of \" hello\n end-display\n\n goback.\n end program bigworld.\n" - } - ], - "id": "OvDpcRnU", - "createdAt": 1659496388215, - "updatedAt": 1659496404486 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "CoffeeScipt", - "content": [ - { - "label": "Fragment 1", - "language": "coffee", - "value": "#!/usr/bin/env coffee\n\ntry\n throw URIError decodeURI(0xC0ffee * 123456.7e-8 / .9)\ncatch e\n console.log 'qstring' + \"qqstring\" + '''\n qdoc\n ''' + \"\"\"\n qqdoc\n \"\"\"\n\ndo ->\n ###\n herecomment\n ###\n re = /regex/imgy.test ///\n heregex # comment\n ///imgy\n this isnt: `just JavaScript`\n undefined\n \nsentence = \"#{ 22 / 7 } is a decent approximation of π\"" - } - ], - "id": "mtXYn9sv", - "createdAt": 1659496405486, - "updatedAt": 1659496434410 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ColdFusion", - "content": [ - { - "label": "Fragment 1", - "language": "coldfusion", - "value": "\n\n\n\n#welcome#" - } - ], - "id": "5M0DEhNa", - "createdAt": 1659496437877, - "updatedAt": 1659496663556 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Crystal", - "content": [ - { - "label": "Fragment 1", - "language": "crystal", - "value": "# crystal comment\n\nrequire \"llvm\"\n\nNUM_CELLS = 30000\nCELL_SIZE_IN_BYTES = 1\n\nabstract class Instruction\n abstract def compile(program, bb)\nend\n\nclass Increment < Instruction\n def initialize(@amount : Int32)\n end\n\n def compile(program, bb)\n cell_val_is_zero = builder.icmp LLVM::IntPredicate::EQ, cell_val, zero\n call_args = [@ctx.int32.const_int(NUM_CELLS), @ctx.int32.const_int(CELL_SIZE_IN_BYTES)]\n builder.cond cell_val_is_zero, loop_after, loop_body_block\n\n @body.each do |instruction|\n loop_body_block = instruction.compile(program, loop_body_block)\n end\n\n builder.position_at_end loop_body_block\n\n unless matching_close_index\n error \"Unmatched '[' at position #{i}\"\n end\n\n bb\n end\nend\n" - } - ], - "id": "dAN42Kbk", - "createdAt": 1659496807660, - "updatedAt": 1659496827338 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Csound", - "content": [ - { - "label": "Fragment 1", - "language": "csound_orchestra", - "value": "/*\n * comment\n */\n; comment\n// comment\n\ninstr/**/1,/**/N_a_M_e_,/**/+Name/**///\n iDuration = p3\n outc:a(aSignal)\nendin\n\nopcode/**/aUDO,/**/i[],/**/aik//\n aUDO\nendop\n\n123 0123456789\n0xabcdef0123456789 0XABCDEF\n1e2 3e+4 5e-6 7E8 9E+0 1E-2 3. 4.56 .789\n\n\"characters$MACRO.\"\n\"\\\\\\a\\b\\n\\r\\t\\012\\345\\67\\\"\"\n\n{{\ncharacters$MACRO.\n}}\n{{\\\\\\a\\b\\n\\r\\t\\\"\\012\\345\\67}}\n\n+ - ~ ¬ ! * / ^ % << >> < > <= >= == != & # | && || ? : += -= *= /=\n\n0dbfs A4 kr ksmps nchnls nchnls_i sr\n\ndo else elseif endif enduntil fi if ithen kthen od then until while\nreturn rireturn\n\naLabel:\n label2:\n\ngoto aLabel\nreinit aLabel\ncggoto 1==0, aLabel\ntimout 0, 0, aLabel\nloop_ge 0, 0, 0, aLabel\n\nreadscore {{\ni 1 0 0\n}}\npyrun {{\n# Python\n}}\nlua_exec {{\n-- Lua\n}}\n\n#include/**/\"file.udo\"\n#include/**/|file.udo|\n\n#ifdef MACRO\n#else\n#ifndef MACRO\n#endif\n#undef MACRO\n\n# define MACRO#macro_body#\n#define/**/\nMACRO/**/\n#\\#macro\nbody\\##\n\n#define MACRO(ARG1#ARG2) #macro_body#\n#define/**/\nMACRO(ARG1'ARG2'ARG3)/**/\n#\\#macro\nbody\\##\n\n$MACRO $MACRO.\n$MACRO(x)\n@0\n@@ 1\n$MACRO.(((x#y\\)))' \"(#'x)\\)x\\))\"# {{x\\))x)\\)(#'}});\n" - } - ], - "id": "B3duvVHk", - "createdAt": 1659496829249, - "updatedAt": 1659496898816 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Csound Document", - "content": [ - { - "label": "Fragment 1", - "language": "csound_document", - "value": "text\n\n\n0dbfs = 1\nprints \"hello, world\\n\"\n\n\ni 1 0 0\n\n\n\n\n\n" - } - ], - "id": "u9rXri7I", - "createdAt": 1659496900901, - "updatedAt": 1659496925580 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Csound Score", - "content": [ - { - "label": "Fragment 1", - "language": "csound_score", - "value": "/*\n * comment\n */\n; comment\n// comment\na B b C d e f i q s t v x y\nz\nnp0 nP1 Np2 NP3\nm/**/label;\nn label\n123 0123456789\n0xabcdef0123456789 0XABCDEF\n1e2 3e+4 5e-6 7E8 9E+0 1E-2 3. 4.56 .789\n\"characters$MACRO.\"\n{ 1 I\n { 2 J\n { 3 K\n $I $J $K\n }\n }\n}\n#include \"score.sco\"\n" - } - ], - "id": "WPZVP1_O", - "createdAt": 1659496928964, - "updatedAt": 1659497009485 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "CSS", - "content": [ - { - "label": "Fragment 1", - "language": "css", - "value": ".text-layer {\n font: 12px Monaco, \"Courier New\", monospace;\n font-size: 3vmin;\n cursor: text;\n}\n\n.blinker {\n animation: blink 1s linear infinite alternate;\n}\n\n@keyframes blink {\n 0%, 40% {\n opacity: 0; /*\n */\n opacity: 1\n }\n\n 40.5%, 100% {\n opacity: 1\n }\n}\n\n@document url(http://c9.io/), url-prefix(http://ace.c9.io/build/),\n domain(c9.io), regexp(\"https:.*\") /**/\n{\n /**/\n img[title]:before \n {\n content: attr(title) \"\\AImage \\\n retrieved from\"\n attr(src); /*\n */\n white-space: pre;\n display: block;\n background: url(asdasd); \"err\n }\n}\n\n@viewport {\n min-zoom: 1;\n max-zoom: 200%;\n user-zoom: fixed;\n}\n" - } - ], - "id": "kmxoH0Wa", - "createdAt": 1659497023275, - "updatedAt": 1659497059514 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Curly", - "content": [ - { - "label": "Fragment 1", - "language": "curly", - "value": "\n \n\n \n\n \n \n

{{author_name}}

\n \n\n" - } - ], - "id": "W4SWjdMO", - "createdAt": 1659497060906, - "updatedAt": 1659497085847 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "D", - "content": [ - { - "label": "Fragment 1", - "language": "d", - "value": "#!/usr/bin/env rdmd\n// Computes average line length for standard input.\nimport std.stdio;\n\nvoid main() {\n ulong lines = 0;\n double sumLength = 0;\n foreach (line; stdin.byLine()) {\n ++lines;\n sumLength += line.length;\n }\n writeln(\"Average line length: \",\n lines ? sumLength / lines : 0);\n}" - } - ], - "id": "GNeWkatM", - "createdAt": 1659497081648, - "updatedAt": 1659497109051 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Dart", - "content": [ - { - "label": "Fragment 1", - "language": "dart", - "value": "// Go ahead and modify this example.\n\nimport \"dart:html\";\n\n// Computes the nth Fibonacci number.\nint fibonacci(int n) {\n if (n < 2) return n;\n return fibonacci(n - 1) + fibonacci(n - 2);\n}\n\n// Displays a Fibonacci number.\nvoid main() {\n int i = 20;\n String message = \"fibonacci($i) = ${fibonacci(i)}\";\n\n // This example uses HTML to display the result and it will appear\n // in a nested HTML frame (an iframe).\n document.body.append(new HeadingElement.h1()..appendText(message));\n}\n" - } - ], - "id": "Nw7CRmhq", - "createdAt": 1659497110578, - "updatedAt": 1659497122970 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Diff", - "content": [ - { - "label": "Fragment 1", - "language": "diff", - "value": "diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js\nindex 23fc3fc..ed3b273 100644\n--- a/lib/ace/edit_session.js\n+++ b/lib/ace/edit_session.js\n@@ -51,6 +51,7 @@ var TextMode = require(\"./mode/text\").Mode;\n var Range = require(\"./range\").Range;\n var Document = require(\"./document\").Document;\n var BackgroundTokenizer = require(\"./background_tokenizer\").BackgroundTokenizer;\n+var SearchHighlight = require(\"./search_highlight\").SearchHighlight;\n \n /**\n * class EditSession\n@@ -307,6 +308,13 @@ var EditSession = function(text, mode) {\n return token;\n };\n \n+ this.highlight = function(re) {\n+ if (!this.$searchHighlight) {\n+ var highlight = new SearchHighlight(null, \"ace_selected-word\", \"text\");\n+ this.$searchHighlight = this.addDynamicMarker(highlight);\n+ }\n+ this.$searchHighlight.setRegexp(re);\n+ }\n /**\n * EditSession.setUndoManager(undoManager)\n * - undoManager (UndoManager): The new undo manager\n@@ -556,7 +564,8 @@ var EditSession = function(text, mode) {\n type : type || \"line\",\n renderer: typeof type == \"function\" ? type : null,\n clazz : clazz,\n- inFront: !!inFront\n+ inFront: !!inFront,\n+ id: id\n }\n \n if (inFront) {\ndiff --git a/lib/ace/editor.js b/lib/ace/editor.js\nindex 834e603..b27ec73 100644\n--- a/lib/ace/editor.js\n+++ b/lib/ace/editor.js\n@@ -494,7 +494,7 @@ var Editor = function(renderer, session) {\n * Emitted when a selection has changed.\n **/\n this.onSelectionChange = function(e) {\n- var session = this.getSession();\n+ var session = this.session;\n \n if (session.$selectionMarker) {\n session.removeMarker(session.$selectionMarker);\n@@ -509,12 +509,40 @@ var Editor = function(renderer, session) {\n this.$updateHighlightActiveLine();\n }\n \n- var self = this;\n- if (this.$highlightSelectedWord && !this.$wordHighlightTimer)\n- this.$wordHighlightTimer = setTimeout(function() {\n- self.session.$mode.highlightSelection(self);\n- self.$wordHighlightTimer = null;\n- }, 30, this);\n+ var re = this.$highlightSelectedWord && this.$getSelectionHighLightRegexp()\n };\ndiff --git a/lib/ace/search_highlight.js b/lib/ace/search_highlight.js\nnew file mode 100644\nindex 0000000..b2df779\n--- /dev/null\n+++ b/lib/ace/search_highlight.js\n@@ -0,0 +1,3 @@\n+new\n+empty file" - } - ], - "id": "XVlqRbTf", - "createdAt": 1659497123657, - "updatedAt": 1659497359400 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Django", - "content": [ - { - "label": "Fragment 1", - "language": "django", - "value": "\n\n\n {% block title %}Local Library{% endblock %}\n\n\n {% block sidebar %}{% endblock %}\n {% block content %}{% endblock %}\n\n" - } - ], - "id": "SlHomc5j", - "createdAt": 1659497360765, - "updatedAt": 1659498962118 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Dockerfile", - "content": [ - { - "label": "Fragment 1", - "language": "dockerfile", - "value": "#\n# example Dockerfile for http://docs.docker.io/en/latest/examples/postgresql_service/\n#\n\nFROM ubuntu\nMAINTAINER SvenDowideit@docker.com\n\n# Add the PostgreSQL PGP key to verify their Debian packages.\n# It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc \nRUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8\n\n# Add PostgreSQL's repository. It contains the most recent stable release\n# of PostgreSQL, ``9.3``.\nRUN echo \"deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main\" > /etc/apt/sources.list.d/pgdg.list\n\n# Update the Ubuntu and PostgreSQL repository indexes\nRUN apt-get update\n\n# Install ``python-software-properties``, ``software-properties-common`` and PostgreSQL 9.3\n# There are some warnings (in red) that show up during the build. You can hide\n# them by prefixing each apt-get statement with DEBIAN_FRONTEND=noninteractive\nRUN apt-get -y -q install python-software-properties software-properties-common\nRUN apt-get -y -q install postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3\n\n# Note: The official Debian and Ubuntu images automatically ``apt-get clean``\n# after each ``apt-get`` \n\n# Run the rest of the commands as the ``postgres`` user created by the ``postgres-9.3`` package when it was ``apt-get installed``\nUSER postgres\n\n# Create a PostgreSQL role named ``docker`` with ``docker`` as the password and\n# then create a database `docker` owned by the ``docker`` role.\n# Note: here we use ``&&\\`` to run commands one after the other - the ``\\``\n# allows the RUN command to span multiple lines.\nRUN /etc/init.d/postgresql start &&\\\n psql --command \"CREATE USER docker WITH SUPERUSER PASSWORD 'docker';\" &&\\\n createdb -O docker docker\n\n# Adjust PostgreSQL configuration so that remote connections to the\n# database are possible. \nRUN echo \"host all all 0.0.0.0/0 md5\" >> /etc/postgresql/9.3/main/pg_hba.conf\n\n# And add ``listen_addresses`` to ``/etc/postgresql/9.3/main/postgresql.conf``\nRUN echo \"listen_addresses='*'\" >> /etc/postgresql/9.3/main/postgresql.conf\n\n# Expose the PostgreSQL port\nEXPOSE 5432\n\n# Add VOLUMEs to allow backup of config, logs and databases\nVOLUME\t[\"/etc/postgresql\", \"/var/log/postgresql\", \"/var/lib/postgresql\"]\n\n# Set the default command to run when starting the container\nCMD [\"/usr/lib/postgresql/9.3/bin/postgres\", \"-D\", \"/var/lib/postgresql/9.3/main\", \"-c\", \"config_file=/etc/postgresql/9.3/main/postgresql.conf\"]" - } - ], - "id": "zARrocL3", - "createdAt": 1659497758750, - "updatedAt": 1659497805813 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Dot", - "content": [ - { - "label": "Fragment 1", - "language": "dot", - "value": "// Original source: http://www.graphviz.org/content/lion_share\n##\"A few people in the field of genetics are using dot to draw \"marriage node diagram\" pedigree drawings. Here is one I have done of a test pedigree from the FTREE pedigree drawing package (Lion Share was a racehorse).\" Contributed by David Duffy.\n\n##Command to get the layout: \"dot -Tpng thisfile > thisfile.png\"\n\ndigraph Ped_Lion_Share {\n# page = \"8.2677165,11.692913\" ;\nratio = \"auto\" ;\nmincross = 2.0 ;\nlabel = \"Pedigree Lion_Share\" ;\n\n\"001\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"002\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"003\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"004\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"005\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"006\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"007\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"009\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"014\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"015\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"016\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"ZZ01\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"ZZ02\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"017\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"012\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"008\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"011\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"013\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"010\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"023\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"020\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"021\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"018\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"025\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"019\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"022\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"024\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"027\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"026\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"028\" [shape=box , regular=1,style=filled,fillcolor=grey ] ;\n\"marr0001\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"001\" -> \"marr0001\" [dir=none,weight=1] ;\n\"007\" -> \"marr0001\" [dir=none,weight=1] ;\n\"marr0001\" -> \"017\" [dir=none, weight=2] ;\n\"marr0002\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"001\" -> \"marr0002\" [dir=none,weight=1] ;\n\"ZZ02\" -> \"marr0002\" [dir=none,weight=1] ;\n\"marr0002\" -> \"012\" [dir=none, weight=2] ;\n\"marr0003\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"002\" -> \"marr0003\" [dir=none,weight=1] ;\n\"003\" -> \"marr0003\" [dir=none,weight=1] ;\n\"marr0003\" -> \"008\" [dir=none, weight=2] ;\n\"marr0004\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"002\" -> \"marr0004\" [dir=none,weight=1] ;\n\"006\" -> \"marr0004\" [dir=none,weight=1] ;\n\"marr0004\" -> \"011\" [dir=none, weight=2] ;\n\"marr0005\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"002\" -> \"marr0005\" [dir=none,weight=1] ;\n\"ZZ01\" -> \"marr0005\" [dir=none,weight=1] ;\n\"marr0005\" -> \"013\" [dir=none, weight=2] ;\n\"marr0006\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"004\" -> \"marr0006\" [dir=none,weight=1] ;\n\"009\" -> \"marr0006\" [dir=none,weight=1] ;\n\"marr0006\" -> \"010\" [dir=none, weight=2] ;\n\"marr0007\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"005\" -> \"marr0007\" [dir=none,weight=1] ;\n\"015\" -> \"marr0007\" [dir=none,weight=1] ;\n\"marr0007\" -> \"023\" [dir=none, weight=2] ;\n\"marr0008\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"005\" -> \"marr0008\" [dir=none,weight=1] ;\n\"016\" -> \"marr0008\" [dir=none,weight=1] ;\n\"marr0008\" -> \"020\" [dir=none, weight=2] ;\n\"marr0009\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"005\" -> \"marr0009\" [dir=none,weight=1] ;\n\"012\" -> \"marr0009\" [dir=none,weight=1] ;\n\"marr0009\" -> \"021\" [dir=none, weight=2] ;\n\"marr0010\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"008\" -> \"marr0010\" [dir=none,weight=1] ;\n\"017\" -> \"marr0010\" [dir=none,weight=1] ;\n\"marr0010\" -> \"018\" [dir=none, weight=2] ;\n\"marr0011\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"011\" -> \"marr0011\" [dir=none,weight=1] ;\n\"023\" -> \"marr0011\" [dir=none,weight=1] ;\n\"marr0011\" -> \"025\" [dir=none, weight=2] ;\n\"marr0012\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"013\" -> \"marr0012\" [dir=none,weight=1] ;\n\"014\" -> \"marr0012\" [dir=none,weight=1] ;\n\"marr0012\" -> \"019\" [dir=none, weight=2] ;\n\"marr0013\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"010\" -> \"marr0013\" [dir=none,weight=1] ;\n\"021\" -> \"marr0013\" [dir=none,weight=1] ;\n\"marr0013\" -> \"022\" [dir=none, weight=2] ;\n\"marr0014\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"019\" -> \"marr0014\" [dir=none,weight=1] ;\n\"020\" -> \"marr0014\" [dir=none,weight=1] ;\n\"marr0014\" -> \"024\" [dir=none, weight=2] ;\n\"marr0015\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"022\" -> \"marr0015\" [dir=none,weight=1] ;\n\"025\" -> \"marr0015\" [dir=none,weight=1] ;\n\"marr0015\" -> \"027\" [dir=none, weight=2] ;\n\"marr0016\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"024\" -> \"marr0016\" [dir=none,weight=1] ;\n\"018\" -> \"marr0016\" [dir=none,weight=1] ;\n\"marr0016\" -> \"026\" [dir=none, weight=2] ;\n\"marr0017\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"026\" -> \"marr0017\" [dir=none,weight=1] ;\n\"027\" -> \"marr0017\" [dir=none,weight=1] ;\n\"marr0017\" -> \"028\" [dir=none, weight=2] ;\n}\n" - } - ], - "id": "zsE7DGS6", - "createdAt": 1659497806776, - "updatedAt": 1659497822789 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Drools", - "content": [ - { - "label": "Fragment 1", - "language": "drools", - "value": "/*\n * Copyright 2010 JBoss Inc\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n Original source\n https://github.com/droolsjbpm/drools/blob/master/drools-examples/\n http://docs.jboss.org/drools/\n*/\npackage com.example.ace\n\nimport java.math.BigDecimal\nimport function my.package.Foo.hello\n\ndeclare FactType\n @author( Bob )\n id : String\n name : String @maxLength(100) @notnull\n\n value : BigDecimal\nend\n\ndeclare FactType2 extends AnotherType\nend\n\ndeclare trait TraitType extends com.package.AnotherType\nend\n\n\ndeclare trait GoldenCustomer\n balance : long @Alias( \"org.acme.foo.accountBalance\" )\nend\n\nglobal org.slf4j.Logger logger\n\n/**\n * @param name who we'll salute?\n */\nfunction String hello(String name) {\n return \"Hello \"+name+\"!\";\n}\n\nrule \"Trim all strings\"\n dialect \"java\"\n no-loop\nwhen // fdsfds\n $s : String(a == null || == \"empty\", $g : size)\n Cheese( name matches \"(Buffalo)?\\\\S*Mozarella\" )\n CheeseCounter( cheeses contains $var ) // contains with a variable\n CheeseCounter( cheese memberof $matureCheeses )\n Cheese( name soundslike 'foobar' )\n Message( routingValue str[startsWith] \"R1\" )\n Cheese( name in ( \"stilton\", \"cheddar\", $cheese ) )\n Person( eval( age == girlAge + 2 ), sex = 'M' )\nthen\n /**\n * TODO There mus be better way\n */\n retract($s);\n String a = \"fd\";\n a.toString();\n\n insert($s.trim());\nend\n\nquery isContainedIn( String x, String y )\n Location( x, y; )\n or\n ( Location( z, y; ) and isContainedIn( x, z; ) )\nend\n\nrule \"go\" salience 10\nwhen\n $s : String( )\nthen\n System.out.println( $s );\nend\n\nrule \"When all English buses are not red\"\nwhen\n not(forall( $bus : Bus( nationality == 'english')\n Bus( this == $bus, color = 'red' ) ))\nthen\n // What if all english buses are not red?\nend\n\nrule \"go1\"\nwhen\n String( this == \"go1\" )\n isContainedIn(\"Office\", \"House\"; )\nthen\n System.out.println( \"office is in the house\" );\nend\n\nrule \"go2\"\nwhen\n String( this == \"go2\" )\n isContainedIn(\"Draw\", \"House\"; )\nthen\n System.out.println( \"Draw in the House\" );\nend\n\n/**\n * Go Right\n */\nrule GoRight dialect \"mvel\" salience (Math.abs( $df.colDiff )) when\n $df : DirectionDiff(colDiff > 0 )\n $target : Cell( row == $df.row, col == ($df.col + 1) )\n CellContents( cell == $target, cellType != CellType.WALL )\n not Direction(character == $df.fromChar, horizontal == Direction.RIGHT )\nthen\n System.out.println( \"monster right\" );\n retract( $df );\n insert( new Direction($df.fromChar, Direction.RIGHT, Direction.NONE ) );\nend\n" - } - ], - "id": "q7ltgu98", - "createdAt": 1659497823169, - "updatedAt": 1659497838753 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Eifact", - "content": [ - { - "label": "Fragment 1", - "language": "edifact", - "value": "UNB+UNOA:1+005435656:1+006415160:1+060515:1434+00000000000778'\nUNH+00000000000117+INVnrOIC:D:97B:UN'\nBGM+380+342459+9'\nDTM+3:20060515:102'\nRFF+ON:521052'\nNAD+BY+792820524::16++CUMMINS MID-RANGE ENGINE PLANT'\nNAD+SE+005435656::16++GENERAL WIDGET COMPANY'\nCUX+1:USD'\nLIN+1++157870:IN'\nIMD+F++:::WIDGET'\nQTY+47:1020:EA'\nALI+US'\nMOA+203:1202.58'\nPRI+INV:1.179'\nLIN+2++157871:IN'\nIMD+F++:::DIFFERENT WIDGET'\nQTY+47:20:EA'\nALI+JP'\nMOA+203:410'\nPRI+INV:20.5'\nUNS+S'\nMOA+39:2137.58'\nALC+C+ABG'\nMOA+8:525'\nUNT+23+00000000000117'\nUNZ+1+00000000000778'" - } - ], - "id": "kd4AwKPE", - "createdAt": 1659497839277, - "updatedAt": 1659497866736 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Eiffel", - "content": [ - { - "label": "Fragment 1", - "language": "eiffel", - "value": "note\n\tdescription: \"Represents a person.\"\n\nclass\n\tPERSON\n\ncreate\n\tmake, make_unknown\n\nfeature {NONE} -- Creation\n\n\tmake (a_name: like name)\n\t\t\t-- Create a person with `a_name' as `name'.\n\t\tdo\n\t\t\tname := a_name\n\t\tensure\n\t\t\tname = a_name\n\t\tend\n\n\tmake_unknown\n\t\tdo ensure\n\t\t\tname = Void\n\t\tend\n\nfeature -- Access\n\n\tname: detachable STRING\n\t\t\t-- Full name or Void if unknown.\n\nend" - } - ], - "id": "oLy18nv7", - "createdAt": 1659498171205, - "updatedAt": 1659498199263 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "EJS", - "content": [ - { - "label": "Fragment 1", - "language": "ejs", - "value": "\n\n \n Cloud9 Rocks!\n \n \n\n \n \n \n \n \n <% if (!isRoot) { %>\n \n \n \n \n <% } %>\n <% entries.forEach(function(entry) { %>\n \n \n \n \n <% }) %>\n
NameSize
..
\n \">\n \"><%= entry.name %>\n <%= entry.size %>
\n \n \n" - } - ], - "id": "RfTqVA-l", - "createdAt": 1659498199950, - "updatedAt": 1659498217270 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Elixir", - "content": [ - { - "label": "Fragment 1", - "language": "elixir", - "value": "defmodule HelloModule do\n @moduledoc \"\"\"\n This is supposed to be `markdown`.\n __Yes__ this is [mark](http://down.format)\n\n # Truly\n\n ## marked\n\n * with lists\n * more\n * and more\n\n Even.with(code)\n blocks |> with |> samples\n\n _Docs are first class citizens in Elixir_ (Jose Valim)\n \"\"\"\n \n # A \"Hello world\" function\n def some_fun do\n IO.puts \"Juhu Kinners!\"\n end\n # A private function\n defp priv do\n is_regex ~r\"\"\"\n This is a regex\n spanning several\n lines.\n \"\"\"\n x = elem({ :a, :b, :c }, 0) #=> :a\n end\nend\n\ntest_fun = fn(x) ->\n cond do\n x > 10 ->\n :greater_than_ten\n true ->\n :maybe_ten\n end\nend" - } - ], - "id": "S7aN9gmR", - "createdAt": 1659498217656, - "updatedAt": 1659498236110 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Elm", - "content": [ - { - "label": "Fragment 1", - "language": "elm", - "value": "{- Ace {- 4 -} Elm -}\nmain = lift clock (every second)\n\nclock t = collage 400 400 [ filled lightGrey (ngon 12 110)\n , outlined (solid grey) (ngon 12 110)\n , hand orange 100 t\n , hand charcoal 100 (t/60)\n , hand charcoal 60 (t/720) ]\n\nhand clr len time =\n let angle = degrees (90 - 6 * inSeconds time)\n in traced (solid clr) <| segment (0,0) (len * cos angle, len * sin angle)" - } - ], - "id": "EymKD1vg", - "createdAt": 1659498236614, - "updatedAt": 1659498253750 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Erlang", - "content": [ - { - "label": "Fragment 1", - "language": "erlang", - "value": " %% A process whose only job is to keep a counter.\n %% First version\n -module(counter).\n -export([start/0, codeswitch/1]).\n \n start() -> loop(0).\n \n loop(Sum) ->\n receive\n {increment, Count} ->\n loop(Sum+Count);\n {counter, Pid} ->\n Pid ! {counter, Sum},\n loop(Sum);\n code_switch ->\n ?MODULE:codeswitch(Sum)\n % Force the use of 'codeswitch/1' from the latest MODULE version\n end.\n \n codeswitch(Sum) -> loop(Sum)." - } - ], - "id": "kab7H40N", - "createdAt": 1659498254110, - "updatedAt": 1659498269387 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Forth", - "content": [ - { - "label": "Fragment 1", - "language": "forth", - "value": ": HELLO ( -- ) CR .\" Hello, world!\" ; \n\nHELLO \nHello, world!\n\n: [CHAR] CHAR POSTPONE LITERAL ; IMMEDIATE\n\n0 value ii 0 value jj\n0 value KeyAddr 0 value KeyLen\ncreate SArray 256 allot \\ state array of 256 bytes\n: KeyArray KeyLen mod KeyAddr ;\n\n: get_byte + c@ ;\n: set_byte + c! ;\n: as_byte 255 and ;\n: reset_ij 0 TO ii 0 TO jj ;\n: i_update 1 + as_byte TO ii ;\n: j_update ii SArray get_byte + as_byte TO jj ;\n: swap_s_ij\n jj SArray get_byte\n ii SArray get_byte jj SArray set_byte\n ii SArray set_byte\n;\n\n: rc4_init ( KeyAddr KeyLen -- )\n 256 min TO KeyLen TO KeyAddr\n 256 0 DO i i SArray set_byte LOOP\n reset_ij\n BEGIN\n ii KeyArray get_byte jj + j_update\n swap_s_ij\n ii 255 < WHILE\n ii i_update\n REPEAT\n reset_ij\n;\n: rc4_byte\n ii i_update jj j_update\n swap_s_ij\n ii SArray get_byte jj SArray get_byte + as_byte SArray get_byte xor\n;" - } - ], - "id": "WJIVTmus", - "createdAt": 1659498306633, - "updatedAt": 1659498343211 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Fortran", - "content": [ - { - "label": "Fragment 1", - "language": "fortran", - "value": "PROGRAM Triangle\n IMPLICIT NONE\n REAL :: a, b, c, Area\n PRINT *, 'Welcome, please enter the&\n &lengths of the 3 sides.'\n READ *, a, b, c\n PRINT *, 'Triangle''s area: ', Area(a,b,c)\n END PROGRAM Triangle\n FUNCTION Area(x,y,z)\n IMPLICIT NONE\n REAL :: Area ! function type\n REAL, INTENT( IN ) :: x, y, z\n REAL :: theta, height\n theta = ACOS((x**2+y**2-z**2)/(2.0*x*y))\n height = x*SIN(theta); Area = 0.5*y*height\n END FUNCTION Area\n" - } - ], - "id": "xg3FwrCH", - "createdAt": 1659498365921, - "updatedAt": 1659498805349 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "F#", - "content": [ - { - "label": "Fragment 1", - "language": "fsharp", - "value": "(* fsharp (* example *) *)\nmodule Test =\n let (*) x y = (x + y)\n let func1 x = \n if x < 100 then\n x*x\n else\n x*x + 1\n let list = (-1, 42) :: [ for i in 0 .. 99 -> (i, func1(i)) ]\n let verbatim = @\"c:\\Program \"\" Files\\\"\n let trippleQuote = \"\"\" \"hello world\" \"\"\"\n \n // print\n printfn \"The table of squares from 0 to 99 is:\\n%A\" list" - } - ], - "id": "4PuKBcrb", - "createdAt": 1659498639352, - "updatedAt": 1659498656593 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Gcode", - "content": [ - { - "label": "Fragment 1", - "language": "gcode", - "value": "O003 (DIAMOND SQUARE)\nN2 G54 G90 G49 G80\nN3 M6 T1 (1.ENDMILL)\nN4 M3 S1800\nN5 G0 X-.6 Y2.050\nN6 G43 H1 Z.1\nN7 G1 Z-.3 F50.\nN8 G41 D1 Y1.45\nN9 G1 X0 F20.\nN10 G2 J-1.45\n(CUTTER COMP CANCEL)\nN11 G1 Z-.2 F50.\nN12 Y-.990\nN13 G40\nN14 G0 X-.6 Y1.590\nN15 G0 Z.1\nN16 M5 G49 G28 G91 Z0\nN17 CALL O9456\nN18 #500=0.004\nN19 #503=[#500+#501]\nN20 VC45=0.0006\nVS4=0.0007\nN21 G90 G10 L20 P3 X5.Y4. Z6.567\nN22 G0 X5000\nN23 IF [#1 LT 0.370] GOTO 49\nN24 X-0.678 Y+.990\nN25 G84.3 X-0.1\nN26 #4=#5*COS[45]\nN27 #4=#5*SIN[45]\nN28 VZOFZ=652.9658\n%" - } - ], - "id": "Yh1m0JPQ", - "createdAt": 1659498659758, - "updatedAt": 1659498686965 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Gherkin", - "content": [ - { - "label": "Fragment 1", - "language": "gherkin", - "value": "@these @_are_ @tags\nFeature: Serve coffee\n Coffee should not be served until paid for\n Coffee should not be served until the button has been pressed\n If there is no coffee left then money should be refunded\n \n Scenario Outline: Eating\n Given there are cucumbers\n When I eat cucumbers\n Then I should have cucumbers\n\n Examples:\n | start | eat | left |\n | 12 | 5 | 7 |\n | @20 | 5 | 15 | \n\n Scenario: Buy last coffee\n Given there are 1 coffees left in the machine\n And I have deposited 1$ \n When I press the coffee button\n Then I should be served a \"coffee\"\n \n # this a comment\n \n \"\"\"\n this is a \n pystring\n \"\"\"" - } - ], - "id": "f1l2o8sf", - "createdAt": 1659498687836, - "updatedAt": 1659498719160 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Gitignore", - "content": [ - { - "label": "Fragment 1", - "language": "gitignore", - "value": "node_modules\ndist\nbuild\n\n.vscode\n.idea\n.DS_Store\nsrc/renderer/types/auto-imports.d.ts\nsrc/renderer/types/components.d.ts\n*.log\n*.local\n" - } - ], - "id": "aixATt95", - "createdAt": 1659498731868, - "updatedAt": 1659499011678 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Glsl", - "content": [ - { - "label": "Fragment 1", - "language": "glsl", - "value": "uniform float amplitude;\nattribute float displacement;\nvarying vec3 vNormal;\n\nvoid main() {\n\n vNormal = normal;\n \n // multiply our displacement by the\n // amplitude. The amp will get animated\n // so we'll have animated displacement\n vec3 newPosition = position + \n normal * \n vec3(displacement *\n amplitude);\n\n gl_Position = projectionMatrix *\n modelViewMatrix *\n vec4(newPosition,1.0);\n}" - } - ], - "id": "R8q5LruR", - "createdAt": 1659499012808, - "updatedAt": 1659499050984 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Go", - "content": [ - { - "label": "Fragment 1", - "language": "golang", - "value": "// Concurrent computation of pi.\n// See http://goo.gl/ZuTZM.\n//\n// This demonstrates Go's ability to handle\n// large numbers of concurrent processes.\n// It is an unreasonable way to calculate pi.\npackage main\n\nimport (\n \"fmt\"\n \"math\"\n)\n\nfunc main() {\n fmt.Println(pi(5000))\n}\n\n// pi launches n goroutines to compute an\n// approximation of pi.\nfunc pi(n int) float64 {\n ch := make(chan float64)\n for k := 0; k <= n; k++ {\n go term(ch, float64(k))\n }\n f := 0.0\n for k := 0; k <= n; k++ {\n f += <-ch\n }\n return f\n}\n\nfunc term(ch chan float64, k float64) {\n ch <- 4 * math.Pow(-1, k) / (2*k + 1)\n}\n" - } - ], - "id": "Zckb3-bZ", - "createdAt": 1659499052602, - "updatedAt": 1659499067400 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "GraphQL", - "content": [ - { - "label": "Fragment 1", - "language": "graphqlschema", - "value": "# Main Schema\nschema {\n\tquery: Query;\n}\n\nscalar Date;\n\n# Simple type to contain all scalar types\ntype AllTypes {\n\t# Field Description for String\n\ttestString: String;\n\t# Field Description for Int\n\ttestInt: Int;\n\t# Field Description for ID\n\ttestID: ID;\n\t# Field Description for Boolean\n\ttestBoolean: Boolean;\n\t# Field Description for Float\n\ttestFloat: Float;\n}\n\ninterface ISearchable {\n searchPreview: String!;\n}\n\nunion ProductTypes = Movie | Book;\n\n# Testing enum\nenum MovieGenere {\n ACTION\n COMEDY\n THRILLER\n DRAMA\n}\n\n# Testing Input\ninput SearchByGenere {\n\tbefore: Date;\n\tafter: Date;\n\tgenere: MovieGenere!;\n}\n\n# Testing Interface\ntype Movie implements ISearchable {\n\tid: ID!;\n\tsearchPreview: String!;\n\trentPrice: Float;\n\tpublishDate: Date;\n\tgenere: MovieGenere;\n\tcast: [String];\n}\n\n# Testing Interface\ntype Book implements ISearchable {\n id: ID!;\n\tsearchPreview: String!;\n\tprice: Float;\n\tpublishDate: Date;\n\tauthors: [String];\n}\n\ntype Query {\n\ttestString: String;\n\ttestDate; Date;\n\tallTypes: AllTypes;\n\tallProducts: [ProductTypes];\n\n\t# searches only movies by genere with sophisticated argument\n\tsearchMovieByGenere(searchObject: SearchByGenere!): [Movie];\n\n\t# Searchs all products by text string\n\tsearchProduct(text: String!): [ISearchable];\n}\n" - } - ], - "id": "I8D7xTBJ", - "createdAt": 1659499068100, - "updatedAt": 1659499093557 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Groovy", - "content": [ - { - "label": "Fragment 1", - "language": "groovy", - "value": "//http://groovy.codehaus.org/Martin+Fowler%27s+closure+examples+in+Groovy\n\nclass Employee {\n def name, salary\n boolean manager\n String toString() { return name }\n}\n\ndef emps = [new Employee(name:'Guillaume', manager:true, salary:200),\n new Employee(name:'Graeme', manager:true, salary:200),\n new Employee(name:'Dierk', manager:false, salary:151),\n new Employee(name:'Bernd', manager:false, salary:50)]\n\ndef managers(emps) {\n emps.findAll { e -> e.isManager() }\n}\n\nassert emps[0..1] == managers(emps) // [Guillaume, Graeme]\n\ndef highPaid(emps) {\n threshold = 150\n emps.findAll { e -> e.salary > threshold }\n}\n\nassert emps[0..2] == highPaid(emps) // [Guillaume, Graeme, Dierk]\n\ndef paidMore(amount) {\n { e -> e.salary > amount}\n}\ndef highPaid = paidMore(150)\n\nassert highPaid(emps[0]) // true\nassert emps[0..2] == emps.findAll(highPaid)\n\ndef filename = 'test.txt'\nnew File(filename).withReader{ reader -> doSomethingWith(reader) }\n\ndef readersText\ndef doSomethingWith(reader) { readersText = reader.text }\n\nassert new File(filename).text == readersText" - } - ], - "id": "z2GBS6CZ", - "createdAt": 1659499322019, - "updatedAt": 1659499339818 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "HAML", - "content": [ - { - "label": "Fragment 1", - "language": "haml", - "value": "!!!5\n\n/[if IE]\n %a{ :href => 'http://www.mozilla.com/en-US/firefox/' }\n %h1 Get Firefox\n\n-# This is a HAML comment. It will not show in the output HTML\n\n-#\n This is a HAML multiline comment\n This won't be displayed\n Nor will this\n Nor will this.\n\n/ This is a HTML comment. It will be rendered as HTML\n\n/\n %p This doesn't render...\n %div\n %h1 Because it's commented out!\n\n.row\n .col-md-6\n\n .col-md-6\n\n\n#users.row.green\n #articles{:style => \"border: 5px;\"}\n #lists.list-inline\n\n%div#todos.bg-green{:id => \"#{@item.type}_#{@item.number}\", :class => '#{@item.type} #{@item.urgency}', :phoney => `asdasdasd`}\n\n/ file: app/views/movies/index.html.haml\n\n%ads:{:bleh => 33}\n%p\n Date/Time:\n - now = DateTime.now\n %strong= now\n = if now DateTime.parse(\"December 31, 2006\")\n = \"Happy new \" + \"year!\"\n\n%sfd.dfdfg\n#content\n .title\n %h1= @title\n = link_to 'Home', home_url\n\n #contents\n%div#content\n %div.articles\n %div.article.title Blah\n %div.article.date 2006-11-05\n %div.article.entry\n Neil Patrick Harris\n\n%div[@user, :greeting]\n %bar[290]\n\n/ This is a comment\n\n/ This is another comment with line break above\n\n.row\n .col-md-6\n .col-md-6\n\n .col-md-6\n\n.row\n .col-md-6\n\n\n .col-md-6" - } - ], - "id": "Pm3cn_Li", - "createdAt": 1659499342563, - "updatedAt": 1659499648807 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Handlebars", - "content": [ - { - "label": "Fragment 1", - "language": "handlebars", - "value": "{{!-- Ace + :-}} --}}\n\n
\n {{#each comments}}\n

{{title}}

\n
{{{body}}}
\n {{/each}}\n
\n" - } - ], - "id": "ODMJsyMr", - "createdAt": 1659499670077, - "updatedAt": 1659499699936 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Haskell", - "content": [ - { - "label": "Fragment 1", - "language": "haskell", - "value": "-- Type annotation (optional)\nfib :: Int -> Integer\n \n-- With self-referencing data\nfib n = fibs !! n\n where fibs = 0 : scanl (+) 1 fibs\n -- 0,1,1,2,3,5,...\n \n-- Same, coded directly\nfib n = fibs !! n\n where fibs = 0 : 1 : next fibs\n next (a : t@(b:_)) = (a+b) : next t\n \n-- Similar idea, using zipWith\nfib n = fibs !! n\n where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)\n \n-- Using a generator function\nfib n = fibs (0,1) !! n\n where fibs (a,b) = a : fibs (b,a+b)" - } - ], - "id": "UFZ0EgLY", - "createdAt": 1659499710604, - "updatedAt": 1659499856647 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Haskell Cabal", - "content": [ - { - "label": "Fragment 1", - "language": "haskell_cabal", - "value": "name: reload\nversion: 0.1.0.0\nsynopsis: Initial project template from stack\nDescription:\n The \\'cabal\\' command-line program simplifies the process of managing\n Haskell software by automating the fetching, configuration, compilation\n and installation of Haskell libraries and programs.\nhomepage: https://github.com/jpmoresmau/dbIDE/reload#readme\nlicense: BSD3\nlicense-file: LICENSE\nauthor: JP Moresmau\nmaintainer: jpmoresmau@gmail.com\ncopyright: 2016 JP Moresmau\ncategory: Web\nbuild-type: Simple\n-- extra-source-files:\ncabal-version: >=1.10\n\nFlag network-uri\n description: Get Network.URI from the network-uri package\n default: True\n\nlibrary\n hs-source-dirs: src\n exposed-modules: Language.Haskell.Reload\n build-depends: base >= 4.7 && < 5\n , aeson\n , scotty\n , wai\n , text\n , directory\n , filepath\n , bytestring\n , containers\n , mime-types\n , transformers\n , wai-handler-launch\n , wai-middleware-static\n , wai-extra\n , http-types\n default-language: Haskell2010\n other-modules: Language.Haskell.Reload.FileBrowser\n ghc-options: -Wall -O2\n\nexecutable reload-exe\n hs-source-dirs: app\n main-is: Main.hs\n ghc-options: -threaded -O2 -rtsopts -with-rtsopts=-N\n build-depends: base\n , reload\n default-language: Haskell2010\n\ntest-suite reload-test\n type: exitcode-stdio-1.0\n hs-source-dirs: test\n main-is: Spec.hs\n build-depends: base\n , reload\n , hspec\n , hspec-wai\n , hspec-wai-json\n , aeson\n , directory\n , filepath\n , text\n , containers\n , unordered-containers\n , bytestring\n , wai-extra\n ghc-options: -threaded -O2 -rtsopts -with-rtsopts=-N\n default-language: Haskell2010\n other-modules: Language.Haskell.Reload.FileBrowserSpec\n Language.Haskell.ReloadSpec\n\nsource-repository head\n type: git\n location: https://github.com/jpmoresmau/dbIDE/reload\n" - } - ], - "id": "WfG80xEU", - "createdAt": 1659499806763, - "updatedAt": 1659499855045 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Haxe", - "content": [ - { - "label": "Fragment 1", - "language": "haxe", - "value": "class HelloWorld {\n static public function main() {\n trace(\"Hello World\");\n }\n}" - } - ], - "id": "IFnOQiFX", - "createdAt": 1659499858660, - "updatedAt": 1659499965939 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Hjson", - "content": [ - { - "label": "Fragment 1", - "language": "hjson", - "value": "{\n # specify rate in requests/second (because comments are helpful!)\n rate: 1000\n\n // prefer c-style comments?\n /* feeling old fashioned? */\n\n # did you notice that rate doesn't need quotes?\n hey: look ma, no quotes for strings either!\n\n # best of all\n notice: []\n anything: ?\n\n # yes, commas are optional!\n}\n" - } - ], - "id": "u3Hrb4_j", - "createdAt": 1659500000006, - "updatedAt": 1659500019395 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "HTML", - "content": [ - { - "label": "Fragment 1", - "language": "html", - "value": "\n\n \n\n \n\n \n\n \n

Juhu Kinners

\n \n" - } - ], - "id": "V0-nWcOY", - "createdAt": 1659500022244, - "updatedAt": 1659500070479 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "HTML - Elixir", - "content": [ - { - "label": "Fragment 1", - "language": "html_elixir", - "value": "

Listing Books

\n \n\n \n \n \n \n \n \n \n\n<%= for book <- @books do %>\n \n <%# comment %>\n \n \n \n \n \n \n<% end %>\n
TitleSummary
<%= book.title %><%= book.content %><%= link \"Show\", to: book_path(@conn, :show, book) %><%= link \"Edit\", to: book_path(@conn, :edit, book) %><%= link \"Delete\", to: book_path(@conn, :delete, book), method: :delete, data: [confirm: \"Are you sure?\"] %>
\n \n
\n \n<%= link \"New book\", to: book_path(@conn, :new) %>\n" - } - ], - "id": "uHpMvpVG", - "createdAt": 1659500072593, - "updatedAt": 1659500094531 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "HTML - Ruby", - "content": [ - { - "label": "Fragment 1", - "language": "html_ruby", - "value": "

Listing Books

\n \n\n \n \n \n \n \n \n \n \n<% @books.each do |book| %>\n \n <%# comment %>\n \n \n \n \n \n \n<% end %>\n
TitleSummary
<%= book.title %><%= book.content %><%= link_to 'Show', book %><%= link_to 'Edit', edit_book_path(book) %><%= link_to 'Remove', book, :confirm => 'Are you sure?', :method => :delete %>
\n \n
\n \n<%= link_to 'New book', new_book_path %>" - } - ], - "id": "pKfYEkh4", - "createdAt": 1659500102423, - "updatedAt": 1659500124757 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "INI", - "content": [ - { - "label": "Fragment 1", - "language": "ini", - "value": "[.ShellClassInfo]\nIconResource=..\\logo.png\n[ViewState]\nFolderType=Generic\n" - } - ], - "id": "fuJCASxY", - "createdAt": 1659500146290, - "updatedAt": 1659500158650 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Io", - "content": [ - { - "label": "Fragment 1", - "language": "io", - "value": "// computes factorial of a number\nfactorial := method(n,\n if(n == 0, return 1)\n res := 1\n Range 1 to(n) foreach(i, res = res * i)\n)" - } - ], - "id": "_57pBmcn", - "createdAt": 1659500159351, - "updatedAt": 1659500168731 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Java", - "content": [ - { - "label": "Fragment 1", - "language": "java", - "value": "import java.util.ArrayList;\nimport java.util.Vector;\n\npublic class InfiniteLoop {\n\n /*\n * This will cause the program to hang...\n *\n * Taken from:\n * http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/\n */\n public static void main(String[] args) {\n double d = Double.parseDouble(\"2.2250738585072012e-308\");\n\n // unreachable code\n System.out.println(\"Value: \" + d);\n }\n}\n" - } - ], - "id": "HKSteGIX", - "createdAt": 1659500267524, - "updatedAt": 1659500281323 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JavaScript", - "content": [ - { - "label": "Fragment 1", - "language": "javascript", - "value": "// program to generate fibonacci series up to n terms\n\n// take input from the user\nconst number = parseInt(prompt('Enter the number of terms: '));\nlet n1 = 0, n2 = 1, nextTerm;\n\nconsole.log('Fibonacci Series:');\n\nfor (let i = 1; i <= number; i++) {\n console.log(n1);\n nextTerm = n1 + n2;\n n1 = n2;\n n2 = nextTerm;\n}" - } - ], - "id": "WYzSf25T", - "createdAt": 1659500310669, - "updatedAt": 1659506836763 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JSON", - "content": [ - { - "label": "Fragment 1", - "language": "json", - "value": "{\n \"query\": {\n \"count\": 10,\n \"created\": \"2011-06-21T08:10:46Z\",\n \"lang\": \"en-US\",\n \"results\": {\n \"photo\": [\n {\n \"farm\": \"6\",\n \"id\": \"5855620975\",\n \"isfamily\": \"0\",\n \"isfriend\": \"0\",\n \"ispublic\": \"1\",\n \"owner\": \"32021554@N04\",\n \"secret\": \"f1f5e8515d\",\n \"server\": \"5110\",\n \"title\": \"7087 bandit cat\"\n },\n {\n \"farm\": \"4\",\n \"id\": \"5856170534\",\n \"isfamily\": \"0\",\n \"isfriend\": \"0\",\n \"ispublic\": \"1\",\n \"owner\": \"32021554@N04\",\n \"secret\": \"ff1efb2a6f\",\n \"server\": \"3217\",\n \"title\": \"6975 rusty cat\"\n },\n {\n \"farm\": \"6\",\n \"id\": \"5856172972\",\n \"isfamily\": \"0\",\n \"isfriend\": \"0\",\n \"ispublic\": \"1\",\n \"owner\": \"51249875@N03\",\n \"secret\": \"6c6887347c\",\n \"server\": \"5192\",\n \"title\": \"watermarked-cats\"\n },\n {\n \"farm\": \"6\",\n \"id\": \"5856168328\",\n \"isfamily\": \"0\",\n \"isfriend\": \"0\",\n \"ispublic\": \"1\",\n \"owner\": \"32021554@N04\",\n \"secret\": \"0c1cfdf64c\",\n \"server\": \"5078\",\n \"title\": \"7020 mandy cat\"\n },\n {\n \"farm\": \"3\",\n \"id\": \"5856171774\",\n \"isfamily\": \"0\",\n \"isfriend\": \"0\",\n \"ispublic\": \"1\",\n \"owner\": \"32021554@N04\",\n \"secret\": \"7f5a3180ab\",\n \"server\": \"2696\",\n \"title\": \"7448 bobby cat\"\n }\n ]\n }\n }\n}" - } - ], - "id": "wiv80DI7", - "createdAt": 1659506841624, - "updatedAt": 1659506858438 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JSON5", - "content": [ - { - "label": "Fragment 1", - "language": "json5", - "value": "{\n foo: 'bar',\n while: true,\n\n this: 'is a \\\nmulti-line string',\n\n // this is an inline comment\n here: 'is another', // inline comment\n\n /* this is a block comment\n that continues on another line */\n\n hex: 0xDEADbeef,\n half: .5,\n delta: +10,\n to: Infinity, // and beyond!\n\n finally: 'a trailing comma',\n oh: [\n \"we shouldn't forget\",\n 'arrays can have',\n 'trailing commas too',\n ],\n}" - } - ], - "id": "WR8cSFol", - "createdAt": 1659506858891, - "updatedAt": 1659506873434 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JSONiq", - "content": [ - { - "label": "Fragment 1", - "language": "jsoniq", - "value": "{|\n for $store in collection(\"stores\")\n let $state := $store.state\n group by $state\n return {\n $state : {|\n for $product in collection(\"products\")\n let $category := $product.category\n group by $category\n return {\n $category : {|\n for $sales in collection(\"sales\")\n where (some $s in $store\n satisfies $sales.\"store number\" eq $s.\"store number\")\n and (some $p in $product\n satisfies $sales.product eq $p.name)\n let $pname := $sales.product\n group by $pname\n return { $pname : sum( $sales.quantity ) }\n |}\n }\n |}\n }\n|}" - } - ], - "id": "zt-pHlzR", - "createdAt": 1659506875045, - "updatedAt": 1659507021385 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JSP", - "content": [ - { - "label": "Fragment 1", - "language": "jsp", - "value": "<%-- initial comment --%>\n<%@ page import=\"java.util.Date\" %>\n<%--@ page isELIgnored=\"true\" //Now EL will be ignored --%>\n\n \n int day = 3;\n \n <%@ include file=\"relative url\" %>\n \n \n Day <%= day %>\n \n \n \n \n\n

\n Today's date: <%= (new java.util.Date()).toLocaleString()%>\n

\n <%! int day = 3; %> \n \n \n \n \n <%-- This comment will not be visible in the page source --%>\n \n \n

\n Today's date: <%= (new java.util.Date()).toLocaleString()%>\n

\n \n<%! int i = 0; %>\n \n int j = 10;\n \n\n <%-- This is JSP comment --%>\n <%@ directive attribute=\"value\" %>\n\n

Select Languages:

\n\n
\n Java
\n .NET
\n PHP
\n C/C++
\n PERL
\n \n
\n\n <%\n String select[] = request.getParameterValues(\"id\"); \n if (select != null && select.length != 0) {\n out.println(\"You have selected: \");\n for (int i = 0; i < select.length; i++) {\n out.println(select[i]); \n }\n }\n %>\n\n\n <% \n switch(day) {\n case 0:\n out.println(\"It\\'s Sunday.\");\n break;\n case 1:\n out.println(\"It\\'s Monday.\");\n break;\n case 2:\n out.println(\"It\\'s Tuesday.\");\n break;\n case 3:\n out.println(\"It\\'s Wednesday.\");\n break;\n case 4:\n out.println(\"It\\'s Thursday.\");\n break;\n case 5:\n out.println(\"It\\'s Friday.\");\n break;\n //hello\n default:\n out.println(\"It's Saturday.\");\n }\n %>\n

\n \n out.println(\"Your IP address is \" + request.getRemoteAddr());\n \n

\n \n\n" - } - ], - "id": "O9ZhMEjD", - "createdAt": 1659507024658, - "updatedAt": 1659507037230 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JSX", - "content": [ - { - "label": "Fragment 1", - "language": "jsx", - "value": "function formatName(user) {\n return user.firstName + ' ' + user.lastName;\n}\n\nconst user = {\n firstName: 'Harper',\n lastName: 'Perez'\n};\n\nconst element = (\n

\n Hello, {formatName(user)}!\n

\n);" - } - ], - "id": "XphCA0jL", - "createdAt": 1659507038119, - "updatedAt": 1659507099781 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Julia", - "content": [ - { - "label": "Fragment 1", - "language": "julia", - "value": "for op = (:+, :*, :&, :|, :$)\n @eval ($op)(a,b,c) = ($op)(($op)(a,b),c)\nend\n\nv = α';\nfunction g(x,y)\n return x * y\n x + y\nend\n\ncd(\"data\") do\n open(\"outfile\", \"w\") do f\n write(f, data)\n end\nend\n" - } - ], - "id": "F24mNogB", - "createdAt": 1659507115215, - "updatedAt": 1659507129381 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Kotlin", - "content": [ - { - "label": "Fragment 1", - "language": "kotlin", - "value": "/*Taken from http://try.kotlinlang.org/#/Examples/Longer%20examples/Life/Life.kt*/\n/**\n * This is a straightforward implementation of The Game of Life\n * See http://en.wikipedia.org/wiki/Conway's_Game_of_Life\n */\npackage life\n\n/*\n * A field where cells live. Effectively immutable\n */\nclass Field(\n val width: Int,\n val height: Int,\n // This function tells the constructor which cells are alive\n // if init(i, j) is true, the cell (i, j) is alive\n init: (Int, Int) -> Boolean\n) {\n private val live: Array> = Array(height) { i -> Array(width) { j -> init(i, j) } }\n\n private fun liveCount(i: Int, j: Int)\n = if (i in 0..height - 1 &&\n j in 0..width - 1 &&\n live[i][j]) 1 else 0\n\n // How many neighbors of (i, j) are alive?\n fun liveNeighbors(i: Int, j: Int) =\n liveCount(i - 1, j - 1) +\n liveCount(i - 1, j) +\n liveCount(i - 1, j + 1) +\n liveCount(i, j - 1) +\n liveCount(i, j + 1) +\n liveCount(i + 1, j - 1) +\n liveCount(i + 1, j) +\n liveCount(i + 1, j + 1)\n\n // You can say field[i, j], and this function gets called\n operator fun get(i: Int, j: Int) = live[i][j]\n}\n\n/**\n * This function takes the present state of the field\n * and returns a new field representing the next moment of time\n */\nfun next(field: Field): Field {\n return Field(field.width, field.height) { i, j ->\n val n = field.liveNeighbors(i, j)\n if (field[i, j])\n // (i, j) is alive\n n in 2..3 // It remains alive iff it has 2 or 3 neighbors\n else\n // (i, j) is dead\n n == 3 // A new cell is born if there are 3 neighbors alive\n }\n}\n\n/** A few colony examples here */\nfun main(args: Array) {\n // Simplistic demo\n runGameOfLife(\"***\", 3)\n // \"Star burst\"\n runGameOfLife(\"\"\"\n _______\n ___*___\n __***__\n ___*___\n _______\n \"\"\", 10)\n // Stable colony\n runGameOfLife(\"\"\"\n _____\n __*__\n _*_*_\n __*__\n _____\n \"\"\", 3)\n // Stable from the step 2\n runGameOfLife(\"\"\"\n __**__\n __**__\n __**__\n \"\"\", 3)\n // Oscillating colony\n runGameOfLife(\"\"\"\n __**____\n __**____\n ____**__\n ____**__\n \"\"\", 6)\n // A fancier oscillating colony\n runGameOfLife(\"\"\"\n -------------------\n -------***---***---\n -------------------\n -----*----*-*----*-\n -----*----*-*----*-\n -----*----*-*----*-\n -------***---***---\n -------------------\n -------***---***---\n -----*----*-*----*-\n -----*----*-*----*-\n -----*----*-*----*-\n -------------------\n -------***---***---\n -------------------\n \"\"\", 10)\n}\n\n// UTILITIES\n\nfun runGameOfLife(fieldText: String, steps: Int) {\n var field = makeField(fieldText)\n for (step in 1..steps) {\n println(\"Step: $step\")\n for (i in 0..field.height - 1) {\n for (j in 0..field.width - 1) {\n print(if (field[i, j]) \"*\" else \" \")\n }\n println(\"\")\n }\n field = next(field)\n }\n}\n\nfun makeField(s: String): Field {\n val lines = s.replace(\" \", \"\").split('\\n').filter({ it.isNotEmpty() })\n val longestLine = lines.toList().maxBy { it.length } ?: \"\"\n\n return Field(longestLine.length, lines.size) { i, j -> lines[i][j] == '*' }\n}\n" - } - ], - "id": "988hcpdB", - "createdAt": 1659507129809, - "updatedAt": 1659507144115 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "LaTeX", - "content": [ - { - "label": "Fragment 1", - "language": "latex", - "value": "\\usepackage{amsmath}\n\\title{\\LaTeX}\n\\date{}\n\\begin{document}\n \\maketitle\n \\LaTeX{} is a document preparation system for the \\TeX{}\n typesetting program. It offers programmable desktop publishing\n features and extensive facilities for automating most aspects of\n typesetting and desktop publishing, including numbering and\n cross-referencing, tables and figures, page layout, bibliographies,\n and much more. \\LaTeX{} was originally written in 1984 by Leslie\n Lamport and has become the dominant method for using \\TeX; few\n people write in plain \\TeX{} anymore. The current version is\n \\LaTeXe.\n \n % This is a comment; it will not be shown in the final output.\n % The following shows a little of the typesetting power of LaTeX:\n \\begin{align}\n E &= mc^2 \\\\\n m &= \\frac{m_0}{\\sqrt{1-\\frac{v^2}{c^2}}}\n \\end{align}\n\\end{document}" - } - ], - "id": "vw9XW5pz", - "createdAt": 1659507144676, - "updatedAt": 1659507163800 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Latte", - "content": [ - { - "label": "Fragment 1", - "language": "latte", - "value": "\n\n \n {$title}\n {* \n \tcomment\n *}\n \n \n \t

My Webpage

\n\n \n\n {$variable}\n {=$variable}\n {XXXX::func($variable /* comment */)|filter}\n {$variable?->obj|filter:10, abc, 'x$var', \"x$var\"|filter2}\n\n {if} ... {/if true}\n\n \n\n \n \n\n" - } - ], - "id": "lpS7qmbw", - "createdAt": 1659507165157, - "updatedAt": 1659507179678 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "LESS", - "content": [ - { - "label": "Fragment 1", - "language": "less", - "value": "/* styles.less */\n\n@base: #f938ab;\n\n.box-shadow(@style, @c) when (iscolor(@c)) {\n box-shadow: @style @c;\n -webkit-box-shadow: @style @c;\n -moz-box-shadow: @style @c;\n}\n.box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) {\n .box-shadow(@style, rgba(0, 0, 0, @alpha));\n}\n\n// Box styles\n.box { \n color: saturate(@base, 5%);\n border-color: lighten(@base, 30%);\n \n div { .box-shadow(0 0 5px, 30%) }\n \n a {\n color: @base;\n \n &:hover {\n color: lighten(@base, 50%);\n }\n }\n}\n" - } - ], - "id": "zlgx6H3d", - "createdAt": 1659507180386, - "updatedAt": 1659507196282 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Liquid", - "content": [ - { - "label": "Fragment 1", - "language": "liquid", - "value": "

Case

\n

\n {% case template %}\n {% when 'index' %}\n Welcome\n {% when 'product' %}\n {{ product.vendor | link_to_vendor }} / {{ product.title }}\n {% else %}\n {{ page_title }}\n {% endcase %}\n

" - } - ], - "id": "KPiQX14z", - "createdAt": 1659507197756, - "updatedAt": 1659507253969 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Lisp", - "content": [ - { - "label": "Fragment 1", - "language": "lisp", - "value": "(defun prompt-for-cd ()\n \"Prompts\n for CD\"\n (prompt-read \"Title\" 1.53 1 2/4 1.7 1.7e0 2.9E-4 +42 -7 #b001 #b001/100 #o777 #O777 #xabc55 #c(0 -5.6))\n (prompt-read \"Artist\" &rest)\n (or (parse-integer (prompt-read \"Rating\") :junk-allowed t) 0)\n (if x (format t \"yes\") (format t \"no\" nil) ;and here comment\n ) 0xFFLL -23ull\n ;; second line comment\n '(+ 1 2)\n (defvar *lines*) ; list of all lines\n (position-if-not #'sys::whitespacep line :start beg))\n (quote (privet 1 2 3))\n '(hello world)\n (* 5 7)\n (1 2 34 5)\n (:use \"aaaa\")\n (let ((x 10) (y 20))\n (print (+ x y))\n ) LAmbDa\n\n \"asdad\\0eqweqe\"" - } - ], - "id": "k_9v_WLO", - "createdAt": 1659507254799, - "updatedAt": 1659507266545 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "LiveScript", - "content": [ - { - "label": "Fragment 1", - "language": "livescript", - "value": "# Defines an editing mode for [Ace](https://ace.c9.io).\n#\n# Open [test/ace.html](../test/ace.html) to test.\n\nrequire, exports, module <-! define \\ace/mode/ls\n\nidentifier = /(?![\\d\\s])[$\\w\\xAA-\\uFFDC](?:(?!\\s)[$\\w\\xAA-\\uFFDC]|-[A-Za-z])*/$\n\nexports.Mode = class LiveScriptMode extends require(\\ace/mode/text)Mode\n ->\n @$tokenizer =\n new (require \\ace/tokenizer)Tokenizer LiveScriptMode.Rules\n if require \\ace/mode/matching_brace_outdent\n @$outdent = new that.MatchingBraceOutdent\n\n indenter = // (?\n : [({[=:]\n | [-~]>\n | \\b (?: e(?:lse|xport) | d(?:o|efault) | t(?:ry|hen) | finally |\n import (?:\\s* all)? | const | var |\n let | new | catch (?:\\s* #identifier)? )\n ) \\s* $ //\n\n getNextLineIndent: (state, line, tab) ->\n indent = @$getIndent line\n {tokens} = @$tokenizer.getLineTokens line, state\n unless tokens.length and tokens[*-1]type is \\comment\n indent += tab if state is \\start and indenter.test line\n indent\n\n toggleCommentLines: (state, doc, startRow, endRow) ->\n comment = /^(\\s*)#/; range = new (require \\ace/range)Range 0 0 0 0\n for i from startRow to endRow\n if out = comment.test line = doc.getLine i\n then line.=replace comment, \\$1\n else line.=replace /^\\s*/ \\$&#\n range.end.row = range.start.row = i\n range.end.column = line.length + 1\n doc.replace range, line\n 1 - out * 2\n\n checkOutdent: (state, line, input) -> @$outdent?checkOutdent line, input\n\n autoOutdent: (state, doc, row) -> @$outdent?autoOutdent doc, row\n\n### Highlight Rules\n\nkeywordend = /(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))/$\nstringfill = token: \\string, regex: '.+'\n\nLiveScriptMode.Rules =\n start:\n * token: \\keyword\n regex: //(?\n :t(?:h(?:is|row|en)|ry|ypeof!?)\n |c(?:on(?:tinue|st)|a(?:se|tch)|lass)\n |i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])\n |d(?:e(?:fault|lete|bugger)|o)\n |f(?:or(?:\\s+own)?|inally|unction)\n |s(?:uper|witch)\n |e(?:lse|x(?:tends|port)|val)\n |a(?:nd|rguments)\n |n(?:ew|ot)\n |un(?:less|til)\n |w(?:hile|ith)\n |o[fr]|return|break|let|var|loop\n )//$ + keywordend\n\n * token: \\constant.language\n regex: '(?:true|false|yes|no|on|off|null|void|undefined)' + keywordend\n\n * token: \\invalid.illegal\n regex: '(?\n :p(?:ackage|r(?:ivate|otected)|ublic)\n |i(?:mplements|nterface)\n |enum|static|yield\n )' + keywordend\n\n * token: \\language.support.class\n regex: '(?\n :R(?:e(?:gExp|ferenceError)|angeError)\n |S(?:tring|yntaxError)\n |E(?:rror|valError)\n |Array|Boolean|Date|Function|Number|Object|TypeError|URIError\n )' + keywordend\n\n * token: \\language.support.function\n regex: '(?\n :is(?:NaN|Finite)\n |parse(?:Int|Float)\n |Math|JSON\n |(?:en|de)codeURI(?:Component)?\n )' + keywordend\n\n * token: \\variable.language\n regex: '(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)' + keywordend\n\n * token: \\identifier\n regex: identifier + /\\s*:(?![:=])/$\n\n * token: \\variable\n regex: identifier\n\n * token: \\keyword.operator\n regex: /(?:\\.{3}|\\s+\\?)/$\n\n * token: \\keyword.variable\n regex: /(?:@+|::|\\.\\.)/$\n next : \\key\n\n * token: \\keyword.operator\n regex: /\\.\\s*/$\n next : \\key\n\n * token: \\string\n regex: /\\\\\\S[^\\s,;)}\\]]*/$\n\n * token: \\string.doc\n regex: \\'''\n next : \\qdoc\n\n * token: \\string.doc\n regex: \\\"\"\"\n next : \\qqdoc\n\n * token: \\string\n regex: \\'\n next : \\qstring\n\n * token: \\string\n regex: \\\"\n next : \\qqstring\n\n * token: \\string\n regex: \\`\n next : \\js\n\n * token: \\string\n regex: '<\\\\['\n next : \\words\n\n * token: \\string.regex\n regex: \\//\n next : \\heregex\n\n * token: \\comment.doc\n regex: '/\\\\*'\n next : \\comment\n\n * token: \\comment\n regex: '#.*'\n\n * token: \\string.regex\n regex: //\n /(?: [^ [ / \\n \\\\ ]*\n (?: (?: \\\\.\n | \\[ [^\\]\\n\\\\]* (?:\\\\.[^\\]\\n\\\\]*)* \\]\n ) [^ [ / \\n \\\\ ]*\n )*\n )/ [gimy$]{0,4}\n //$\n next : \\key\n\n * token: \\constant.numeric\n regex: '(?:0x[\\\\da-fA-F][\\\\da-fA-F_]*\n |(?:[2-9]|[12]\\\\d|3[0-6])r[\\\\da-zA-Z][\\\\da-zA-Z_]*\n |(?:\\\\d[\\\\d_]*(?:\\\\.\\\\d[\\\\d_]*)?|\\\\.\\\\d[\\\\d_]*)\n (?:e[+-]?\\\\d[\\\\d_]*)?[\\\\w$]*)'\n\n * token: \\lparen\n regex: '[({[]'\n\n * token: \\rparen\n regex: '[)}\\\\]]'\n next : \\key\n\n * token: \\keyword.operator\n regex: \\\\\\S+\n\n * token: \\text\n regex: \\\\\\s+\n\n heregex:\n * token: \\string.regex\n regex: '.*?//[gimy$?]{0,4}'\n next : \\start\n * token: \\string.regex\n regex: '\\\\s*#{'\n * token: \\comment.regex\n regex: '\\\\s+(?:#.*)?'\n * token: \\string.regex\n regex: '\\\\S+'\n\n key:\n * token: \\keyword.operator\n regex: '[.?@!]+'\n * token: \\identifier\n regex: identifier\n next : \\start\n * token: \\text\n regex: '.'\n next : \\start\n\n comment:\n * token: \\comment.doc\n regex: '.*?\\\\*/'\n next : \\start\n * token: \\comment.doc\n regex: '.+'\n\n qdoc:\n token: \\string\n regex: \".*?'''\"\n next : \\key\n stringfill\n\n qqdoc:\n token: \\string\n regex: '.*?\"\"\"'\n next : \\key\n stringfill\n\n qstring:\n token: \\string\n regex: /[^\\\\']*(?:\\\\.[^\\\\']*)*'/$\n next : \\key\n stringfill\n\n qqstring:\n token: \\string\n regex: /[^\\\\\"]*(?:\\\\.[^\\\\\"]*)*\"/$\n next : \\key\n stringfill\n\n js:\n token: \\string\n regex: /[^\\\\`]*(?:\\\\.[^\\\\`]*)*`/$\n next : \\key\n stringfill\n\n words:\n token: \\string\n regex: '.*?\\\\]>'\n next : \\key\n stringfill\n" - } - ], - "id": "VG6x4-d_", - "createdAt": 1659507267074, - "updatedAt": 1659507283998 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "LSL", - "content": [ - { - "label": "Fragment 1", - "language": "lsl", - "value": "/*\n Testing syntax highlighting\n of Ace Editor\n for the Linden Scripting Language\n*/\n\ninteger someIntNormal = 3672;\ninteger someIntHex = 0x00000000;\ninteger someIntMath = PI_BY_TWO;\n\ninteger event = 5673; // invalid.illegal\n\nkey someKeyTexture = TEXTURE_DEFAULT;\nstring someStringSpecial = EOF;\n\nsome_user_defined_function_without_return_type(string inputAsString)\n{\n llSay(PUBLIC_CHANNEL, inputAsString);\n}\n\nstring user_defined_function_returning_a_string(key inputAsKey)\n{\n return (string)inputAsKey;\n}\n\ndefault\n{\n state_entry()\n {\n key someKey = NULL_KEY;\n someKey = llGetOwner();\n\n string someString = user_defined_function_returning_a_string(someKey);\n\n some_user_defined_function_without_return_type(someString);\n }\n\n touch_start(integer num_detected)\n {\n list agentsInRegion = llGetAgentList(AGENT_LIST_REGION, []);\n integer numOfAgents = llGetListLength(agentsInRegion);\n\n integer index; // defaults to 0\n for (; index <= numOfAgents - 1; index++) // for each agent in region\n {\n llRegionSayTo(llList2Key(agentsInRegion, index), PUBLIC_CHANNEL, \"Hello, Avatar!\");\n }\n }\n\n touch_end(integer num_detected)\n {\n someIntNormal = 3672;\n someIntHex = 0x00000000;\n someIntMath = PI_BY_TWO;\n\n event = 5673; // invalid.illegal\n\n someKeyTexture = TEXTURE_DEFAULT;\n someStringSpecial = EOF;\n\n llSetInventoryPermMask(\"some item\", MASK_NEXT, PERM_ALL); // reserved.godmode\n\n llWhisper(PUBLIC_CHANNEL, \"Leaving \\\"default\\\" now...\");\n state other;\n }\n}\n\nstate other\n{\n state_entry()\n {\n llWhisper(PUBLIC_CHANNEL, \"Entered \\\"state other\\\", returning to \\\"default\\\" again...\");\n state default;\n }\n}\n" - } - ], - "id": "jdK6UsDj", - "createdAt": 1659507284423, - "updatedAt": 1659507452974 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Lua", - "content": [ - { - "label": "Fragment 1", - "language": "lua", - "value": "--[[--\nnum_args takes in 5.1 byte code and extracts the number of arguments\nfrom its function header.\n--]]--\n\nfunction int(t)\n\treturn t:byte(1)+t:byte(2)*0x100+t:byte(3)*0x10000+t:byte(4)*0x1000000\nend\n\nfunction num_args(func)\n\tlocal dump = string.dump(func)\n\tlocal offset, cursor = int(dump:sub(13)), offset + 26\n\t--Get the params and var flag (whether there's a ... in the param)\n\treturn dump:sub(cursor):byte(), dump:sub(cursor+1):byte()\nend\n\n-- Usage:\nnum_args(function(a,b,c,d, ...) end) -- return 4, 7\n\n-- Python styled string format operator\nlocal gm = debug.getmetatable(\"\")\n\ngm.__mod=function(self, other)\n if type(other) ~= \"table\" then other = {other} end\n for i,v in ipairs(other) do other[i] = tostring(v) end\n return self:format(unpack(other))\nend\n\nprint([===[\n blah blah %s, (%d %d)\n]===]%{\"blah\", num_args(int)})\n\n--[=[--\ntable.maxn is deprecated, use # instead.\n--]=]--\nprint(table.maxn{1,2,[4]=4,[8]=8) -- outputs 8 instead of 2\n\nprint(5 --[[ blah ]])" - } - ], - "id": "HZVQW3Q8", - "createdAt": 1659507732882, - "updatedAt": 1659507747073 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Makefile", - "content": [ - { - "label": "Fragment 1", - "language": "makefile", - "value": ".PHONY: apf ext worker mode theme package test\n\ndefault: apf worker\n\nupdate: worker\n\n# packages apf\n\n# This is the first line of a comment \\\nand this is still part of the comment \\\nas is this, since I keep ending each line \\\nwith a backslash character\n\napf:\n cd node_modules/packager; node package.js projects/apf_cloud9.apr\n\tcd node_modules/packager; cat build/apf_release.js | sed 's/\\(\\/\\*FILEHEAD(\\).*//g' > ../../plugins-client/lib.apf/www/apf-packaged/apf_release.js\n\n# package debug version of apf\napfdebug:\n\tcd node_modules/packager/projects; cat apf_cloud9.apr | sed 's///g' > apf_cloud9_debug2.apr\n\tcd node_modules/packager/projects; cat apf_cloud9_debug2.apr | sed 's/apf_release/apf_debug/g' > apf_cloud9_debug.apr; rm apf_cloud9_debug2.apr\n\tcd node_modules/packager; node package.js projects/apf_cloud9_debug.apr\n\tcd node_modules/packager; cat build/apf_debug.js | sed 's/\\(\\/\\*FILEHEAD(\\).*\\/apf\\/\\(.*\\)/\\1\\2/g' > ../../plugins-client/lib.apf/www/apf-packaged/apf_debug.js\n\n# package_apf--temporary fix for non-workering infra\npack_apf:\n\tmkdir -p build/src\n\tmv plugins-client/lib.apf/www/apf-packaged/apf_release.js build/src/apf_release.js\n\tnode build/r.js -o name=./build/src/apf_release.js out=./plugins-client/lib.apf/www/apf-packaged/apf_release.js baseUrl=.\n\n# makes ace; at the moment, requires dryice@0.4.2\nace:\n\tcd node_modules/ace; make clean pre_build; ./Makefile.dryice.js minimal\n\n\n# packages core\ncore: ace\n\tmkdir -p build/src\n\tnode build/r.js -o build/core.build.js\n\n# generates packed template\nhelper: \n\tnode build/packed_helper.js\n\nhelper_clean:\n\tmkdir -p build/src\n\tnode build/packed_helper.js 1\n\n# packages ext\next: \n\tnode build/r.js -o build/app.build.js\n\n# calls dryice on worker & packages it\nworker: plugins-client/lib.ace/www/worker/worker-language.js\n\nplugins-client/lib.ace/www/worker/worker-language.js plugins-client/lib.ace/www/worker/worker-javascript.js : \\\n $(wildcard node_modules/ace/*) $(wildcard node_modules/ace/*/*) $(wildcard node_modules/ace/*/*/mode/*) \\\n $(wildcard plugins-client/ext.language/*) \\\n $(wildcard plugins-client/ext.language/*/*) \\\n $(wildcard plugins-client/ext.linereport/*) \\\n $(wildcard plugins-client/ext.codecomplete/*) \\\n $(wildcard plugins-client/ext.codecomplete/*/*) \\\n $(wildcard plugins-client/ext.jslanguage/*) \\\n $(wildcard plugins-client/ext.jslanguage/*/*) \\\n $(wildcard plugins-client/ext.csslanguage/*) \\\n $(wildcard plugins-client/ext.csslanguage/*/*) \\\n $(wildcard plugins-client/ext.htmllanguage/*) \\\n $(wildcard plugins-client/ext.htmllanguage/*/*) \\\n $(wildcard plugins-client/ext.jsinfer/*) \\\n $(wildcard plugins-client/ext.jsinfer/*/*) \\\n $(wildcard node_modules/treehugger/lib/*) \\\n $(wildcard node_modules/treehugger/lib/*/*) \\\n $(wildcard node_modules/ace/lib/*) \\\n $(wildcard node_modules/ace/*/*) \\\n Makefile.dryice.js\n\tmkdir -p plugins-client/lib.ace/www/worker\n\trm -rf /tmp/c9_worker_build\n\tmkdir -p /tmp/c9_worker_build/ext\n\tln -s `pwd`/plugins-client/ext.language /tmp/c9_worker_build/ext/language\n\tln -s `pwd`/plugins-client/ext.codecomplete /tmp/c9_worker_build/ext/codecomplete\n\tln -s `pwd`/plugins-client/ext.jslanguage /tmp/c9_worker_build/ext/jslanguage\n\tln -s `pwd`/plugins-client/ext.csslanguage /tmp/c9_worker_build/ext/csslanguage\n\tln -s `pwd`/plugins-client/ext.htmllanguage /tmp/c9_worker_build/ext/htmllanguage\n\tln -s `pwd`/plugins-client/ext.linereport /tmp/c9_worker_build/ext/linereport\n\tln -s `pwd`/plugins-client/ext.linereport_php /tmp/c9_worker_build/ext/linereport_php\n\tnode Makefile.dryice.js worker\n\tcp node_modules/ace/build/src/worker* plugins-client/lib.ace/www/worker\n\ndefine \n\nifeq\n\noverride\n\n# copies built ace modes\nmode:\n\tmkdir -p plugins-client/lib.ace/www/mode\n\tcp `find node_modules/ace/build/src | grep -E \"mode-[a-zA-Z_0-9]+.js\"` plugins-client/lib.ace/www/mode\n\n# copies built ace themes\ntheme:\n\tmkdir -p plugins-client/lib.ace/www/theme\n\tcp `find node_modules/ace/build/src | grep -E \"theme-[a-zA-Z_0-9]+.js\"` plugins-client/lib.ace/www/theme\n\ngzip_safe:\n\tfor i in `ls ./plugins-client/lib.packed/www/*.js`; do \\\n\t\tgzip -9 -v -c -q -f $$i > $$i.gz ; \\\n\tdone\n\ngzip:\n\tfor i in `ls ./plugins-client/lib.packed/www/*.js`; do \\\n\t\tgzip -9 -v -q -f $$i ; \\\n\tdone\n\nc9core: apf ace core worker mode theme\n \npackage_clean: helper_clean c9core ext\n\npackage: helper c9core ext\n\ntest check:\n\ttest/run-tests.sh\t" - } - ], - "id": "fhPJadfE", - "createdAt": 1659507748672, - "updatedAt": 1659507763698 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Markdown", - "content": [ - { - "label": "Fragment 1", - "language": "markdown", - "value": "## Support\n\nmassCode need your support, give a [star](https://github.com/massCodeIO/massCode/stargazers) on this repo or [donate](https://opencollective.com/masscode). All of this is valuable and will inspire further development.\n\n## Features\n### Organization\nmassCode allows you to organize snippets using multi-level folders as well as tags. Each snippet has fragments - tabs, which gives even greater level of organization.\n\n### Editor\nA snippet manager must not only provide organization of snippets but also have a good code editor. That's why under the hood of massCode there's [Ace](https://ace.c9.io). Ace is a high performance code editor which supports syntax highlighting for over 170 languages. We also added a [Prettier](https://prettier.io) to code formatter.\n\n### Real-time Render for HTML & CSS\nYou can not only collect snippets, but also see the rendering result for HTML and CSS in real time. Test the idea or just view the result.\n\n### Markdown\nmassCode allows you to write in Markdown and provide support to syntax highlighting, tables, list and other formatting. Also massCode supports [Mermaid](https://mermaid-js.github.io/mermaid/#) - diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically.\n\n### Search\nIt is impossible to imagine a productive snippets manager without quick access to snippets. Therefore massCode has a fast full-text search with highlighting of the search query.\n\n### Autosave\nmassCode automatically saves any changes you make during work, so you don't have to worry about losing changes.\n\n### Sync\nYou can use any service that provides cloud synchronization, such as iCloud Drive, Google Drive, Dropbox or other similar.\n\n### Database\nmassCode uses a simple JSON to store your data. The database files are on your local computer.\n\n### Integrations\nmassCode supports extensions for [VS Code](https://marketplace.visualstudio.com/items?itemName=AntonReshetov.masscode-assistant), [Raycast](https://www.raycast.com/antonreshetov/masscode) and [Alfred](https://github.com/massCodeIO/assistant-alfred), which gives even more possibilities to use application. With the VS Code extension you get practically zen mode, search for the necessary snippets and insert them immediately or save the selected code sections as a snippet.\n\n### Beautiful Screenshots\nCreate beautiful snippet images on different backgrounds and in different modes\n\n## Overview\n\nThe goal of creating this application was mostly my own growth as a developer. Also, I wanted this project to absorb the best of such applications already on the market (both free and paid). At the same time, I wanted this project to be an open source project.\n\n## Follow\n - News and updates on [Twitter](https://twitter.com/anton_reshetov).\n - [Discussions](https://github.com/massCodeIO/massCode/discussions).\n\n## Other\nYou can also [download](https://github.com/antonreshetov/massCode) massCode v1.\n\n## License\n\n[AGPL-3.0](https://github.com/massCodeIO/massCode/blob/master/LICENSE)\n\nCopyright (c) 2019-present, [Anton Reshetov](https://github.com/antonreshetov)." - } - ], - "id": "ggDHY18p", - "createdAt": 1659507764139, - "updatedAt": 1659508402182 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Mask", - "content": [ - { - "label": "Fragment 1", - "language": "mask", - "value": "/* Mask Syntax Demo */\n\ndiv > ' Test ~[name]';\n\ndefine :userProfile {\n\theader {\n\t\th4 > @title;\n\t\tbutton.close;\n\t}\n}\n\n:userProfile {\n\t@title > ' Hello ~[: username.toUpperCase()]'\n}\n\nstyle {\n html, body {\n background: url('name.png') 0 0 no-repeat;\n }\n}\n\nbutton {\n\tevent click (e) {\n\t this.textContent = `name ${e.clientX} !`;\n\t}\n}\n\nmd > \"\"\"\n\n- div\n- span\n \nHello\n\n[one](http://google.com)\n\n\"\"\";\n\n\nheader .foo > 'Heading'\n\nbutton .baz x-signal='click: test' disabled > \"\n\tHello,\n\tworld \n\t\\\"Buddy\\\"\n\"\n\nvar a = {\n name: `name ${window.innerWidth}`\n};\n\nspan .foo > \"~[bind: a.name]\"" - } - ], - "id": "HbKYMuyD", - "createdAt": 1659508402682, - "updatedAt": 1659508412451 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "MATLAB", - "content": [ - { - "label": "Fragment 1", - "language": "matlab", - "value": "%{\n %{\n Ace Matlab demo\n %}\n%}\n\nclassdef hello\n methods\n function greet(this)\n disp('Hello!') % say hi\n end\n end\nend\n\n% transpose \na = [ 'x''y', \"x\\n\\\n y\", 1' ]' + 2'" - } - ], - "id": "Mpzgr7qp", - "createdAt": 1659508412804, - "updatedAt": 1659508428405 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "MediaWiki", - "content": [ - { - "label": "Fragment 1", - "language": "mediawiki", - "value": "{{Languages}}\n\n'''Ace''' is a standalone code editor written in [[wikipedia:JavaScript|JavaScript]]. Our goal is to create a browser based editor that matches and extends the features, usability and performance of existing native editors such as TextMate, Vim or Eclipse. It can be ''easily'' embedded in any web page or JavaScript application. Ace is developed as the primary editor for [http://www.cloud9ide.com/ Cloud9 IDE] and the successor of the Mozilla Skywriter (Bespin) Project.\n\n== Features ==\n* Syntax highlighting\n* Automatic indent and outdent\n* An optional command line\n* Handles huge documents (100,000 lines and more are no problem)\n* Fully customizable key bindings including VI and Emacs modes\n* Themes (TextMate themes can be imported)\n* Search and replace with regular expressions\n* Highlight matching parentheses\n* Toggle between soft tabs and real tabs\n* Displays hidden characters\n* Drag and drop text using the mouse\n* Line wrapping\n* Unstructured / user code folding\n* Live syntax checker (currently JavaScript/CoffeeScript)\n\n== Take Ace for a spin! ==\nCheck out the Ace live [http://ajaxorg.github.com/ace/ demo] or get a [http://run.cloud9ide.com Cloud9 IDE account] to experience Ace while editing one of your own GitHub projects.\n\nIf you want, you can use Ace as a textarea replacement thanks to the [http://ajaxorg.github.com/ace/build/textarea/editor.html Ace Bookmarklet].\n\n== Documentation ==\nYou find a lot more sample code in the [https://github.com/ajaxorg/ace/blob/master/demo/demo.js demo app].\n\nThere is also some documentation on the [https://github.com/ajaxorg/ace/wiki wiki page].\n\nIf you still need help, feel free to drop a mail on the [http://groups.google.com/group/ace-discuss ace mailing list].\n" - } - ], - "id": "bK4qhdVr", - "createdAt": 1659508429769, - "updatedAt": 1659508458915 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "MEL", - "content": [ - { - "label": "Fragment 1", - "language": "mel", - "value": "// animated duplicates, instances script\nproc animatedDuplication (int $rangeStart, int $rangeEnd, int $numOfDuplicates, int $duplicateOrInstance)\n{\n int $range_start = $rangeStart;\n int $range_end = $rangeEnd;\n int $num_of_duplicates = $numOfDuplicates;\n int $step_size = ($range_end - $range_start) / $num_of_duplicates;\n int $i = 0;\n int $temp;\n\n currentTime $range_start; // set to range start\n\n string $selectedObjects[]; // to store selected objects\n $selectedObjects = `ls -sl`; // store selected objects\n select $selectedObjects;\n\n while ($i <= $num_of_duplicates)\n {\n $temp = $range_start + ($step_size * $i);\n currentTime ($temp);\n // seleced the objects to duplicate or instance\n select $selectedObjects;\n if($duplicateOrInstance == 0)\n {\n duplicate;\n }\n else\n {\n instance;\n }\n $i++;\n }\n}" - } - ], - "id": "H3g68CbT", - "createdAt": 1659508460186, - "updatedAt": 1659508475115 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Mikrotik", - "content": [ - { - "label": "Fragment 1", - "language": "mikrotik", - "value": ":global currentIP;\n\n:local newIP [/ip address get [find interface=\"ether1\"] address];\n\n:if ($newIP != $currentIP) do={\n :put \"ip address $currentIP changed to $newIP\";\n " - } - ], - "id": "REC-Heib", - "createdAt": 1659508475622, - "updatedAt": 1659508513991 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "MIPS", - "content": [ - { - "label": "Fragment 1", - "language": "mips", - "value": "# hello.s ... print \"Hello, MIPS\"\n\n .data # the data segment\nmsg: .asciiz \"Hello, MIPS\\n\"\n\n .text # the code segment\n .globl main\nmain: \n la $a0, msg # load the argument string\n li $v0, 4 # load the system call (print)\n syscall # print the string\n jr $ra # return to caller (__start)" - } - ], - "id": "sV5PPq5Q", - "createdAt": 1659508517380, - "updatedAt": 1659508706528 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "MySQL", - "content": [ - { - "label": "Fragment 1", - "language": "mysql", - "value": "CREATE TABLE shop (\n article INT UNSIGNED DEFAULT '0000' NOT NULL,\n dealer CHAR(20) DEFAULT '' NOT NULL,\n price DECIMAL(16,2) DEFAULT '0.00' NOT NULL,\n PRIMARY KEY(article, dealer));\nINSERT INTO shop VALUES\n (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),\n (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);" - } - ], - "id": "DHN5Cik4", - "createdAt": 1659508722877, - "updatedAt": 1659508758823 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Nginx", - "content": [ - { - "label": "Fragment 1", - "language": "nginx", - "value": "user www www; ## Default: nobody\nworker_processes 5; ## Default: 1\nerror_log logs/error.log;\npid logs/nginx.pid;\nworker_rlimit_nofile 8192;\n\nevents {\n worker_connections 4096; ## Default: 1024\n}\n\nhttp {\n include conf/mime.types;\n include /etc/nginx/proxy.conf;\n include /etc/nginx/fastcgi.conf;\n index index.html index.htm index.php;\n\n default_type application/octet-stream;\n log_format main '$remote_addr - $remote_user [$time_local] $status '\n '\"$request\" $body_bytes_sent \"$http_referer\" '\n '\"$http_user_agent\" \"$http_x_forwarded_for\"';\n access_log logs/access.log main;\n sendfile on;\n tcp_nopush on;\n server_names_hash_bucket_size 128; # this seems to be required for some vhosts\n\n server { # php/fastcgi\n listen 80;\n server_name domain1.com www.domain1.com;\n access_log logs/domain1.access.log main;\n root html;\n\n location ~ \\.php$ {\n fastcgi_pass 127.0.0.1:1025;\n }\n }\n\n server { # simple reverse-proxy\n listen 80;\n server_name domain2.com www.domain2.com;\n access_log logs/domain2.access.log main;\n\n # serve static files\n location ~ ^/(images|javascript|js|css|flash|media|static)/ {\n root /var/www/virtual/big.server.com/htdocs;\n expires 30d;\n }\n\n # pass requests for dynamic content to rails/turbogears/zope, et al\n location / {\n proxy_pass http://127.0.0.1:8080;\n }\n }\n\n upstream big_server_com {\n server 127.0.0.3:8000 weight=5;\n server 127.0.0.3:8001 weight=5;\n server 192.168.0.1:8000;\n server 192.168.0.1:8001;\n }\n\n server { # simple load balancing\n listen 80;\n server_name big.server.com;\n access_log logs/big.server.access.log main;\n\n location / {\n proxy_pass http://big_server_com;\n }\n }\n}" - } - ], - "id": "b8-85iBK", - "createdAt": 1659508760164, - "updatedAt": 1659508774269 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Nim", - "content": [ - { - "label": "Fragment 1", - "language": "nim", - "value": "#[ #[ Multiline comment in already\n commented out code. ]#\nproc p[T](x: T) = discard\n]#\necho \"This is code\"\nvar\n p = 0B0_10001110100_0000101001000111101011101111111011000101001101001001'f64\n\nproc getAlphabet(): string =\n var accm = \"\"\n for letter in 'a'..'z': # see iterators\n accm.add(letter)\n return accm\n\nassert(\"a\" * 10 == \"aaaaaaaaaa\")\n" - } - ], - "id": "v7Sblz9B", - "createdAt": 1659508774712, - "updatedAt": 1659508785779 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Nix", - "content": [ - { - "label": "Fragment 1", - "language": "nix", - "value": "let\n square = x: x*x;\n sumOfSquares = x: y: square x + square y;\nin\n sumOfSquares 3 7" - } - ], - "id": "lPjjHMlA", - "createdAt": 1659508795441, - "updatedAt": 1659508919266 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "NSIS", - "content": [ - { - "label": "Fragment 1", - "language": "nsis", - "value": "/*\n NSIS Mode\n for Ace\n*/\n\n; Includes\n!include MUI2.nsh\n\n; Settings\nName \"installer_name\"\nOutFile \"installer_name.exe\"\nRequestExecutionLevel user\nCRCCheck on\n!ifdef x64\n InstallDir \"$PROGRAMFILES64\\installer_name\"\n!else\n InstallDir \"$PROGRAMFILES\\installer_name\"\n!endif\n\n; Pages\n!insertmacro MUI_PAGE_INSTFILES\n\n; Sections\nSection \"section_name\" section_index\n # your code here\nSectionEnd\n\n; Functions\nFunction .onInit\n MessageBox MB_OK \"Here comes a$\\n$\\rline-break!\"\nFunctionEnd" - } - ], - "id": "ZuEmPEeY", - "createdAt": 1659508921858, - "updatedAt": 1659509048694 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Nunjucks", - "content": [ - { - "label": "Fragment 1", - "language": "nunjucks", - "value": "{{ foo.bar }}\n{{ foo[\"bar\"] }}\n{{ foo | title }}\n{{ foo | join(\",\") }}\n{{ foo | replace(\"foo\", \"bar\") | capitalize }}\n{% block header %}\nThis is the default content\n{% endblock %}\n\n
\n {% block left %}{% endblock %}\n
\n\n
\n {% block right %}\n This is more content\n {% endblock %}\n
\n{% extends \"parent.html\" %}\n\n{% block left %}\nThis is the left side!\n{% endblock %}\n\n{% block right %}\nThis is the right side!\n{% endblock %}\n\n{% block right %}\n{{ super() }}\nRight side!\n{% endblock %}\n\n{% if variable %}\n It is true\n{% endif %}\n\n{% if hungry %}\n I am hungry\n{% elif tired %}\n I am tired\n{% else %}\n I am good!\n{% endif %}\n\n

Posts

\n
    \n{% for item in items %}\n
  • {{ item.title }}
  • \n{% else %}\n
  • This would display if the 'item' collection were empty
  • \n{% endfor %}\n
\n\n{% for ingredient, amount in food %}\n Use {{ amount }} of {{ ingredient }}\n{% endfor %}\n\n{% for fruit, color in fruits %}\n Did you know that {{ fruit }} is {{ color }}?\n{% endfor %}\n\n{% for x, y, z in points %}\n Point: {{ x }}, {{ y }}, {{ z }}\n{% endfor %}\n\n

Posts

\n
    \n{% asyncEach item in items %}\n {% include \"item-template.html\" %}\n{% endeach %}\n
\n\n

Posts

\n
    \n{% asyncAll item in items %}\n
  • {{ item.id | lookup }}
  • \n{% endall %}\n
\n\n{% macro field(name, value='', type='text') %}\n
\n \n
\n{% endmacro %}\n\n{{ username }}\n{% set username = \"joe\" %}\n{{ username }}\n\n{% set standardModal %}\n {% include 'standardModalData.html' %}\n{% endset %}\n\n
\n\n{% set standardModal %}\n {% include 'standardModalData.html' %}\n{% endset %}\n\n
\n\n{% include \"missing.html\" ignore missing %}\n\n{% import \"forms.html\" as forms %}\n\n{{ forms.label('Username') }}\n{{ forms.field('user') }}\n{{ forms.label('Password') }}\n{{ forms.field('pass', type='password') }}\n\n{% from \"forms.html\" import field, label as description %}\n\n{{ description('Username') }}\n{{ field('user') }}\n{{ description('Password') }}\n{{ field('pass', type='password') }}\n\n{{ foo(1, 2, bar=3, baz=4) }}\n\n{# Loop through all the users #}\n{% for user in users %}...{% endfor %}\n\n\n{% set cls = cycler(\"odd\", \"even\") %}\n{% for row in rows %}\n
{{ row.name }}
\n{% endfor %}" - } - ], - "id": "82_QxEls", - "createdAt": 1659509069864, - "updatedAt": 1659509439491 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Objective-C", - "content": [ - { - "label": "Fragment 1", - "language": "objectivec", - "value": "@protocol Printing: someParent\n-(void) print;\n@end\n\n@interface Fraction: NSObject {\n int numerator;\n int denominator;\n}\n@end\n\n@\"blah\\8\" @\"a\\222sd\\d\" @\"\\faw\\\"\\? \\' \\4 n\\\\\" @\"\\56\"\n@\"\\xSF42\"\n\n-(NSDecimalNumber*)addCount:(id)addObject{\n\nreturn [count decimalNumberByAdding:addObject.count];\n\n}\n\n NS_DURING NS_HANDLER NS_ENDHANDLER\n\n@try {\n if (argc > 1) {\n @throw [NSException exceptionWithName:@\"Throwing a test exception\" reason:@\"Testing the @throw directive.\" userInfo:nil];\n }\n} \n@catch (id theException) {\n NSLog(@\"%@\", theException);\n result = 1 ;\n} \n@finally {\n NSLog(@\"This always happens.\");\n result += 2 ;\n}\n\n @synchronized(lock) {\n NSLog(@\"Hello World\");\n }\n\nstruct { @defs( NSObject) }\n\nchar *enc1 = @encode(int);\n\n IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class \n\n\n @class @protocol\n\n@public\n // instance variables\n@package\n // instance variables\n@protected\n // instance variables\n@private\n // instance variables\n\n YES NO Nil nil\nNSApp()\nNSRectToCGRect (Protocol ProtocolFromString:\"NSTableViewDelegate\"))\n\n[SPPoint pointFromCGPoint:self.position]\n\nNSRoundDownToMultipleOfPageSize\n\n#import \n\nint main( int argc, const char *argv[] ) {\n printf( \"hello world\\n\" );\n return 0;\n}\n\nNSChangeSpelling\n\n@\"0 != SUBQUERY(image, $x, 0 != SUBQUERY($x.bookmarkItems, $y, $y.@count == 0).@count).@count\"\n\n@selector(lowercaseString) @selector(uppercaseString:)\n\nNSFetchRequest *localRequest = [[NSFetchRequest alloc] init]; \nlocalRequest.entity = [NSEntityDescription entityForName:@\"VNSource\" inManagedObjectContext:context]; \nlocalRequest.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@\"resolution\" ascending:YES]]; \nNSPredicate *predicate = [NSPredicate predicateWithFormat:@\"0 != SUBQUERY(image, $x, 0 != SUBQUERY($x.bookmarkItems, $y, $y.@count == 0).@count).@count\"];\n[NSPredicate predicateWithFormat:]\nNSString *predicateString = [NSString stringWithFormat:@\"SELF beginsWith[cd] %@\", searchString];\nNSPredicate *pred = [NSPredicate predicateWithFormat:predicateString];\nNSArray *filteredKeys = [[myMutableDictionary allKeys] filteredArrayUsingPredicate:pred]; \n\nlocalRequest.predicate = [NSPredicate predicateWithFormat:@\"whichChart = %@\" argumentArray: listChartToDownload];\nlocalRequest.fetchBatchSize = 100;\narrayRequest = [context executeFetchRequest:localRequest error:&error1];\n\n[localRequest release];\n\n#ifndef Nil\n#define Nil __DARWIN_NULL /* id of Nil class */\n#endif\n\n@implementation MyObject\n- (unsigned int)areaOfWidth:(unsigned int)width\n height:(unsigned int)height\n{\n return width*height;\n}\n@end\n" - } - ], - "id": "OTYb8BZn", - "createdAt": 1659509440384, - "updatedAt": 1659509466374 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "OCaml", - "content": [ - { - "label": "Fragment 1", - "language": "ocaml", - "value": "(*\n * Example of early return implementation taken from\n * http://ocaml.janestreet.com/?q=node/91\n *)\n\nlet with_return (type t) (f : _ -> t) =\n let module M =\n struct exception Return of t end\n in\n let return = { return = (fun x -> raise (M.Return x)); } in\n try f return with M.Return x -> x\n\n\n(* Function that uses the 'early return' functionality provided by `with_return` *)\nlet sum_until_first_negative list =\n with_return (fun r ->\n List.fold list ~init:0 ~f:(fun acc x ->\n if x >= 0 then acc + x else r.return acc))" - } - ], - "id": "R3z9RsNY", - "createdAt": 1659509467903, - "updatedAt": 1659509480532 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Pascal", - "content": [ - { - "label": "Fragment 1", - "language": "pascal", - "value": "(*****************************************************************************\n * A simple bubble sort program. Reads integers, one per line, and prints *\n * them out in sorted order. Blows up if there are more than 49. *\n *****************************************************************************)\nPROGRAM Sort(input, output);\n CONST\n (* Max array size. *)\n MaxElts = 50;\n TYPE \n (* Type of the element array. *)\n IntArrType = ARRAY [1..MaxElts] OF Integer;\n\n VAR\n (* Indexes, exchange temp, array size. *)\n i, j, tmp, size: integer;\n\n (* Array of ints *)\n arr: IntArrType;\n\n (* Read in the integers. *)\n PROCEDURE ReadArr(VAR size: Integer; VAR a: IntArrType); \n BEGIN\n size := 1;\n WHILE NOT eof DO BEGIN\n readln(a[size]);\n IF NOT eof THEN \n size := size + 1\n END\n END;\n\n BEGIN\n (* Read *)\n ReadArr(size, arr);\n\n (* Sort using bubble sort. *)\n FOR i := size - 1 DOWNTO 1 DO\n FOR j := 1 TO i DO \n IF arr[j] > arr[j + 1] THEN BEGIN\n tmp := arr[j];\n arr[j] := arr[j + 1];\n arr[j + 1] := tmp;\n END;\n\n (* Print. *)\n FOR i := 1 TO size DO\n writeln(arr[i])\n END.\n " - } - ], - "id": "J8J-Qn-3", - "createdAt": 1659509482727, - "updatedAt": 1659509621471 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Perl", - "content": [ - { - "label": "Fragment 1", - "language": "perl", - "value": "#!/usr/bin/perl\n=begin\n perl example code for Ace\n=cut\n\nuse v5.10;\nuse strict;\nuse warnings;\n\nuse List::Util qw(first);\nmy @primes;\n\n# Put 2 as the first prime so we won't have an empty array\npush @primes, 2;\n\nfor my $number_to_check (3 .. 200) {\n # Check if the current number is divisible by any previous prime\n # if it is, skip to the next number. Use first to bail out as soon\n # as we find a prime that divides it.\n next if (first {$number_to_check % $_ == 0} @primes);\n\n # If we reached this point it means $number_to_check is not\n # divisable by any prime number that came before it.\n push @primes, $number_to_check;\n}\n\n# List out all of the primes\nsay join(', ', @primes);\n" - } - ], - "id": "jKu61d0A", - "createdAt": 1659509623058, - "updatedAt": 1659509736352 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "pgSQL", - "content": [ - { - "label": "Fragment 1", - "language": "pgsql", - "value": "\nBEGIN;\n\n/**\n* Samples from PostgreSQL src/tutorial/basics.source\n*/\nCREATE TABLE weather (\n\tcity\t\tvarchar(80),\n\ttemp_lo\t\tint,\t\t-- low temperature\n\ttemp_hi\t\tint,\t\t-- high temperature\n\tprcp\t\treal,\t\t-- precipitation\n\t\"date\"\t\tdate\n);\n\nCREATE TABLE cities (\n\tname\t\tvarchar(80),\n\tlocation\tpoint\n);\n\n\nINSERT INTO weather\n VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');\n\nINSERT INTO cities\n VALUES ('San Francisco', '(-194.0, 53.0)');\n\nINSERT INTO weather (city, temp_lo, temp_hi, prcp, \"date\")\n VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');\n\nINSERT INTO weather (date, city, temp_hi, temp_lo)\n VALUES ('1994-11-29', 'Hayward', 54, 37);\n\n\nSELECT city, (temp_hi+temp_lo)/2 AS temp_avg, \"date\" FROM weather;\n\nSELECT city, temp_lo, temp_hi, prcp, \"date\", location\n FROM weather, cities\n WHERE city = name;\n\n\n\n/**\n* Dollar quotes starting at the end of the line are colored as SQL unless\n* a special language tag is used. Dollar quote syntax coloring is implemented\n* for Perl, Python, JavaScript, and Json.\n*/\ncreate or replace function blob_content_chunked(\n in p_data bytea, \n in p_chunk integer)\nreturns setof bytea as $$\n-- Still SQL comments\ndeclare\n\tv_size integer = octet_length(p_data);\nbegin\n\tfor i in 1..v_size by p_chunk loop\n\t\treturn next substring(p_data from i for p_chunk);\n\tend loop;\nend;\n$$ language plpgsql stable;\n\n\n-- pl/perl\nCREATE FUNCTION perl_max (integer, integer) RETURNS integer AS $perl$\n # perl comment...\n my ($x,$y) = @_;\n if (! defined $x) {\n if (! defined $y) { return undef; }\n return $y;\n }\n if (! defined $y) { return $x; }\n if ($x > $y) { return $x; }\n return $y;\n$perl$ LANGUAGE plperl;\n\n-- pl/python\nCREATE FUNCTION usesavedplan() RETURNS trigger AS $python$\n # python comment...\n if SD.has_key(\"plan\"):\n plan = SD[\"plan\"]\n else:\n plan = plpy.prepare(\"SELECT 1\")\n SD[\"plan\"] = plan\n$python$ LANGUAGE plpythonu;\n\n-- pl/v8 (javascript)\nCREATE FUNCTION plv8_test(keys text[], vals text[]) RETURNS text AS $javascript$\nvar o = {};\nfor(var i=0; ivar = 0 - self::$st;\n $this->list = list(Array(\"1\"=> 2, 2=>self::ME, 3 => \\Location\\Web\\URI::class));\n\n return [\n 'uri' => $uri,\n 'value' => null,\n ];\n }\n}\n\nmatch ($key) {\n 1 => 'Integer 1',\n '1' => 'String 1',\n true => 'Bool true',\n [] => 'Empty array',\n [1] => 'Array [1]',\n};\n\nenum Foo: string {\n case Test = 'test';\n}\n\necho URI::ME . URI::$st1;\n\n__halt_compiler () ; datahere\ndatahere\ndatahere */\ndatahere" - } - ], - "id": "yuH9oxm0", - "createdAt": 1659509784436, - "updatedAt": 1659509895082 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "PHP - Blade Template", - "content": [ - { - "label": "Fragment 1", - "language": "php_laravel_blade", - "value": "\n\n\n \n App Name - @yield('title')\n \n \n \n @extends('layouts.app')\n @section('sidebar')\n @parent\n\n

This is appended to the master sidebar.

\n @endsection\n \n @if (count($records) === 1)\n I have one record!\n @elseif (count($records) > 1)\n I have multiple records!\n @else\n I don't have any records!\n @endif\n\n @foreach ($users as $user)\n @if ($user->type == 1)\n @continue\n @endif\n\n
  • {{ $user->name }}
  • \n\n @if ($user->number == 5)\n @break\n @endif\n @endforeach\n\n @foreach ($users as $user)\n @continue($user->type == 1)\n\n
  • {{ $user->name }}
  • \n\n @break($user->number == 5)\n @endforeach\n\n
    \n @include('shared.errors')\n\n
    \n \n
    \n
    \n\n @includeIf('view.name', ['some' => 'data'])\n\n @env('local')\n // The application is in the local environment...\n @elseenv('testing')\n // The application is in the testing environment...\n @else\n // The application is not in the local or testing environment...\n @endenv\n\n
    \n @yield('content')\n
    \n \n\n\n\n{{-- comment --}}\n\n@if (\n {{-- comment --}}\n /*block comment*/\n #another comment\n $user->type == 1\n // c comment\n /* comment*/\n)\n # not a comment
    \n@endif\n" - } - ], - "id": "WwBajcHG", - "createdAt": 1659509896117, - "updatedAt": 1659509957894 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Pig", - "content": [ - { - "label": "Fragment 1", - "language": "pig", - "value": "A = load 'mobydick.txt';\nB = foreach A generate flatten(TOKENIZE((chararray)$0)) as word;\nC = filter B by word matches '\\\\w+';\nD = group C by word;\nE = foreach D generate COUNT(C) as count, group as word;\nF = order E by count desc;\n-- one comment\n/* another comment */\ndump F;\n" - } - ], - "id": "uA6UMShf", - "createdAt": 1659509975420, - "updatedAt": 1659509991588 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Powershell", - "content": [ - { - "label": "Fragment 1", - "language": "powershell", - "value": "# This is a simple comment\nfunction Hello($name) {\n Write-host \"Hello $name\"\n}\n\nfunction add($left, $right=4) {\n if ($right -ne 4) {\n return $left\n } elseif ($left -eq $null -and $right -eq 2) {\n return 3\n } else {\n return 2\n }\n}\n\n$number = 1 + 2;\n$number += 3\n\nWrite-Host Hello -name \"World\"\n\n$an_array = @(1, 2, 3)\n$a_hash = @{\"something\" = \"something else\"}\n\n& notepad .\\readme.md\n" - } - ], - "id": "ACgKGq8A", - "createdAt": 1659509992390, - "updatedAt": 1659510027409 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Paat", - "content": [ - { - "label": "Fragment 1", - "language": "praat", - "value": "form Highlighter test\n sentence My_sentence This should all be a string\n text My_text This should also all be a string\n word My_word Only the first word is a string, the rest is invalid\n boolean Binary 1\n boolean Text no\n boolean Quoted \"yes\"\n comment This should be a string\n real left_Range -123.6\n positive right_Range_max 3.3\n integer Int 4\n natural Nat 4\nendform\n\n# External scripts\ninclude /path/to/file\nrunScript: \"/path/to/file\"\nexecute /path/to/file\n\nstopwatch\n\n# old-style procedure call\ncall oldStyle \"quoted\" 2 unquoted string\nassert oldStyle.local = 1\n\n# New-style procedure call with parens\n@newStyle(\"quoted\", 2, \"quoted string\")\nif praatVersion >= 5364 \n # New-style procedure call with colon\n @newStyle: \"quoted\", 2, \"quoted string\"\nendif\n\n# if-block with built-in variables\nif windows\n # We are on Windows\nelsif unix = 1 or !macintosh\n exitScript: \"We are on Linux\"\nelse macintosh == 1\n exit We are on Mac\nendif\n\n# inline if with inline comment\nvar = if macintosh = 1 then 0 else 1 fi ; This is an inline comment\n\n# for-loop with explicit from using local variable\n# and paren-style function calls and variable interpolation\nn = numberOfSelected(\"Sound\")\nfor i from newStyle.local to n\n sound'i' = selected(\"Sound\", i)\n sound[i] = sound'i'\nendfor\n\nfor i from 1 to n\n # Different styles of object selection\n select sound'i'\n sound = selected()\n sound$ = selected$(\"Sound\")\n select Sound 'sound$'\n selectObject(sound[i])\n selectObject: sound\n \n # Pause commands\n beginPause(\"Viewing \" + sound$)\n if i > 1\n button = endPause(\"Stop\", \"Previous\",\n ...if i = total_sounds then \"Finish\" else \"Next\" fi,\n ...3, 1)\n else\n button = endPause(\"Stop\",\n ...if i = total_sounds then \"Finish\" else \"Next\" fi,\n ...2, 1) \n endif\n editor_name$ = if total_textgrids then \"TextGrid \" else \"Sound \" fi + name$\n nocheck editor 'editor_name$'\n nocheck Close\n nocheck endeditor\n \n # New-style standalone command call\n Rename: \"SomeName\"\n\n # Command call with assignment\n duration = Get total duration\n \n # Multi-line command with modifier\n pitch = noprogress To Pitch (ac): 0, 75, 15, \"no\",\n ...0.03, 0.45, 0.01, 0.35, 0.14, 600\n \n # do-style command with assignment\n minimum = do(\"Get minimum...\", 0, 0, \"Hertz\", \"Parabolic\")\n\n # New-style multi-line command call with broken strings\n table = Create Table with column names: \"table\", 0,\n ...\"file subject speaker\n ...f0 f1 f2 f3 \" +\n ...\"duration response\"\n \n removeObject: pitch, table\n \n # Picture window commands\n selectObject: sound\n # do-style command\n do(\"Select inner viewport...\", 1, 6, 0.5, 1.5)\n Black\n Draw... 0 0 0 0 \"no\" Curve\n Draw inner box\n Text bottom: \"yes\", sound$\n Erase all\n \n # Demo window commands\n demo Erase all\n demo Select inner viewport... 0 100 0 100\n demo Axes... 0 100 0 100\n demo Paint rectangle... white 0 100 0 100\n demo Text... 50 centre 50 half Click to finish\n demoWaitForInput ( )\n demo Erase all\n demo Text: 50, \"centre\", 50, \"half\", \"Finished\"\nendfor\n\n# An old-style sendpraat block\nsendpraat Praat\n ...'newline$' Create Sound as pure tone... \"tone\" 1 0 0.4 44100 440 0.2 0.01 0.01\n ...'newline$' Play\n ...'newline$' Remove\n\n# A new-style sendpraat block\nbeginSendPraat: \"Praat\"\n Create Sound as pure tone: \"tone\", 1, 0, 0.4, 44100, 440, 0.2, 0.01, 0.01\n duration = Get total duration\n Remove\nendSendPraat: \"duration\"\nappendInfoLine: \"The generated sound lasted for \", duration, \"seconds\"\n\ntime = stopwatch\nclearinfo\necho This script took \nprint 'time' seconds to \nprintline execute.\n\n# Old-style procedure declaration\nprocedure oldStyle .str1$ .num .str2$\n .local = 1\nendproc\n\n# New-style procedure declaration with parentheses\nprocedure newStyle (.str1$, .num, .str2$)\n # Command with \"local\" variable\n .local = Get total duration\nendproc\n\n# New-style procedure declaration with colon\nprocedure newStyle: .str1$, .num, .str2$\n # Command with \"local\" variable\n newStyle.local = Get total duration\nendproc\n" - } - ], - "id": "iH45a-i3", - "createdAt": 1659510027898, - "updatedAt": 1659510048404 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Prisma", - "content": [ - { - "label": "Fragment 1", - "language": "prisma", - "value": "generator photon {\n provider = \"photonjs\"\n}\n\nmodel User {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n firstName String\n lastName String\n email String @unique\n password String\n phone String\n responseRate Float?\n responseTime Int?\n ReportsTo User? @relation(\"EmployeeToEmployee_ReportsTo\")\n employees User[] @relation(\"EmployeeToEmployee_ReportsTo\")\n isSuperHost Boolean\n ownedPlaces Place[]\n location Location?\n bookings Booking[]\n paymentAccount PaymentAccount[]\n sentMessages Message[] @relation(\"SentMessages\")\n receivedMessages Message[] @relation(\"ReceivedMessages\")\n notifications Notification[]\n profilePicture Picture?\n hostingExperiences Experience[]\n}\n\nmodel Place {\n id String @default(cuid()) @id\n name String\n size PLACE_SIZES?\n shortDescription String\n description String\n slug String\n maxGuests Int\n numBedrooms Int\n numBeds Int\n numBaths Int\n reviews Review[]\n amenities Amenities\n host User\n pricing Pricing\n location Location\n views Views\n guestRequirements GuestRequirements?\n policies Policies?\n houseRules HouseRules?\n bookings Booking[]\n pictures Picture[]\n popularity Int\n}\n\nmodel Pricing {\n id String @default(cuid()) @id\n place Place\n monthlyDiscount Int?\n weeklyDiscount Int?\n perNight Int\n smartPricing Boolean\n basePrice Int\n averageWeekly Int\n averageMonthly Int\n cleaningFee Int?\n securityDeposit Int?\n extraGuests Int?\n weekendPricing Int?\n currency CURRENCY?\n}\n\nmodel GuestRequirements {\n id String @default(cuid()) @id\n govIssuedId Boolean\n recommendationsFromOtherHosts Boolean\n guestTripInformation Boolean\n place Place\n}\n\nmodel Policies {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n checkInStartTime Float\n checkInEndTime Float\n checkoutTime Float\n place Place\n}\n\nmodel HouseRules {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n suitableForChildren Boolean?\n suitableForInfants Boolean?\n petsAllowed Boolean?\n smokingAllowed Boolean?\n partiesAndEventsAllowed Boolean?\n additionalRules String?\n}\n\nmodel Views {\n id String @default(cuid()) @id\n lastWeek Int\n place Place\n}\n\nmodel Location {\n id String @default(cuid()) @id\n lat Float\n lng Float\n neighbourHood Neighbourhood?\n user User?\n place Place?\n address String\n directions String\n experience Experience?\n restaurant Restaurant?\n}\n\nmodel Neighbourhood {\n id String @default(cuid()) @id\n locations Location[]\n name String\n slug String\n homePreview Picture?\n city City\n featured Boolean\n popularity Int\n}\n\nmodel City {\n id String @default(cuid()) @id\n name String\n neighbourhoods Neighbourhood[]\n}\n\nmodel Picture {\n id String @default(cuid()) @id\n url String\n}\n\nmodel Experience {\n id String @default(cuid()) @id\n category ExperienceCategory?\n title String\n host User\n location Location\n pricePerPerson Int\n reviews Review[]\n preview Picture\n popularity Int\n}\n\nmodel ExperienceCategory {\n id String @default(cuid()) @id\n mainColor String\n name String\n experience Experience?\n}\n\nmodel Amenities {\n id String @default(cuid()) @id\n place Place\n elevator Boolean\n petsAllowed Boolean\n internet Boolean\n kitchen Boolean\n wirelessInternet Boolean\n familyKidFriendly Boolean\n freeParkingOnPremises Boolean\n hotTub Boolean\n pool Boolean\n smokingAllowed Boolean\n wheelchairAccessible Boolean\n breakfast Boolean\n cableTv Boolean\n suitableForEvents Boolean\n dryer Boolean\n washer Boolean\n indoorFireplace Boolean\n tv Boolean\n heating Boolean\n hangers Boolean\n iron Boolean\n hairDryer Boolean\n doorman Boolean\n paidParkingOffPremises Boolean\n freeParkingOnStreet Boolean\n gym Boolean\n airConditioning Boolean\n shampoo Boolean\n essentials Boolean\n laptopFriendlyWorkspace Boolean\n privateEntrance Boolean\n buzzerWirelessIntercom Boolean\n babyBath Boolean\n babyMonitor Boolean\n babysitterRecommendations Boolean\n bathtub Boolean\n changingTable Boolean\n childrensBooksAndToys Boolean\n childrensDinnerware Boolean\n crib Boolean\n}\n\nmodel Review {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n text String\n stars Int\n accuracy Int\n location Int\n checkIn Int\n value Int\n cleanliness Int\n communication Int\n place Place\n experience Experience?\n}\n\nmodel Booking {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n bookee User\n place Place\n startDate DateTime\n endDate DateTime\n payment Payment?\n}\n\nmodel Payment {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n serviceFee Float\n placePrice Float\n totalPrice Float\n booking Booking\n paymentMethod PaymentAccount\n}\n\nmodel PaymentAccount {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n type PAYMENT_PROVIDER?\n user User\n payments Payment[]\n paypal PaypalInformation?\n creditcard CreditCardInformation?\n}\n\nmodel PaypalInformation {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n email String\n paymentAccount PaymentAccount\n}\n\nmodel CreditCardInformation {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n cardNumber String\n expiresOnMonth Int\n expiresOnYear Int\n securityCode String\n firstName String\n lastName String\n postalCode String\n country String\n paymentAccount PaymentAccount?\n}\n\nmodel Message {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n from User @relation(\"SentMessages\")\n to User @relation(\"ReceivedMessages\")\n deliveredAt DateTime\n readAt DateTime\n}\n\nmodel Notification {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n type NOTIFICATION_TYPE?\n user User\n link String\n readDate DateTime\n}\n\nmodel Restaurant {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n title String\n avgPricePerPerson Int\n pictures Picture[]\n location Location\n isCurated Boolean\n slug String\n popularity Int\n}\n\nenum CURRENCY {\n CAD\n CHF\n EUR\n JPY\n USD\n ZAR\n}\n\nenum PLACE_SIZES {\n ENTIRE_HOUSE\n ENTIRE_APARTMENT\n ENTIRE_EARTH_HOUSE\n ENTIRE_CABIN\n ENTIRE_VILLA\n ENTIRE_PLACE\n ENTIRE_BOAT\n PRIVATE_ROOM\n}\n\nenum PAYMENT_PROVIDER {\n PAYPAL\n CREDIT_CARD\n}\n\nenum NOTIFICATION_TYPE {\n OFFER\n INSTANT_BOOK\n RESPONSIVENESS\n NEW_AMENITIES\n HOUSE_RULES\n}" - } - ], - "id": "KTDefWxq", - "createdAt": 1659510049111, - "updatedAt": 1659510072362 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Prolog", - "content": [ - { - "label": "Fragment 1", - "language": "prolog", - "value": "partition([], _, [], []).\npartition([X|Xs], Pivot, Smalls, Bigs) :-\n ( X @< Pivot ->\n Smalls = [X|Rest],\n partition(Xs, Pivot, Rest, Bigs)\n ; Bigs = [X|Rest],\n partition(Xs, Pivot, Smalls, Rest)\n ).\n \nquicksort([]) --> [].\nquicksort([X|Xs]) -->\n { partition(Xs, X, Smaller, Bigger) },\n quicksort(Smaller), [X], quicksort(Bigger).\n\nperfect(N) :-\n between(1, inf, N), U is N // 2,\n findall(D, (between(1,U,D), N mod D =:= 0), Ds),\n sumlist(Ds, N)." - } - ], - "id": "nqEhifOx", - "createdAt": 1659510080607, - "updatedAt": 1659510103148 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Properties", - "content": [ - { - "label": "Fragment 1", - "language": "properties", - "value": "# You are reading the \".properties\" entry.\n! The exclamation mark can also mark text as comments.\n# The key and element characters #, !, =, and : are written with a preceding backslash to ensure that they are properly loaded.\nwebsite = http\\://en.wikipedia.org/\nlanguage = English\n# The backslash below tells the application to continue reading\n# the value onto the next line.\nmessage = Welcome to \\\n Wikipedia!\n# Add spaces to the key\nkey\\ with\\ spaces = This is the value that could be looked up with the key \"key with spaces\".\n# Unicode\ntab : \\u0009\nempty-key=\nlast.line=value\n" - } - ], - "id": "VXNpdnl9", - "createdAt": 1659510103416, - "updatedAt": 1659510130368 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Protobuf", - "content": [ - { - "label": "Fragment 1", - "language": "protobuf", - "value": "message Point {\n required int32 x = 1;\n required int32 y = 2;\n optional string label = 3;\n}\n\nmessage Line {\n required Point start = 1;\n required Point end = 2;\n optional string label = 3;\n}\n\nmessage Polyline {\n repeated Point point = 1;\n optional string label = 2;\n}" - } - ], - "id": "W_wDJx6s", - "createdAt": 1659510131080, - "updatedAt": 1659510144680 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Pug", - "content": [ - { - "label": "Fragment 1", - "language": "pug", - "value": "- var friends = 10\ncase friends\n when 0\n p you have no friends\n when 1\n p you have a friend\n default\n p you have #{friends} friends" - } - ], - "id": "HDTFA7pE", - "createdAt": 1659510147077, - "updatedAt": 1659510166311 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Puppet", - "content": [ - { - "label": "Fragment 1", - "language": "puppet", - "value": "define apache::vhost ($port, $docroot, $servername = $title, $vhost_name = '*') {\n include apache\n include apache::params\n $vhost_dir = $apache::params::vhost_dir\n file { \"${vhost_dir}/${servername}.conf\":\n content => template('apache/vhost-default.conf.erb'),\n owner => 'www',\n group => 'www',\n mode => '644',\n require => Package['httpd'],\n notify => Service['httpd'],\n }\n}\n\ntype MyModule::Tree = Array[Variant[Data, Tree]]\n\nfunction apache::bool2http(Variant[String, Boolean] $arg) >> String {\n case $arg {\n false, undef, /(?i:false)/ : { 'Off' }\n true, /(?i:true)/ : { 'On' }\n default : { \"$arg\" }\n }\n}\n\n# A class with parameters\nclass apache (String $version = 'latest') {\n package {'httpd':\n ensure => $version, # Using the class parameter from above\n before => File['/etc/httpd.conf'],\n }\n file {'/etc/httpd.conf':\n ensure => file,\n owner => 'httpd',\n content => template('apache/httpd.conf.erb'), # Template from a module\n }\n service {'httpd':\n ensure => running,\n enable => true,\n subscribe => File['/etc/httpd.conf'],\n }\n}\n\n\nif $is_virtual {\n warning( 'Tried to include class ntp on virtual machine; this node might be misclassified.' )\n}\nelsif $operatingsystem == 'Darwin' {\n warning( 'This NTP module does not yet work on our Mac laptops.' )\nelse {\n include ntp\n}" - } - ], - "id": "lPxURSSn", - "createdAt": 1659510169193, - "updatedAt": 1659510185052 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Python", - "content": [ - { - "label": "Fragment 1", - "language": "python", - "value": "#!/usr/local/bin/python\n\nimport string, sys\n\n# If no arguments were given, print a helpful message\nif len(sys.argv)==1:\n print '''Usage:\ncelsius temp1 temp2 ...'''\n sys.exit(0)\n\n# Loop over the arguments\nfor i in sys.argv[1:]:\n try:\n fahrenheit=float(string.atoi(i))\n except string.atoi_error:\n print repr(i), \"not a numeric value\"\n else:\n celsius=(fahrenheit-32)*5.0/9.0\n print '%i\\260F = %i\\260C' % (int(fahrenheit), int(celsius+.5))" - } - ], - "id": "OIWeDQnx", - "createdAt": 1659510185880, - "updatedAt": 1659510201739 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "QML", - "content": [ - { - "label": "Fragment 1", - "language": "qml", - "value": "// A simple example\nimport QtQuick 2.7\nimport QtQuick.Controls 2.3\n\nRectangle {\n color: \"red\"\n anchors.fill: parent\n\n Text {\n text: \"WEEEEEEEEEE\"\n font.pixelSize: 50\n color: \"white\"\n anchors.centerIn: parent\n RotationAnimator on rotation {\n running: true\n loops: Animation.Infinite\n from: 0\n to: 360\n duration: 1500\n }\n }\n}\n" - } - ], - "id": "VDC3i3FC", - "createdAt": 1659510202469, - "updatedAt": 1659510214305 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "R", - "content": [ - { - "label": "Fragment 1", - "language": "r", - "value": "Call:\nlm(formula = y ~ x)\n \nResiduals:\n1 2 3 4 5 6\n3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333\n \nCoefficients:\n Estimate Std. Error t value Pr(>|t|)\n(Intercept) -9.3333 2.8441 -3.282 0.030453 *\nx 7.0000 0.7303 9.585 0.000662 ***\n---\nSignif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n \nResidual standard error: 3.055 on 4 degrees of freedom\nMultiple R-squared: 0.9583, Adjusted R-squared: 0.9478\nF-statistic: 91.88 on 1 and 4 DF, p-value: 0.000662\n \n> par(mfrow=c(2, 2)) # Request 2x2 plot layout\n> plot(lm_1) # Diagnostic plot of regression model" - } - ], - "id": "WvQzM-re", - "createdAt": 1659510214733, - "updatedAt": 1659510228108 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Raku", - "content": [ - { - "label": "Fragment 1", - "language": "raku", - "value": "=begin comment\nRaku example for ace\n=end comment\nclass Cook is Employee {\n has @.utensils is rw;\n has @.cookbooks is rw;\n\n method cook( $food ) {\n say \"Cooking $food\";\n }\n\n method clean_utensils {\n say \"Cleaning $_\" for @.utensils;\n }\n}\n\nclass Baker is Cook {\n method cook( $confection ) {\n say \"Baking a tasty $confection\";\n }\n}\n\nmy $cook = Cook.new(\n utensils => ,\n cookbooks => 'The Joy of Cooking',\n salary => 40000);\n\n$cook.cook( 'pizza' ); # OUTPUT: «Cooking pizza␤»\nsay $cook.utensils.perl; # OUTPUT: «[\"spoon\", \"ladle\", \"knife\", \"pan\"]␤»\nsay $cook.cookbooks.perl; # OUTPUT: «[\"The Joy of Cooking\"]␤»\nsay $cook.salary; # OUTPUT: «40000␤»\n\nmy $baker = Baker.new(\n utensils => 'self cleaning oven',\n cookbooks => \"The Baker's Apprentice\",\n salary => 50000);\n\n$baker.cook('brioche'); # OUTPUT: «Baking a tasty brioche␤»\nsay $baker.utensils.perl; # OUTPUT: «[\"self cleaning oven\"]␤»\nsay $baker.cookbooks.perl; # OUTPUT: «[\"The Baker's Apprentice\"]␤»\nsay $baker.salary; # OUTPUT: «50000␤»\n" - } - ], - "id": "fuy3UFGu", - "createdAt": 1659510229876, - "updatedAt": 1659510243071 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Razor", - "content": [ - { - "label": "Fragment 1", - "language": "razor", - "value": "@* razor mode *@\n@{\n\tLayout = \"~/layout\"\n\t@: \n\t@Layout\n\t@: \n}" - } - ], - "id": "GQjZpbUI", - "createdAt": 1659510243891, - "updatedAt": 1659510280508 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Red", - "content": [ - { - "label": "Fragment 1", - "language": "red", - "value": "Red []\ninfo: func ['fn /name /intro /args /refinements /locals /return /spec \n\t/arg-num /arg-names /arg-types /ref-names /ref-types /ref-num /type\n\t/local intr ars refs locs ret arg ref typ\n][\n\tintr: copy \"\" ars: make map! copy [] refs: make map! copy [] locs: copy [] ret: copy [] typ: ref-arg: ref-arg-type: none\n\tif lit-word? fn [fn: to-word fn]\n\tunless find [op! native! function! action!] type?/word get fn [\n\t\tcause-error 'user 'message [\"Only function types accepted!\"]\n\t]\n\tout: make map! copy []\n\tspecs: spec-of get fn \n\tparse specs [\n\t\topt [set intr string!]\n\t\tany [set arg [word! | lit-word!] opt [set typ block!] opt string! (put ars arg either typ [typ][[any-type!]])]\n\t\tany [set ref refinement! [\n\t\t\tif (ref <> /local) (put refs to-lit-word ref make map! copy []) \n\t\t\t\topt string! \n\t\t\t\tany [set ref-arg word! opt [set ref-arg-type block!] \n\t\t\t\t\t(put refs/(to-word ref) to-lit-word ref-arg either ref-arg-type [ref-arg-type][[any-type!]])\n\t\t\t\t]\n\t\t\t|\tany [set loc word! (append locs loc) opt string!] \n\t\t\t\topt [set-word! set ret block!]\n\t\t]]\n\t\t\n\t\t(\n\t\tout: case [\n\t\t\tname\t\t[to-word fn]\n\t\t\tintro \t\t[intr] \n\t\t\targs\t\t[ars]\n\t\t\targ-num\t\t[length? ars]\n\t\t\targ-names \t[copy keys-of ars] \n\t\t\targ-types\t[copy values-of ars]\n\t\t\trefinements [refs] \n\t\t\tref-names\t[copy keys-of refs]\n\t\t\tref-types\t[copy values-of refs]\n\t\t\tref-num\t\t[length? refs]\n\t\t\tlocals \t\t[locs] \n\t\t\treturn \t\t[ret]\n\t\t\tspec\t\t[specs]\n\t\t\ttrue \t\t[\n\t\t\t\tmake object! [\n\t\t\t\t\tname: \t\tto-word fn \n\t\t\t\t\tintro: \t\tintr \n\t\t\t\t\targs: \t\tars \n\t\t\t\t\trefinements: refs \n\t\t\t\t\tlocals: \tlocs \n\t\t\t\t\treturn: \tret \n\t\t\t\t\tspec: \t\tspecs \n\t\t\t\t\ttype: \t\ttype? get fn\n\t\t\t\t\targ-num: \tlength? args\n\t\t\t\t\targ-names: \tcopy keys-of args\n\t\t\t\t\targ-types: \tcopy values-of args\n\t\t\t\t\tref-names: \tcopy keys-of refinements\n\t\t\t\t\tref-types: \tcopy values-of refinements\n\t\t\t\t\tref-num:\tlength? refinements\n\t\t\t\t]\n\t\t\t]\n\t\t])\n\t]\n\tout\n]\n" - } - ], - "id": "eQ3UEMOz", - "createdAt": 1659510281695, - "updatedAt": 1659510296598 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Ruby", - "content": [ - { - "label": "Fragment 1", - "language": "ruby", - "value": "#!/usr/bin/ruby\n\n# Program to find the factorial of a number\ndef fact(n)\n if n == 0\n 1\n else\n n * fact(n-1)\n end\nend\n\nputs fact(ARGV[0].to_i)\n\nclass Range\n def to_json(*a)\n {\n 'json_class' => self.class.name, # = 'Range'\n 'data' => [ first, last, exclude_end? ]\n }.to_json(*a)\n end\nend\n\n{:id => ?\", :key => \"value\"}\n\n\n herDocs = [<<'FOO', <(vector: &[T], function: &fn(v: &T) -> U) -> ~[U] {\n let mut accumulator = ~[];\n for vec::each(vector) |element| {\n accumulator.push(function(element));\n }\n return accumulator;\n}\n" - } - ], - "id": "bfauQKAK", - "createdAt": 1659512758939, - "updatedAt": 1659512774417 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SASS", - "content": [ - { - "label": "Fragment 1", - "language": "sass", - "value": "nav\n ul\n margin: 0\n padding: 0\n list-style: none\n\n li\n display: inline-block\n\n a\n display: block\n padding: 6px 12px\n text-decoration: none\n" - } - ], - "id": "moAo6UG2", - "createdAt": 1659512774797, - "updatedAt": 1659512900319 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SCAD", - "content": [ - { - "label": "Fragment 1", - "language": "scad", - "value": "module Element(xpos, ypos, zpos){\n\ttranslate([xpos,ypos,zpos]){\n\t\tunion(){\n\t\t\tcube([10,10,4],true);\n\t\t\tcylinder(10,15,5);\n\t\t\ttranslate([0,0,10])sphere(5);\n\t\t}\n\t}\n}\n\nunion(){\n\tfor(i=[0:30]){\n\t\t# Element(0,0,0);\n\t\tElement(15*i,0,0);\n\t}\n}\n\nfor (i = [3, 5, 7, 11]){\n\trotate([i*10,0,0])scale([1,1,i])cube(10);\n}" - } - ], - "id": "Xpqsj2Zl", - "createdAt": 1659512903575, - "updatedAt": 1659513054282 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Scala", - "content": [ - { - "label": "Fragment 1", - "language": "scala", - "value": "// http://www.scala-lang.org/node/54\n\npackage examples.actors\n\nimport scala.actors.Actor\nimport scala.actors.Actor._\n\nabstract class PingMessage\ncase object Start extends PingMessage\ncase object SendPing extends PingMessage\ncase object Pong extends PingMessage\n\nabstract class PongMessage\ncase object Ping extends PongMessage\ncase object Stop extends PongMessage\n\nobject pingpong extends Application {\n val pong = new Pong\n val ping = new Ping(100000, pong)\n ping.start\n pong.start\n ping ! Start\n}\n\nclass Ping(count: Int, pong: Actor) extends Actor {\n def act() {\n println(\"Ping: Initializing with count \"+count+\": \"+pong)\n var pingsLeft = count\n loop {\n react {\n case Start =>\n println(\"Ping: starting.\")\n pong ! Ping\n pingsLeft = pingsLeft - 1\n case SendPing =>\n pong ! Ping\n pingsLeft = pingsLeft - 1\n case Pong =>\n if (pingsLeft % 1000 == 0)\n println(\"Ping: pong from: \"+sender)\n if (pingsLeft > 0)\n self ! SendPing\n else {\n println(\"Ping: Stop.\")\n pong ! Stop\n exit('stop)\n }\n }\n }\n }\n}\n\nclass Pong extends Actor {\n def act() {\n var pongCount = 0\n loop {\n react {\n case Ping =>\n if (pongCount % 1000 == 0)\n println(\"Pong: ping \"+pongCount+\" from \"+sender)\n sender ! Pong\n pongCount = pongCount + 1\n case Stop =>\n println(\"Pong: Stop.\")\n exit('stop)\n }\n }\n }\n}" - } - ], - "id": "_fNo6obA", - "createdAt": 1659513088102, - "updatedAt": 1659513102547 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Scheme", - "content": [ - { - "label": "Fragment 1", - "language": "scheme", - "value": "(define (prompt-for-cd)\n \"Prompts\n for CD\"\n (prompt-read \"Title\" 1.53 1 2/4 1.7 1.7e0 2.9E-4 +42 -7 #b001 #b001/100 #o777 #O777 #xabc55 #c(0 -5.6))\n (prompt-read \"Artist\")\n (or (parse-integer (prompt-read \"Rating\") #:junk-allowed #t) 0)\n (if x (format #t \"yes\") (format #f \"no\") ;and here comment\n ) \n ;; second line comment\n '(+ 1 2)\n (position-if-not char-set:whitespace line #:start beg))\n (quote (privet 1 2 3))\n '(hello world)\n (* 5 7)\n (1 2 34 5)\n (#:use \"aaaa\")\n (let ((x 10) (y 20))\n (display (+ x y))\n ) \n\n \"asdad\\0eqweqe\"\n" - } - ], - "id": "mQs07uv9", - "createdAt": 1659513103082, - "updatedAt": 1659513120052 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "sCrypt", - "content": [ - { - "label": "Fragment 1", - "language": "scrypt", - "value": "// https://github.com/sCrypt-Inc/boilerplate/blob/master/contracts/ackermann.scrypt\n\ncontract Ackermann {\n int a; // a = 2\n int b; // b = 1\n\n static const int LOOPCOUNT = 14;\n\n function ackermann(int m, int n) : int {\n bytes stk = num2bin(m, 1);\n\n // run this function off chain to get the loop count and set it here\n // e.g., (2, 1) requires 14 loops, (3, 5) 42438\n loop (LOOPCOUNT) {\n if (len(stk) > 0) {\n bytes top = stk[0 : 1];\n m = unpack(top);\n\n // pop\n stk = stk[1 : len(stk)];\n\n if (m == 0) {\n n = n + m + 1;\n }\n else if (n == 0) {\n n++;\n m--;\n // push\n stk = num2bin(m, 1) + stk;\n }\n else {\n stk = num2bin(m - 1, 1) + stk;\n stk = num2bin(m, 1) + stk;\n n--;\n }\n }\n }\n\n return n;\n }\n\n // y = 5\n public function unlock(int y) {\n require(y == this.ackermann(this.a, this.b));\n }\n}" - } - ], - "id": "y8lXMyA1", - "createdAt": 1659513122058, - "updatedAt": 1659513143136 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SCSS", - "content": [ - { - "label": "Fragment 1", - "language": "scss", - "value": "nav {\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n li { display: inline-block; }\n\n a {\n display: block;\n padding: 6px 12px;\n text-decoration: none;\n }\n}" - } - ], - "id": "V-785e5S", - "createdAt": 1659513144141, - "updatedAt": 1659513158303 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SJS", - "content": [ - { - "label": "Fragment 1", - "language": "sjs", - "value": "var { each, map } = require('sjs:sequence');\nvar { get } = require('sjs:http');\n\nfunction foo(items, nada) {\n var component = { name: \"Ace\", role: \"Editor\" };\n console.log(\"\n Welcome, #{component.name}\n \".trim());\n\n logging.debug(`Component added: $String(component) (${component})`);\n\n console.log(`\n Welcome, {${function() {\n return { x: 1, y: \"why?}\"};\n }()}\n `.trim());\n\n waitfor {\n items .. each.par { |item|\n get(item);\n }\n } and {\n var lengths = items .. map(i -> i.length);\n } or {\n hold(1500);\n throw new Error(\"timed out\");\n }\n}\t// Real Tab.\n" - } - ], - "id": "fe94fkP7", - "createdAt": 1659513160004, - "updatedAt": 1659513172534 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Slim", - "content": [ - { - "label": "Fragment 1", - "language": "slim", - "value": "doctype html\nhtml\n head\n title Slim Examples\n meta name=\"keywords\" content=\"template language\"\n meta name=\"author\" content=author\n link rel=\"icon\" type=\"image/png\" href=file_path(\"favicon.png\")\n javascript:\n alert('Slim supports embedded javascript!')\n\n body\n h1 Markup examples\n\n #content\n p This example shows you how a basic Slim file looks.\n\n == yield\n\n - if items.any?\n table#items\n - for item in items\n tr\n td.name = item.name\n td.price = item.price\n - else\n p No items found. Please add some inventory.\n Thank you!\n\n div id=\"footer\"\n == render 'footer'\n | Copyright © #{@year} #{@author}\n indenting test\n\n - @page_current = true" - } - ], - "id": "G6BAdMnJ", - "createdAt": 1659513173551, - "updatedAt": 1659513317040 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Solidity", - "content": [ - { - "label": "Fragment 1", - "language": "solidity", - "value": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\ncontract DataLocations {\n uint[] public arr;\n mapping(uint => address) map;\n struct MyStruct {\n uint foo;\n }\n mapping(uint => MyStruct) myStructs;\n\n function f() public {\n // call _f with state variables\n _f(arr, map, myStructs[1]);\n\n // get a struct from a mapping\n MyStruct storage myStruct = myStructs[1];\n // create a struct in memory\n MyStruct memory myMemStruct = MyStruct(0);\n }\n\n function _f(\n uint[] storage _arr,\n mapping(uint => address) storage _map,\n MyStruct storage _myStruct\n ) internal {\n // do something with storage variables\n }\n\n // You can return memory variables\n function g(uint[] memory _arr) public returns (uint[] memory) {\n // do something with memory array\n }\n\n function h(uint[] calldata _arr) external {\n // do something with calldata array\n }\n}" - } - ], - "id": "o9TpAqny", - "createdAt": 1659513318920, - "updatedAt": 1659513371511 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Smarty", - "content": [ - { - "label": "Fragment 1", - "language": "smarty", - "value": "{foreach $foo as $bar}\n {$bar.zag}\n {$bar.zag2}\n {$bar.zag3}\n{foreachelse}\n There were no rows found.\n{/foreach}" - } - ], - "id": "8cQOZp8n", - "createdAt": 1659513382933, - "updatedAt": 1659513403528 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Smithy", - "content": [ - { - "label": "Fragment 1", - "language": "smithy", - "value": "namespace example.weather\n\n/// Provides weather forecasts.\n@paginated(inputToken: \"nextToken\", outputToken: \"nextToken\",\n pageSize: \"pageSize\")\nservice Weather {\n version: \"2006-03-01\",\n resources: [City],\n operations: [GetCurrentTime]\n}\n\nresource City {\n identifiers: { cityId: CityId },\n read: GetCity,\n list: ListCities,\n resources: [Forecast],\n}\n\nresource Forecast {\n identifiers: { cityId: CityId },\n read: GetForecast,\n}\n\n// \"pattern\" is a trait.\n@pattern(\"^[A-Za-z0-9 ]+$\")\nstring CityId\n\n@readonly\noperation GetCity {\n input: GetCityInput,\n output: GetCityOutput,\n errors: [NoSuchResource]\n}\n\nstructure GetCityInput {\n // \"cityId\" provides the identifier for the resource and\n // has to be marked as required.\n @required\n cityId: CityId\n}\n\nstructure GetCityOutput {\n // \"required\" is used on output to indicate if the service\n // will always provide a value for the member.\n @required\n name: String,\n\n @required\n coordinates: CityCoordinates,\n}\n\n// This structure is nested within GetCityOutput.\nstructure CityCoordinates {\n @required\n latitude: Float,\n\n @required\n longitude: Float,\n}\n\n// \"error\" is a trait that is used to specialize\n// a structure as an error.\n@error(\"client\")\nstructure NoSuchResource {\n @required\n resourceType: String\n}\n\n// The paginated trait indicates that the operation may\n// return truncated results.\n@readonly\n@paginated(items: \"items\")\noperation ListCities {\n input: ListCitiesInput,\n output: ListCitiesOutput\n}\n\nstructure ListCitiesInput {\n nextToken: String,\n pageSize: Integer\n}\n\nstructure ListCitiesOutput {\n nextToken: String,\n\n @required\n items: CitySummaries,\n}\n\n// CitySummaries is a list of CitySummary structures.\nlist CitySummaries {\n member: CitySummary\n}\n\n// CitySummary contains a reference to a City.\n@references([{resource: City}])\nstructure CitySummary {\n @required\n cityId: CityId,\n\n @required\n name: String,\n}\n\n@readonly\noperation GetCurrentTime {\n output: GetCurrentTimeOutput\n}\n\nstructure GetCurrentTimeOutput {\n @required\n time: Timestamp\n}\n\n@readonly\noperation GetForecast {\n input: GetForecastInput,\n output: GetForecastOutput\n}\n\n// \"cityId\" provides the only identifier for the resource since\n// a Forecast doesn't have its own.\nstructure GetForecastInput {\n @required\n cityId: CityId,\n}\n\nstructure GetForecastOutput {\n chanceOfRain: Float\n}" - } - ], - "id": "qHcIur3E", - "createdAt": 1659513520728, - "updatedAt": 1659513537749 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Soy Template", - "content": [ - { - "label": "Fragment 1", - "language": "soy_template", - "value": "/**\n * Greets a person using \"Hello\" by default.\n * @param name The name of the person.\n * @param? greetingWord Optional greeting word to use instead of \"Hello\".\n */\n{template .helloName #eee}\n {if not $greetingWord}\n Hello {$name}!\n {else}\n {$greetingWord} {$name}!\n {/if}\n{/template}\n\n/**\n * Greets a person and optionally a list of other people.\n * @param name The name of the person.\n * @param additionalNames The additional names to greet. May be an empty list.\n */\n{template .helloNames}\n // Greet the person.\n {call .helloName data=\"all\" /}
    \n // Greet the additional people.\n {foreach $additionalName in $additionalNames}\n {call .helloName}\n {param name: $additionalName /}\n {/call}\n {if not isLast($additionalName)}\n
    // break after every line except the last\n {/if}\n {ifempty}\n No additional people to greet.\n {/foreach}\n{/template}\n\n\n{/foreach}\n{if length($items) > 5}\n{msg desc=\"Says hello to the user.\"}\n\n\n{namespace ns autoescape=\"contextual\"}\n\n/** Example. */\n{template .example}\n foo is {$ij.foo}\n{/template}" - } - ], - "id": "GNzBMeEl", - "createdAt": 1659513539732, - "updatedAt": 1659513555942 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SQL", - "content": [ - { - "label": "Fragment 1", - "language": "sql", - "value": "SELECT city, COUNT(id) AS users_count\nFROM users\nWHERE group_name = 'salesman'\nAND created > '2011-05-21'\nGROUP BY 1\nORDER BY 2 DESC" - } - ], - "id": "StsXGnhD", - "createdAt": 1659513557682, - "updatedAt": 1659513666978 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SQLServer", - "content": [ - { - "label": "Fragment 1", - "language": "sqlserver", - "value": "-- =============================================\n-- Author:\t\tMorgan Yarbrough\n-- Create date: 4/27/2015\n-- Description:\tTest procedure that shows off language features.\n-- \t\t\t\tIncludes non-standard folding with region comments using either\n-- \t\t\t\tline comments or block comments (both are demonstrated below).\n--\t\t\t\tThis mode imitates SSMS and it designed to be used with SQL Server theme.\n-- =============================================\nCREATE PROCEDURE dbo.TestProcedure\n\t\n--#region parameters\n\t@vint INT = 1\n\t,@vdate DATE = NULL\n\t,@vdatetime DATETIME = DATEADD(dd, 1, GETDATE())\n\t,@vvarchar VARCHAR(MAX) = ''\n--#endregion\n\nAS\nBEGIN\n\n\t/*#region set statements */\n\tSET NOCOUNT ON;\n\tSET XACT_ABORT ON;\n\tSET QUOTED_IDENTIFIER ON;\n\t/*#endregion*/\n\t\n\t/**\n\t * These comments will produce a fold widget\n\t */\n\t\n\t-- folding demonstration\n\tSET @vint = CASE\n\t\t\t\t\tWHEN @vdate IS NULL\n\t\t\t\t\t\tTHEN 1\n\t\t\t\t\tELSE 2\n\t\t\t\tEND\n\t\n\t-- another folding demonstration\n\tIF @vint = 1 \n\tBEGIN\n\t\tSET @vvarchar = 'one'\n\t\tSET @vint = DATEDIFF(dd, @vdate, @vdatetime)\n\tEND\n\t\n\t-- this mode handles strings properly\n\tDECLARE @sql NVARCHAR(4000) = N'SELECT TOP(1) OrderID \n\t\t\t\t\t\t\t\t\tFROM Orders\n\t\t\t\t\t\t\t\t\tWHERE @OrderDate > GETDATE()'\n\t\t\t\t\t\t\t\t\n\t-- this mode is aware of built in stored procedures \n\tEXECUTE sp_executesql @sql\n\t\n\t-- demonstrating some syntax highlighting\n\tSELECT Orders.OrderID\n\t\t,Customers.CompanyName\n\t\t,DATEFROMPARTS(YEAR(GETDATE()), 1, 1) AS FirstDayOfYear\n\tFROM Orders\n\tINNER JOIN Customers\n\t\tON Orders.CustomerID = Customers.CustomerID\n\tWHERE CompanyName NOT LIKE '%something'\n\t\tOR CompanyName IS NULL\n\t\tOR CompanyName IN ('bla', 'nothing')\n\t\t\n\t-- this mode includes snippets\n\t-- place your cusor at the end of the line below and trigger auto complete (Ctrl+Space)\n\tcreatepr\n\t\n\t-- SQL Server allows using keywords as object names (not recommended) as long as they are wrapped in brackets\n\tDATABASE -- keyword\n\t[DATABASE] -- not a keyword\n\t\nEND\n" - } - ], - "id": "3KKphPti", - "createdAt": 1659513678316, - "updatedAt": 1659513691143 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Stylus", - "content": [ - { - "label": "Fragment 1", - "language": "stylus", - "value": "// I'm a comment!\n\n/*\n * Adds the given numbers together.\n */\n\n\n/*!\n * Adds the given numbers together.\n */\n\n\nasdasdasdad(df, ad=23)\n\nadd(a, b = a)\n a + b\ngreen(#0c0)\n add(10, 5)\n // => 15\n\n add(10)\n add(a, b)\n\n &asdasd\n\n (arguments)\n\n @sdfsdf\n.signatures\n background-color #e0e8e0\n border 1px solid grayLighter\n box-shadow 0 0 3px grayLightest\n border-radius 3px\n padding 3px 5px\n \"adsads\"\n margin-left 0\n list-style none\n.signature\n list-style none\n display: inline\n margin-left 0\n > li\n display inline\nis not\n.signature-values\n list-style none\n display inline\n margin-left 0\n &:before\n content '→'\n margin 0 5px\n > li\n !important\n\n unless" - } - ], - "id": "kr0fAxYi", - "createdAt": 1659513699414, - "updatedAt": 1659513717161 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SVG", - "content": [ - { - "label": "Fragment 1", - "language": "svg", - "value": "\n\n Test Tube Progress Bar\n Created for the Web Directions SVG competition\n\n \n\n \n\n \n Hickory,\n \n dickory,\n \n dock!\n" - } - ], - "id": "pKDZ8-6w", - "createdAt": 1659513718112, - "updatedAt": 1659513731102 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Swit", - "content": [ - { - "label": "Fragment 1", - "language": "swift", - "value": "import UIKit\n \nclass DetailsViewController: UIViewController {\n var album: Album?\n @IBOutlet weak var albumCover: UIImageView!\n \n required init(coder aDecoder: NSCoder) {\n super.init(coder: aDecoder)\n }\n \n override func viewDidLoad() {\n super.viewDidLoad()\n mLabel.text = self.album?.title && \"Juhu \\( \"kinners\" )! \"\n albumCover.image = UIImage(data: NSData(contentsOfURL: NSURL(string: self.album!.largeImageURL)!)!)\n }\n}" - } - ], - "id": "f06uNsdC", - "createdAt": 1659513731945, - "updatedAt": 1659513744330 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Tcl", - "content": [ - { - "label": "Fragment 1", - "language": "tcl", - "value": "\nproc dijkstra {graph origin} {\n # Initialize\n dict for {vertex distmap} $graph {\n\tdict set dist $vertex Inf\n\tdict set path $vertex {}\n }\n dict set dist $origin 0\n dict set path $origin [list $origin]\n \n while {[dict size $graph]} {\n\t# Find unhandled node with least weight\n\tset d Inf\n\tdict for {uu -} $graph {\n\t if {$d > [set dd [dict get $dist $uu]]} {\n\t\tset u $uu\n\t\tset d $dd\n\t }\n\t}\n \n\t# No such node; graph must be disconnected\n\tif {$d == Inf} break\n \n\t# Update the weights for nodes\\\n\t lead to by the node we've picked\n\tdict for {v dd} [dict get $graph $u] {\n\t if {[dict exists $graph $v]} {\n\t\tset alt [expr {$d + $dd}]\n\t\tif {$alt < [dict get $dist $v]} {\n\t\t dict set dist $v $alt\n\t\t dict set path $v [list {*}[dict get $path $u] $v]\n\t\t}\n\t }\n\t}\n \n\t# Remove chosen node from graph still to be handled\n\tdict unset graph $u\n }\n return [list $dist $path]\n}" - } - ], - "id": "xDPl3nEd", - "createdAt": 1659513745309, - "updatedAt": 1659513756760 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Terraform", - "content": [ - { - "label": "Fragment 1", - "language": "terraform", - "value": "export TF_LOG=TRACE\n\n# An AMI\nvariable \"ami\" {\n description = \"the AMI to use\"\n}\n\n/* A multi\n line comment. */\nresource \"aws_instance\" \"web\" {\n ami = \"${var.ami}\"\n count = 2\n source_dest_check = false\n\n connection {\n user = \"root\"\n }\n}\n\nresource \"aws_instance\" \"web\" {\n subnet = \"${var.env == \"production\" ? var.prod_subnet : var.dev_subnet}\"\n}\n\nvariable \"count\" {\n default = 2\n}\n\nvariable \"hostnames\" {\n default = {\n \"0\" = \"example1.org\"\n \"1\" = \"example2.net\"\n }\n}\n\ndata \"template_file\" \"web_init\" {\n # Render the template once for each instance\n count = \"${length(var.hostnames)}\"\n template = \"${file(\"templates/web_init.tpl\")}\"\n vars {\n # count.index tells us the index of the instance we are rendering\n hostname = \"${var.hostnames[count.index]}\"\n }\n}\n\nresource \"aws_instance\" \"web\" {\n # Create one instance for each hostname\n count = \"${length(var.hostnames)}\"\n\n # Pass each instance its corresponding template_file\n user_data = \"${data.template_file.web_init.*.rendered[count.index]}\"\n}\n\nvariable \"count\" {\n default = 2\n}\n\n# Define the common tags for all resources\nlocals {\n common_tags = {\n Component = \"awesome-app\"\n Environment = \"production\"\n }\n}\n\n# Create a resource that blends the common tags with instance-specific tags.\nresource \"aws_instance\" \"server\" {\n ami = \"ami-123456\"\n instance_type = \"t2.micro\"\n\n tags = \"${merge(\n local.common_tags,\n map(\n \"Name\", \"awesome-app-server\",\n \"Role\", \"server\"\n )\n )}\"\n}\n\n$ terraform apply -var foo=bar -var foo=baz\n$ terraform apply -var 'foo={quux=\"bar\"}' -var 'foo={bar=\"baz\"}'\n\n$ terraform apply -var-file=foo.tfvars -var-file=bar.tfvars\n$ TF_VAR_somemap='{foo = \"bar\", baz = \"qux\"}' terraform plan\n\nresource \"aws_instance\" \"web\" {\n # ...\n\n count = \"${var.count}\"\n\n # Tag the instance with a counter starting at 1, ie. web-001\n tags {\n Name = \"${format(\"web-%03d\", count.index + 1)}\"\n }\n}" - } - ], - "id": "fBdP-3EZ", - "createdAt": 1659513757099, - "updatedAt": 1659513771760 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Tex", - "content": [ - { - "label": "Fragment 1", - "language": "tex", - "value": "The quadratic formula is $$-b \\pm \\sqrt{b^2 - 4ac} \\over 2a$$\n\\bye\n\n\\makeatletter\n \\newcommand{\\be}{%\n \\begingroup\n % \\setlength{\\arraycolsep}{2pt}\n \\eqnarray%\n \\@ifstar{\\nonumber}{}%\n }\n \\newcommand{\\ee}{\\endeqnarray\\endgroup}\n \\makeatother\n\n \\begin{equation}\n x=\\left\\{ \\begin{array}{cl}\n 0 & \\textrm{if }A=\\ldots\\\\\n 1 & \\textrm{if }B=\\ldots\\\\\n x & \\textrm{this runs with as much text as you like, but without an raggeright text\n.}\\end{array}\\right.\n \\end{equation}" - } - ], - "id": "9HHsgIb1", - "createdAt": 1659513772113, - "updatedAt": 1659513782241 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Textile", - "content": [ - { - "label": "Fragment 1", - "language": "textile", - "value": "h1. Textile document\n\nh2. Heading Two\n\nh3. A two-line\n header\n\nh2. Another two-line\nheader\n\nParagraph:\none, two,\nthee lines!\n\np(classone two three). This is a paragraph with classes\n\np(#id). (one with an id)\n\np(one two three#my_id). ..classes + id\n\n* Unordered list\n** sublist\n* back again!\n** sublist again..\n\n# ordered\n\nbg. Blockquote!\n This is a two-list blockquote..!" - } - ], - "id": "rnsJdqWh", - "createdAt": 1659513783516, - "updatedAt": 1659513815754 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "TOML", - "content": [ - { - "label": "Fragment 1", - "language": "toml", - "value": "# This is a TOML document. Boom.\n\ntitle = \"TOML Example\"\n\n[owner]\nname = \"Tom Preston-Werner\"\norganization = \"GitHub\"\nbio = \"GitHub Cofounder & CEO\\nLikes tater tots and beer.\"\ndob = 1979-05-27T07:32:00Z # First class dates? Why not?\n\n[database]\nserver = \"192.168.1.1\"\nports = [ 8001, 8001, 8002 ]\nconnection_max = 5000\nenabled = true\n\n[servers]\n\n # You can indent as you please. Tabs or spaces. TOML don't care.\n [servers.alpha]\n ip = \"10.0.0.1\"\n dc = \"eqdc10\"\n\n [servers.beta]\n ip = \"10.0.0.2\"\n dc = \"eqdc10\"\n\n[clients]\ndata = [ [\"gamma\", \"delta\"], [1, 2] ] # just an update to make sure parsers support it" - } - ], - "id": "BMoUKb64", - "createdAt": 1659513816206, - "updatedAt": 1659513833836 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "TSX", - "content": [ - { - "label": "Fragment 1", - "language": "tsx", - "value": "import * as React from \"react\";\nlet Logo =\"https://logrocket-assets.io/static/home-hero-c97849b227a3d3015730e3371a76a7f0.svg\";\n\nexport default class FirstComponent extends React.Component <{}> {\n render() {\n return (\n
    \n

    A Simple React Component Example with Typescript

    \n
    \n \n
    \n

    This component shows the Logrocket logo.

    \n

    For more info on Logrocket, please visit https://logrocket.com

    \n
    \n );\n }\n}" - } - ], - "id": "8XU5NKRw", - "createdAt": 1659513834187, - "updatedAt": 1659513891006 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Twig", - "content": [ - { - "label": "Fragment 1", - "language": "twig", - "value": "\n\n \n My Webpage\n \n \n \n\n {% if 1 not in [1, 2, 3] %}\n\n {# is equivalent to #}\n {% if not (1 in [1, 2, 3]) %}\n\n {% autoescape true %}\n {{ var }}\n {{ var|raw }} {# var won't be escaped #}\n {{ var|escape }} {# var won't be doubled-escaped #}\n {% endautoescape %}\n\n {{ include('twig.html', sandboxed = true) }}\n\n {{\"string #{with} \\\" escapes\" 'another#one' }}\n

    My Webpage

    \n {{ a_variable }}\n \n" - } - ], - "id": "-1yJwNhA", - "createdAt": 1659513895880, - "updatedAt": 1659513909414 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "TypeScript", - "content": [ - { - "label": "Fragment 1", - "language": "typescript", - "value": "// Mapped types are a way to create new types based\n// on another type. Effectively a transformational type.\n\n// Common cases for using a mapped type is dealing with\n// partial subsets of an existing type. For example\n// an API may return an Artist:\n\ninterface Artist {\n id: number;\n name: string;\n bio: string;\n}\n\n// However, if you were to send an update to the API which\n// only changes a subset of the Artist then you would\n// typically have to create an additional type:\n\ninterface ArtistForEdit {\n id: number;\n name?: string;\n bio?: string;\n}\n\n// It's very likely that this would get out of sync with\n// the Artist above. Mapped types let you create a change\n// in an existing type.\n\ntype MyPartialType = {\n // For every existing property inside the type of Type\n // convert it to be a ?: version\n [Property in keyof Type]?: Type[Property];\n};\n\n// Now we can use the mapped type instead to create\n// our edit interface:\ntype MappedArtistForEdit = MyPartialType;\n\n// This is close to perfect, but it does allow id to be null\n// which should never happen. So, let's make one quick\n// improvement by using an intersection type (see:\n// example:union-and-intersection-types )\n\ntype MyPartialTypeForEdit = {\n [Property in keyof Type]?: Type[Property];\n} & { id: number };\n\n// This takes the partial result of the mapped type, and\n// merges it with an object which has id: number set.\n// Effectively forcing id to be in the type.\n\ntype CorrectMappedArtistForEdit = MyPartialTypeForEdit;\n\n// This is a pretty simple example of how mapped types\n// work, but covers most of the basics. If you'd like to\n// dive in with more depth, check out the handbook:\n//\n// https://www.typescriptlang.org/docs/handbook/advanced-types.html#mapped-types\n" - } - ], - "id": "JIgrOSNq", - "createdAt": 1659513909828, - "updatedAt": 1659514092152 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Vala", - "content": [ - { - "label": "Fragment 1", - "language": "vala", - "value": "using Gtk;\n \nint main (string[] args) {\n Gtk.init (ref args);\n var foo = new MyFoo>();\n\n var window = new Window();\n window.title = \"Hello, World!\";\n window.border_width = 10;\n window.window_position = WindowPosition.CENTER;\n window.set_default_size(350, 70);\n window.destroy.connect(Gtk.main_quit);\n \n var label = new Label(\"Hello, World!\");\n \n window.add(label);\n window.show_all();\n \n Gtk.main();\n return 0;\n}" - } - ], - "id": "oS2hBbE3", - "createdAt": 1659514096104, - "updatedAt": 1659514106267 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Velocity", - "content": [ - { - "label": "Fragment 1", - "language": "velocity", - "value": "#*\n This is a sample comment block that\n spans multiple lines.\n*#\n\n#macro ( outputItem $item )\n
  • ${item}
  • \n#end\n\n## Define the items to iterate\n#set ( $items = [1, 2, 3, 4] )\n\n
      \n ## Iterate over the items and output the evens.\n #foreach ( $item in $items )\n #if ( $_MathTool.mod($item, 2) == 0 )\n #outputItem ($item)\n #end\n #end\n
    \n\n\n\n" - } - ], - "id": "oxLb6eps", - "createdAt": 1659514106610, - "updatedAt": 1659514138518 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Verilog", - "content": [ - { - "label": "Fragment 1", - "language": "verilog", - "value": "always @(negedge reset or posedge clk) begin\n if (reset == 0) begin\n d_out <= 16'h0000;\n d_out_mem[resetcount] <= d_out;\n laststoredvalue <= d_out;\n end else begin\n d_out <= d_out + 1'b1; \n end\nend\n\nalways @(bufreadaddr)\n bufreadval = d_out_mem[bufreadaddr];" - } - ], - "id": "H1d41Wrk", - "createdAt": 1659514148400, - "updatedAt": 1659514158641 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "VHDL", - "content": [ - { - "label": "Fragment 1", - "language": "vhdl", - "value": "library IEEE;\nuse IEEE.std_logic_1164.all;\nuse IEEE.numeric_std.all;\n\nentity COUNT16 is\n\n port (\n cOut :out std_logic_vector(15 downto 0); -- counter output\n clkEn :in std_logic; -- count enable\n clk :in std_logic; -- clock input\n rst :in std_logic -- reset input\n );\n \nend entity;\n\narchitecture count_rtl of COUNT16 is\n signal count : unsigned (15 downto 0);\n \nbegin\n process (clk, rst) begin\n \n if(rst = '1') then\n count <= (others=>'0');\n elsif(rising_edge(clk)) then\n if(clkEn = '1') then\n count <= count + 1;\n end if;\n end if;\n \n end process;\n cOut <= std_logic_vector(count);\n\nend architecture;\n\n" - } - ], - "id": "BBnSrFMV", - "createdAt": 1659514158718, - "updatedAt": 1659514173605 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Visualforce", - "content": [ - { - "label": "Fragment 1", - "language": "visualforce", - "value": "\n\n\n\n\n\n\n\n \n\n{!IF(AND(Price < 1, Quantity < 1), \"Small\", null)}" - } - ], - "id": "s0_h2w0G", - "createdAt": 1659514175371, - "updatedAt": 1659514193759 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Wollok", - "content": [ - { - "label": "Fragment 1", - "language": "wollok", - "value": "class Actividad {\n\tmethod calcularMejora()\n}\n\nclass EstudiarMateria inherits Actividad {\n\tvar materia\n\tvar puntos = 0\n\t\n\tnew(m, p) {\n\t\tmateria = m\n\t\tpuntos = p\n\t}\n\t\n\toverride method calcularMejora() = puntos\n}\n\nclass EjercitarEnSimulador inherits Actividad {\n\tvar horas = 0\n\tnew(h) { horas = h }\n\toverride method calcularMejora() = 10 * horas\n}\n\nobject pepita {\n\tvar energia = 100\n\tmethod volar(m) {\n\t\tenergia -= m\n\t}\n}" - } - ], - "id": "cF_BcjVm", - "createdAt": 1659514214992, - "updatedAt": 1659514230333 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "XML", - "content": [ - { - "label": "Fragment 1", - "language": "xml", - "value": "\n\n \n true\n \n 26\n 25\n 21978\n \n \n \n 24865670\n Continent\n Africa\n \n \n 24865675\n Continent\n Europe\n \n \n 24865673\n Continent\n South America\n \n \n 28289421\n Continent\n Antarctic\n \n \n 24865671\n Continent\n Asia\n \n \n 24865672\n Continent\n North America\n \n \n 55949070\n Continent\n Australia\n \n \n" - } - ], - "id": "gDrki2Ji", - "createdAt": 1659514230437, - "updatedAt": 1659514244240 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "XSL", - "content": [ - { - "label": "Fragment 1", - "language": "xsl", - "value": "\n\n\n \n\n \n Article - \n Authors: \n \n\n \n - \n \n\n" - } - ], - "id": "1NY4osXj", - "createdAt": 1659514244604, - "updatedAt": 1659514309251 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "XQuery", - "content": [ - { - "label": "Fragment 1", - "language": "xquery", - "value": "xquery version \"1.0\";\n\nlet $message := \"Hello World!\"\nreturn \n {$message}\n\n" - } - ], - "id": "lcw5xZe9", - "createdAt": 1659514318132, - "updatedAt": 1659514336003 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "YAML", - "content": [ - { - "label": "Fragment 1", - "language": "yaml", - "value": "# This sample document was taken from wikipedia:\n# http://en.wikipedia.org/wiki/YAML#Sample_document\n---\nreceipt: Oz-Ware Purchase Invoice\ndate: 2007-08-06\ncustomer:\n given: Dorothy\n family: Gale\n\nitems:\n - part_no: 'A4786'\n descrip: Water Bucket (Filled)\n price: 1.47\n quantity: 4\n\n - part_no: 'E1628'\n descrip: High Heeled \"Ruby\" Slippers\n size: 8\n price: 100.27\n quantity: 1\n version: 1.2.3.4\n\nbill-to: &id001\n street: |\n 123 Tornado Alley\n Suite 16\n city: East Centerville\n state: KS\n\nship-to: *id001\n\nspecialDelivery: >\n Follow the Yellow Brick\n Road to the Emerald City.\n Pay no attention to the\n man behind the curtain.\n" - } - ], - "id": "0xvqjuAJ", - "createdAt": 1659514336449, - "updatedAt": 1659514359371 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Zeek", - "content": [ - { - "label": "Fragment 1", - "language": "zeek", - "value": "# An example of the Zeek scripting language.\n\n##! A Zeekygen-style summmary comment.\n\n# TODO: just an example of a todo-indicator\n\n@load base/frameworks/notice\n\n@if ( F )\n@endif\n\nmodule Example;\n\nexport {\n\n type SimpleEnum: enum { ONE, TWO, THREE };\n\n redef enum SimpleEnum += {\n\n ## A Zeekygen-style comment.\n FOUR,\n FIVE, ##< A Zeekygen-style comment.\n };\n\n type SimpleRecord: record {\n field1: count;\n field2: bool;\n } &redef;\n\n redef record SimpleRecord += {\n\n field3: string &optional;\n\n field4: string &default=\"blah\";\n };\n\n const init_option: bool = T;\n\n option runtime_option: bool = F;\n\n global test_opaque: opaque of md5;\n\n global test_vector: vector of count;\n\n global myfunction: function(msg: string, c: count &default=0): count;\n\n global myhook: hook(tag: string);\n\n global myevent: event(tag: string);\n}\n\nfunction myfunction(msg: string, c: count): count\n {\n print \"in myfunction\", msg, c;\n return 0;\n }\n\nevent myevent(msg: string) &priority=1\n {\n print \"in myevent\";\n }\n\nhook myhook(msg: string)\n {\n print \"in myevent\";\n }\n\nevent zeek_init()\n {\n local b = T;\n local s = \"\\xff\\xaf\\\"and more after the escaped quote\";\n local p = /foo|bar\\xbe\\/and more after the escaped slash/;\n local c = 10;\n\n local sr = SimpleRecord($field1 = 0, $field2 = T, $field3 = \"hi\");\n\n print sr?$field3, sr$field1;\n\n local myset: set[string] = set(\"one\", \"two\", \"three\");\n\n add myset[\"four\"];\n delete myset[\"one\"];\n\n for ( ms in myset )\n {\n print ms is string, s as string;\n\n print s[1:3];\n\n local tern: count = s == \"two\" ? 2 : 0;\n\n if ( s !in myset )\n print fmt(\"error %4.2f: %s\", 3.14159, \"wtf?\");\n }\n\n switch ( c ) {\n case 1:\n break;\n case 2:\n fallthrough;\n default:\n break;\n }\n\n if ( ! b )\n print \"here\";\n else\n print \"there\";\n\n while ( c != 0 )\n {\n if ( c >= 5 )\n c += 0;\n else if ( c == 8 )\n c -= 0;\n\n c = c / 1;\n c = c / 1;\n c = c - 1;\n }\n\n print |myset|;\n print ~5;\n print 1 & 0xff;\n print 2 ^ 5;\n\n myfunction(\"hello function\");\n hook myhook(\"hell hook\");\n event myevent(\"hello event\");\n schedule 1sec { myevent(\"hello scheduled event\") };\n\n print 0, 7;\n print 0xff, 0xdeadbeef;\n\n print 3.14159;\n print 1234.0;\n print 1234e0;\n print .003E-23;\n print .003E+23;\n\n print 123/udp;\n print 8000/tcp;\n print 13/icmp;\n print 42/unknown;\n\n print google.com;\n print 192.168.50.1;\n print 255.255.255.255;\n print 0.0.0.0;\n\n print 10.0.0.0/16;\n\n print [2001:0db8:85a3:0000:0000:8a2e:0370:7334];\n # test for case insensitivity\n print [2001:0DB8:85A3:0000:0000:8A2E:0370:7334];\n # any case mixture is allowed\n print [2001:0dB8:85a3:0000:0000:8A2E:0370:7334];\n # leading zeroes of a 16-bit group may be omitted\n print [2001:db8:85a3:0:0:8a2e:370:7334];\n # a single occurrence of consecutive groups of zeroes may be replaced by ::\n print [2001:db8:85a3::8a2e:370:7334];\n # all zeroes should work\n print [0:0:0:0:0:0:0:0];\n # all zeroes condensed should work\n print [::];\n # hybrid ipv6-ipv4 address should work\n print [2001:db8:0:0:0:FFFF:192.168.0.5];\n # hybrid ipv6-ipv4 address with zero ommission should work\n print [2001:db8::FFFF:192.168.0.5];\n\n print [2001:0db8:85a3:0000:0000:8a2e:0370:7334]/64;\n\n print 1day, 1days, 1.0day, 1.0days;\n print 1hr, 1hrs, 1.0hr, 1.0hrs;\n print 1min, 1mins, 1.0min, 1.0mins;\n print 1sec, 1secs, 1.0sec, 1.0secs;\n print 1msec, 1msecs, 1.0msec, 1.0msecs;\n print 1usec, 1usecs, 1.0usec, 1.0usecs;\n }\n" - } - ], - "id": "F6QCorpv", - "createdAt": 1659514362723, - "updatedAt": 1659514383840 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Vue", - "content": [ - { - "label": "Fragment 1", - "language": "vue", - "value": "\n\n\n\n\n" - } - ], - "id": "n2cZYWla", - "createdAt": 1659674577829, - "updatedAt": 1659685133678 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SAS", - "content": [ - { - "label": "Fragment 1", - "language": "sas", - "value": "*** Some comments;\nproc sort data=preTest;\n by student_ID;\nrun;\nproc sort data=postTest;\n by student_ID;\nrun;\ndata testGroup;\n merge preTest(in=a rename=(score=pre)) \n postTest(in=b rename=(score=post));\n by student_ID;\n if a and b;\n difference=post-pre;\nrun;\nTitle \"Student's T test of difference\"; \nproc means data=testGroup n mean stddev stderr t prt;\n by student_ID;\n var difference;\nrun;" - } - ], - "id": "ZbWrvEHT", - "createdAt": 1659686186866, - "updatedAt": 1659686553849 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "RegExp", - "content": [ - { - "label": "Fragment 1", - "language": "regexp", - "value": "^((?=\\S*?[A-Z])(?=\\S*?[a-z])(?=\\S*?[0-9]).{6,})\\S$" - } - ], - "id": "j0F_-__e", - "createdAt": 1659687264814, - "updatedAt": 1659688177442 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Smalltalk", - "content": [ - { - "label": "Fragment 1", - "language": "smalltalk", - "value": "exampleWithNumber: x\n | y |\n true & false not & (nil isNil) ifFalse: [self halt].\n y := self size + super size.\n #($a #a 'a' 1 1.0)\n do: [ :each |\n Transcript show: (each class name);\n show: ' '].\n ^x < y \"Some comment\"" - } - ], - "id": "cj0IfumH", - "createdAt": 1659688801793, - "updatedAt": 1659688919992 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Kusto KQL", - "content": [ - { - "label": "Fragment 1", - "language": "kusto", - "value": "let Events = MyLogTable | where ... ;\nEvents\n| where Name == \"Start\"\n| project Name, City, SessionId, StartTime=timestamp\n| join (Events\n | where Name == \"Stop\"\n | project StopTime=timestamp, SessionId)\n on SessionId\n| project City, SessionId, StartTime, StopTime, Duration = StopTime - StartTime" - } - ], - "id": "vH7mmfKH", - "createdAt": 1673326490808, - "updatedAt": 1673326641538 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Bicep", - "content": [ - { - "label": "Fragment 1", - "language": "bicep", - "value": "param rgLocation string = resourceGroup().location\nparam storages array = [\n {\n name: 'contoso'\n skuName: 'Standard_LRS'\n }\n {\n name: 'fabrikam'\n skuName: 'Premium_LRS'\n }\n]\n\nresource createStorages 'Microsoft.Storage/storageAccounts@2021-06-01' = [for storage in storages: {\n name: '${storage.name}obj${uniqueString(resourceGroup().id)}'\n location: rgLocation\n sku: {\n name: storage.skuName\n }\n kind: 'StorageV2'\n}]" - } - ], - "id": "W9p-A0M9", - "createdAt": 1673328306847, - "updatedAt": 1673328471208 - } - ], - "tags": [] -} diff --git a/electron-builder.json b/electron-builder.json new file mode 100644 index 00000000..e399ea58 --- /dev/null +++ b/electron-builder.json @@ -0,0 +1,39 @@ +{ + "appId": "io.masscode.app", + "productName": "massCode", + "directories": { + "output": "dist" + }, + "files": [ + "build/renderer/**/*", + "build/main/**/*", + "!build/**/*.map" + ], + "mac": { + "target": "dmg", + "icon": "build/icons/icon.icns", + "entitlements": "build/entitlements.mac.plist", + "category": "public.app-category.productivity", + "hardenedRuntime": true + }, + "win": { + "target": ["nsis", "portable"], + "icon": "build/icons/icon.ico" + }, + "linux": { + "target": ["AppImage", "snap"], + "icon": "build/icons/icon.png" + }, + "nsis": { + "oneClick": false, + "perMachine": false, + "allowToChangeInstallationDirectory": true, + "shortcutName": "massCode" + }, + "protocols": [ + { + "name": "massCode", + "schemes": ["masscode"] + } + ] +} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..74032c94 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,12 @@ +const antfu = require('@antfu/eslint-config').default + +module.exports = antfu({ + rules: { + 'vue/max-attributes-per-line': [ + 'error', + { + singleline: 1, + }, + ], + }, +}) diff --git a/nodemon.json b/nodemon.json new file mode 100644 index 00000000..8282f031 --- /dev/null +++ b/nodemon.json @@ -0,0 +1,6 @@ +{ + "watch": ["src/main"], + "ext": "ts,json", + "exec": "npm run build:main", + "delay": 1000 +} diff --git a/package.json b/package.json index 344340cf..b4e024f8 100644 --- a/package.json +++ b/package.json @@ -1,146 +1,81 @@ { "name": "masscode", - "productName": "massCode", "version": "3.11.0", "description": "A free and open source code snippets manager for developers", + "author": { + "name": "Anton Reshetov", + "url": "https://github.com/antonreshetov" + }, "license": "AGPL-3.0", - "main": "build/src/main/index.js", + "repository": "https://github.com/massCodeIO/massCode", + "main": "build/main/index.js", + "engines": { + "pnpm": ">=9.0.0" + }, "scripts": { - "dev": "run-p dev:watch dev:vue-devtools", - "dev:watch": "tsc-watch -p tsconfig.electron.json --onFirstSuccess \"npm run dev:server\"", - "dev:server": "node build/scripts/dev-server.js", - "dev:vue-devtools": "vue-devtools", - "build": "npm run ts-check:vue && npm run copy:plist && npm run build:ts && node build/scripts/build.js ", - "build:test": "TEST_BUILD=true TEST_MAC_ARCH=arm64 npm run build", - "build:ts": "tsc -p tsconfig.electron.json", - "ts-check:vue": "vue-tsc --noEmit --skipLibCheck", - "lint": "eslint --ext .js,.ts,.vue . src", - "lint:fix": "eslint --ext .js,.ts,.vue . --fix src", + "dev": "npm run build:main && concurrently -k \"vite\" \"npm:dev:main\" \"npm:dev:start\"", + "dev:main": "nodemon --watch src/main --exec \"npm run build:main\"", + "dev:start": "cross-env NODE_ENV=development electronmon .", + "build": "vite build && npm run build:main && electron-builder", + "build:mac": "vite build && npm run build:main && electron-builder --mac --x64 --arm64", + "build:win": "vite build && npm run build:main && electron-builder --win --x64", + "build:linux": "vite build && npm run build:main && electron-builder --linux --x64", + "build:all": "vite build && npm run build:main && npm run build:mac && npm run build:win && npm run build:linux", + "build:main": "tsc -p tsconfig.main.json", + "lint": "eslint .", + "lint:fix": "eslint --fix .", "release": "bumpp -c 'build: release v' -t", - "generate:language-readme": "node build/scripts/generate-language-readme.js ", - "copy:plist": "copyfiles *.plist build", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", - "prepare": "husky install", - "preinstall": "npx only-allow pnpm" + "rebuild": "electron-rebuild", + "prepare": "simple-git-hooks && npm run rebuild" }, - "repository": "https://github.com/massCodeIO/massCode", - "author": { - "name": "Anton Reshetov", - "url": "https://github.com/antonreshetov" + "dependencies": { + "better-sqlite3": "^11.8.1", + "electron-store": "^8.2.0" + }, + "devDependencies": { + "@antfu/eslint-config": "^3.16.0", + "@commitlint/cli": "^19.6.1", + "@commitlint/config-conventional": "^19.6.0", + "@electron/rebuild": "^3.7.1", + "@types/better-sqlite3": "^7.6.12", + "@types/node": "^22.10.8", + "@vitejs/plugin-vue": "^5.2.1", + "autoprefixer": "^10.4.20", + "bumpp": "^9.10.2", + "concurrently": "^9.1.2", + "cross-env": "^7.0.3", + "electron": "^34.0.1", + "electron-builder": "^25.1.8", + "electronmon": "^2.0.3", + "eslint": "^9.18.0", + "lint-staged": "^15.4.2", + "nodemon": "^3.1.9", + "postcss": "^8.5.1", + "prettier": "^3.4.2", + "simple-git-hooks": "^2.11.1", + "tailwindcss": "^3.4.17", + "typescript": "^5.7.3", + "vite": "^6.0.11", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged", + "commit-msg": "npx commitlint --edit $1" }, "lint-staged": { "*.{js,ts,vue}": [ "prettier --write", "eslint --fix" - ], - "*.json": [ - "prettier --write" ] }, - "dependencies": { - "@iconscout/unicons": "^4.0.1", - "@masscode/json-server": "^0.18.0", - "@prettier/plugin-php": "^0.18.4", - "@prettier/plugin-pug": "^2.0.0", - "@prettier/plugin-xml": "^2.1.0", - "@sipec/vue3-tags-input": "^3.0.4", - "@types/universal-analytics": "^0.4.5", - "@vueuse/core": "^8.3.1", - "axios": "^0.26.1", - "codemirror": "^5.65.7", - "codemirror-textmate": "^1.1.0", - "crypto-js": "^4.1.1", - "d3": "^7.8.5", - "date-fns": "^2.28.0", - "dom-to-image": "^2.6.0", - "electron-store": "^8.0.1", - "floating-vue": "^2.0.0-beta.17", - "fs-extra": "^10.0.1", - "fuse.js": "^7.0.0", - "highlight.js": "^11.5.1", - "i18next": "^21.8.14", - "i18next-fs-backend": "^1.1.4", - "interactjs": "^1.10.11", - "lodash": "^4.17.21", - "lowdb": "^3.0.0", - "marked": "^4.0.17", - "markmap-common": "^0.15.3", - "markmap-lib": "^0.15.4", - "markmap-view": "^0.15.4", - "mermaid": "^9.1.3", - "mitt": "^3.0.0", - "nanoid": "^3.3.1", - "onigasm": "^2.2.5", - "pinia": "^2.0.13", - "prettier": "^2.6.2", - "prettier-plugin-java": "^1.6.1", - "prettier-plugin-sh": "0.8.2", - "prettier-plugin-toml": "^0.3.1", - "query-string": "^8.1.0", - "sanitize-html": "^2.7.0", - "slash": "^3.0.0", - "slugify": "^1.6.6", - "uuid": "^9.0.1", - "vercel-toast": "^1.5.5", - "vue": "^3.2.33", - "vue-router": "^4.0.14", - "vue3-perfect-scrollbar": "^1.6.0" - }, - "devDependencies": { - "@commitlint/cli": "^15.0.0", - "@commitlint/config-conventional": "^15.0.0", - "@tsconfig/node14": "^1.0.1", - "@types/codemirror": "^5.60.5", - "@types/crypto-js": "^4.1.2", - "@types/dom-to-image": "^2.6.4", - "@types/estree": "^0.0.51", - "@types/i18next-fs-backend": "^1.1.2", - "@types/lowdb": "^1.0.11", - "@types/marked": "^4.0.3", - "@types/mermaid": "^8.2.9", - "@types/node": "^17.0.4", - "@types/prettier": "^2.6.0", - "@types/sanitize-html": "^2.6.2", - "@types/uuid": "^9.0.4", - "@types/webpack": "^5.28.0", - "@typescript-eslint/eslint-plugin": "^5.8.0", - "@typescript-eslint/parser": "^5.8.0", - "@vitejs/plugin-vue": "^2.3.1", - "@vue/cli": "^4.5.17", - "@vue/devtools": "^6.1.4", - "@vue/eslint-config-standard": "^6.1.0", - "bumpp": "^7.1.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.2", - "copyfiles": "^2.4.1", - "dotenv": "^16.0.1", - "electron": "^16.2.3", - "electron-builder": "^23.1.0", - "electron-notarize": "^1.2.1", - "eslint": "^8.5.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^4.0.0", - "eslint-plugin-promise": "^6.0.0", - "eslint-plugin-vue": "^8.2.0", - "handlebars": "^4.7.7", - "husky": "^7.0.0", - "lint-staged": "^12.1.4", - "npm-run-all": "^4.1.5", - "sass": "^1.45.1", - "tsc-watch": "^4.6.0", - "typescript": "^4.5.4", - "unplugin-auto-import": "^0.6.6", - "unplugin-icons": "^0.13.4", - "unplugin-vue-components": "^0.18.1", - "vite": "^2.9.6", - "vue-tsc": "^0.30.6" - }, - "engines": { - "pnpm": ">=8.0.0" + "electronmon": { + "patterns": [ + "!src/renderer/**/*" + ] }, "volta": { - "node": "16.15.0" + "node": "20.16.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ba868241..8783d141 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,13948 +1,7832 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@iconscout/unicons': - specifier: ^4.0.1 - version: 4.0.1 - '@masscode/json-server': - specifier: ^0.18.0 - version: 0.18.0 - '@prettier/plugin-php': - specifier: ^0.18.4 - version: 0.18.4(prettier@2.6.2) - '@prettier/plugin-pug': - specifier: ^2.0.0 - version: 2.0.0(prettier@2.6.2) - '@prettier/plugin-xml': - specifier: ^2.1.0 - version: 2.1.0 - '@sipec/vue3-tags-input': - specifier: ^3.0.4 - version: 3.0.4(vue@3.2.33) - '@types/universal-analytics': - specifier: ^0.4.5 - version: 0.4.5 - '@vueuse/core': - specifier: ^8.3.1 - version: 8.3.1(vue@3.2.33) - axios: - specifier: ^0.26.1 - version: 0.26.1 - codemirror: - specifier: ^5.65.7 - version: 5.65.7 - codemirror-textmate: - specifier: ^1.1.0 - version: 1.1.0(codemirror@5.65.7)(onigasm@2.2.5) - crypto-js: - specifier: ^4.1.1 - version: 4.1.1 - d3: - specifier: ^7.8.5 - version: 7.8.5 - date-fns: - specifier: ^2.28.0 - version: 2.28.0 - dom-to-image: - specifier: ^2.6.0 - version: 2.6.0 - electron-store: - specifier: ^8.0.1 - version: 8.0.1 - floating-vue: - specifier: ^2.0.0-beta.17 - version: 2.0.0-beta.17(vue@3.2.33) - fs-extra: - specifier: ^10.0.1 - version: 10.0.1 - fuse.js: - specifier: ^7.0.0 - version: 7.0.0 - highlight.js: - specifier: ^11.5.1 - version: 11.5.1 - i18next: - specifier: ^21.8.14 - version: 21.8.14 - i18next-fs-backend: - specifier: ^1.1.4 - version: 1.1.4 - interactjs: - specifier: ^1.10.11 - version: 1.10.11 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - lowdb: - specifier: ^3.0.0 - version: 3.0.0 - marked: - specifier: ^4.0.17 - version: 4.0.17 - markmap-common: - specifier: ^0.15.3 - version: 0.15.3 - markmap-lib: - specifier: ^0.15.4 - version: 0.15.4(markmap-common@0.15.3) - markmap-view: - specifier: ^0.15.4 - version: 0.15.4(markmap-common@0.15.3) - mermaid: - specifier: ^9.1.3 - version: 9.1.3 - mitt: - specifier: ^3.0.0 - version: 3.0.0 - nanoid: - specifier: ^3.3.1 - version: 3.3.2 - onigasm: - specifier: ^2.2.5 - version: 2.2.5 - pinia: - specifier: ^2.0.13 - version: 2.0.13(typescript@4.5.4)(vue@3.2.33) - prettier: - specifier: ^2.6.2 - version: 2.6.2 - prettier-plugin-java: - specifier: ^1.6.1 - version: 1.6.1 - prettier-plugin-sh: - specifier: 0.8.2 - version: 0.8.2(prettier@2.6.2) - prettier-plugin-toml: - specifier: ^0.3.1 - version: 0.3.1 - query-string: - specifier: ^8.1.0 - version: 8.1.0 - sanitize-html: - specifier: ^2.7.0 - version: 2.7.0 - slash: - specifier: ^3.0.0 - version: 3.0.0 - slugify: - specifier: ^1.6.6 - version: 1.6.6 - uuid: - specifier: ^9.0.1 - version: 9.0.1 - vercel-toast: - specifier: ^1.5.5 - version: 1.5.5 - vue: - specifier: ^3.2.33 - version: 3.2.33 - vue-router: - specifier: ^4.0.14 - version: 4.0.14(vue@3.2.33) - vue3-perfect-scrollbar: - specifier: ^1.6.0 - version: 1.6.0 - -devDependencies: - '@commitlint/cli': - specifier: ^15.0.0 - version: 15.0.0 - '@commitlint/config-conventional': - specifier: ^15.0.0 - version: 15.0.0 - '@tsconfig/node14': - specifier: ^1.0.1 - version: 1.0.1 - '@types/codemirror': - specifier: ^5.60.5 - version: 5.60.5 - '@types/crypto-js': - specifier: ^4.1.2 - version: 4.1.2 - '@types/dom-to-image': - specifier: ^2.6.4 - version: 2.6.4 - '@types/estree': - specifier: ^0.0.51 - version: 0.0.51 - '@types/i18next-fs-backend': - specifier: ^1.1.2 - version: 1.1.2 - '@types/lowdb': - specifier: ^1.0.11 - version: 1.0.11 - '@types/marked': - specifier: ^4.0.3 - version: 4.0.3 - '@types/mermaid': - specifier: ^8.2.9 - version: 8.2.9 - '@types/node': - specifier: ^17.0.4 - version: 17.0.22 - '@types/prettier': - specifier: ^2.6.0 - version: 2.6.0 - '@types/sanitize-html': - specifier: ^2.6.2 - version: 2.6.2 - '@types/uuid': - specifier: ^9.0.4 - version: 9.0.4 - '@types/webpack': - specifier: ^5.28.0 - version: 5.28.0 - '@typescript-eslint/eslint-plugin': - specifier: ^5.8.0 - version: 5.8.0(@typescript-eslint/parser@5.8.0)(eslint@8.5.0)(typescript@4.5.4) - '@typescript-eslint/parser': - specifier: ^5.8.0 - version: 5.8.0(eslint@8.5.0)(typescript@4.5.4) - '@vitejs/plugin-vue': - specifier: ^2.3.1 - version: 2.3.1(vite@2.9.6)(vue@3.2.33) - '@vue/cli': - specifier: ^4.5.17 - version: 4.5.17 - '@vue/devtools': - specifier: ^6.1.4 - version: 6.1.4 - '@vue/eslint-config-standard': - specifier: ^6.1.0 - version: 6.1.0(eslint-plugin-import@2.25.3)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.0.0)(eslint-plugin-vue@8.2.0)(eslint@8.5.0)(webpack@5.70.0) - bumpp: - specifier: ^7.1.1 - version: 7.1.1 - chalk: - specifier: ^4.1.2 - version: 4.1.2 - chokidar: - specifier: ^3.5.2 - version: 3.5.3 - copyfiles: - specifier: ^2.4.1 - version: 2.4.1 - dotenv: - specifier: ^16.0.1 - version: 16.0.1 - electron: - specifier: ^16.2.3 - version: 16.2.3 - electron-builder: - specifier: ^23.1.0 - version: 23.1.0 - electron-notarize: - specifier: ^1.2.1 - version: 1.2.1 - eslint: - specifier: ^8.5.0 - version: 8.5.0 - eslint-config-prettier: - specifier: ^8.3.0 - version: 8.3.0(eslint@8.5.0) - eslint-plugin-import: - specifier: ^2.25.3 - version: 2.25.3(@typescript-eslint/parser@5.8.0)(eslint@8.5.0) - eslint-plugin-node: - specifier: ^11.1.0 - version: 11.1.0(eslint@8.5.0) - eslint-plugin-prettier: - specifier: ^4.0.0 - version: 4.0.0(eslint-config-prettier@8.3.0)(eslint@8.5.0)(prettier@2.6.2) - eslint-plugin-promise: - specifier: ^6.0.0 - version: 6.0.0(eslint@8.5.0) - eslint-plugin-vue: - specifier: ^8.2.0 - version: 8.2.0(eslint@8.5.0) - handlebars: - specifier: ^4.7.7 - version: 4.7.7 - husky: - specifier: ^7.0.0 - version: 7.0.4 - lint-staged: - specifier: ^12.1.4 - version: 12.1.4 - npm-run-all: - specifier: ^4.1.5 - version: 4.1.5 - sass: - specifier: ^1.45.1 - version: 1.45.1 - tsc-watch: - specifier: ^4.6.0 - version: 4.6.0(typescript@4.5.4) - typescript: - specifier: ^4.5.4 - version: 4.5.4 - unplugin-auto-import: - specifier: ^0.6.6 - version: 0.6.6(@vueuse/core@8.3.1)(vite@2.9.6)(webpack@5.70.0) - unplugin-icons: - specifier: ^0.13.4 - version: 0.13.4(vite@2.9.6)(webpack@5.70.0) - unplugin-vue-components: - specifier: ^0.18.1 - version: 0.18.1(vite@2.9.6)(vue@3.2.33)(webpack@5.70.0) - vite: - specifier: ^2.9.6 - version: 2.9.6(sass@1.45.1) - vue-tsc: - specifier: ^0.30.6 - version: 0.30.6(typescript@4.5.4) +importers: + + .: + dependencies: + better-sqlite3: + specifier: ^11.8.1 + version: 11.8.1 + electron-store: + specifier: ^8.2.0 + version: 8.2.0 + devDependencies: + '@antfu/eslint-config': + specifier: ^3.16.0 + version: 3.16.0(@typescript-eslint/utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(@vue/compiler-sfc@3.5.13)(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@commitlint/cli': + specifier: ^19.6.1 + version: 19.7.1(@types/node@22.13.1)(typescript@5.7.3) + '@commitlint/config-conventional': + specifier: ^19.6.0 + version: 19.7.1 + '@electron/rebuild': + specifier: ^3.7.1 + version: 3.7.1 + '@types/better-sqlite3': + specifier: ^7.6.12 + version: 7.6.12 + '@types/node': + specifier: ^22.10.8 + version: 22.13.1 + '@vitejs/plugin-vue': + specifier: ^5.2.1 + version: 5.2.1(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.5.1) + bumpp: + specifier: ^9.10.2 + version: 9.11.1 + concurrently: + specifier: ^9.1.2 + version: 9.1.2 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + electron: + specifier: ^34.0.1 + version: 34.1.1 + electron-builder: + specifier: ^25.1.8 + version: 25.1.8(electron-builder-squirrel-windows@25.1.8) + electronmon: + specifier: ^2.0.3 + version: 2.0.3 + eslint: + specifier: ^9.18.0 + version: 9.19.0(jiti@2.4.2) + lint-staged: + specifier: ^15.4.2 + version: 15.4.3 + nodemon: + specifier: ^3.1.9 + version: 3.1.9 + postcss: + specifier: ^8.5.1 + version: 8.5.1 + prettier: + specifier: ^3.4.2 + version: 3.4.2 + simple-git-hooks: + specifier: ^2.11.1 + version: 2.11.1 + tailwindcss: + specifier: ^3.4.17 + version: 3.4.17 + typescript: + specifier: ^5.7.3 + version: 5.7.3 + vite: + specifier: ^6.0.11 + version: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + vue: + specifier: ^3.5.13 + version: 3.5.13(typescript@5.7.3) + vue-router: + specifier: ^4.5.0 + version: 4.5.0(vue@3.5.13(typescript@5.7.3)) packages: - /7zip-bin@5.1.1: - resolution: {integrity: sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==} - dev: true - - /@achrinza/node-ipc@9.2.2: - resolution: {integrity: sha512-b90U39dx0cU6emsOvy5hxU4ApNXnE3+Tuo8XQZfiKTGelDwpMwBVgBP7QX6dGTcJgu/miyJuNJ/2naFBliNWEw==} - engines: {node: 8 || 10 || 12 || 14 || 16 || 17} - dependencies: - '@node-ipc/js-queue': 2.0.3 - event-pubsub: 4.3.0 - js-message: 1.0.7 - dev: true - - /@akryum/winattr@3.0.0: - resolution: {integrity: sha512-t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==} - engines: {node: '>= 8'} - dependencies: - fswin: 2.17.1227 - dev: true - - /@antfu/install-pkg@0.1.0: - resolution: {integrity: sha512-VaIJd3d1o7irZfK1U0nvBsHMyjkuyMP3HKYVV53z8DKyulkHKmjhhtccXO51WSPeeSHIeoJEoNOKavYpS7jkZw==} - dependencies: - execa: 5.1.1 - find-up: 5.0.0 - dev: true - - /@antfu/utils@0.3.0: - resolution: {integrity: sha512-UU8TLr/EoXdg7OjMp0h9oDoIAVr+Z/oW9cpOxQQyrsz6Qzd2ms/1CdWx8fl2OQdFpxGmq5Vc4TwfLHId6nAZjA==} - dependencies: - '@types/throttle-debounce': 2.1.0 - dev: true + 7zip-bin@5.2.0: + resolution: {integrity: sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==} - /@antfu/utils@0.5.0: - resolution: {integrity: sha512-MrAQ/MrPSxbh1bBrmwJjORfJymw4IqSHFBXqvxaga3ZdDM+/zokYF8DjyJpSjY2QmpmgQrajDUBJOWrYeARfzA==} - dev: true + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} - /@apollo/protobufjs@1.2.2: - resolution: {integrity: sha512-vF+zxhPiLtkwxONs6YanSt1EpwpGilThpneExUN5K3tCymuxNnVq2yojTvnpRjv2QfsEIt/n7ozPIIzBLwGIDQ==} + '@antfu/eslint-config@3.16.0': + resolution: {integrity: sha512-g6RAXUMeow9vexoOMYwCpByY2xSDpAD78q+rvQLvVpY6MFcxFD/zmdrZGYa/yt7LizK86m17kIYKOGLJ3L8P0w==} hasBin: true - requiresBuild: true - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 - '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/path': 1.1.2 - '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/long': 4.0.2 - '@types/node': 10.17.60 - long: 4.0.0 - dev: true - - /@apollographql/apollo-tools@0.5.3(graphql@14.7.0): - resolution: {integrity: sha512-VcsXHfTFoCodDAgJZxN04GdFK1kqOhZQnQY/9Fa147P+I8xfvOSz5d+lKAPB+hwSgBNyd7ncAKGIs4+utbL+yA==} - engines: {node: '>=8', npm: '>=6'} peerDependencies: - graphql: ^14.2.1 || ^15.0.0 || ^16.0.0 - dependencies: - graphql: 14.7.0 - dev: true + '@eslint-react/eslint-plugin': ^1.19.0 + '@prettier/plugin-xml': ^3.4.1 + '@unocss/eslint-plugin': '>=0.50.0' + astro-eslint-parser: ^1.0.2 + eslint: ^9.10.0 + eslint-plugin-astro: ^1.2.0 + eslint-plugin-format: '>=0.1.0' + eslint-plugin-react-hooks: ^5.0.0 + eslint-plugin-react-refresh: ^0.4.4 + eslint-plugin-solid: ^0.14.3 + eslint-plugin-svelte: '>=2.35.1' + prettier-plugin-astro: ^0.14.0 + prettier-plugin-slidev: ^1.0.5 + svelte-eslint-parser: '>=0.37.0' + peerDependenciesMeta: + '@eslint-react/eslint-plugin': + optional: true + '@prettier/plugin-xml': + optional: true + '@unocss/eslint-plugin': + optional: true + astro-eslint-parser: + optional: true + eslint-plugin-astro: + optional: true + eslint-plugin-format: + optional: true + eslint-plugin-react-hooks: + optional: true + eslint-plugin-react-refresh: + optional: true + eslint-plugin-solid: + optional: true + eslint-plugin-svelte: + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-slidev: + optional: true + svelte-eslint-parser: + optional: true - /@apollographql/graphql-playground-html@1.6.27: - resolution: {integrity: sha512-tea2LweZvn6y6xFV11K0KC8ETjmm52mQrW+ezgB2O/aTQf8JGyFmMcRPFgUaQZeHbWdm8iisDC6EjOKsXu0nfw==} - dependencies: - xss: 1.0.11 - dev: true + '@antfu/install-pkg@1.0.0': + resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} - /@apollographql/graphql-upload-8-fork@8.1.3(graphql@14.7.0): - resolution: {integrity: sha512-ssOPUT7euLqDXcdVv3Qs4LoL4BPtfermW1IOouaqEmj36TpHYDmYDIbKoSQxikd9vtMumFnP87OybH7sC9fJ6g==} - engines: {node: '>=8.5'} - peerDependencies: - graphql: 0.13.1 - 15 - dependencies: - '@types/express': 4.17.13 - '@types/fs-capacitor': 2.0.0 - '@types/koa': 2.13.4 - busboy: 0.3.1 - fs-capacitor: 2.0.4 - graphql: 14.7.0 - http-errors: 1.8.1 - object-path: 0.11.8 - dev: true - - /@babel/code-frame@7.16.0: - resolution: {integrity: sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.16.0 - dev: true + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} - /@babel/compat-data@7.16.4: - resolution: {integrity: sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/core@7.16.5: - resolution: {integrity: sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.0 - '@babel/generator': 7.16.5 - '@babel/helper-compilation-targets': 7.16.3(@babel/core@7.16.5) - '@babel/helper-module-transforms': 7.16.5 - '@babel/helpers': 7.16.5 - '@babel/parser': 7.17.9 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 - convert-source-map: 1.8.0 - debug: 4.3.4(supports-color@9.2.1) - gensync: 1.0.0-beta.2 - json5: 2.2.0 - semver: 6.3.0 - source-map: 0.5.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/generator@7.16.5: - resolution: {integrity: sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 - jsesc: 2.5.2 - source-map: 0.5.7 - dev: true - /@babel/helper-annotate-as-pure@7.16.0: - resolution: {integrity: sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.0 - dev: true + '@babel/parser@7.26.7': + resolution: {integrity: sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==} + engines: {node: '>=6.0.0'} + hasBin: true - /@babel/helper-builder-binary-assignment-operator-visitor@7.16.5: - resolution: {integrity: sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==} + '@babel/types@7.26.7': + resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-explode-assignable-expression': 7.16.0 - '@babel/types': 7.17.0 - dev: true - /@babel/helper-compilation-targets@7.16.3(@babel/core@7.16.5): - resolution: {integrity: sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.16.4 - '@babel/core': 7.16.5 - '@babel/helper-validator-option': 7.14.5 - browserslist: 4.20.2 - semver: 6.3.0 - dev: true + '@clack/core@0.4.1': + resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} - /@babel/helper-create-class-features-plugin@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-annotate-as-pure': 7.16.0 - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-function-name': 7.16.0 - '@babel/helper-member-expression-to-functions': 7.16.5 - '@babel/helper-optimise-call-expression': 7.16.0 - '@babel/helper-replace-supers': 7.16.5 - '@babel/helper-split-export-declaration': 7.16.0 - transitivePeerDependencies: - - supports-color - dev: true + '@clack/prompts@0.9.1': + resolution: {integrity: sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==} - /@babel/helper-create-regexp-features-plugin@7.16.0(@babel/core@7.16.5): - resolution: {integrity: sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-annotate-as-pure': 7.16.0 - regexpu-core: 4.8.0 - dev: true + '@commitlint/cli@19.7.1': + resolution: {integrity: sha512-iObGjR1tE/PfDtDTEfd+tnRkB3/HJzpQqRTyofS2MPPkDn1mp3DBC8SoPDayokfAy+xKhF8+bwRCJO25Nea0YQ==} + engines: {node: '>=v18'} + hasBin: true - /@babel/helper-define-polyfill-provider@0.3.0(@babel/core@7.16.5): - resolution: {integrity: sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==} - peerDependencies: - '@babel/core': ^7.4.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-compilation-targets': 7.16.3(@babel/core@7.16.5) - '@babel/helper-module-imports': 7.16.0 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/traverse': 7.16.5 - debug: 4.3.4(supports-color@9.2.1) - lodash.debounce: 4.0.8 - resolve: 1.22.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true + '@commitlint/config-conventional@19.7.1': + resolution: {integrity: sha512-fsEIF8zgiI/FIWSnykdQNj/0JE4av08MudLTyYHm4FlLWemKoQvPNUYU2M/3tktWcCEyq7aOkDDgtjrmgWFbvg==} + engines: {node: '>=v18'} - /@babel/helper-environment-visitor@7.16.5: - resolution: {integrity: sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 - dev: true + '@commitlint/config-validator@19.5.0': + resolution: {integrity: sha512-CHtj92H5rdhKt17RmgALhfQt95VayrUo2tSqY9g2w+laAXyk7K/Ef6uPm9tn5qSIwSmrLjKaXK9eiNuxmQrDBw==} + engines: {node: '>=v18'} - /@babel/helper-explode-assignable-expression@7.16.0: - resolution: {integrity: sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.0 - dev: true + '@commitlint/ensure@19.5.0': + resolution: {integrity: sha512-Kv0pYZeMrdg48bHFEU5KKcccRfKmISSm9MvgIgkpI6m+ohFTB55qZlBW6eYqh/XDfRuIO0x4zSmvBjmOwWTwkg==} + engines: {node: '>=v18'} - /@babel/helper-function-name@7.16.0: - resolution: {integrity: sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-get-function-arity': 7.16.0 - '@babel/template': 7.16.0 - '@babel/types': 7.16.0 - dev: true + '@commitlint/execute-rule@19.5.0': + resolution: {integrity: sha512-aqyGgytXhl2ejlk+/rfgtwpPexYyri4t8/n4ku6rRJoRhGZpLFMqrZ+YaubeGysCP6oz4mMA34YSTaSOKEeNrg==} + engines: {node: '>=v18'} - /@babel/helper-get-function-arity@7.16.0: - resolution: {integrity: sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.0 - dev: true + '@commitlint/format@19.5.0': + resolution: {integrity: sha512-yNy088miE52stCI3dhG/vvxFo9e4jFkU1Mj3xECfzp/bIS/JUay4491huAlVcffOoMK1cd296q0W92NlER6r3A==} + engines: {node: '>=v18'} - /@babel/helper-hoist-variables@7.16.0: - resolution: {integrity: sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 - dev: true + '@commitlint/is-ignored@19.7.1': + resolution: {integrity: sha512-3IaOc6HVg2hAoGleRK3r9vL9zZ3XY0rf1RsUf6jdQLuaD46ZHnXBiOPTyQ004C4IvYjSWqJwlh0/u2P73aIE3g==} + engines: {node: '>=v18'} - /@babel/helper-member-expression-to-functions@7.16.5: - resolution: {integrity: sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.0 - dev: true + '@commitlint/lint@19.7.1': + resolution: {integrity: sha512-LhcPfVjcOcOZA7LEuBBeO00o3MeZa+tWrX9Xyl1r9PMd5FWsEoZI9IgnGqTKZ0lZt5pO3ZlstgnRyY1CJJc9Xg==} + engines: {node: '>=v18'} - /@babel/helper-module-imports@7.16.0: - resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 - dev: true + '@commitlint/load@19.6.1': + resolution: {integrity: sha512-kE4mRKWWNju2QpsCWt428XBvUH55OET2N4QKQ0bF85qS/XbsRGG1MiTByDNlEVpEPceMkDr46LNH95DtRwcsfA==} + engines: {node: '>=v18'} - /@babel/helper-module-transforms@7.16.5: - resolution: {integrity: sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-module-imports': 7.16.0 - '@babel/helper-simple-access': 7.16.0 - '@babel/helper-split-export-declaration': 7.16.0 - '@babel/helper-validator-identifier': 7.15.7 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 - transitivePeerDependencies: - - supports-color - dev: true + '@commitlint/message@19.5.0': + resolution: {integrity: sha512-R7AM4YnbxN1Joj1tMfCyBryOC5aNJBdxadTZkuqtWi3Xj0kMdutq16XQwuoGbIzL2Pk62TALV1fZDCv36+JhTQ==} + engines: {node: '>=v18'} - /@babel/helper-optimise-call-expression@7.16.0: - resolution: {integrity: sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.0 - dev: true + '@commitlint/parse@19.5.0': + resolution: {integrity: sha512-cZ/IxfAlfWYhAQV0TwcbdR1Oc0/r0Ik1GEessDJ3Lbuma/MRO8FRQX76eurcXtmhJC//rj52ZSZuXUg0oIX0Fw==} + engines: {node: '>=v18'} - /@babel/helper-plugin-utils@7.16.5: - resolution: {integrity: sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==} - engines: {node: '>=6.9.0'} - dev: true + '@commitlint/read@19.5.0': + resolution: {integrity: sha512-TjS3HLPsLsxFPQj6jou8/CZFAmOP2y+6V4PGYt3ihbQKTY1Jnv0QG28WRKl/d1ha6zLODPZqsxLEov52dhR9BQ==} + engines: {node: '>=v18'} - /@babel/helper-remap-async-to-generator@7.16.5: - resolution: {integrity: sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-annotate-as-pure': 7.16.0 - '@babel/helper-wrap-function': 7.16.5 - '@babel/types': 7.17.0 - transitivePeerDependencies: - - supports-color - dev: true + '@commitlint/resolve-extends@19.5.0': + resolution: {integrity: sha512-CU/GscZhCUsJwcKTJS9Ndh3AKGZTNFIOoQB2n8CmFnizE0VnEuJoum+COW+C1lNABEeqk6ssfc1Kkalm4bDklA==} + engines: {node: '>=v18'} - /@babel/helper-replace-supers@7.16.5: - resolution: {integrity: sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-member-expression-to-functions': 7.16.5 - '@babel/helper-optimise-call-expression': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.17.0 - transitivePeerDependencies: - - supports-color - dev: true + '@commitlint/rules@19.6.0': + resolution: {integrity: sha512-1f2reW7lbrI0X0ozZMesS/WZxgPa4/wi56vFuJENBmed6mWq5KsheN/nxqnl/C23ioxpPO/PL6tXpiiFy5Bhjw==} + engines: {node: '>=v18'} - /@babel/helper-simple-access@7.16.0: - resolution: {integrity: sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 - dev: true + '@commitlint/to-lines@19.5.0': + resolution: {integrity: sha512-R772oj3NHPkodOSRZ9bBVNq224DOxQtNef5Pl8l2M8ZnkkzQfeSTr4uxawV2Sd3ui05dUVzvLNnzenDBO1KBeQ==} + engines: {node: '>=v18'} - /@babel/helper-skip-transparent-expression-wrappers@7.16.0: - resolution: {integrity: sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.0 - dev: true + '@commitlint/top-level@19.5.0': + resolution: {integrity: sha512-IP1YLmGAk0yWrImPRRc578I3dDUI5A2UBJx9FbSOjxe9sTlzFiwVJ+zeMLgAtHMtGZsC8LUnzmW1qRemkFU4ng==} + engines: {node: '>=v18'} - /@babel/helper-split-export-declaration@7.16.0: - resolution: {integrity: sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 - dev: true + '@commitlint/types@19.5.0': + resolution: {integrity: sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg==} + engines: {node: '>=v18'} - /@babel/helper-validator-identifier@7.15.7: - resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==} - engines: {node: '>=6.9.0'} - dev: true + '@develar/schema-utils@2.6.5': + resolution: {integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==} + engines: {node: '>= 8.9.0'} - /@babel/helper-validator-identifier@7.16.7: - resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} - engines: {node: '>=6.9.0'} + '@electron/asar@3.2.18': + resolution: {integrity: sha512-2XyvMe3N3Nrs8cV39IKELRHTYUWFKrmqqSY1U+GMlc0jvqjIVnoxhNd2H4JolWQncbJi1DCvb5TNxZuI2fEjWg==} + engines: {node: '>=10.12.0'} + hasBin: true - /@babel/helper-validator-option@7.14.5: - resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==} - engines: {node: '>=6.9.0'} - dev: true + '@electron/get@2.0.3': + resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} + engines: {node: '>=12'} - /@babel/helper-wrap-function@7.16.5: - resolution: {integrity: sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-function-name': 7.16.0 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.17.0 - transitivePeerDependencies: - - supports-color - dev: true + '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': + resolution: {tarball: https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2} + version: 10.2.0-electron.1 + engines: {node: '>=12.13.0'} + hasBin: true - /@babel/helpers@7.16.5: - resolution: {integrity: sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 - transitivePeerDependencies: - - supports-color - dev: true + '@electron/notarize@2.5.0': + resolution: {integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==} + engines: {node: '>= 10.0.0'} - /@babel/highlight@7.16.0: - resolution: {integrity: sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.15.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true + '@electron/osx-sign@1.3.1': + resolution: {integrity: sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==} + engines: {node: '>=12.0.0'} + hasBin: true - /@babel/parser@7.17.9: - resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==} - engines: {node: '>=6.0.0'} + '@electron/rebuild@3.6.1': + resolution: {integrity: sha512-f6596ZHpEq/YskUd8emYvOUne89ij8mQgjYFA5ru25QwbrRO+t1SImofdDv7kKOuWCmVOuU5tvfkbgGxIl3E/w==} + engines: {node: '>=12.13.0'} hasBin: true - dependencies: - '@babel/types': 7.17.0 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.16.2(@babel/core@7.16.5): - resolution: {integrity: sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@electron/rebuild@3.7.1': + resolution: {integrity: sha512-sKGD+xav4Gh25+LcLY0rjIwcCFTw+f/HU1pB48UVbwxXXRGaXEqIH0AaYKN46dgd/7+6kuiDXzoyAEvx1zCsdw==} + engines: {node: '>=12.13.0'} + hasBin: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.16.0(@babel/core@7.16.5): - resolution: {integrity: sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 - '@babel/plugin-proposal-optional-chaining': 7.16.5(@babel/core@7.16.5) - dev: true + '@electron/universal@2.0.1': + resolution: {integrity: sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==} + engines: {node: '>=16.4'} - /@babel/plugin-proposal-async-generator-functions@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-remap-async-to-generator': 7.16.5 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - dev: true + '@es-joy/jsdoccomment@0.49.0': + resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} + engines: {node: '>=16'} - /@babel/plugin-proposal-class-properties@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-class-features-plugin': 7.16.5(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - transitivePeerDependencies: - - supports-color - dev: true + '@es-joy/jsdoccomment@0.50.0': + resolution: {integrity: sha512-+zZymuVLH6zVwXPtCAtC+bDymxmEwEqDftdAK+f407IF1bnX49anIxvBhCA1AqUIfD6egj1jM1vUnSuijjNyYg==} + engines: {node: '>=18'} - /@babel/plugin-proposal-class-static-block@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-class-features-plugin': 7.16.5(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - dev: true + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] - /@babel/plugin-proposal-dynamic-import@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.16.5) - dev: true + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] - /@babel/plugin-proposal-export-namespace-from@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.16.5) - dev: true + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] - /@babel/plugin-proposal-json-strings@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.16.5) - dev: true + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] - /@babel/plugin-proposal-logical-assignment-operators@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.16.5) - dev: true + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] - /@babel/plugin-proposal-nullish-coalescing-operator@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.16.5) - dev: true + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] - /@babel/plugin-proposal-numeric-separator@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.16.5) - dev: true + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] - /@babel/plugin-proposal-object-rest-spread@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.16.4 - '@babel/core': 7.16.5 - '@babel/helper-compilation-targets': 7.16.3(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-transform-parameters': 7.16.5(@babel/core@7.16.5) - dev: true - - /@babel/plugin-proposal-optional-catch-binding@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.16.5) - dev: true + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] - /@babel/plugin-proposal-optional-chaining@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.16.5) - dev: true + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] - /@babel/plugin-proposal-private-methods@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-class-features-plugin': 7.16.5(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - transitivePeerDependencies: - - supports-color - dev: true + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] - /@babel/plugin-proposal-private-property-in-object@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-annotate-as-pure': 7.16.0 - '@babel/helper-create-class-features-plugin': 7.16.5(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - dev: true + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] - /@babel/plugin-proposal-unicode-property-regex@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-regexp-features-plugin': 7.16.0(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.16.5): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.16.5): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.16.5): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.16.5): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.16.5): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] - /@babel/plugin-syntax-flow@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-Nrx+7EAJx1BieBQseZa2pavVH2Rp7hADK2xn7coYqVbWRu9C2OFizYcsKo6TrrqJkJl+qF/+Qqzrk/+XDu4GnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.16.5): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.16.5): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.16.5): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.16.5): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.16.5): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.16.5): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.16.5): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.16.5): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} + '@eslint-community/eslint-plugin-eslint-comments@4.4.1': + resolution: {integrity: sha512-lb/Z/MzbTf7CaVYM9WCFNQZ4L1yi3ev2fsFPF99h31ljhSEyUoyEsKsNWiU+qD1glbYTDJdqgyaLKtyTkkqtuQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.16.5): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - /@babel/plugin-syntax-typescript@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-/d4//lZ1Vqb4mZ5xTep3dDK888j7BGM/iKqBmndBaoYAFPlPKrGU608VVBz5JeyAb6YQDjRu1UKqj86UhwWVgw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - /@babel/plugin-transform-arrow-functions@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==} - engines: {node: '>=6.9.0'} + '@eslint/compat@1.2.6': + resolution: {integrity: sha512-k7HNCqApoDHM6XzT30zGoETj+D+uUcZUb+IVAJmar3u6bvHf7hhHJcWx09QHj4/a2qrKZMWU0E16tvkiAdv06Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true - /@babel/plugin-transform-async-to-generator@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-module-imports': 7.16.0 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-remap-async-to-generator': 7.16.5 - transitivePeerDependencies: - - supports-color - dev: true + '@eslint/config-array@0.19.2': + resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@babel/plugin-transform-block-scoped-functions@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@eslint/core@0.10.0': + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@babel/plugin-transform-block-scoping@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@babel/plugin-transform-classes@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-annotate-as-pure': 7.16.0 - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-function-name': 7.16.0 - '@babel/helper-optimise-call-expression': 7.16.0 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-replace-supers': 7.16.5 - '@babel/helper-split-export-declaration': 7.16.0 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true + '@eslint/js@9.19.0': + resolution: {integrity: sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@babel/plugin-transform-computed-properties@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@eslint/markdown@6.2.2': + resolution: {integrity: sha512-U0/KgzI9BVUuHDQ9M2fuVgB0QZ1fSyzwm8jKmHr1dlsLHGHYzoeIA9yqLMdTbV3ivZfp6rTdt6zqre3TfNExUQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@babel/plugin-transform-destructuring@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@babel/plugin-transform-dotall-regex@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-regexp-features-plugin': 7.16.0(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@eslint/plugin-kit@0.2.5': + resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@babel/plugin-transform-duplicate-keys@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - /@babel/plugin-transform-exponentiation-operator@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} - /@babel/plugin-transform-flow-strip-types@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-skE02E/MptkZdBS4HwoRhjWXqeKQj0BWKEAPfPC+8R4/f6bjQqQ9Nftv/+HkxWwnVxh/E2NV9TNfzLN5H/oiBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-flow': 7.16.5(@babel/core@7.16.5) - dev: true + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} - /@babel/plugin-transform-for-of@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} - /@babel/plugin-transform-function-name@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-function-name': 7.16.0 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} - /@babel/plugin-transform-literals@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} - /@babel/plugin-transform-member-expression-literals@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} - /@babel/plugin-transform-modules-amd@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-module-transforms': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - babel-plugin-dynamic-import-node: 2.3.3 - transitivePeerDependencies: - - supports-color - dev: true + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} - /@babel/plugin-transform-modules-commonjs@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-module-transforms': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-simple-access': 7.16.0 - babel-plugin-dynamic-import-node: 2.3.3 - transitivePeerDependencies: - - supports-color - dev: true + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} - /@babel/plugin-transform-modules-systemjs@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-hoist-variables': 7.16.0 - '@babel/helper-module-transforms': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-validator-identifier': 7.16.7 - babel-plugin-dynamic-import-node: 2.3.3 - transitivePeerDependencies: - - supports-color - dev: true + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} - /@babel/plugin-transform-modules-umd@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-module-transforms': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - transitivePeerDependencies: - - supports-color - dev: true + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - /@babel/plugin-transform-named-capturing-groups-regex@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-regexp-features-plugin': 7.16.0(@babel/core@7.16.5) - dev: true + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - /@babel/plugin-transform-new-target@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@malept/cross-spawn-promise@2.0.0': + resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==} + engines: {node: '>= 12.13.0'} - /@babel/plugin-transform-object-super@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-replace-supers': 7.16.5 - transitivePeerDependencies: - - supports-color - dev: true + '@malept/flatpak-bundler@0.4.0': + resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} + engines: {node: '>= 10.0.0'} - /@babel/plugin-transform-parameters@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} - /@babel/plugin-transform-property-literals@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} - /@babel/plugin-transform-regenerator@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - regenerator-transform: 0.14.5 - dev: true + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} - /@babel/plugin-transform-reserved-words@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@npmcli/fs@2.1.2': + resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - /@babel/plugin-transform-shorthand-properties@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@npmcli/move-file@2.0.1': + resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This functionality has been moved to @npmcli/fs - /@babel/plugin-transform-spread@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 - dev: true + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} - /@babel/plugin-transform-sticky-regex@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - /@babel/plugin-transform-template-literals@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@rollup/rollup-android-arm-eabi@4.34.4': + resolution: {integrity: sha512-gGi5adZWvjtJU7Axs//CWaQbQd/vGy8KGcnEaCWiyCqxWYDxwIlAHFuSe6Guoxtd0SRvSfVTDMPd5H+4KE2kKA==} + cpu: [arm] + os: [android] - /@babel/plugin-transform-typeof-symbol@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@rollup/rollup-android-arm64@4.34.4': + resolution: {integrity: sha512-1aRlh1gqtF7vNPMnlf1vJKk72Yshw5zknR/ZAVh7zycRAGF2XBMVDAHmFQz/Zws5k++nux3LOq/Ejj1WrDR6xg==} + cpu: [arm64] + os: [android] - /@babel/plugin-transform-typescript@7.16.1(@babel/core@7.16.5): - resolution: {integrity: sha512-NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-class-features-plugin': 7.16.5(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-typescript': 7.16.5(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - dev: true + '@rollup/rollup-darwin-arm64@4.34.4': + resolution: {integrity: sha512-drHl+4qhFj+PV/jrQ78p9ch6A0MfNVZScl/nBps5a7u01aGf/GuBRrHnRegA9bP222CBDfjYbFdjkIJ/FurvSQ==} + cpu: [arm64] + os: [darwin] - /@babel/plugin-transform-unicode-escapes@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@rollup/rollup-darwin-x64@4.34.4': + resolution: {integrity: sha512-hQqq/8QALU6t1+fbNmm6dwYsa0PDD4L5r3TpHx9dNl+aSEMnIksHZkSO3AVH+hBMvZhpumIGrTFj8XCOGuIXjw==} + cpu: [x64] + os: [darwin] - /@babel/plugin-transform-unicode-regex@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-regexp-features-plugin': 7.16.0(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - dev: true + '@rollup/rollup-freebsd-arm64@4.34.4': + resolution: {integrity: sha512-/L0LixBmbefkec1JTeAQJP0ETzGjFtNml2gpQXA8rpLo7Md+iXQzo9kwEgzyat5Q+OG/C//2B9Fx52UxsOXbzw==} + cpu: [arm64] + os: [freebsd] - /@babel/preset-env@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.16.4 - '@babel/core': 7.16.5 - '@babel/helper-compilation-targets': 7.16.3(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.16.2(@babel/core@7.16.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.16.0(@babel/core@7.16.5) - '@babel/plugin-proposal-async-generator-functions': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-class-properties': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-class-static-block': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-dynamic-import': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-export-namespace-from': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-json-strings': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-logical-assignment-operators': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-numeric-separator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-object-rest-spread': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-optional-catch-binding': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-optional-chaining': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-private-methods': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-private-property-in-object': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-unicode-property-regex': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.16.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.16.5) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.16.5) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.16.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.16.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.16.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.16.5) - '@babel/plugin-transform-arrow-functions': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-async-to-generator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-block-scoped-functions': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-block-scoping': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-classes': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-computed-properties': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-destructuring': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-dotall-regex': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-duplicate-keys': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-exponentiation-operator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-for-of': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-function-name': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-literals': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-member-expression-literals': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-modules-amd': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-modules-commonjs': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-modules-systemjs': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-modules-umd': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-new-target': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-object-super': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-parameters': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-property-literals': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-regenerator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-reserved-words': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-shorthand-properties': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-spread': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-sticky-regex': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-template-literals': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-typeof-symbol': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-unicode-escapes': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-unicode-regex': 7.16.5(@babel/core@7.16.5) - '@babel/preset-modules': 0.1.5(@babel/core@7.16.5) - '@babel/types': 7.16.0 - babel-plugin-polyfill-corejs2: 0.3.0(@babel/core@7.16.5) - babel-plugin-polyfill-corejs3: 0.4.0(@babel/core@7.16.5) - babel-plugin-polyfill-regenerator: 0.3.0(@babel/core@7.16.5) - core-js-compat: 3.20.1 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true + '@rollup/rollup-freebsd-x64@4.34.4': + resolution: {integrity: sha512-6Rk3PLRK+b8L/M6m/x6Mfj60LhAUcLJ34oPaxufA+CfqkUrDoUPQYFdRrhqyOvtOKXLJZJwxlOLbQjNYQcRQfw==} + cpu: [x64] + os: [freebsd] - /@babel/preset-flow@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-rmC6Nznp4V55N4Zfec87jwd14TdREqwKVJFM/6Z2wTwoeZQr56czjaPRCezqzqc8TsHF7aLP1oczjadIQ058gw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-transform-flow-strip-types': 7.16.5(@babel/core@7.16.5) - dev: true + '@rollup/rollup-linux-arm-gnueabihf@4.34.4': + resolution: {integrity: sha512-kmT3x0IPRuXY/tNoABp2nDvI9EvdiS2JZsd4I9yOcLCCViKsP0gB38mVHOhluzx+SSVnM1KNn9k6osyXZhLoCA==} + cpu: [arm] + os: [linux] - /@babel/preset-modules@0.1.5(@babel/core@7.16.5): - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-proposal-unicode-property-regex': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-dotall-regex': 7.16.5(@babel/core@7.16.5) - '@babel/types': 7.17.0 - esutils: 2.0.3 - dev: true + '@rollup/rollup-linux-arm-musleabihf@4.34.4': + resolution: {integrity: sha512-3iSA9tx+4PZcJH/Wnwsvx/BY4qHpit/u2YoZoXugWVfc36/4mRkgGEoRbRV7nzNBSCOgbWMeuQ27IQWgJ7tRzw==} + cpu: [arm] + os: [linux] - /@babel/preset-typescript@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-lmAWRoJ9iOSvs3DqOndQpj8XqXkzaiQs50VG/zESiI9D3eoZhGriU675xNCr0UwvsuXrhMAGvyk1w+EVWF3u8Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-transform-typescript': 7.16.1(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - dev: true + '@rollup/rollup-linux-arm64-gnu@4.34.4': + resolution: {integrity: sha512-7CwSJW+sEhM9sESEk+pEREF2JL0BmyCro8UyTq0Kyh0nu1v0QPNY3yfLPFKChzVoUmaKj8zbdgBxUhBRR+xGxg==} + cpu: [arm64] + os: [linux] - /@babel/register@7.16.5(@babel/core@7.16.5): - resolution: {integrity: sha512-NpluD+cToBiZiDsG3y9rtIcqDyivsahpaM9csfyfiq1qQWduSmihUZ+ruIqqSDGjZKZMJfgAElo9x2YWlOQuRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - clone-deep: 4.0.1 - find-cache-dir: 2.1.0 - make-dir: 2.1.0 - pirates: 4.0.4 - source-map-support: 0.5.21 - dev: true + '@rollup/rollup-linux-arm64-musl@4.34.4': + resolution: {integrity: sha512-GZdafB41/4s12j8Ss2izofjeFXRAAM7sHCb+S4JsI9vaONX/zQ8cXd87B9MRU/igGAJkKvmFmJJBeeT9jJ5Cbw==} + cpu: [arm64] + os: [linux] - /@babel/runtime@7.18.9: - resolution: {integrity: sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.9 + '@rollup/rollup-linux-loongarch64-gnu@4.34.4': + resolution: {integrity: sha512-uuphLuw1X6ur11675c2twC6YxbzyLSpWggvdawTUamlsoUv81aAXRMPBC1uvQllnBGls0Qt5Siw8reSIBnbdqQ==} + cpu: [loong64] + os: [linux] - /@babel/runtime@7.23.1: - resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.0 + '@rollup/rollup-linux-powerpc64le-gnu@4.34.4': + resolution: {integrity: sha512-KvLEw1os2gSmD6k6QPCQMm2T9P2GYvsMZMRpMz78QpSoEevHbV/KOUbI/46/JRalhtSAYZBYLAnT9YE4i/l4vg==} + cpu: [ppc64] + os: [linux] - /@babel/template@7.16.0: - resolution: {integrity: sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.0 - '@babel/parser': 7.17.9 - '@babel/types': 7.16.0 - dev: true + '@rollup/rollup-linux-riscv64-gnu@4.34.4': + resolution: {integrity: sha512-wcpCLHGM9yv+3Dql/CI4zrY2mpQ4WFergD3c9cpRowltEh5I84pRT/EuHZsG0In4eBPPYthXnuR++HrFkeqwkA==} + cpu: [riscv64] + os: [linux] - /@babel/traverse@7.16.5: - resolution: {integrity: sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.0 - '@babel/generator': 7.16.5 - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-function-name': 7.16.0 - '@babel/helper-hoist-variables': 7.16.0 - '@babel/helper-split-export-declaration': 7.16.0 - '@babel/parser': 7.17.9 - '@babel/types': 7.16.0 - debug: 4.3.4(supports-color@9.2.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true + '@rollup/rollup-linux-s390x-gnu@4.34.4': + resolution: {integrity: sha512-nLbfQp2lbJYU8obhRQusXKbuiqm4jSJteLwfjnunDT5ugBKdxqw1X9KWwk8xp1OMC6P5d0WbzxzhWoznuVK6XA==} + cpu: [s390x] + os: [linux] - /@babel/types@7.16.0: - resolution: {integrity: sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.15.7 - to-fast-properties: 2.0.0 - dev: true + '@rollup/rollup-linux-x64-gnu@4.34.4': + resolution: {integrity: sha512-JGejzEfVzqc/XNiCKZj14eb6s5w8DdWlnQ5tWUbs99kkdvfq9btxxVX97AaxiUX7xJTKFA0LwoS0KU8C2faZRg==} + cpu: [x64] + os: [linux] - /@babel/types@7.17.0: - resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.16.7 - to-fast-properties: 2.0.0 + '@rollup/rollup-linux-x64-musl@4.34.4': + resolution: {integrity: sha512-/iFIbhzeyZZy49ozAWJ1ZR2KW6ZdYUbQXLT4O5n1cRZRoTpwExnHLjlurDXXPKEGxiAg0ujaR9JDYKljpr2fDg==} + cpu: [x64] + os: [linux] - /@braintree/sanitize-url@6.0.0: - resolution: {integrity: sha512-mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w==} - dev: false + '@rollup/rollup-win32-arm64-msvc@4.34.4': + resolution: {integrity: sha512-qORc3UzoD5UUTneiP2Afg5n5Ti1GAW9Gp5vHPxzvAFFA3FBaum9WqGvYXGf+c7beFdOKNos31/41PRMUwh1tpA==} + cpu: [arm64] + os: [win32] - /@commitlint/cli@15.0.0: - resolution: {integrity: sha512-Y5xmDCweytqzo4N4lOI2YRiuX35xTjcs8n5hUceBH8eyK0YbwtgWX50BJOH2XbkwEmII9blNhlBog6AdQsqicg==} - engines: {node: '>=v12'} - hasBin: true - dependencies: - '@commitlint/format': 15.0.0 - '@commitlint/lint': 15.0.0 - '@commitlint/load': 15.0.0 - '@commitlint/read': 15.0.0 - '@commitlint/types': 15.0.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - yargs: 17.3.1 - dev: true + '@rollup/rollup-win32-ia32-msvc@4.34.4': + resolution: {integrity: sha512-5g7E2PHNK2uvoD5bASBD9aelm44nf1w4I5FEI7MPHLWcCSrR8JragXZWgKPXk5i2FU3JFfa6CGZLw2RrGBHs2Q==} + cpu: [ia32] + os: [win32] - /@commitlint/config-conventional@15.0.0: - resolution: {integrity: sha512-eZBRL8Lk3hMNHp1wUMYj0qrZQEsST1ai7KHR8J1IDD9aHgT7L2giciibuQ+Og7vxVhR5WtYDvh9xirXFVPaSkQ==} - engines: {node: '>=v12'} - dependencies: - conventional-changelog-conventionalcommits: 4.6.2 - dev: true + '@rollup/rollup-win32-x64-msvc@4.34.4': + resolution: {integrity: sha512-p0scwGkR4kZ242xLPBuhSckrJ734frz6v9xZzD+kHVYRAkSUmdSLCIJRfql6H5//aF8Q10K+i7q8DiPfZp0b7A==} + cpu: [x64] + os: [win32] - /@commitlint/ensure@15.0.0: - resolution: {integrity: sha512-7DV4iNIald3vycwaWBNGk5FbonaNzOlU8nBe5m5AgU2dIeNKuXwLm+zzJzG27j0Ho56rgz//3F6RIvmsoxY9ZA==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 15.0.0 - lodash: 4.17.21 - dev: true + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} - /@commitlint/execute-rule@15.0.0: - resolution: {integrity: sha512-pyE4ApxjbWhb1TXz5vRiGwI2ssdMMgZbaaheZq1/7WC0xRnqnIhE1yUC1D2q20qPtvkZPstTYvMiRVtF+DvjUg==} - engines: {node: '>=v12'} - dev: true + '@stylistic/eslint-plugin@2.13.0': + resolution: {integrity: sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.40.0' - /@commitlint/format@15.0.0: - resolution: {integrity: sha512-bPhAfqwRhPk92WiuY0ktEJNpRRHSCd+Eg1MdhGyL9Bl3U25E5zvuInA+dNctnzZiOBSH/37ZaD0eOKCpQE6acg==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 15.0.0 - chalk: 4.1.2 - dev: true - - /@commitlint/is-ignored@15.0.0: - resolution: {integrity: sha512-edtnkf2QZ/7e/YCJDgn1WDw9wfF1WfOitW5YEoSOb4SxjJEb/oE87kxNPZ2j8mnDMuunspcMfGHeg6fRlwaEWg==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 15.0.0 - semver: 7.3.5 - dev: true - - /@commitlint/lint@15.0.0: - resolution: {integrity: sha512-hUi2+Im/2dJ5FBvWnodypTkg+5haCgsDzB0fyMApWLUA1IucYUAqRCQCW5em1Mhk9Crw1pd5YzFNikhIclkqCw==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/is-ignored': 15.0.0 - '@commitlint/parse': 15.0.0 - '@commitlint/rules': 15.0.0 - '@commitlint/types': 15.0.0 - dev: true - - /@commitlint/load@15.0.0: - resolution: {integrity: sha512-Ak1YPeOhvxmY3ioe0o6m1yLGvUAYb4BdfGgShU8jiTCmU3Mnmms0Xh/kfQz8AybhezCC3AmVTyBLaBZxOHR8kg==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/execute-rule': 15.0.0 - '@commitlint/resolve-extends': 15.0.0 - '@commitlint/types': 15.0.0 - '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2(cosmiconfig@7.0.1)(typescript@4.6.3) - chalk: 4.1.2 - cosmiconfig: 7.0.1 - lodash: 4.17.21 - resolve-from: 5.0.0 - typescript: 4.6.3 - dev: true - - /@commitlint/message@15.0.0: - resolution: {integrity: sha512-L8euabzboKavPuDJsdIYAY2wx97LbiGEYsckMo6NmV8pOun50c8hQx6ouXFSAx4pp+mX9yUGmMiVqfrk2LKDJQ==} - engines: {node: '>=v12'} - dev: true - - /@commitlint/parse@15.0.0: - resolution: {integrity: sha512-7fweM67tZfBNS7zw1KTuuT5K2u9nGytUJqFqT/1Ln3Na9cBCsoAqR47mfsNOTlRCgGwakm4xiQ7BpS2gN0OGuw==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 15.0.0 - conventional-changelog-angular: 5.0.13 - conventional-commits-parser: 3.2.3 - dev: true - - /@commitlint/read@15.0.0: - resolution: {integrity: sha512-5yI1o2HKZFVe7RTjL7IhuhHMKar/MDNY34vEHqqz9gMI7BK/rdP8uVb4Di1efl2V0UPnwID0nPKWESjQ8Ti0gw==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/top-level': 15.0.0 - '@commitlint/types': 15.0.0 - fs-extra: 10.0.1 - git-raw-commits: 2.0.10 - dev: true - - /@commitlint/resolve-extends@15.0.0: - resolution: {integrity: sha512-7apfRJjgJsKja7lHsPfEFixKjA/fk/UeD3owkOw1174yYu4u8xBDLSeU3IinGPdMuF9m245eX8wo7vLUy+EBSg==} - engines: {node: '>=v12'} - dependencies: - import-fresh: 3.3.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - dev: true + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} - /@commitlint/rules@15.0.0: - resolution: {integrity: sha512-SqXfp6QUlwBS+0IZm4FEA/NmmAwcFQIkG3B05BtemOVWXQdZ8j1vV6hDwvA9oMPCmUSrrGpHOtZK7HaHhng2yA==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/ensure': 15.0.0 - '@commitlint/message': 15.0.0 - '@commitlint/to-lines': 15.0.0 - '@commitlint/types': 15.0.0 - execa: 5.1.1 - dev: true + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} - /@commitlint/to-lines@15.0.0: - resolution: {integrity: sha512-mY3MNA9ujPqVpiJjTYG9MDsYCobue5PJFO0MfcIzS1mCVvngH8ZFTPAh1fT5t+t1h876boS88+9WgqjRvbYItw==} - engines: {node: '>=v12'} - dev: true + '@types/better-sqlite3@7.6.12': + resolution: {integrity: sha512-fnQmj8lELIj7BSrZQAdBMHEHX8OZLYIHXqAKT1O7tDfLxaINzf00PMjw22r3N/xXh0w/sGHlO6SVaCQ2mj78lg==} - /@commitlint/top-level@15.0.0: - resolution: {integrity: sha512-7Gz3t7xcuuUw1d1Nou6YLaztzp2Em+qZ6YdCzrqYc+aquca3Vt0O696nuiBDU/oE+tls4Hx2CNpAbWhTgEwB5A==} - engines: {node: '>=v12'} - dependencies: - find-up: 5.0.0 - dev: true + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - /@commitlint/types@15.0.0: - resolution: {integrity: sha512-OMSLX+QJnyNoTwws54ULv9sOvuw9GdVezln76oyUd4YbMMJyaav62aSXDuCdWyL2sm9hTkSzyEi52PNaIj/vqw==} - engines: {node: '>=v12'} - dependencies: - chalk: 4.1.2 - dev: true + '@types/conventional-commits-parser@5.0.1': + resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==} - /@develar/schema-utils@2.6.5: - resolution: {integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==} - engines: {node: '>= 8.9.0'} - dependencies: - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - dev: true + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - /@electron/get@1.14.1: - resolution: {integrity: sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==} - engines: {node: '>=8.6'} - dependencies: - debug: 4.3.4(supports-color@9.2.1) - env-paths: 2.2.1 - fs-extra: 8.1.0 - got: 9.6.0 - progress: 2.0.3 - semver: 6.3.0 - sumchecker: 3.0.1 - optionalDependencies: - global-agent: 3.0.0 - global-tunnel-ng: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: true + '@types/doctrine@0.0.9': + resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} - /@electron/universal@1.2.1: - resolution: {integrity: sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==} - engines: {node: '>=8.6'} - dependencies: - '@malept/cross-spawn-promise': 1.1.1 - asar: 3.1.0 - debug: 4.3.4(supports-color@9.2.1) - dir-compare: 2.4.0 - fs-extra: 9.1.0 - minimatch: 3.1.2 - plist: 3.0.5 - transitivePeerDependencies: - - supports-color - dev: true + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - /@emmetio/abbreviation@2.2.3: - resolution: {integrity: sha512-87pltuCPt99aL+y9xS6GPZ+Wmmyhll2WXH73gG/xpGcQ84DRnptBsI2r0BeIQ0EB/SQTOe2ANPqFqj3Rj5FOGA==} - dependencies: - '@emmetio/scanner': 1.0.0 - dev: true + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - /@emmetio/css-abbreviation@2.1.4: - resolution: {integrity: sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw==} - dependencies: - '@emmetio/scanner': 1.0.0 - dev: true + '@types/fs-extra@9.0.13': + resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} - /@emmetio/scanner@1.0.0: - resolution: {integrity: sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==} - dev: true + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - /@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2(cosmiconfig@7.0.1)(typescript@4.6.3): - resolution: {integrity: sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==} - engines: {node: '>=10.0.0'} - peerDependencies: - cosmiconfig: '>=6' - dependencies: - cosmiconfig: 7.0.1 - lodash.get: 4.4.2 - make-error: 1.3.6 - ts-node: 9.1.1(typescript@4.6.3) - tslib: 2.3.1 - transitivePeerDependencies: - - typescript - dev: true + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - /@eslint/eslintrc@1.0.5: - resolution: {integrity: sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4(supports-color@9.2.1) - espree: 9.2.0 - globals: 13.12.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - /@floating-ui/core@0.3.1: - resolution: {integrity: sha512-ensKY7Ub59u16qsVIFEo2hwTCqZ/r9oZZFh51ivcLGHfUwTn8l1Xzng8RJUe91H/UP8PeqeBronAGx0qmzwk2g==} - dev: false + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - /@floating-ui/dom@0.1.10: - resolution: {integrity: sha512-4kAVoogvQm2N0XE0G6APQJuCNuErjOfPW8Ux7DFxh8+AfugWflwVJ5LDlHOwrwut7z/30NUvdtHzQ3zSip4EzQ==} - dependencies: - '@floating-ui/core': 0.3.1 - dev: false + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - /@gera2ld/jsx-dom@2.2.2: - resolution: {integrity: sha512-EOqf31IATRE6zS1W1EoWmXZhGfLAoO9FIlwTtHduSrBdud4npYBxYAkv8dZ5hudDPwJeeSjn40kbCL4wAzr8dA==} - dependencies: - '@babel/runtime': 7.23.1 - dev: false + '@types/node@20.17.17': + resolution: {integrity: sha512-/WndGO4kIfMicEQLTi/mDANUu/iVUhT7KboZPdEqqHQ4aTS+3qT3U5gIqWDFV+XouorjfgGqvKILJeHhuQgFYg==} - /@hapi/address@2.1.4: - resolution: {integrity: sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==} - deprecated: Moved to 'npm install @sideway/address' - dev: true + '@types/node@22.13.1': + resolution: {integrity: sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==} - /@hapi/bourne@1.3.2: - resolution: {integrity: sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==} - deprecated: This version has been deprecated and is no longer supported or maintained - dev: true + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - /@hapi/hoek@8.5.1: - resolution: {integrity: sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==} - deprecated: This version has been deprecated and is no longer supported or maintained - dev: true + '@types/plist@3.0.5': + resolution: {integrity: sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==} - /@hapi/joi@15.1.1: - resolution: {integrity: sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==} - deprecated: Switch to 'npm install joi' - dependencies: - '@hapi/address': 2.1.4 - '@hapi/bourne': 1.3.2 - '@hapi/hoek': 8.5.1 - '@hapi/topo': 3.1.6 - dev: true + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - /@hapi/topo@3.1.6: - resolution: {integrity: sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==} - deprecated: This version has been deprecated and is no longer supported or maintained - dependencies: - '@hapi/hoek': 8.5.1 - dev: true + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - /@humanwhocodes/config-array@0.9.2: - resolution: {integrity: sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4(supports-color@9.2.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true + '@types/verror@1.10.10': + resolution: {integrity: sha512-l4MM0Jppn18hb9xmM6wwD1uTdShpf9Pn80aXTStnK1C94gtPvJcV2FrDmbOQUAQfJ1cKZHktkQUDwEqaAKXMMg==} - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - /@iconify/types@1.0.13: - resolution: {integrity: sha512-jrJJVPnRM1HsMDnuHRTzMfgiSG6Z1U/2IYI7s8spFu9c7n1q3jcXa+3/YQz4tJVNgAhzm1dbnMxfIAyLDpCaWg==} - dev: true + '@typescript-eslint/eslint-plugin@8.23.0': + resolution: {integrity: sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - /@iconify/utils@1.0.26: - resolution: {integrity: sha512-Mz6l1fOGgdqLjoXNirmX6Zpc+DPcU4Xyns7oBWcHoTVRnZ2QuFbWMaGa9/FeYSoZwk5s14Vsl0wilmaToS9g9w==} - dependencies: - '@antfu/install-pkg': 0.1.0 - '@antfu/utils': 0.3.0 - '@iconify/types': 1.0.13 - debug: 4.3.4(supports-color@9.2.1) - kolorist: 1.5.1 - local-pkg: 0.4.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@iconscout/unicons@4.0.1: - resolution: {integrity: sha512-uMyaHfzfrc4Wd+n0EGsrSGqW/YB/7gZYro4fKhK+YjrG5GWn2bag+5Fj2yqnhjj0Wdc3nHQM6i6rjM7B5zNY3Q==} - dependencies: - async: 2.6.3 - axios: 0.21.4 - cheerio: 1.0.0-rc.10 - cross-env: 7.0.3 - fontello-cli: 0.6.2 - fs-plus: 3.1.1 - glob: 7.2.0 - insertion-query: 1.1.0 - lodash: 4.17.21 - parse-svg-path: 0.1.2 - scale-svg-path: 0.0.1 - serialize-svg-path: 0.1.0 - svgo: 1.1.1 - svgstore: 3.0.1 - uuid: 3.4.0 - transitivePeerDependencies: - - debug - - supports-color - dev: false + '@typescript-eslint/parser@8.23.0': + resolution: {integrity: sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - /@interactjs/types@1.10.11: - resolution: {integrity: sha512-YRsVFWjL8Gkkvlx3qnjeaxW4fnibSJ9791g8BA7Pv5ANByI64WmtR1vU7A2rXcrOn8XvyCEfY0ss1s8NhZP+MA==} - dev: false + '@typescript-eslint/scope-manager@8.23.0': + resolution: {integrity: sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@josephg/resolvable@1.0.1: - resolution: {integrity: sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==} - dev: true + '@typescript-eslint/type-utils@8.23.0': + resolution: {integrity: sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - /@jsdevtools/ez-spawn@3.0.4: - resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} - engines: {node: '>=10'} - dependencies: - call-me-maybe: 1.0.1 - cross-spawn: 7.0.3 - string-argv: 0.3.1 - type-detect: 4.0.8 + '@typescript-eslint/types@8.23.0': + resolution: {integrity: sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@malept/cross-spawn-promise@1.1.1: - resolution: {integrity: sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==} - engines: {node: '>= 10'} - dependencies: - cross-spawn: 7.0.3 - dev: true + '@typescript-eslint/typescript-estree@8.23.0': + resolution: {integrity: sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' - /@malept/flatpak-bundler@0.4.0: - resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} - engines: {node: '>= 10.0.0'} - dependencies: - debug: 4.3.4(supports-color@9.2.1) - fs-extra: 9.1.0 - lodash: 4.17.21 - tmp-promise: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true + '@typescript-eslint/utils@8.23.0': + resolution: {integrity: sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - /@masscode/json-server@0.18.0: - resolution: {integrity: sha512-5M2/42AevLRmlNvbTzD5EMzwegzgqJIju/LzmMVH1X0yoQzyHmi0aPdRoxSjEGByKXwN0JTPkUpj/D6ltn1TCg==} - engines: {node: '>=12'} - hasBin: true - dependencies: - body-parser: 1.20.0 - bumpp: 7.1.1 - chalk: 4.1.2 - compression: 1.7.4 - connect-pause: 0.1.1 - cors: 2.8.5 - errorhandler: 1.5.1 - express: 4.17.2 - express-urlrewrite: 1.4.0 - json-parse-helpfulerror: 1.0.3 - lodash: 4.17.21 - lodash-id: 0.14.1 - lowdb: 1.0.0 - method-override: 3.0.0 - morgan: 1.10.0 - nanoid: 3.3.2 - please-upgrade-node: 3.2.0 - pluralize: 8.0.0 - server-destroy: 1.0.1 - update-notifier: 5.1.0 - yargs: 17.3.1 - transitivePeerDependencies: - - supports-color - dev: false + '@typescript-eslint/visitor-keys@8.23.0': + resolution: {integrity: sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@mrmlnc/readdir-enhanced@2.2.1: - resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} - engines: {node: '>=4'} - dependencies: - call-me-maybe: 1.0.1 - glob-to-regexp: 0.3.0 - dev: true + '@vitejs/plugin-vue@5.2.1': + resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 - /@node-ipc/js-queue@2.0.3: - resolution: {integrity: sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==} - engines: {node: '>=1.0.0'} - dependencies: - easy-stack: 1.0.1 - dev: true + '@vitest/eslint-plugin@1.1.25': + resolution: {integrity: sha512-u8DpDnMbPcqBmJOB4PeEtn6q7vKmLVTLFMpzoxSAo0hjYdl4iYSHRleqwPQo0ywc7UV0S6RKIahYRQ3BnZdMVw==} + peerDependencies: + '@typescript-eslint/utils': '>= 8.0' + eslint: '>= 8.57.0' + typescript: '>= 5.0.0' + vitest: '*' + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - /@nodelib/fs.stat@1.1.3: - resolution: {integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==} - engines: {node: '>= 6'} - dev: true + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@vue/compiler-sfc@3.5.13': + resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.13.0 + '@vue/compiler-ssr@3.5.13': + resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} - /@prettier/plugin-php@0.18.4(prettier@2.6.2): - resolution: {integrity: sha512-phnY20asLUpCSDXjCUN7FKGaZZTf1C+PSpTzGMOJ/UfIyD24sYJXCT8qqbcpp7rWI6ZsCsJiZcVnNmLFThx78Q==} - peerDependencies: - prettier: ^1.15.0 || ^2.0.0 - dependencies: - linguist-languages: 7.15.0 - mem: 8.1.1 - php-parser: 3.1.0-beta.5 - prettier: 2.6.2 - dev: false + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - /@prettier/plugin-pug@2.0.0(prettier@2.6.2): - resolution: {integrity: sha512-NCZ2/aBpl2IKxoiOfT55NJjQXsRmFkhTHT4o54VmxwIzgiAu5BbRdNsROdbgm0YG7ocTnfG3aKcjI+6S866wfQ==} - engines: {node: '>=14.6.0', npm: '>=6.0.0'} - peerDependencies: - prettier: ^2.3.0 - dependencies: - prettier: 2.6.2 - pug-lexer: 5.0.1 - dev: false + '@vue/reactivity@3.5.13': + resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} - /@prettier/plugin-xml@2.1.0: - resolution: {integrity: sha512-gmmvjwOh6GcJ4yTr4L0IVWwUrML/P1xHotwAMlY8hTIHYcmaRzeJKou8omvAaYsjMXWXxfBP7ge0meadDStn+g==} - dependencies: - '@xml-tools/parser': 1.0.11 - prettier: 2.6.2 - dev: false + '@vue/runtime-core@3.5.13': + resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} - /@protobufjs/aspromise@1.1.2: - resolution: {integrity: sha1-m4sMxmPWaafY9vXQiToU00jzD78=} - dev: true + '@vue/runtime-dom@3.5.13': + resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} - /@protobufjs/base64@1.1.2: - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - dev: true + '@vue/server-renderer@3.5.13': + resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} + peerDependencies: + vue: 3.5.13 - /@protobufjs/codegen@2.0.4: - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} - dev: true + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - /@protobufjs/eventemitter@1.1.0: - resolution: {integrity: sha1-NVy8mLr61ZePntCV85diHx0Ga3A=} - dev: true + '@xmldom/xmldom@0.8.10': + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} - /@protobufjs/fetch@1.1.0: - resolution: {integrity: sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=} - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 - dev: true + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true - /@protobufjs/float@1.0.2: - resolution: {integrity: sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=} - dev: true + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - /@protobufjs/inquire@1.1.0: - resolution: {integrity: sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=} - dev: true + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - /@protobufjs/path@1.1.2: - resolution: {integrity: sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=} - dev: true + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true - /@protobufjs/pool@1.1.0: - resolution: {integrity: sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=} - dev: true + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} - /@protobufjs/utf8@1.1.0: - resolution: {integrity: sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=} - dev: true + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} - /@rollup/pluginutils@4.2.0: - resolution: {integrity: sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==} + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true - /@sindresorhus/is@0.14.0: - resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} - engines: {node: '>=6'} + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} - /@sindresorhus/is@0.7.0: - resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} - engines: {node: '>=4'} - dev: true + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true - /@sipec/vue3-tags-input@3.0.4(vue@3.2.33): - resolution: {integrity: sha512-zE4OiFkWvlvvGT3FZQ9hRrvJW935VPW0fe4K03SxM5Q/UQZMqph763UHXTuyK1orWNQMTbDx9tKPLIMZTiDXLA==} + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: - vue: 3.x - dependencies: - vue: 3.2.33 - dev: false + ajv: ^6.9.1 - /@socket.io/base64-arraybuffer@1.0.2: - resolution: {integrity: sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==} - engines: {node: '>= 0.6.0'} - dev: true + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - /@socket.io/component-emitter@3.0.0: - resolution: {integrity: sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==} - dev: true + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - /@szmarczak/http-timer@1.1.2: - resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} - engines: {node: '>=6'} - dependencies: - defer-to-connect: 1.1.3 + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} - /@toml-tools/lexer@0.3.1: - resolution: {integrity: sha512-CCKHQb5OWpgFu47MQ2rcql4AnE9GaehNk/c1oJOyOBovED6XmdzQPXsvPSu+NJ9lToqJNoX+nLXQsB8WyQGdzQ==} - dependencies: - chevrotain: 4.1.1 - dev: false + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} - /@toml-tools/parser@0.3.1: - resolution: {integrity: sha512-vadwVx5TkgByt19dbp/rfIUKPkDdn5werANYvziiGK9wHlqPA0BWnvOloQw/dPDxF31+Ag0+zarXJpPDdRsPPg==} - dependencies: - '@toml-tools/lexer': 0.3.1 - chevrotain: 4.1.1 - dev: false + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} - /@tootallnate/once@2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - dev: true + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} - /@tsconfig/node14@1.0.1: - resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} - dev: true + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} - /@types/accepts@1.3.5: - resolution: {integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==} - dependencies: - '@types/node': 17.0.45 - dev: true + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - /@types/body-parser@1.19.0: - resolution: {integrity: sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==} - dependencies: - '@types/connect': 3.4.35 - '@types/node': 17.0.45 - dev: true + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} - /@types/codemirror@5.60.5: - resolution: {integrity: sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg==} - dependencies: - '@types/tern': 0.23.4 - dev: true + app-builder-bin@5.0.0-alpha.10: + resolution: {integrity: sha512-Ev4jj3D7Bo+O0GPD2NMvJl+PGiBAfS7pUGawntBNpCbxtpncfUixqFj9z9Jme7V7s3LBGqsWZZP54fxBX3JKJw==} - /@types/component-emitter@1.2.11: - resolution: {integrity: sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==} - dev: true + app-builder-lib@25.1.8: + resolution: {integrity: sha512-pCqe7dfsQFBABC1jeKZXQWhGcCPF3rPCXDdfqVKjIeWBcXzyC1iOWZdfFhGl+S9MyE/k//DFmC6FzuGAUudNDg==} + engines: {node: '>=14.0.0'} + peerDependencies: + dmg-builder: 25.1.8 + electron-builder-squirrel-windows: 25.1.8 - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} - dependencies: - '@types/node': 17.0.45 - dev: true + aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - /@types/content-disposition@0.5.4: - resolution: {integrity: sha512-0mPF08jn9zYI0n0Q/Pnz7C4kThdSt+6LD4amsrYDDpgBfrVWa3TcCOxKX1zkGgYniGagRv8heN2cbh+CAn+uuQ==} - dev: true + archiver-utils@2.1.0: + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} - /@types/cookie@0.4.1: - resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} - dev: true + archiver-utils@3.0.4: + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} - /@types/cookies@0.7.7: - resolution: {integrity: sha512-h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==} - dependencies: - '@types/connect': 3.4.35 - '@types/express': 4.17.13 - '@types/keygrip': 1.0.2 - '@types/node': 17.0.45 - dev: true + archiver@5.3.2: + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} - /@types/cors@2.8.10: - resolution: {integrity: sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==} - dev: true + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} - /@types/cors@2.8.12: - resolution: {integrity: sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==} - dev: true + are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. - /@types/crypto-js@4.1.2: - resolution: {integrity: sha512-t33RNmTu5ufG/sorROIafiCVJMx3jz95bXUMoPAZcUD14fxMXnuTzqzXZoxpR0tNx2xpw11Dlmem9vGCsrSOfA==} - dev: true + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - /@types/d3-array@3.0.8: - resolution: {integrity: sha512-2xAVyAUgaXHX9fubjcCbGAUOqYfRJN1em1EKR2HfzWBpObZhwfnZKvofTN4TplMqJdFQao61I+NVSai/vnBvDQ==} - dev: false + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /@types/d3-axis@3.0.4: - resolution: {integrity: sha512-ySnjI/7qm+J602VjcejXcqs1hEuu5UBbGaJGp+Cn/yKVc1iS3JueLVpToGdQsS2sqta7tqA/kG4ore/+LH90UA==} - dependencies: - '@types/d3-selection': 3.0.7 - dev: false + array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - /@types/d3-brush@3.0.4: - resolution: {integrity: sha512-Kg5uIsdJNMCs5lTqeZFsTKqj9lBvpiFRDkYN3j2CDlPhonNDg9/gXVpv1E/MKh3tEqArryIj9o6RBGE/MQe+6Q==} - dependencies: - '@types/d3-selection': 3.0.7 - dev: false + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} - /@types/d3-chord@3.0.4: - resolution: {integrity: sha512-p4PvN1N+7GL3Y/NI9Ug1TKwowUV6h664kmxL79ctp1HRYCk1mhP0+SXhjRsoWXCdnJfbLLLmpV99rt8dMrHrzg==} - dev: false + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} - /@types/d3-color@3.1.1: - resolution: {integrity: sha512-CSAVrHAtM9wfuLJ2tpvvwCU/F22sm7rMHNN+yh9D6O6hyAms3+O0cgMpC1pm6UEUMOntuZC8bMt74PteiDUdCg==} - dev: false + async-exit-hook@2.0.1: + resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} + engines: {node: '>=0.12.0'} - /@types/d3-contour@3.0.4: - resolution: {integrity: sha512-B0aeX8Xg3MNUglULxqDvlgY1SVXuN2xtEleYSAY0iMhl/SMVT7snzgAveejjwM3KaWuNXIoXEJ7dmXE8oPq/jA==} - dependencies: - '@types/d3-array': 3.0.8 - '@types/geojson': 7946.0.11 - dev: false + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - /@types/d3-delaunay@6.0.2: - resolution: {integrity: sha512-WplUJ/OHU7eITneDqNnzK+2pgR+WDzUHG6XAUVo+oWHPQq74VcgUdw8a4ODweaZzF56OVYK+x9GxCyuq6hSu1A==} - dev: false + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - /@types/d3-dispatch@3.0.4: - resolution: {integrity: sha512-NApHpGHRNxUy7e2Lfzl/cwOucmn4Xdx6FdmXzAoomo8T81LyGmlBjjko/vP0TVzawlvEFLDq8OCRLulW6DDzKw==} - dev: false + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} - /@types/d3-drag@3.0.4: - resolution: {integrity: sha512-/t53K1erTuUbP7WIX9SE0hlmytpTYRbIthlhbGkBHzCV5vPO++7yrk8OlisWPyIJO5TGowTmqCtGH2tokY5T/g==} - dependencies: - '@types/d3-selection': 3.0.7 - dev: false + atomically@1.7.0: + resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} + engines: {node: '>=10.12.0'} - /@types/d3-dsv@3.0.4: - resolution: {integrity: sha512-YxfUVJ55HxR8oq88136w09mBMPNhgH7PZjteq72onWXWOohGif/cLQnQv8V4A5lEGjXF04LhwSTpmzpY9wyVyA==} - dev: false + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 - /@types/d3-ease@3.0.0: - resolution: {integrity: sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==} - dev: false + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /@types/d3-fetch@3.0.4: - resolution: {integrity: sha512-RleYajubALkGjrvatxWhlygfvB1KNF0Uzz9guRUeeA+M/2B7l8rxObYdktaX9zU1st04lMCHjZWe4vbl+msH2Q==} - dependencies: - '@types/d3-dsv': 3.0.4 - dev: false + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - /@types/d3-force@3.0.6: - resolution: {integrity: sha512-G9wbOvCxkNlLrppoHLZ6oFpbm3z7ibfkXwLD8g5/4Aa7iTEV0Z7TQ0OL8UxAtvdOhCa2VZcSuqn1NQqyCEqmiw==} - dev: false + better-sqlite3@11.8.1: + resolution: {integrity: sha512-9BxNaBkblMjhJW8sMRZxnxVTRgbRmssZW0Oxc1MPBTfiR+WW21e2Mk4qu8CzrcZb1LwPCnFsfDEzq+SNcBU8eg==} - /@types/d3-format@3.0.2: - resolution: {integrity: sha512-9oQWvKk2qVBo49FQq8yD/et8Lx0W5Ac2FdGSOUecqOFKqh0wkpyHqf9Qc7A06ftTR+Lz13Pi3jHIQis0aCueOA==} - dev: false + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} - /@types/d3-geo@3.0.5: - resolution: {integrity: sha512-ysEEU93Wv9p2UZBxTK3kUP7veHgyhTA0qYtI7bxK5EMXb3JxGv0D4IH54PxprAF26n+uHci24McVmzwIdLgvgQ==} - dependencies: - '@types/geojson': 7946.0.11 - dev: false - - /@types/d3-hierarchy@3.1.4: - resolution: {integrity: sha512-wrvjpRFdmEu6yAqgjGy8MSud9ggxJj+I9XLuztLeSf/E0j0j6RQYtxH2J8U0Cfbgiw9ZDHyhpmaVuWhxscYaAQ==} - dev: false - - /@types/d3-interpolate@3.0.2: - resolution: {integrity: sha512-zAbCj9lTqW9J9PlF4FwnvEjXZUy75NQqPm7DMHZXuxCFTpuTrdK2NMYGQekf4hlasL78fCYOLu4EE3/tXElwow==} - dependencies: - '@types/d3-color': 3.1.1 - dev: false - - /@types/d3-path@3.0.0: - resolution: {integrity: sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==} - dev: false - - /@types/d3-polygon@3.0.0: - resolution: {integrity: sha512-D49z4DyzTKXM0sGKVqiTDTYr+DHg/uxsiWDAkNrwXYuiZVd9o9wXZIo+YsHkifOiyBkmSWlEngHCQme54/hnHw==} - dev: false - - /@types/d3-quadtree@3.0.3: - resolution: {integrity: sha512-GDWaR+rGEk4ToLQSGugYnoh9AYYblsg/8kmdpa1KAJMwcdZ0v8rwgnldURxI5UrzxPlCPzF7by/Tjmv+Jn21Dg==} - dev: false - - /@types/d3-random@3.0.1: - resolution: {integrity: sha512-IIE6YTekGczpLYo/HehAy3JGF1ty7+usI97LqraNa8IiDur+L44d0VOjAvFQWJVdZOJHukUJw+ZdZBlgeUsHOQ==} - dev: false - - /@types/d3-scale-chromatic@3.0.0: - resolution: {integrity: sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==} - dev: false + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - /@types/d3-scale@4.0.5: - resolution: {integrity: sha512-w/C++3W394MHzcLKO2kdsIn5KKNTOqeQVzyPSGPLzQbkPw/jpeaGtSRlakcKevGgGsjJxGsbqS0fPrVFDbHrDA==} - dependencies: - '@types/d3-time': 3.0.1 - dev: false - - /@types/d3-selection@3.0.7: - resolution: {integrity: sha512-qoj2O7KjfqCobmtFOth8FMvjwMVPUAAmn6xiUbLl1ld7vQCPgffvyV5BBcEFfqWdilAUm+3zciU/3P3vZrUMlg==} - dev: false - - /@types/d3-shape@3.1.3: - resolution: {integrity: sha512-cHMdIq+rhF5IVwAV7t61pcEXfEHsEsrbBUPkFGBwTXuxtTAkBBrnrNA8++6OWm3jwVsXoZYQM8NEekg6CPJ3zw==} - dependencies: - '@types/d3-path': 3.0.0 - dev: false - - /@types/d3-time-format@4.0.1: - resolution: {integrity: sha512-Br6EFeu9B1Zrem7KaYbr800xCmEDyq8uE60kEU8rWhC/XpFYX6ocGMZuRJDQfFCq6SyakQxNHFqIfJbFLf4x6Q==} - dev: false - - /@types/d3-time@3.0.1: - resolution: {integrity: sha512-5j/AnefKAhCw4HpITmLDTPlf4vhi8o/dES+zbegfPb7LaGfNyqkLxBR6E+4yvTAgnJLmhe80EXFMzUs38fw4oA==} - dev: false - - /@types/d3-timer@3.0.0: - resolution: {integrity: sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==} - dev: false - - /@types/d3-transition@3.0.5: - resolution: {integrity: sha512-dcfjP6prFxj3ziFOJrnt4W2P0oXNj/sGxsJXH8286sHtVZ4qWGbjuZj+RRCYx4YZ4C0izpeE8OqXVCtoWEtzYg==} - dependencies: - '@types/d3-selection': 3.0.7 - dev: false - - /@types/d3-zoom@3.0.5: - resolution: {integrity: sha512-mIefdTLtxuWUWTbBupCUXPAXVPmi8/Uwrq41gQpRh0rD25GMU1ku+oTELqNY2NuuiI0F3wXC5e1liBQi7YS7XQ==} - dependencies: - '@types/d3-interpolate': 3.0.2 - '@types/d3-selection': 3.0.7 - dev: false - - /@types/d3@7.4.1: - resolution: {integrity: sha512-lBpYmbHTCtFKO1DB1R7E9dXp9/g1F3JXSGOF7iKPZ+wRmYg/Q6tCRHODGOc5Qk25fJRe2PI60EDRf2HLPUncMA==} - dependencies: - '@types/d3-array': 3.0.8 - '@types/d3-axis': 3.0.4 - '@types/d3-brush': 3.0.4 - '@types/d3-chord': 3.0.4 - '@types/d3-color': 3.1.1 - '@types/d3-contour': 3.0.4 - '@types/d3-delaunay': 6.0.2 - '@types/d3-dispatch': 3.0.4 - '@types/d3-drag': 3.0.4 - '@types/d3-dsv': 3.0.4 - '@types/d3-ease': 3.0.0 - '@types/d3-fetch': 3.0.4 - '@types/d3-force': 3.0.6 - '@types/d3-format': 3.0.2 - '@types/d3-geo': 3.0.5 - '@types/d3-hierarchy': 3.1.4 - '@types/d3-interpolate': 3.0.2 - '@types/d3-path': 3.0.0 - '@types/d3-polygon': 3.0.0 - '@types/d3-quadtree': 3.0.3 - '@types/d3-random': 3.0.1 - '@types/d3-scale': 4.0.5 - '@types/d3-scale-chromatic': 3.0.0 - '@types/d3-selection': 3.0.7 - '@types/d3-shape': 3.1.3 - '@types/d3-time': 3.0.1 - '@types/d3-time-format': 4.0.1 - '@types/d3-timer': 3.0.0 - '@types/d3-transition': 3.0.5 - '@types/d3-zoom': 3.0.5 - dev: false - - /@types/debug@4.1.7: - resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} - dependencies: - '@types/ms': 0.7.31 - dev: true - - /@types/dom-to-image@2.6.4: - resolution: {integrity: sha512-UddUdGF1qulrSDulkz3K2Ypq527MR6ixlgAzqLbxSiQ0icx0XDlIV+h4+edmjq/1dqn0KgN0xGSe1kI9t+vGuw==} - dev: true - - /@types/ejs@2.7.0: - resolution: {integrity: sha512-kM2g9Fdk/du24fKuuQhA/LBleFR4Z4JP2MVKpLxQQSzofF1uJ06D+c05zfLDAkkDO55aEeNwJih0gHrE/Ci20A==} - dev: true - - /@types/eslint-scope@3.7.3: - resolution: {integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==} - dependencies: - '@types/eslint': 8.4.1 - '@types/estree': 0.0.51 - dev: true - - /@types/eslint@8.4.1: - resolution: {integrity: sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==} - dependencies: - '@types/estree': 0.0.51 - '@types/json-schema': 7.0.10 - dev: true - - /@types/estree@0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - dev: true - - /@types/express-serve-static-core@4.17.28: - resolution: {integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==} - dependencies: - '@types/node': 17.0.45 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - dev: true - - /@types/express@4.17.13: - resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} - dependencies: - '@types/body-parser': 1.19.0 - '@types/express-serve-static-core': 4.17.28 - '@types/qs': 6.9.7 - '@types/serve-static': 1.13.10 - dev: true - - /@types/fs-capacitor@2.0.0: - resolution: {integrity: sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==} - dependencies: - '@types/node': 17.0.45 - dev: true - - /@types/fs-extra@9.0.13: - resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} - dependencies: - '@types/node': 17.0.45 - dev: true + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - /@types/geojson@7946.0.11: - resolution: {integrity: sha512-L7A0AINMXQpVwxHJ4jxD6/XjZ4NDufaRlUJHjNIFKYUFBH1SvOW+neaqb0VTRSLW5suSrSu19ObFEFnfNcr+qg==} - dev: false + bluebird-lst@1.0.9: + resolution: {integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==} - /@types/glob@7.2.0: - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} - dependencies: - '@types/minimatch': 3.0.5 - '@types/node': 17.0.22 - dev: true + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - /@types/http-assert@1.5.3: - resolution: {integrity: sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==} - dev: true + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - /@types/http-errors@1.8.2: - resolution: {integrity: sha512-EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w==} - dev: true + boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - /@types/i18next-fs-backend@1.1.2: - resolution: {integrity: sha512-ZzTRXA5B0x0oGhzKNp08IsYjZpli4LjRZpg3q4j0XFxN5lKG2MVLnR4yHX8PPExBk4sj9Yfk1z9O6CjPrAlmIQ==} - dependencies: - i18next: 21.8.14 - dev: true + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - /@types/inquirer@6.5.0: - resolution: {integrity: sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==} - dependencies: - '@types/through': 0.0.30 - rxjs: 6.6.7 - dev: true + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - /@types/jscodeshift@0.7.2: - resolution: {integrity: sha512-k4ih8ayQ65e26vhCxeMTKtZ808DzC0RFQ4unBvPEy9bcFhS4aPm3oXgWWZNmZ4u+H2WzHQDCNrRC5iNX+afiZw==} - dependencies: - ast-types: 0.12.1 - recast: 0.17.2 - dev: true + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} - /@types/json-schema@7.0.10: - resolution: {integrity: sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==} - dev: true + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true - /@types/json5@0.0.29: - resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} - dev: true + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - /@types/keygrip@1.0.2: - resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==} - dev: true + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - /@types/keyv@3.1.4: - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - dependencies: - '@types/node': 17.0.45 + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - /@types/koa-compose@3.2.5: - resolution: {integrity: sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==} - dependencies: - '@types/koa': 2.13.4 - dev: true + builder-util-runtime@9.2.10: + resolution: {integrity: sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw==} + engines: {node: '>=12.0.0'} - /@types/koa@2.13.4: - resolution: {integrity: sha512-dfHYMfU+z/vKtQB7NUrthdAEiSvnLebvBjwHtfFmpZmB7em2N3WVQdHgnFq+xvyVgxW5jKDmjWfLD3lw4g4uTw==} - dependencies: - '@types/accepts': 1.3.5 - '@types/content-disposition': 0.5.4 - '@types/cookies': 0.7.7 - '@types/http-assert': 1.5.3 - '@types/http-errors': 1.8.2 - '@types/keygrip': 1.0.2 - '@types/koa-compose': 3.2.5 - '@types/node': 17.0.45 - dev: true + builder-util@25.1.7: + resolution: {integrity: sha512-7jPjzBwEGRbwNcep0gGNpLXG9P94VA3CPAZQCzxkFXiV2GMQKlziMbY//rXPI7WKfhsvGgFXjTcXdBEwgXw9ww==} - /@types/lodash@4.14.180: - resolution: {integrity: sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g==} - dev: true + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} - /@types/long@4.0.2: - resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} - dev: true + bumpp@9.11.1: + resolution: {integrity: sha512-jBHlab9NnRwrpHsockb5E+MBo0os2yS6S7i3cnN8hB6EkTardKQotmd0CFdOc8pubLz2fxj2AD6RGtrySVG6Mw==} + engines: {node: '>=10'} + hasBin: true - /@types/lowdb@1.0.11: - resolution: {integrity: sha512-h99VMxvTuz+VsXUVCCJo4dsps4vbkXwvU71TpmxDoiBU24bJ0VBygIHgmMm+UPoQIFihmV6euRik4z8J7XDJWg==} - dependencies: - '@types/lodash': 4.14.180 - dev: true + c12@2.0.1: + resolution: {integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==} + peerDependencies: + magicast: ^0.3.5 + peerDependenciesMeta: + magicast: + optional: true - /@types/marked@4.0.3: - resolution: {integrity: sha512-HnMWQkLJEf/PnxZIfbm0yGJRRZYYMhb++O9M36UCTA9z53uPvVoSlAwJr3XOpDEryb7Hwl1qAx/MV6YIW1RXxg==} - dev: true + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} - /@types/mermaid@8.2.9: - resolution: {integrity: sha512-f1i8fNoVFVJXedk+R7GcEk4KoOWzWAU3CzFqlVw1qWKktfsataBERezCz1pOdKy8Ec02ZdPQXGM7NU2lPHABYQ==} - dev: true + cacache@16.1.3: + resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - /@types/mime@1.3.2: - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} - dev: true + cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} - /@types/minimatch@3.0.5: - resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} - dev: true + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - dev: true + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} - /@types/ms@0.7.31: - resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - dev: true + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} - /@types/node@10.17.60: - resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} - dev: true + caniuse-lite@1.0.30001698: + resolution: {integrity: sha512-xJ3km2oiG/MbNU8G6zIq6XRZ6HtAOVXsbOrP/blGazi52kc5Yy7b6sDA5O+FbROzRrV7BSTllLHuNvmawYUJjw==} - /@types/node@14.18.2: - resolution: {integrity: sha512-fqtSN5xn/bBzDxMT77C1rJg6CsH/R49E7qsGuvdPJa20HtV5zSTuLJPNfnlyVH3wauKnkHdLggTVkOW/xP9oQg==} - dev: true + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - /@types/node@17.0.22: - resolution: {integrity: sha512-8FwbVoG4fy+ykY86XCAclKZDORttqE5/s7dyWZKLXTdv3vRy5HozBEinG5IqhvPXXzIZEcTVbuHlQEI6iuwcmw==} - dev: true + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} - /@types/node@17.0.45: - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - dev: true + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - /@types/parse-json@4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - dev: true + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - /@types/plist@3.0.2: - resolution: {integrity: sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==} - requiresBuild: true - dependencies: - '@types/node': 17.0.45 - xmlbuilder: 15.1.1 - dev: true - optional: true + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} - /@types/prettier@2.6.0: - resolution: {integrity: sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==} - dev: true + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} - /@types/q@1.5.5: - resolution: {integrity: sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==} - dev: false + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - dev: true + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} - dev: true + chromium-pickle-js@0.2.0: + resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} - /@types/responselike@1.0.0: - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} - dependencies: - '@types/node': 17.0.45 + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} - /@types/sanitize-html@2.6.2: - resolution: {integrity: sha512-7Lu2zMQnmHHQGKXVvCOhSziQMpa+R2hMHFefzbYoYMHeaXR0uXqNeOc3JeQQQ8/6Xa2Br/P1IQTLzV09xxAiUQ==} - dependencies: - htmlparser2: 6.1.0 - dev: true + ci-info@4.1.0: + resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} + engines: {node: '>=8'} - /@types/serve-static@1.13.10: - resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} - dependencies: - '@types/mime': 1.3.2 - '@types/node': 17.0.45 - dev: true + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - /@types/tern@0.23.4: - resolution: {integrity: sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==} - dependencies: - '@types/estree': 0.0.51 - dev: true + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} - /@types/throttle-debounce@2.1.0: - resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==} - dev: true + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} - /@types/through@0.0.30: - resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} - dependencies: - '@types/node': 17.0.22 - dev: true + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} - /@types/universal-analytics@0.4.5: - resolution: {integrity: sha512-Opb+Un786PS3te24VtJR/QPmX00P/pXaJQtLQYJklQefP4xP0Ic3mPc2z6SDz97OrITzR+RHTBEwjtNRjZ/nLQ==} - dev: false + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} - /@types/uuid@9.0.4: - resolution: {integrity: sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==} - dev: true + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} - /@types/verror@1.10.5: - resolution: {integrity: sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==} - requiresBuild: true - dev: true - optional: true + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} - /@types/webpack@5.28.0: - resolution: {integrity: sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==} - dependencies: - '@types/node': 17.0.22 - tapable: 2.2.1 - webpack: 5.70.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack-cli - dev: true + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} - /@types/ws@7.4.7: - resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} - dependencies: - '@types/node': 17.0.45 - dev: true + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - /@types/yargs@17.0.10: - resolution: {integrity: sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} - /@typescript-eslint/eslint-plugin@5.8.0(@typescript-eslint/parser@5.8.0)(eslint@8.5.0)(typescript@4.5.4): - resolution: {integrity: sha512-spu1UW7QuBn0nJ6+psnfCc3iVoQAifjKORgBngKOmC8U/1tbe2YJMzYQqDGYB4JCss7L8+RM2kKLb1B1Aw9BNA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/experimental-utils': 5.8.0(eslint@8.5.0)(typescript@4.5.4) - '@typescript-eslint/parser': 5.8.0(eslint@8.5.0)(typescript@4.5.4) - '@typescript-eslint/scope-manager': 5.8.0 - debug: 4.3.4(supports-color@9.2.1) - eslint: 8.5.0 - functional-red-black-tree: 1.0.1 - ignore: 5.2.0 - regexpp: 3.2.0 - semver: 7.3.5 - tsutils: 3.21.0(typescript@4.5.4) - typescript: 4.5.4 - transitivePeerDependencies: - - supports-color - dev: true + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} - /@typescript-eslint/experimental-utils@5.8.0(eslint@8.5.0)(typescript@4.5.4): - resolution: {integrity: sha512-KN5FvNH71bhZ8fKtL+lhW7bjm7cxs1nt+hrDZWIqb6ViCffQcWyLunGrgvISgkRojIDcXIsH+xlFfI4RCDA0xA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@types/json-schema': 7.0.10 - '@typescript-eslint/scope-manager': 5.8.0 - '@typescript-eslint/types': 5.8.0 - '@typescript-eslint/typescript-estree': 5.8.0(typescript@4.5.4) - eslint: 8.5.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.5.0) - transitivePeerDependencies: - - supports-color - - typescript - dev: true + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /@typescript-eslint/parser@5.8.0(eslint@8.5.0)(typescript@4.5.4): - resolution: {integrity: sha512-Gleacp/ZhRtJRYs5/T8KQR3pAQjQI89Dn/k+OzyCKOsLiZH2/Vh60cFBTnFsHNI6WAD+lNUo/xGZ4NeA5u0Ipw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.8.0 - '@typescript-eslint/types': 5.8.0 - '@typescript-eslint/typescript-estree': 5.8.0(typescript@4.5.4) - debug: 4.3.4(supports-color@9.2.1) - eslint: 8.5.0 - typescript: 4.5.4 - transitivePeerDependencies: - - supports-color - dev: true + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true - /@typescript-eslint/scope-manager@5.8.0: - resolution: {integrity: sha512-x82CYJsLOjPCDuFFEbS6e7K1QEWj7u5Wk1alw8A+gnJiYwNnDJk0ib6PCegbaPMjrfBvFKa7SxE3EOnnIQz2Gg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.8.0 - '@typescript-eslint/visitor-keys': 5.8.0 - dev: true + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - /@typescript-eslint/types@5.8.0: - resolution: {integrity: sha512-LdCYOqeqZWqCMOmwFnum6YfW9F3nKuxJiR84CdIRN5nfHJ7gyvGpXWqL/AaW0k3Po0+wm93ARAsOdzlZDPCcXg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} - /@typescript-eslint/typescript-estree@5.8.0(typescript@4.5.4): - resolution: {integrity: sha512-srfeZ3URdEcUsSLbkOFqS7WoxOqn8JNil2NSLO9O+I2/Uyc85+UlfpEvQHIpj5dVts7KKOZnftoJD/Fdv0L7nQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.8.0 - '@typescript-eslint/visitor-keys': 5.8.0 - debug: 4.3.4(supports-color@9.2.1) - globby: 11.0.4 - is-glob: 4.0.3 - semver: 7.3.5 - tsutils: 3.21.0(typescript@4.5.4) - typescript: 4.5.4 - transitivePeerDependencies: - - supports-color - dev: true + commander@13.1.0: + resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} + engines: {node: '>=18'} - /@typescript-eslint/visitor-keys@5.8.0: - resolution: {integrity: sha512-+HDIGOEMnqbxdAHegxvnOqESUH6RWFRR2b8qxP1W9CZnnYh4Usz6MBL+2KMAgPk/P0o9c1HqnYtwzVH6GTIqug==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.8.0 - eslint-visitor-keys: 3.1.0 - dev: true + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} - /@vitejs/plugin-vue@2.3.1(vite@2.9.6)(vue@3.2.33): - resolution: {integrity: sha512-YNzBt8+jt6bSwpt7LP890U1UcTOIZZxfpE5WOJ638PNxSEKOqAi0+FSKS0nVeukfdZ0Ai/H7AFd6k3hayfGZqQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - vite: ^2.5.10 - vue: ^3.2.25 - dependencies: - vite: 2.9.6(sass@1.45.1) - vue: 3.2.33 - dev: true - - /@volar/code-gen@0.30.6: - resolution: {integrity: sha512-odkXN91QCS/KRKPk4eUQp7jkN0PuYLwDuJZwGiDDJrZWUCCSdEvSj7e+Cjk7Q7doX0G9WAF88BL7ozcjzrtiKw==} - dependencies: - '@volar/shared': 0.30.6 - '@volar/source-map': 0.30.6 - dev: true - - /@volar/html2pug@0.30.6: - resolution: {integrity: sha512-mPRQCRa/Nse0bC1wxJ+K7q/Ou0Wg+220qL3nPI3mqwSn0KECOAPsZxaVHRFauY4MeBxO2sOzkOvFfQLk8whJ1g==} - deprecated: 'WARNING: This project has been renamed to @johnsoncodehk/html2pug. Install using @johnsoncodehk/html2pug instead.' - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - htmlparser2: 7.2.0 - pug: 3.0.2 - dev: true - - /@volar/shared@0.30.6: - resolution: {integrity: sha512-YJa7kl2HRkSZaETBPCVEm/ZVXPBpt1aAlCxNuj55GaCHhcabOVj2oCBZioJLiwAvSR0e6k6KjbJBcKTuKrP9bw==} - dependencies: - upath: 2.0.1 - vscode-html-languageservice: 4.2.5 - vscode-jsonrpc: 8.0.0-next.8 - vscode-uri: 3.0.3 - dev: true - - /@volar/source-map@0.30.6: - resolution: {integrity: sha512-B0KLi0StdM3KsMLA+iK5pdE+mokukio7r0EkOMUAYZN/xn/kGWkKIdleJjLtgmtH2tw4kBz/5hP+KKEOlD3Etg==} - dependencies: - '@volar/shared': 0.30.6 - vscode-languageserver-textdocument: 1.0.4 - dev: true - - /@volar/transforms@0.30.6: - resolution: {integrity: sha512-jbVBXOBOeKc6Rb7dzyiq5b+FfYsXFWGFLLDZok5U+JoFujxoPfn5HwX9A3t+RW/NRwQkZxrdiPmW8b69B5nMKQ==} - dependencies: - '@volar/shared': 0.30.6 - vscode-languageserver-types: 3.17.0-next.10 - dev: true - - /@volar/vue-code-gen@0.30.6: - resolution: {integrity: sha512-UGpbOuC5ZxT2GXvkq2IWUuca9IDJVaaywWparKW0SwPFOZaMM2ivHLOfQpiuPqDUKTZLGK3fQuBWuXSTl+GIbA==} - dependencies: - '@volar/code-gen': 0.30.6 - '@volar/shared': 0.30.6 - '@volar/source-map': 0.30.6 - '@vue/compiler-core': 3.2.33 - '@vue/compiler-dom': 3.2.33 - '@vue/shared': 3.2.33 - upath: 2.0.1 - dev: true - - /@vscode/emmet-helper@2.8.4: - resolution: {integrity: sha512-lUki5QLS47bz/U8IlG9VQ+1lfxMtxMZENmU5nu4Z71eOD5j9FK0SmYGL5NiVJg9WBWeAU0VxRADMY2Qpq7BfVg==} - dependencies: - emmet: 2.3.6 - jsonc-parser: 2.3.1 - vscode-languageserver-textdocument: 1.0.4 - vscode-languageserver-types: 3.16.0 - vscode-nls: 5.0.1 - vscode-uri: 2.1.2 - dev: true - - /@vue/cli-shared-utils@4.5.17: - resolution: {integrity: sha512-VoFNdxvTW4vZu3ne+j1Mf7mU99J2SAoRVn9XPrsouTUUJablglM8DASk7Ixhsh6ymyL/W9EADQFR6Pgj8Ujjuw==} - dependencies: - '@achrinza/node-ipc': 9.2.2 - '@hapi/joi': 15.1.1 - chalk: 2.4.2 - execa: 1.0.0 - launch-editor: 2.3.0 - lru-cache: 5.1.1 - open: 6.4.0 - ora: 3.4.0 - read-pkg: 5.2.0 - request: 2.88.2 - semver: 6.3.0 - strip-ansi: 6.0.1 - dev: true + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} - /@vue/cli-ui-addon-webpack@4.5.17: - resolution: {integrity: sha512-AZMnDzToM2uxW/73mfjJweea3atC5sxOC3Nel5UEFnQK0hWN0/8NW6nPAiKDc+kJpZWFb7Y6ReP2hwYizUJK2w==} - dev: true + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} - /@vue/cli-ui-addon-widgets@4.5.17: - resolution: {integrity: sha512-K49weNsBggUL54Etdqml0hR3PpNzQSXUxC0G52qGNuZwPPxpZfZSQIH8GQ4jBTS8ySXmQYDT99DyxKSedE7McQ==} - dev: true + compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} - /@vue/cli-ui@4.5.17: - resolution: {integrity: sha512-x5o+RUNkPLO6wDNY5/Sec9ZuZExzARU8KkP2SwM2SWLirkjKgLVvyL4/snAIWwRLxsxXVuyZ8YJdqnWidixzCg==} - engines: {node: '>=8'} - dependencies: - '@achrinza/node-ipc': 9.2.2 - '@akryum/winattr': 3.0.0 - '@vue/cli-shared-utils': 4.5.17 - apollo-server-express: 2.25.3(graphql@14.7.0) - clone: 2.1.2 - deepmerge: 4.2.2 - express: 4.18.0 - express-history-api-fallback: 2.2.1 - fkill: 6.2.0 - fs-extra: 7.0.1 - globby: 9.2.0 - graphql: 14.7.0 - graphql-subscriptions: 1.2.1(graphql@14.7.0) - graphql-tag: 2.12.6(graphql@14.7.0) - graphql-type-json: 0.3.2(graphql@14.7.0) - javascript-stringify: 1.6.0 - js-yaml: 3.14.1 - lodash.merge: 4.6.2 - lowdb: 1.0.0 - lru-cache: 5.1.1 - node-notifier: 9.0.1 - parse-git-config: 2.0.3 - portfinder: 1.0.28 - prismjs: 1.28.0 - rss-parser: 3.12.0 - shortid: 2.2.16 - typescript: 4.1.6 - watch: 1.0.2 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: true + compare-version@0.1.2: + resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} + engines: {node: '>=0.10.0'} - /@vue/cli@4.5.17: - resolution: {integrity: sha512-73nK2o/o7Wk9myPySdjxpMzABLynGmnQbJ5wz3CJ9SFrss8Y2LwLAnzlO77mr3uA2nFPdTJbkbUcZlvBWCVSrA==} - engines: {node: '>=8.9'} + compress-commons@4.1.2: + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concurrently@9.1.2: + resolution: {integrity: sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==} + engines: {node: '>=18'} hasBin: true - dependencies: - '@types/ejs': 2.7.0 - '@types/inquirer': 6.5.0 - '@vue/cli-shared-utils': 4.5.17 - '@vue/cli-ui': 4.5.17 - '@vue/cli-ui-addon-webpack': 4.5.17 - '@vue/cli-ui-addon-widgets': 4.5.17 - boxen: 4.2.0 - cmd-shim: 3.0.3 - commander: 2.20.3 - debug: 4.3.4(supports-color@9.2.1) - deepmerge: 4.2.2 - download-git-repo: 3.0.2 - ejs: 2.7.4 - envinfo: 7.8.1 - fs-extra: 7.0.1 - globby: 9.2.0 - import-global: 0.1.0 - ini: 1.3.8 - inquirer: 7.3.3 - isbinaryfile: 4.0.8 - javascript-stringify: 1.6.0 - js-yaml: 3.14.1 - leven: 3.1.0 - lodash.clonedeep: 4.5.0 - lru-cache: 5.1.1 - minimist: 1.2.5 - recast: 0.18.10 - resolve: 1.22.0 - shortid: 2.2.16 - slash: 3.0.0 - strip-ansi: 6.0.1 - validate-npm-package-name: 3.0.0 - vue: 2.6.14 - vue-codemod: 0.0.5 - yaml-front-matter: 3.4.1 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: true - /@vue/compiler-core@3.2.31: - resolution: {integrity: sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==} - dependencies: - '@babel/parser': 7.17.9 - '@vue/shared': 3.2.31 - estree-walker: 2.0.2 - source-map: 0.6.1 - dev: true + conf@10.2.0: + resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} + engines: {node: '>=12'} - /@vue/compiler-core@3.2.33: - resolution: {integrity: sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw==} - dependencies: - '@babel/parser': 7.17.9 - '@vue/shared': 3.2.33 - estree-walker: 2.0.2 - source-map: 0.6.1 + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - /@vue/compiler-dom@3.2.33: - resolution: {integrity: sha512-GhiG1C8X98Xz9QUX/RlA6/kgPBWJkjq0Rq6//5XTAGSYrTMBgcLpP9+CnlUg1TFxnnCVughAG+KZl28XJqw8uQ==} - dependencies: - '@vue/compiler-core': 3.2.33 - '@vue/shared': 3.2.33 + config-file-ts@0.2.8-rc1: + resolution: {integrity: sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==} - /@vue/compiler-sfc@3.2.33: - resolution: {integrity: sha512-H8D0WqagCr295pQjUYyO8P3IejM3vEzeCO1apzByAEaAR/WimhMYczHfZVvlCE/9yBaEu/eu9RdiWr0kF8b71Q==} - dependencies: - '@babel/parser': 7.17.9 - '@vue/compiler-core': 3.2.33 - '@vue/compiler-dom': 3.2.33 - '@vue/compiler-ssr': 3.2.33 - '@vue/reactivity-transform': 3.2.33 - '@vue/shared': 3.2.33 - estree-walker: 2.0.2 - magic-string: 0.25.9 - postcss: 8.4.12 - source-map: 0.6.1 + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} + engines: {node: ^14.18.0 || >=16.10.0} - /@vue/compiler-ssr@3.2.33: - resolution: {integrity: sha512-XQh1Xdk3VquDpXsnoCd7JnMoWec9CfAzQDQsaMcSU79OrrO2PNR0ErlIjm/mGq3GmBfkQjzZACV+7GhfRB8xMQ==} - dependencies: - '@vue/compiler-dom': 3.2.33 - '@vue/shared': 3.2.33 + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - /@vue/devtools-api@6.1.3: - resolution: {integrity: sha512-79InfO2xHv+WHIrH1bHXQUiQD/wMls9qBk6WVwGCbdwP7/3zINtvqPNMtmSHXsIKjvUAHc8L0ouOj6ZQQRmcXg==} - dev: false + conventional-changelog-angular@7.0.0: + resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} + engines: {node: '>=16'} - /@vue/devtools-api@6.1.4: - resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==} - dev: false + conventional-changelog-conventionalcommits@7.0.2: + resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} + engines: {node: '>=16'} - /@vue/devtools@6.1.4: - resolution: {integrity: sha512-U+FIm818qym/U7ru7ZjZaqovWmA9LlSxnssfCVPSTfAf2uXC5U9XHhi+f8QMgPTfsDHcKAsszewaK7BRX01f1Q==} + conventional-commits-parser@5.0.0: + resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} + engines: {node: '>=16'} hasBin: true - dependencies: - cross-spawn: 7.0.3 - electron: 12.2.3 - express: 4.17.2 - ip: 1.1.5 - socket.io: 4.4.1(utf-8-validate@5.0.9) - socket.io-client: 4.4.1(utf-8-validate@5.0.9) - utf-8-validate: 5.0.9 - transitivePeerDependencies: - - bufferutil - - supports-color - dev: true - /@vue/eslint-config-standard@6.1.0(eslint-plugin-import@2.25.3)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.0.0)(eslint-plugin-vue@8.2.0)(eslint@8.5.0)(webpack@5.70.0): - resolution: {integrity: sha512-9+hrEyflDzsGdlBDl9jPV5DIYUx1TOU5OSQqRDKCrNumrxRj5HRWKuk+ocXWnha6uoNRtLC24mY7d/MwqvBCNw==} + core-js-compat@3.40.0: + resolution: {integrity: sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==} + + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig-typescript-loader@6.1.0: + resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==} + engines: {node: '>=v18'} peerDependencies: - '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 - eslint: ^7.12.1 - eslint-plugin-import: ^2.22.1 - eslint-plugin-node: ^11.1.0 - eslint-plugin-promise: ^4.2.1 || ^5.0.0 - eslint-plugin-vue: ^7.0.0 + '@types/node': '*' + cosmiconfig: '>=9' + typescript: '>=5' + + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' peerDependenciesMeta: - '@vue/cli-service': + typescript: optional: true - dependencies: - eslint: 8.5.0 - eslint-config-standard: 16.0.3(eslint-plugin-import@2.25.3)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.0.0)(eslint@8.5.0) - eslint-import-resolver-node: 0.3.6 - eslint-import-resolver-webpack: 0.13.2(eslint-plugin-import@2.25.3)(webpack@5.70.0) - eslint-plugin-import: 2.25.3(@typescript-eslint/parser@5.8.0)(eslint@8.5.0) - eslint-plugin-node: 11.1.0(eslint@8.5.0) - eslint-plugin-promise: 6.0.0(eslint@8.5.0) - eslint-plugin-vue: 8.2.0(eslint@8.5.0) - transitivePeerDependencies: - - supports-color - - webpack - dev: true - /@vue/reactivity-transform@3.2.33: - resolution: {integrity: sha512-4UL5KOIvSQb254aqenW4q34qMXbfZcmEsV/yVidLUgvwYQQ/D21bGX3DlgPUGI3c4C+iOnNmDCkIxkILoX/Pyw==} - dependencies: - '@babel/parser': 7.17.9 - '@vue/compiler-core': 3.2.33 - '@vue/shared': 3.2.33 - estree-walker: 2.0.2 - magic-string: 0.25.9 + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true - /@vue/reactivity@3.2.33: - resolution: {integrity: sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==} - dependencies: - '@vue/shared': 3.2.33 + crc32-stream@4.0.3: + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} - /@vue/runtime-core@3.2.33: - resolution: {integrity: sha512-N2D2vfaXsBPhzCV3JsXQa2NECjxP3eXgZlFqKh4tgakp3iX6LCGv76DLlc+IfFZq+TW10Y8QUfeihXOupJ1dGw==} - dependencies: - '@vue/reactivity': 3.2.33 - '@vue/shared': 3.2.33 + crc@3.8.0: + resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} - /@vue/runtime-dom@3.2.33: - resolution: {integrity: sha512-LSrJ6W7CZTSUygX5s8aFkraDWlO6K4geOwA3quFF2O+hC3QuAMZt/0Xb7JKE3C4JD4pFwCSO7oCrZmZ0BIJUnw==} - dependencies: - '@vue/runtime-core': 3.2.33 - '@vue/shared': 3.2.33 - csstype: 2.6.20 + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true - /@vue/server-renderer@3.2.33(vue@3.2.33): - resolution: {integrity: sha512-4jpJHRD4ORv8PlbYi+/MfP8ec1okz6rybe36MdpkDrGIdEItHEUyaHSKvz+ptNEyQpALmmVfRteHkU9F8vxOew==} - peerDependencies: - vue: 3.2.33 - dependencies: - '@vue/compiler-ssr': 3.2.33 - '@vue/shared': 3.2.33 - vue: 3.2.33 + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true - /@vue/shared@3.2.31: - resolution: {integrity: sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==} - dev: true + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + dargs@8.1.0: + resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} + engines: {node: '>=12'} - /@vue/shared@3.2.33: - resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==} + debounce-fn@4.0.0: + resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} + engines: {node: '>=10'} - /@vueuse/core@8.3.1(vue@3.2.33): - resolution: {integrity: sha512-WiXUgVyPG9elGx3G8UV8g+zqbEJ2hYacrPICogAxDdW6hnxxcUFdF7FtvDroJ/DxWmo2pg8XNNz07ybfnZyJbw==} + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: - '@vue/composition-api': ^1.1.0 - vue: ^2.6.0 || ^3.2.0 + supports-color: '*' peerDependenciesMeta: - '@vue/composition-api': - optional: true - vue: + supports-color: optional: true - dependencies: - '@vueuse/metadata': 8.3.1 - '@vueuse/shared': 8.3.1(vue@3.2.33) - vue: 3.2.33 - vue-demi: 0.12.4(vue@3.2.33) - /@vueuse/metadata@8.3.1: - resolution: {integrity: sha512-1aZaFL44HzXXkfN6Q7KMDOXBFKTHDClHlOJBxtN8rTBXIIScoGOrJCpxWiQ4kuVg95MzG/pHrd3P4wd8poL9XQ==} - - /@vueuse/shared@8.3.1(vue@3.2.33): - resolution: {integrity: sha512-7HKLCcxp4dtONq6QSSoavblo9riYgqzw7jhqiC0/VUYMXKzqj1G/GznOzTmY8Wi8uKKT197JqjKQ1DKt2j/0+A==} + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} peerDependencies: - '@vue/composition-api': ^1.1.0 - vue: ^2.6.0 || ^3.2.0 + supports-color: '*' peerDependenciesMeta: - '@vue/composition-api': - optional: true - vue: + supports-color: optional: true - dependencies: - vue: 3.2.33 - vue-demi: 0.12.4(vue@3.2.33) - - /@webassemblyjs/ast@1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} - dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - dev: true - /@webassemblyjs/floating-point-hex-parser@1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} - dev: true + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - /@webassemblyjs/helper-api-error@1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} - dev: true + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} - /@webassemblyjs/helper-buffer@1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} - dev: true + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} - /@webassemblyjs/helper-numbers@1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - /@webassemblyjs/helper-wasm-bytecode@1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} - dev: true + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - /@webassemblyjs/helper-wasm-section@1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - dev: true + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} - /@webassemblyjs/ieee754@1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} - dependencies: - '@xtuc/ieee754': 1.2.0 - dev: true + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} - /@webassemblyjs/leb128@1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} - dependencies: - '@xtuc/long': 4.2.2 - dev: true + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} - /@webassemblyjs/utf8@1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} - dev: true + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - /@webassemblyjs/wasm-edit@1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 - dev: true + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} - /@webassemblyjs/wasm-gen@1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - /@webassemblyjs/wasm-opt@1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - dev: true + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} - /@webassemblyjs/wasm-parser@1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} - /@webassemblyjs/wast-printer@1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} - /@wry/equality@0.1.11: - resolution: {integrity: sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==} - dependencies: - tslib: 1.14.1 - dev: true - - /@xml-tools/parser@1.0.11: - resolution: {integrity: sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==} - dependencies: - chevrotain: 7.1.1 - dev: false + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - /@xtuc/ieee754@1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - dev: true + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - /@xtuc/long@4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - dev: true + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - /JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + dir-compare@4.2.0: + resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dmg-builder@25.1.8: + resolution: {integrity: sha512-NoXo6Liy2heSklTI5OIZbCgXC1RzrDQsZkeEwXhdOro3FT1VBOvbubvscdPnjVuQ4AMwwv61oaH96AbiYg9EnQ==} + + dmg-license@1.0.11: + resolution: {integrity: sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==} + engines: {node: '>=8'} + os: [darwin] hasBin: true - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - dev: true - /accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} - /acorn-import-assertions@1.8.0(acorn@8.7.0): - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} - peerDependencies: - acorn: ^8 - dependencies: - acorn: 8.7.0 - dev: true + dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} - /acorn-jsx@5.3.2(acorn@8.7.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.7.0 - dev: true + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} - /acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} + dotenv-expand@11.0.7: + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} + + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} hasBin: true - /acorn@8.7.0: - resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} - engines: {node: '>=0.4.0'} + electron-builder-squirrel-windows@25.1.8: + resolution: {integrity: sha512-2ntkJ+9+0GFP6nAISiMabKt6eqBB0kX1QqHNWFWAXgi0VULKGisM46luRFpIBiU3u/TDmhZMM8tzvo2Abn3ayg==} + + electron-builder@25.1.8: + resolution: {integrity: sha512-poRgAtUHHOnlzZnc9PK4nzG53xh74wj2Jy7jkTrqZ0MWPoHGh1M2+C//hGeYdA+4K8w4yiVCNYoLXF7ySj2Wig==} + engines: {node: '>=14.0.0'} hasBin: true - dev: true - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - dependencies: - debug: 4.3.4(supports-color@9.2.1) - transitivePeerDependencies: - - supports-color - dev: true + electron-publish@25.1.7: + resolution: {integrity: sha512-+jbTkR9m39eDBMP4gfbqglDd6UvBC7RLh5Y0MhFSsc6UkGHj9Vj9TWobxevHYMMqmoujL11ZLjfPpMX+Pt6YEg==} - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: true + electron-store@8.2.0: + resolution: {integrity: sha512-ukLL5Bevdil6oieAOXz3CMy+OgaItMiVBg701MNlG6W5RaC0AHN7rvlqTCmeb6O7jP0Qa1KKYTE0xV0xbhF4Hw==} - /ajv-formats@2.1.1(ajv@8.8.2): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.8.2 - dev: false + electron-to-chromium@1.5.95: + resolution: {integrity: sha512-XNsZaQrgQX+BG37BRQv+E+HcOZlWhqYaDoVVNCws/WrYYdbGrkR1qCDJ2mviBF3flCs6/BTa4O7ANfFTFZk6Dg==} - /ajv-keywords@3.5.2(ajv@6.12.6): - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - dependencies: - ajv: 6.12.6 - dev: true + electron@34.1.1: + resolution: {integrity: sha512-1aDYk9Gsv1/fFeClMrxWGoVMl7uCUgl1pe26BiTnLXmAoqEXCa3f3sCKFWV+cuDzUjQGAZcpkWhGYTgWUSQrLA==} + engines: {node: '>= 12.20.55'} + hasBin: true - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true + electronmon@2.0.3: + resolution: {integrity: sha512-vpsNupi9sCzOCvx8GACbSHKEImkNF2a6pU5Io2yabARbJeQ/8ZuY7t/43LilF6Qw0nZ0MbKQt4sO3x0F3drpQQ==} + engines: {node: '>=10.0.0'} + hasBin: true - /ajv@8.8.2: - resolution: {integrity: sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} - /alphanum-sort@1.0.2: - resolution: {integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=} - dev: false + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - /ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - dependencies: - string-width: 4.2.3 + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - /ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} - /ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - dev: true - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} - /ansi-styles@6.1.0: - resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} - engines: {node: '>=12'} - dev: true + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} - /anymatch@3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true + es-module-lexer@1.6.0: + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} - /apollo-cache-control@0.14.0(graphql@14.7.0): - resolution: {integrity: sha512-qN4BCq90egQrgNnTRMUHikLZZAprf3gbm8rC5Vwmc6ZdLolQ7bFsa769Hqi6Tq/lS31KLsXBLTOsRbfPHph12w==} - engines: {node: '>=6.0'} - deprecated: The functionality provided by the `apollo-cache-control` package is built in to `apollo-server-core` starting with Apollo Server 3. See https://www.apollographql.com/docs/apollo-server/migration/#cachecontrol for details. - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - apollo-server-env: 3.1.0 - apollo-server-plugin-base: 0.13.0(graphql@14.7.0) - graphql: 14.7.0 - transitivePeerDependencies: - - encoding - dev: true + es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - /apollo-datasource@0.9.0: - resolution: {integrity: sha512-y8H99NExU1Sk4TvcaUxTdzfq2SZo6uSj5dyh75XSQvbpH6gdAXIW9MaBcvlNC7n0cVPsidHmOcHOWxJ/pTXGjA==} - engines: {node: '>=6'} - dependencies: - apollo-server-caching: 0.7.0 - apollo-server-env: 3.1.0 - transitivePeerDependencies: - - encoding - dev: true + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true - /apollo-graphql@0.9.6(graphql@14.7.0): - resolution: {integrity: sha512-CrqJxZwfu/U5x0bYYPPluwu1G+oC3jjKFK/EVn9CDcpi4+yD9rAYko/h1iUB5A6VRQhA4Boluc7QexMYQ2tCng==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - peerDependencies: - graphql: ^14.2.1 || ^15.0.0 - dependencies: - core-js-pure: 3.22.2 - graphql: 14.7.0 - lodash.sortby: 4.7.0 - sha.js: 2.4.11 - dev: true - /apollo-link@1.2.14(graphql@14.7.0): - resolution: {integrity: sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==} - peerDependencies: - graphql: ^0.11.3 || ^0.12.3 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - apollo-utilities: 1.3.4(graphql@14.7.0) - graphql: 14.7.0 - ts-invariant: 0.4.4 - tslib: 1.14.1 - zen-observable-ts: 0.8.21 - dev: true + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} - /apollo-reporting-protobuf@0.8.0: - resolution: {integrity: sha512-B3XmnkH6Y458iV6OsA7AhfwvTgeZnFq9nPVjbxmLKnvfkEl8hYADtz724uPa0WeBiD7DSFcnLtqg9yGmCkBohg==} - dependencies: - '@apollo/protobufjs': 1.2.2 - dev: true + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} - /apollo-server-caching@0.7.0: - resolution: {integrity: sha512-MsVCuf/2FxuTFVhGLK13B+TZH9tBd2qkyoXKKILIiGcZ5CDUEBO14vIV63aNkMkS1xxvK2U4wBcuuNj/VH2Mkw==} - engines: {node: '>=6'} - dependencies: - lru-cache: 6.0.0 - dev: true + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} - /apollo-server-core@2.25.3(graphql@14.7.0): - resolution: {integrity: sha512-Midow3uZoJ9TjFNeCNSiWElTVZlvmB7G7tG6PPoxIR9Px90/v16Q6EzunDIO0rTJHRC3+yCwZkwtf8w2AcP0sA==} - engines: {node: '>=6'} + eslint-compat-utils@0.5.1: + resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} + engines: {node: '>=12'} peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - '@apollographql/apollo-tools': 0.5.3(graphql@14.7.0) - '@apollographql/graphql-playground-html': 1.6.27 - '@apollographql/graphql-upload-8-fork': 8.1.3(graphql@14.7.0) - '@josephg/resolvable': 1.0.1 - '@types/ws': 7.4.7 - apollo-cache-control: 0.14.0(graphql@14.7.0) - apollo-datasource: 0.9.0 - apollo-graphql: 0.9.6(graphql@14.7.0) - apollo-reporting-protobuf: 0.8.0 - apollo-server-caching: 0.7.0 - apollo-server-env: 3.1.0 - apollo-server-errors: 2.5.0(graphql@14.7.0) - apollo-server-plugin-base: 0.13.0(graphql@14.7.0) - apollo-server-types: 0.9.0(graphql@14.7.0) - apollo-tracing: 0.15.0(graphql@14.7.0) - async-retry: 1.3.3 - fast-json-stable-stringify: 2.1.0 - graphql: 14.7.0 - graphql-extensions: 0.15.0(graphql@14.7.0) - graphql-tag: 2.12.6(graphql@14.7.0) - graphql-tools: 4.0.8(graphql@14.7.0) - loglevel: 1.8.0 - lru-cache: 6.0.0 - sha.js: 2.4.11 - subscriptions-transport-ws: 0.9.19(graphql@14.7.0) - uuid: 8.3.2 - transitivePeerDependencies: - - bufferutil - - encoding - - utf-8-validate - dev: true - - /apollo-server-env@3.1.0: - resolution: {integrity: sha512-iGdZgEOAuVop3vb0F2J3+kaBVi4caMoxefHosxmgzAbbSpvWehB8Y1QiSyyMeouYC38XNVk5wnZl+jdGSsWsIQ==} - engines: {node: '>=6'} - dependencies: - node-fetch: 2.6.7 - util.promisify: 1.1.1 - transitivePeerDependencies: - - encoding - dev: true + eslint: '>=6.0.0' - /apollo-server-errors@2.5.0(graphql@14.7.0): - resolution: {integrity: sha512-lO5oTjgiC3vlVg2RKr3RiXIIQ5pGXBFxYGGUkKDhTud3jMIhs+gel8L8zsEjKaKxkjHhCQAA/bcEfYiKkGQIvA==} - engines: {node: '>=6'} + eslint-compat-utils@0.6.4: + resolution: {integrity: sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==} + engines: {node: '>=12'} peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - graphql: 14.7.0 - dev: true + eslint: '>=6.0.0' - /apollo-server-express@2.25.3(graphql@14.7.0): - resolution: {integrity: sha512-tTFYn0oKH2qqLwVj7Ez2+MiKleXACODiGh5IxsB7VuYCPMAi9Yl8iUSlwTjQUvgCWfReZjnf0vFL2k5YhDlrtQ==} - engines: {node: '>=6'} + eslint-config-flat-gitignore@1.0.1: + resolution: {integrity: sha512-wjBmJ8TAb67G2or/gBp/H62uCIkDCjpCmlGPSG41/7QagUjMgh+iegVB3gY8eNYhTAmecjKtclT4wGAjHz5yWA==} peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - '@apollographql/graphql-playground-html': 1.6.27 - '@types/accepts': 1.3.5 - '@types/body-parser': 1.19.0 - '@types/cors': 2.8.10 - '@types/express': 4.17.13 - '@types/express-serve-static-core': 4.17.28 - accepts: 1.3.8 - apollo-server-core: 2.25.3(graphql@14.7.0) - apollo-server-types: 0.9.0(graphql@14.7.0) - body-parser: 1.20.0 - cors: 2.8.5 - express: 4.18.0 - graphql: 14.7.0 - graphql-subscriptions: 1.2.1(graphql@14.7.0) - graphql-tools: 4.0.8(graphql@14.7.0) - parseurl: 1.3.3 - subscriptions-transport-ws: 0.9.19(graphql@14.7.0) - type-is: 1.6.18 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: true + eslint: ^9.5.0 - /apollo-server-plugin-base@0.13.0(graphql@14.7.0): - resolution: {integrity: sha512-L3TMmq2YE6BU6I4Tmgygmd0W55L+6XfD9137k+cWEBFu50vRY4Re+d+fL5WuPkk5xSPKd/PIaqzidu5V/zz8Kg==} - engines: {node: '>=6'} + eslint-flat-config-utils@1.1.0: + resolution: {integrity: sha512-W49wz7yQJGRfg4QSV3nwdO/fYcWetiSKhLV5YykfQMcqnIATNpoS7EPdINhLB9P3fmdjNmFtOgZjiKnCndWAnw==} + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-json-compat-utils@0.2.1: + resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} + engines: {node: '>=12'} peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - apollo-server-types: 0.9.0(graphql@14.7.0) - graphql: 14.7.0 - transitivePeerDependencies: - - encoding - dev: true + '@eslint/json': '*' + eslint: '*' + jsonc-eslint-parser: ^2.4.0 + peerDependenciesMeta: + '@eslint/json': + optional: true - /apollo-server-types@0.9.0(graphql@14.7.0): - resolution: {integrity: sha512-qk9tg4Imwpk732JJHBkhW0jzfG0nFsLqK2DY6UhvJf7jLnRePYsPxWfPiNkxni27pLE2tiNlCwoDFSeWqpZyBg==} - engines: {node: '>=6'} + eslint-merge-processors@1.0.0: + resolution: {integrity: sha512-4GybyHmhXtT7/W8RAouQzNM0791sYasJCTYHIAYjuiJvbNFY0jMKkoESREhX+mjX37dxiN6v4EqhZ1nc0tJF7A==} peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - apollo-reporting-protobuf: 0.8.0 - apollo-server-caching: 0.7.0 - apollo-server-env: 3.1.0 - graphql: 14.7.0 - transitivePeerDependencies: - - encoding - dev: true + eslint: '*' - /apollo-tracing@0.15.0(graphql@14.7.0): - resolution: {integrity: sha512-UP0fztFvaZPHDhIB/J+qGuy6hWO4If069MGC98qVs0I8FICIGu4/8ykpX3X3K6RtaQ56EDAWKykCxFv4ScxMeA==} - engines: {node: '>=4.0'} - deprecated: The `apollo-tracing` package is no longer part of Apollo Server 3. See https://www.apollographql.com/docs/apollo-server/migration/#tracing for details + eslint-plugin-antfu@2.7.0: + resolution: {integrity: sha512-gZM3jq3ouqaoHmUNszb1Zo2Ux7RckSvkGksjLWz9ipBYGSv1EwwBETN6AdiUXn+RpVHXTbEMPAPlXJazcA6+iA==} peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - apollo-server-env: 3.1.0 - apollo-server-plugin-base: 0.13.0(graphql@14.7.0) - graphql: 14.7.0 - transitivePeerDependencies: - - encoding - dev: true + eslint: '*' - /apollo-utilities@1.3.4(graphql@14.7.0): - resolution: {integrity: sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==} + eslint-plugin-command@2.1.0: + resolution: {integrity: sha512-S3gvDSCRHLdRG7NYaevLvGA0g/txOju7NEB2di7SE80NtbCwsvpi/fft045YuTZpOzqCRUfuye39raldmpXXYQ==} peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - '@wry/equality': 0.1.11 - fast-json-stable-stringify: 2.1.0 - graphql: 14.7.0 - ts-invariant: 0.4.4 - tslib: 1.14.1 - dev: true + eslint: '*' - /app-builder-bin@4.0.0: - resolution: {integrity: sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==} - dev: true + eslint-plugin-es-x@7.8.0: + resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' - /app-builder-lib@23.1.0: - resolution: {integrity: sha512-aZpKjBBLzyxtr4Cmbyi3dl8uRO8SI2PG2MYEKYRZL6pl7IsKP2hJkCYzlD6NjLJlRIAZcFPFjFbJliO74DFf7w==} - engines: {node: '>=14.0.0'} - dependencies: - 7zip-bin: 5.1.1 - '@develar/schema-utils': 2.6.5 - '@electron/universal': 1.2.1 - '@malept/flatpak-bundler': 0.4.0 - async-exit-hook: 2.0.1 - bluebird-lst: 1.0.9 - builder-util: 23.0.9 - builder-util-runtime: 9.0.2 - chromium-pickle-js: 0.2.0 - debug: 4.3.4(supports-color@9.2.1) - ejs: 3.1.8 - electron-osx-sign: 0.6.0 - electron-publish: 23.0.9 - form-data: 4.0.0 - fs-extra: 10.1.0 - hosted-git-info: 4.1.0 - is-ci: 3.0.1 - isbinaryfile: 4.0.10 - js-yaml: 4.1.0 - lazy-val: 1.0.5 - minimatch: 3.1.2 - read-config-file: 6.2.0 - sanitize-filename: 1.6.3 - semver: 7.3.7 - tar: 6.1.11 - temp-file: 3.4.0 - transitivePeerDependencies: - - supports-color - dev: true + eslint-plugin-import-x@4.6.1: + resolution: {integrity: sha512-wluSUifMIb7UfwWXqx7Yx0lE/SGCcGXECLx/9bCmbY2nneLwvAZ4vkd1IXDjPKFvdcdUgr1BaRnaRpx3k2+Pfw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 - /archive-type@4.0.0: - resolution: {integrity: sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=} - engines: {node: '>=4'} - dependencies: - file-type: 4.4.0 - dev: true + eslint-plugin-jsdoc@50.6.3: + resolution: {integrity: sha512-NxbJyt1M5zffPcYZ8Nb53/8nnbIScmiLAMdoe0/FAszwb7lcSiX3iYBTsuF7RV84dZZJC8r3NghomrUXsmWvxQ==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true + eslint-plugin-jsonc@2.19.1: + resolution: {integrity: sha512-MmlAOaZK1+Lg7YoCZPGRjb88ZjT+ct/KTsvcsbZdBm+w8WMzGx+XEmexk0m40P1WV9G2rFV7X3klyRGRpFXEjA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 + eslint-plugin-n@17.15.1: + resolution: {integrity: sha512-KFw7x02hZZkBdbZEFQduRGH4VkIH4MW97ClsbAM4Y4E6KguBJWGfWG1P4HEIpZk2bkoWf0bojpnjNAhYQP8beA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.23.0' - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + eslint-plugin-no-only-tests@3.3.0: + resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} + engines: {node: '>=5.0.0'} - /arr-diff@4.0.0: - resolution: {integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=} - engines: {node: '>=0.10.0'} - dev: true + eslint-plugin-perfectionist@4.8.0: + resolution: {integrity: sha512-ZF04IAPGItYMlj9xjgvvl/QpksZf79g0dkxbNcuxDjbcUSZ4CwucJ7h5Yzt5JuHe+i6igQbUYEp40j4ndfbvWQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + eslint: '>=8.0.0' - /arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - dev: true + eslint-plugin-regexp@2.7.0: + resolution: {integrity: sha512-U8oZI77SBtH8U3ulZ05iu0qEzIizyEDXd+BWHvyVxTOjGwcDcvy/kEpgFG4DYca2ByRLiVPFZ2GeH7j1pdvZTA==} + engines: {node: ^18 || >=20} + peerDependencies: + eslint: '>=8.44.0' - /arr-union@3.1.0: - resolution: {integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=} - engines: {node: '>=0.10.0'} - dev: true + eslint-plugin-toml@0.12.0: + resolution: {integrity: sha512-+/wVObA9DVhwZB1nG83D2OAQRrcQZXy+drqUnFJKymqnmbnbfg/UPmEMCKrJNcEboUGxUjYrJlgy+/Y930mURQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' - /array-back@3.1.0: - resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} - engines: {node: '>=6'} + eslint-plugin-unicorn@56.0.1: + resolution: {integrity: sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==} + engines: {node: '>=18.18'} + peerDependencies: + eslint: '>=8.56.0' - /array-find@1.0.0: - resolution: {integrity: sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=} - dev: true + eslint-plugin-unused-imports@4.1.4: + resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 + eslint: ^9.0.0 || ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true - /array-flatten@1.1.1: - resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} + eslint-plugin-vue@9.32.0: + resolution: {integrity: sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - /array-ify@1.0.0: - resolution: {integrity: sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=} - dev: true + eslint-plugin-yml@1.16.0: + resolution: {integrity: sha512-t4MNCetPjTn18/fUDlQ/wKkcYjnuLYKChBrZ0qUaNqRigVqChHWzTP8SrfFi5s4keX3vdlkWRSu8zHJMdKwxWQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' - /array-includes@3.1.4: - resolution: {integrity: sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - get-intrinsic: 1.1.1 - is-string: 1.0.7 - dev: true + eslint-processor-vue-blocks@1.0.0: + resolution: {integrity: sha512-q+Wn9bCml65NwYtuINVCE5dUqZa/uVoY4jfc8qEDwWbcGqdRyfJJmAONNZsreA4Q9EJqjYGjk8Hk1QuwAktgkw==} + peerDependencies: + '@vue/compiler-sfc': ^3.3.0 + eslint: ^8.50.0 || ^9.0.0 - /array-union@1.0.2: - resolution: {integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=} - engines: {node: '>=0.10.0'} - dependencies: - array-uniq: 1.0.3 - dev: true + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /array-uniq@1.0.3: - resolution: {integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=} - engines: {node: '>=0.10.0'} - dev: true + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /array-unique@0.3.2: - resolution: {integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=} - engines: {node: '>=0.10.0'} - dev: true + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /array.prototype.flat@1.2.5: - resolution: {integrity: sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - dev: true + eslint@9.19.0: + resolution: {integrity: sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - /arrify@1.0.1: - resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=} + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - dev: true - /arrify@2.0.1: - resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} - engines: {node: '>=8'} - dev: true + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - /asap@2.0.6: - resolution: {integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=} - dev: true + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} - /asar@3.1.0: - resolution: {integrity: sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==} - engines: {node: '>=10.12.0'} - hasBin: true - dependencies: - chromium-pickle-js: 0.2.0 - commander: 5.1.0 - glob: 7.2.3 - minimatch: 3.1.2 - optionalDependencies: - '@types/glob': 7.2.0 - dev: true + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} - /asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - dependencies: - safer-buffer: 2.1.2 - dev: true + exponential-backoff@3.1.2: + resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} - /assert-never@1.2.1: - resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==} - dev: true + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true - /assert-plus@1.0.0: - resolution: {integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=} - engines: {node: '>=0.8'} - dev: true + extsprintf@1.4.1: + resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} + engines: {'0': node >=0.6.0} - /assign-symbols@1.0.0: - resolution: {integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=} - engines: {node: '>=0.10.0'} - dev: true + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /ast-types@0.12.1: - resolution: {integrity: sha512-H2izJAyT2xwew4TxShpmxe6f9R5hHgJQy1QloLiUC2yrJMtyraBWNJL7903rpeCY9keNUipORR/zIUC2XcYKng==} - engines: {node: '>=4'} - dev: true + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} - /ast-types@0.13.3: - resolution: {integrity: sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==} - engines: {node: '>=4'} - dev: true + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - /ast-types@0.14.2: - resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} - engines: {node: '>=4'} - dependencies: - tslib: 2.4.0 - dev: true + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - /astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true + fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} - /async-exit-hook@2.0.1: - resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} - engines: {node: '>=0.12.0'} - dev: true + fastq@1.19.0: + resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==} - /async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} - dependencies: - retry: 0.13.1 - dev: true + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - /async@1.5.2: - resolution: {integrity: sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=} - dev: false + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true - /async@2.6.3: - resolution: {integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==} - dependencies: - lodash: 4.17.21 - dev: false + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} - /async@2.6.4: - resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} - dependencies: - lodash: 4.17.21 - dev: true + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - dev: true + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - /asynckit@0.4.0: - resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} - dev: true + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} - /at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - dev: true + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} - /atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} - /atomically@1.7.0: - resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} - engines: {node: '>=10.12.0'} - dev: false + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} - /autolinker@3.16.2: - resolution: {integrity: sha512-JiYl7j2Z19F9NdTmirENSUUIIL/9MytEWtmzhfmsKPCp9E+G35Y0UNCMoM9tFigxT59qSc8Ml2dlZXOCVTYwuA==} - dependencies: - tslib: 2.4.0 - dev: false + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} - /aws-sign2@0.7.0: - resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=} - dev: true + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - /aws4@1.11.0: - resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} - dev: true + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} - /axios@0.21.4: - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} - dependencies: - follow-redirects: 1.14.9 - transitivePeerDependencies: - - debug - dev: false + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} - /axios@0.26.1: - resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} - dependencies: - follow-redirects: 1.14.9 - transitivePeerDependencies: - - debug - dev: false + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + engines: {node: '>= 6'} - /babel-core@7.0.0-bridge.0(@babel/core@7.16.5): - resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - dev: true + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - /babel-plugin-dynamic-import-node@2.3.3: - resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} - dependencies: - object.assign: 4.1.2 - dev: true + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - /babel-plugin-polyfill-corejs2@0.3.0(@babel/core@7.16.5): - resolution: {integrity: sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.16.4 - '@babel/core': 7.16.5 - '@babel/helper-define-polyfill-provider': 0.3.0(@babel/core@7.16.5) - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} - /babel-plugin-polyfill-corejs3@0.4.0(@babel/core@7.16.5): - resolution: {integrity: sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-define-polyfill-provider': 0.3.0(@babel/core@7.16.5) - core-js-compat: 3.20.1 - transitivePeerDependencies: - - supports-color - dev: true + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} - /babel-plugin-polyfill-regenerator@0.3.0(@babel/core@7.16.5): - resolution: {integrity: sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-define-polyfill-provider': 0.3.0(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - dev: true + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} - /babel-walk@3.0.0-canary-5: - resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} - engines: {node: '>= 10.0.0'} - dependencies: - '@babel/types': 7.17.0 - dev: true + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} - /backo2@1.0.2: - resolution: {integrity: sha1-MasayLEpNjRj41s+u2n038+6eUc=} - dev: true + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] - /base64id@2.0.0: - resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} - engines: {node: ^4.5.0 || >= 5.9} - dev: true + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - /base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.0 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - dev: true - - /basic-auth@2.0.1: - resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} - engines: {node: '>= 0.8'} - dependencies: - safe-buffer: 5.1.2 - dev: false + gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. - /bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} - dependencies: - tweetnacl: 0.14.5 - dev: true + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} - /big-integer@1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} - engines: {node: '>=0.6'} - dev: false + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + engines: {node: '>=18'} - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} - dev: true - /binary@0.3.0: - resolution: {integrity: sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=} - dependencies: - buffers: 0.1.1 - chainsaw: 0.1.0 - dev: false + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} - /bl@1.2.3: - resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} - dependencies: - readable-stream: 2.3.7 - safe-buffer: 5.2.1 - dev: true + get-tsconfig@4.10.0: + resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} - /bluebird-lst@1.0.9: - resolution: {integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==} - dependencies: - bluebird: 3.7.2 - dev: true + giget@1.2.4: + resolution: {integrity: sha512-Wv+daGyispVoA31TrWAVR+aAdP7roubTPEM/8JzRnqXhLbdJH0T9eQyXVFF8fjk3WKTsctII6QcyxILYgNp2DA==} + hasBin: true - /bluebird@3.4.7: - resolution: {integrity: sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=} - dev: false + git-raw-commits@4.0.0: + resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} + engines: {node: '>=16'} + hasBin: true - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - dev: true + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - /body-parser@1.19.1: - resolution: {integrity: sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.1 - content-type: 1.0.4 - debug: 2.6.9 - depd: 1.1.2 - http-errors: 1.8.1 - iconv-lite: 0.4.24 - on-finished: 2.3.0 - qs: 6.9.6 - raw-body: 2.4.2 - type-is: 1.6.18 - transitivePeerDependencies: - - supports-color + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} - /body-parser@1.20.0: - resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dependencies: - bytes: 3.1.2 - content-type: 1.0.4 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.10.3 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} - /boolbase@1.0.0: - resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} - dev: false + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true - /boolean@3.1.4: - resolution: {integrity: sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==} - requiresBuild: true - dev: true - optional: true + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported - /boxen@4.2.0: - resolution: {integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==} - engines: {node: '>=8'} - dependencies: - ansi-align: 3.0.1 - camelcase: 5.3.1 - chalk: 3.0.0 - cli-boxes: 2.2.1 - string-width: 4.2.3 - term-size: 2.2.1 - type-fest: 0.8.1 - widest-line: 3.1.0 - dev: true + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported - /boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} - dependencies: - ansi-align: 3.0.1 - camelcase: 6.2.1 - chalk: 4.1.2 - cli-boxes: 2.2.1 - string-width: 4.2.3 - type-fest: 0.20.2 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 + global-agent@3.0.0: + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} - /braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 + globals@15.14.0: + resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} + engines: {node: '>=18'} - /browserslist@4.20.2: - resolution: {integrity: sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001327 - electron-to-chromium: 1.4.87 - escalade: 3.1.1 - node-releases: 2.0.2 - picocolors: 1.0.0 + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} - /buffer-alloc-unsafe@1.1.0: - resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} - dev: true + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} - /buffer-alloc@1.2.0: - resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} - dependencies: - buffer-alloc-unsafe: 1.1.0 - buffer-fill: 1.0.0 - dev: true + got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} - /buffer-crc32@0.2.13: - resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} - dev: true + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - /buffer-equal@1.0.0: - resolution: {integrity: sha1-WWFrSYME1Var1GaWayLu2j7KX74=} - engines: {node: '>=0.4.0'} - dev: true + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - /buffer-fill@1.0.0: - resolution: {integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw=} - dev: true + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} - /buffer-indexof-polyfill@1.0.2: - resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==} - engines: {node: '>=0.10'} - dev: false + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - /buffers@0.1.1: - resolution: {integrity: sha1-skV5w77U1tOWru5tmorn9Ugqt7s=} - engines: {node: '>=0.2.0'} - dev: false + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} - /builder-util-runtime@9.0.2: - resolution: {integrity: sha512-xF55W/8mgfT6+sMbX0TeiJkTusA5GMOzckM4rajN4KirFcUIuLTH8oEaTYmM86YwVCZaTwa/7GyFhauXaEICwA==} - engines: {node: '>=12.0.0'} - dependencies: - debug: 4.3.4(supports-color@9.2.1) - sax: 1.2.4 - transitivePeerDependencies: - - supports-color - dev: true + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - /builder-util@23.0.9: - resolution: {integrity: sha512-ccPFwI1Sex4yLt8R3LI+H07p2jHICKwEWtxkFkb6jiU/g/VJnF1wazW7I1oMcCFcPTEl30GhqoRv9rfDD9VAiQ==} - dependencies: - 7zip-bin: 5.1.1 - '@types/debug': 4.1.7 - '@types/fs-extra': 9.0.13 - app-builder-bin: 4.0.0 - bluebird-lst: 1.0.9 - builder-util-runtime: 9.0.2 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@9.2.1) - fs-extra: 10.1.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-ci: 3.0.1 - js-yaml: 4.1.0 - source-map-support: 0.5.21 - stat-mode: 1.0.0 - temp-file: 3.4.0 - transitivePeerDependencies: - - supports-color - dev: true + hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} - /builtins@1.0.3: - resolution: {integrity: sha1-y5T662HIaWRR2zZTThQi+U8K7og=} - dev: true + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - /bumpp@7.1.1: - resolution: {integrity: sha512-pAGjraw9T4I4dnkiQHrKUVQb55dOM5Nj72SVtVlkjFjWjFtg0aSgipQuxDWZ0cqm8WoqtaiBPk+7jHfnZxr7lA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@jsdevtools/ez-spawn': 3.0.4 - chalk: 4.1.2 - command-line-args: 5.2.0 - globby: 11.0.4 - prompts: 2.4.2 - semver: 7.3.5 + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} - /busboy@0.3.1: - resolution: {integrity: sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==} - engines: {node: '>=4.5.0'} - dependencies: - dicer: 0.3.0 - dev: true + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} - /bytes@3.0.0: - resolution: {integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=} - engines: {node: '>= 0.8'} - dev: false + http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} - /bytes@3.1.1: - resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} - engines: {node: '>= 0.8'} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} - /bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + iconv-corefoundation@1.1.7: + resolution: {integrity: sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==} + engines: {node: ^8.11.2 || >=10} + os: [darwin] - /cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.0 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - dev: true - - /cacheable-request@2.1.4: - resolution: {integrity: sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=} - dependencies: - clone-response: 1.0.2 - get-stream: 3.0.0 - http-cache-semantics: 3.8.1 - keyv: 3.0.0 - lowercase-keys: 1.0.0 - normalize-url: 2.0.1 - responselike: 1.0.2 - dev: true - - /cacheable-request@6.1.0: - resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore-by-default@1.0.1: + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-from@3.0.0: + resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} engines: {node: '>=8'} - dependencies: - clone-response: 1.0.2 - get-stream: 5.2.0 - http-cache-semantics: 4.1.0 - keyv: 3.1.0 - lowercase-keys: 2.0.0 - normalize-url: 4.5.1 - responselike: 1.0.2 - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.1.1 + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} - /call-me-maybe@1.0.1: - resolution: {integrity: sha1-JtII6onje1y95gJQoV8DHBak1ms=} + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} - /caller-callsite@2.0.0: - resolution: {integrity: sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=} - engines: {node: '>=4'} - dependencies: - callsites: 2.0.0 - dev: false + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} - /caller-path@2.0.0: - resolution: {integrity: sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=} - engines: {node: '>=4'} - dependencies: - caller-callsite: 2.0.0 - dev: false + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - /callsites@2.0.0: - resolution: {integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=} - engines: {node: '>=4'} - dev: false + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - /camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - dev: true - /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} - dev: true - /camelcase@6.2.1: - resolution: {integrity: sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==} - engines: {node: '>=10'} + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true - /caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - dependencies: - browserslist: 4.20.2 - caniuse-lite: 1.0.30001327 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - dev: false + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} - /caniuse-lite@1.0.30001327: - resolution: {integrity: sha512-1/Cg4jlD9qjZzhbzkzEaAC2JHsP0WrOc8Rd/3a3LuajGzGWR/hD7TVyvq99VqmTy99eVh8Zkmdq213OgvgXx7w==} + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} - /caseless@0.12.0: - resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=} - dev: true + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} - /caw@2.0.1: - resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} - engines: {node: '>=4'} - dependencies: - get-proxy: 2.1.0 - isurl: 1.0.0 - tunnel-agent: 0.6.0 - url-to-options: 1.0.1 - dev: true + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} - /chainsaw@0.1.0: - resolution: {integrity: sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=} - dependencies: - traverse: 0.3.9 - dev: false + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} - /chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - /character-parser@2.2.0: - resolution: {integrity: sha1-x84o821LzZdE5f/CxfzeHHMmH8A=} - dependencies: - is-regex: 1.1.4 + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} - /cheerio-select@1.5.0: - resolution: {integrity: sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==} - dependencies: - css-select: 4.2.1 - css-what: 5.1.0 - domelementtype: 2.2.0 - domhandler: 4.3.0 - domutils: 2.8.0 - dev: false + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - /cheerio@1.0.0-rc.10: - resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} - engines: {node: '>= 6'} - dependencies: - cheerio-select: 1.5.0 - dom-serializer: 1.3.2 - domhandler: 4.3.0 - htmlparser2: 6.1.0 - parse5: 6.0.1 - parse5-htmlparser2-tree-adapter: 6.0.1 - tslib: 2.3.1 - dev: false + is-text-path@2.0.0: + resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} + engines: {node: '>=8'} - /chevrotain@4.1.1: - resolution: {integrity: sha512-NQky1HQyiAzxsxpq4Ppt47SYO2U3JLtmfs85QPf3kYSzGBjjp5AA8kqjH8hCjGFRpaQ781QOk1ragQIOkBgUTA==} - dependencies: - regexp-to-ast: 0.3.5 - dev: false + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} - /chevrotain@6.5.0: - resolution: {integrity: sha512-BwqQ/AgmKJ8jcMEjaSnfMybnKMgGTrtDKowfTP3pX4jwVy0kNjRsT/AP6h+wC3+3NC+X8X15VWBnTCQlX+wQFg==} - dependencies: - regexp-to-ast: 0.4.0 - dev: false + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - /chevrotain@7.1.1: - resolution: {integrity: sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==} - dependencies: - regexp-to-ast: 0.5.0 - dev: false + isbinaryfile@4.0.10: + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.2 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true + isbinaryfile@5.0.4: + resolution: {integrity: sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==} + engines: {node: '>= 18.0.0'} - /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} engines: {node: '>=10'} - dev: true + hasBin: true - /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} - engines: {node: '>=6.0'} - dev: true + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true - /chromium-pickle-js@0.2.0: - resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} - dev: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true - /ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /ci-info@3.3.2: - resolution: {integrity: sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==} - dev: true + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true - /class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 - dev: true + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} - /cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} + hasBin: true - /cli-cursor@2.1.0: - resolution: {integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=} - engines: {node: '>=4'} - dependencies: - restore-cursor: 2.0.0 - dev: true + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - /cli-spinners@2.6.1: - resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} - engines: {node: '>=6'} - dev: true + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 - dev: true + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - /cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - slice-ansi: 5.0.0 - string-width: 5.0.1 - dev: true + json-schema-typed@7.0.3: + resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: true + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - /clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - dev: true + hasBin: true - /clone-response@1.0.2: - resolution: {integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=} - dependencies: - mimic-response: 1.0.1 + jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /clone@1.0.4: - resolution: {integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=} - engines: {node: '>=0.8'} - dev: true + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - /clone@2.1.2: - resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=} - engines: {node: '>=0.8'} - dev: true + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - /cmd-shim@3.0.3: - resolution: {integrity: sha512-DtGg+0xiFhQIntSBRzL2fRQBnmtAVwXIDo4Qq46HPpObYquxMaZS4sb82U9nH91qJrlosC1wa9gwr0QyL/HypA==} - dependencies: - graceful-fs: 4.2.9 - mkdirp: 0.5.5 - dev: true + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - /coa@2.0.2: - resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} - engines: {node: '>= 4.0'} - dependencies: - '@types/q': 1.5.5 - chalk: 2.4.2 - q: 1.5.1 - dev: false + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} - /codemirror-textmate@1.1.0(codemirror@5.65.7)(onigasm@2.2.5): - resolution: {integrity: sha512-c7Xov3X5eIKiPrKjfCS8RPZyFx6EYXT1EPtTEl2jAD2HuD9uLqJF6z+KoPT8H51rOB+KamEOZDVUrI8YEnsphw==} - peerDependencies: - codemirror: ^5.41.0 - onigasm: ^2.2.1 - dependencies: - codemirror: 5.65.7 - lru-cache: 4.1.5 - monaco-textmate: 3.0.1(onigasm@2.2.5) - onigasm: 2.2.5 - p-cancelable: 1.1.0 - dev: false - - /codemirror@5.65.7: - resolution: {integrity: sha512-zb67cXzgugIQmb6tfD4G11ILjYoMfTjwcjn+cWsa4GewlI2adhR/h3kolkoCQTm1msD/1BuqVTKuO09ELsS++A==} - dev: false - - /collection-visit@1.0.0: - resolution: {integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=} - engines: {node: '>=0.10.0'} - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - dev: true + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 + lazy-val@1.0.5: + resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} - /color-name@1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} - /color-string@1.9.0: - resolution: {integrity: sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==} - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - dev: false + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} - /color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} - dependencies: - color-convert: 1.9.3 - color-string: 1.9.0 - dev: false + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - /colorette@2.0.16: - resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==} - dev: true + lint-staged@15.4.3: + resolution: {integrity: sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==} + engines: {node: '>=18.12.0'} + hasBin: true - /colors@1.0.3: - resolution: {integrity: sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=} - engines: {node: '>=0.1.90'} - dev: true + listr2@8.2.5: + resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==} + engines: {node: '>=18.0.0'} - /colors@1.1.2: - resolution: {integrity: sha1-FopHAXVran9RoSzgyXv6KMCE7WM=} - engines: {node: '>=0.1.90'} - dev: false + local-pkg@1.0.0: + resolution: {integrity: sha512-bbgPw/wmroJsil/GgL4qjDzs5YLTBMQ99weRsok1XCDccQeehbHA/I1oRvk2NPtr7KGZgT/Y5tPRnAtMqeG2Kg==} + engines: {node: '>=14'} - /colors@1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: true + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} - /command-line-args@5.2.0: - resolution: {integrity: sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A==} - engines: {node: '>=4.0.0'} - dependencies: - array-back: 3.1.0 - find-replace: 3.0.0 - lodash.camelcase: 4.3.0 - typical: 4.0.0 + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} - /commander@1.0.0: - resolution: {integrity: sha1-XmqI5wcP9ZCINurRkWlUjDD5C80=} - engines: {node: '>= 0.4.x'} - dev: true + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - /commander@2.9.0: - resolution: {integrity: sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==} - engines: {node: '>= 0.6.x'} - dependencies: - graceful-readlink: 1.0.1 - dev: true + lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - /commander@3.0.2: - resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} - dev: false + lodash.difference@4.5.0: + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} - /commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} - dev: true + lodash.flatten@4.4.0: + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - dev: false + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - /commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} + lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} - /commondir@1.0.1: - resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} - dev: true + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - /compare-func@2.0.0: - resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} - dependencies: - array-ify: 1.0.0 - dot-prop: 5.3.0 - dev: true + lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - /compare-version@0.1.2: - resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} - engines: {node: '>=0.10.0'} - dev: true + lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} - /component-emitter@1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} - dev: true + lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - /compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false + lodash.union@4.6.0: + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - /compression@1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} - dependencies: - accepts: 1.3.8 - bytes: 3.0.0 - compressible: 2.0.18 - debug: 2.6.9 - on-headers: 1.0.2 - safe-buffer: 5.1.2 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: false + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - /concat-map@0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + lodash.upperfirst@4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} - /concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.7 - typedarray: 0.0.6 - dev: true + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /conf@10.1.1: - resolution: {integrity: sha512-z2civwq/k8TMYtcn3SVP0Peso4otIWnHtcTuHhQ0zDZDdP4NTxqEc8owfkz4zBsdMYdn/LFcE+ZhbCeqkhtq3Q==} - engines: {node: '>=12'} - dependencies: - ajv: 8.8.2 - ajv-formats: 2.1.1(ajv@8.8.2) - atomically: 1.7.0 - debounce-fn: 4.0.0 - dot-prop: 6.0.1 - env-paths: 2.2.1 - json-schema-typed: 7.0.3 - onetime: 5.1.2 - pkg-up: 3.1.0 - semver: 7.3.5 - dev: false + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} - /config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - requiresBuild: true - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - dev: true + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} - /configstore@5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} - dependencies: - dot-prop: 5.3.0 - graceful-fs: 4.2.10 - make-dir: 3.1.0 - unique-string: 2.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 4.0.0 + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - /connect-pause@0.1.1: - resolution: {integrity: sha1-smmyu4Ldsaw9tQmcD7WCq6mfs3o=} - dev: false + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} - /constantinople@4.0.1: - resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} - dependencies: - '@babel/parser': 7.17.9 - '@babel/types': 7.17.0 - dev: true + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - /content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - dependencies: - safe-buffer: 5.2.1 + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} - /content-type@1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} - engines: {node: '>= 0.6'} + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} - /conventional-changelog-angular@5.0.13: - resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} - engines: {node: '>=10'} - dependencies: - compare-func: 2.0.0 - q: 1.5.1 - dev: true + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - /conventional-changelog-conventionalcommits@4.6.2: - resolution: {integrity: sha512-fo+VhM0VtD3wdHZtrPhgvTFjAhAMUjYeQV6B5+DB/cupG1O554pJdTwrvBInq8JLHl+GucKQpZycMPye/OpgSw==} - engines: {node: '>=10'} - dependencies: - compare-func: 2.0.0 - lodash: 4.17.21 - q: 1.5.1 - dev: true + make-fetch-happen@10.2.1: + resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - /conventional-commits-parser@3.2.3: - resolution: {integrity: sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==} + matcher@3.0.0: + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} engines: {node: '>=10'} - hasBin: true - dependencies: - JSONStream: 1.3.5 - is-text-path: 1.0.1 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 - dev: true - /convert-source-map@1.8.0: - resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} - dependencies: - safe-buffer: 5.1.2 - dev: true + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - /cookie-signature@1.0.6: - resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - /cookie@0.4.1: - resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} - engines: {node: '>= 0.6'} + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - /cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} - dev: true + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - dev: true + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} - /copy-descriptor@0.1.1: - resolution: {integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=} - engines: {node: '>=0.10.0'} - dev: true + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - /copyfiles@2.4.1: - resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} - hasBin: true - dependencies: - glob: 7.2.3 - minimatch: 3.1.2 - mkdirp: 1.0.4 - noms: 0.0.0 - through2: 2.0.5 - untildify: 4.0.0 - yargs: 16.2.0 - dev: true + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - /core-js-compat@3.20.1: - resolution: {integrity: sha512-AVhKZNpqMV3Jz8hU0YEXXE06qoxtQGsAqU0u1neUngz5IusDJRX/ZJ6t3i7mS7QxNyEONbCo14GprkBrxPlTZA==} - dependencies: - browserslist: 4.20.2 - semver: 7.0.0 - dev: true + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} - /core-js-pure@3.22.2: - resolution: {integrity: sha512-Lb+/XT4WC4PaCWWtZpNPaXmjiNDUe5CJuUtbkMrIM1kb1T/jJoAIp+bkVP/r5lHzMr+ZAAF8XHp7+my6Ol0ysQ==} - requiresBuild: true - dev: true + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - /core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: true + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} - /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - /cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 + meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} - /cosmiconfig@5.2.1: - resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} - engines: {node: '>=4'} - dependencies: - import-fresh: 2.0.0 - is-directory: 0.3.1 - js-yaml: 3.14.1 - parse-json: 4.0.0 - dev: false + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - /cosmiconfig@7.0.1: - resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} - engines: {node: '>=10'} - dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - dev: true + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} - /crc@3.8.0: - resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} - requiresBuild: true - dependencies: - buffer: 5.7.1 - dev: true - optional: true + micromark-core-commonmark@2.0.2: + resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} - /cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} - hasBin: true - dependencies: - cross-spawn: 7.0.3 - dev: false + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - /cross-spawn@5.1.0: - resolution: {integrity: sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=} - dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 - dev: true + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - /cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.1 - shebang-command: 1.2.0 - which: 1.3.1 - dev: true + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - /crypto-js@4.1.1: - resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} - dev: false + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - /crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - /css-color-names@0.0.4: - resolution: {integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=} - dev: false + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - /css-declaration-sorter@4.0.1: - resolution: {integrity: sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==} - engines: {node: '>4'} - dependencies: - postcss: 7.0.39 - timsort: 0.3.0 - dev: false + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - /css-select-base-adapter@0.1.1: - resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} - dev: false + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} - /css-select@2.1.0: - resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} - dependencies: - boolbase: 1.0.0 - css-what: 3.4.2 - domutils: 1.7.0 - nth-check: 1.0.2 - dev: false + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - /css-select@4.2.1: - resolution: {integrity: sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==} - dependencies: - boolbase: 1.0.0 - css-what: 5.1.0 - domhandler: 4.3.0 - domutils: 2.8.0 - nth-check: 2.0.1 - dev: false - - /css-tree@1.0.0-alpha.28: - resolution: {integrity: sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==} - engines: {node: '>=0.10.0'} - dependencies: - mdn-data: 1.1.4 - source-map: 0.5.7 - dev: false + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - /css-tree@1.0.0-alpha.29: - resolution: {integrity: sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==} - engines: {node: '>=0.10.0'} - dependencies: - mdn-data: 1.1.4 - source-map: 0.5.7 - dev: false + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - /css-tree@1.0.0-alpha.37: - resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} - engines: {node: '>=8.0.0'} - dependencies: - mdn-data: 2.0.4 - source-map: 0.6.1 - dev: false + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - /css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} - dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 - dev: false + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - /css-url-regex@1.1.0: - resolution: {integrity: sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=} - dev: false + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - /css-what@3.4.2: - resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} - engines: {node: '>= 6'} - dev: false + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - /css-what@5.1.0: - resolution: {integrity: sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==} - engines: {node: '>= 6'} - dev: false + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - dev: false + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - /cssfilter@0.0.10: - resolution: {integrity: sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=} - dev: true + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - /cssnano-preset-default@4.0.8: - resolution: {integrity: sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==} - engines: {node: '>=6.9.0'} - dependencies: - css-declaration-sorter: 4.0.1 - cssnano-util-raw-cache: 4.0.1 - postcss: 7.0.39 - postcss-calc: 7.0.5 - postcss-colormin: 4.0.3 - postcss-convert-values: 4.0.1 - postcss-discard-comments: 4.0.2 - postcss-discard-duplicates: 4.0.2 - postcss-discard-empty: 4.0.1 - postcss-discard-overridden: 4.0.1 - postcss-merge-longhand: 4.0.11 - postcss-merge-rules: 4.0.3 - postcss-minify-font-values: 4.0.2 - postcss-minify-gradients: 4.0.2 - postcss-minify-params: 4.0.2 - postcss-minify-selectors: 4.0.2 - postcss-normalize-charset: 4.0.1 - postcss-normalize-display-values: 4.0.2 - postcss-normalize-positions: 4.0.2 - postcss-normalize-repeat-style: 4.0.2 - postcss-normalize-string: 4.0.2 - postcss-normalize-timing-functions: 4.0.2 - postcss-normalize-unicode: 4.0.1 - postcss-normalize-url: 4.0.1 - postcss-normalize-whitespace: 4.0.2 - postcss-ordered-values: 4.1.2 - postcss-reduce-initial: 4.0.3 - postcss-reduce-transforms: 4.0.2 - postcss-svgo: 4.0.3 - postcss-unique-selectors: 4.0.1 - dev: false - - /cssnano-util-get-arguments@4.0.0: - resolution: {integrity: sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=} - engines: {node: '>=6.9.0'} - dev: false + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - /cssnano-util-get-match@4.0.0: - resolution: {integrity: sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=} - engines: {node: '>=6.9.0'} - dev: false + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - /cssnano-util-raw-cache@4.0.1: - resolution: {integrity: sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==} - engines: {node: '>=6.9.0'} - dependencies: - postcss: 7.0.39 - dev: false + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - /cssnano-util-same-parent@4.0.1: - resolution: {integrity: sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==} - engines: {node: '>=6.9.0'} - dev: false + micromark-util-subtokenize@2.0.4: + resolution: {integrity: sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==} - /cssnano@4.1.11: - resolution: {integrity: sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==} - engines: {node: '>=6.9.0'} - dependencies: - cosmiconfig: 5.2.1 - cssnano-preset-default: 4.0.8 - is-resolvable: 1.1.0 - postcss: 7.0.39 - dev: false + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - /csso@3.5.1: - resolution: {integrity: sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==} - engines: {node: '>=0.10.0'} - dependencies: - css-tree: 1.0.0-alpha.29 - dev: false + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} - /csso@4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} - dependencies: - css-tree: 1.1.3 - dev: false + micromark@4.0.1: + resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} - /csstype@2.6.20: - resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} - /csv-parser@1.12.1: - resolution: {integrity: sha512-r45M92nLnGP246ot0Yo5RvbiiMF5Bw/OTIdWJ3OQ4Vbv4hpOeoXVIPxdSmUw+fPJlQOseY+iigJyLSfPMIrddQ==} + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} hasBin: true - dependencies: - buffer-alloc: 1.2.0 - buffer-from: 1.1.2 - generate-function: 1.1.0 - generate-object-property: 1.2.0 - inherits: 2.0.4 - minimist: 1.2.6 - ndjson: 1.5.0 - dev: true - /d3-array@1.2.4: - resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==} - dev: false + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@3.1.0: + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} - /d3-array@3.2.0: - resolution: {integrity: sha512-3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g==} + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - dependencies: - internmap: 2.0.3 - dev: false - /d3-axis@1.0.12: - resolution: {integrity: sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==} - dev: false + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} - /d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - dev: false + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} - /d3-brush@1.1.6: - resolution: {integrity: sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==} - dependencies: - d3-dispatch: 1.0.6 - d3-drag: 1.2.5 - d3-interpolate: 1.4.0 - d3-selection: 1.4.2 - d3-transition: 1.3.2 - dev: false + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} - /d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - dev: false + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} - /d3-chord@1.0.6: - resolution: {integrity: sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==} - dependencies: - d3-array: 1.2.4 - d3-path: 1.0.9 - dev: false + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} - /d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} - dependencies: - d3-path: 3.0.1 - dev: false + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} - /d3-collection@1.0.7: - resolution: {integrity: sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==} - dev: false + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} - /d3-color@1.4.1: - resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==} - dev: false + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - /d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - dev: false + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} - /d3-contour@1.3.2: - resolution: {integrity: sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==} - dependencies: - d3-array: 1.2.4 - dev: false + minipass-fetch@2.1.2: + resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - /d3-contour@4.0.0: - resolution: {integrity: sha512-7aQo0QHUTu/Ko3cP9YK9yUTxtoDEiDGwnBHyLxG5M4vqlBkO/uixMRele3nfsfj6UXOcuReVpVXzAboGraYIJw==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.0 - dev: false + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} - /d3-delaunay@6.0.2: - resolution: {integrity: sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==} - engines: {node: '>=12'} - dependencies: - delaunator: 5.0.0 - dev: false + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} - /d3-dispatch@1.0.6: - resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==} - dev: false + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} - /d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} - dev: false + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} - /d3-drag@1.2.5: - resolution: {integrity: sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==} - dependencies: - d3-dispatch: 1.0.6 - d3-selection: 1.4.2 - dev: false + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} - /d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} - dependencies: - d3-dispatch: 3.0.1 - d3-selection: 3.0.0 - dev: false + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} - /d3-dsv@1.2.0: - resolution: {integrity: sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==} - hasBin: true - dependencies: - commander: 2.20.3 - iconv-lite: 0.4.24 - rw: 1.3.3 - dev: false + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} - /d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true - dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 - rw: 1.3.3 - dev: false + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - /d3-ease@1.0.7: - resolution: {integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==} - dev: false + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true - /d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - dev: false + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} - /d3-fetch@1.2.0: - resolution: {integrity: sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==} - dependencies: - d3-dsv: 1.2.0 - dev: false + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} - dependencies: - d3-dsv: 3.0.1 - dev: false + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - /d3-flextree@2.1.2: - resolution: {integrity: sha512-gJiHrx5uTTHq44bjyIb3xpbmmdZcWLYPKeO9EPVOq8EylMFOiH2+9sWqKAiQ4DcFuOZTAxPOQyv0Rnmji/g15A==} - dependencies: - d3-hierarchy: 1.1.9 - dev: false + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true - /d3-force@1.2.1: - resolution: {integrity: sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==} - dependencies: - d3-collection: 1.0.7 - d3-dispatch: 1.0.6 - d3-quadtree: 1.0.7 - d3-timer: 1.0.10 - dev: false + napi-build-utils@2.0.0: + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} - /d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} - dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 - dev: false + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - /d3-format@1.4.5: - resolution: {integrity: sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==} - dev: false + natural-orderby@5.0.0: + resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} + engines: {node: '>=18'} - /d3-format@3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} - engines: {node: '>=12'} - dev: false + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} - /d3-geo@1.12.1: - resolution: {integrity: sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==} - dependencies: - d3-array: 1.2.4 - dev: false + node-abi@3.74.0: + resolution: {integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==} + engines: {node: '>=10'} - /d3-geo@3.0.1: - resolution: {integrity: sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.0 - dev: false + node-addon-api@1.7.2: + resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==} - /d3-hierarchy@1.1.9: - resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==} - dev: false + node-api-version@0.2.0: + resolution: {integrity: sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg==} - /d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - dev: false + node-fetch-native@1.6.6: + resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} - /d3-interpolate@1.4.0: - resolution: {integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==} - dependencies: - d3-color: 1.4.1 - dev: false + node-gyp@9.4.1: + resolution: {integrity: sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==} + engines: {node: ^12.13 || ^14.13 || >=16} + hasBin: true - /d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} - dependencies: - d3-color: 3.1.0 - dev: false + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - /d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - dev: false + nodemon@3.1.9: + resolution: {integrity: sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg==} + engines: {node: '>=10'} + hasBin: true - /d3-path@3.0.1: - resolution: {integrity: sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==} - engines: {node: '>=12'} - dev: false + nopt@6.0.0: + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true - /d3-polygon@1.0.6: - resolution: {integrity: sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==} - dev: false + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - /d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - dev: false + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} - /d3-quadtree@1.0.7: - resolution: {integrity: sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==} - dev: false + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} - /d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - dev: false + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} - /d3-random@1.1.2: - resolution: {integrity: sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==} - dev: false + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} - /d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - dev: false + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - /d3-scale-chromatic@1.5.0: - resolution: {integrity: sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==} - dependencies: - d3-color: 1.4.1 - d3-interpolate: 1.4.0 - dev: false + npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. - /d3-scale-chromatic@3.0.0: - resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} - engines: {node: '>=12'} - dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 - dev: false + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - /d3-scale@2.2.2: - resolution: {integrity: sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==} - dependencies: - d3-array: 1.2.4 - d3-collection: 1.0.7 - d3-format: 1.4.5 - d3-interpolate: 1.4.0 - d3-time: 1.1.0 - d3-time-format: 2.3.0 - dev: false + nypm@0.5.2: + resolution: {integrity: sha512-AHzvnyUJYSrrphPhRWWZNcoZfArGNp3Vrc4pm/ZurO74tYNTgAPrEyBQEKy+qioqmWlPXwvMZCG2wOaHlPG0Pw==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true - /d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.0 - d3-format: 3.1.0 - d3-interpolate: 3.0.1 - d3-time: 3.0.0 - d3-time-format: 4.1.0 - dev: false + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} - /d3-selection@1.4.2: - resolution: {integrity: sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==} - dev: false + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} - /d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} - dev: false + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} - /d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - dependencies: - d3-path: 1.0.9 - dev: false + ohash@1.1.4: + resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} - /d3-shape@3.1.0: - resolution: {integrity: sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==} - engines: {node: '>=12'} - dependencies: - d3-path: 3.0.1 - dev: false + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - /d3-time-format@2.3.0: - resolution: {integrity: sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==} - dependencies: - d3-time: 1.1.0 - dev: false + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} - /d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - dependencies: - d3-time: 3.0.0 - dev: false - /d3-time@1.1.0: - resolution: {integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==} - dev: false + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} - /d3-time@3.0.0: - resolution: {integrity: sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.0 - dev: false + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} - /d3-timer@1.0.10: - resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==} - dev: false + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} - /d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - dev: false + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} - /d3-transition@1.3.2: - resolution: {integrity: sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==} - dependencies: - d3-color: 1.4.1 - d3-dispatch: 1.0.6 - d3-ease: 1.0.7 - d3-interpolate: 1.4.0 - d3-selection: 1.4.2 - d3-timer: 1.0.10 - dev: false + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} - /d3-transition@3.0.1(d3-selection@3.0.0): - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 - dependencies: - d3-color: 3.1.0 - d3-dispatch: 3.0.1 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-timer: 3.0.1 - dev: false - - /d3-voronoi@1.1.4: - resolution: {integrity: sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==} - dev: false - - /d3-zoom@1.8.3: - resolution: {integrity: sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==} - dependencies: - d3-dispatch: 1.0.6 - d3-drag: 1.2.5 - d3-interpolate: 1.4.0 - d3-selection: 1.4.2 - d3-transition: 1.3.2 - dev: false - - /d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - dev: false - - /d3@5.16.0: - resolution: {integrity: sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==} - dependencies: - d3-array: 1.2.4 - d3-axis: 1.0.12 - d3-brush: 1.1.6 - d3-chord: 1.0.6 - d3-collection: 1.0.7 - d3-color: 1.4.1 - d3-contour: 1.3.2 - d3-dispatch: 1.0.6 - d3-drag: 1.2.5 - d3-dsv: 1.2.0 - d3-ease: 1.0.7 - d3-fetch: 1.2.0 - d3-force: 1.2.1 - d3-format: 1.4.5 - d3-geo: 1.12.1 - d3-hierarchy: 1.1.9 - d3-interpolate: 1.4.0 - d3-path: 1.0.9 - d3-polygon: 1.0.6 - d3-quadtree: 1.0.7 - d3-random: 1.1.2 - d3-scale: 2.2.2 - d3-scale-chromatic: 1.5.0 - d3-selection: 1.4.2 - d3-shape: 1.3.7 - d3-time: 1.1.0 - d3-time-format: 2.3.0 - d3-timer: 1.0.10 - d3-transition: 1.3.2 - d3-voronoi: 1.1.4 - d3-zoom: 1.8.3 - dev: false - - /d3@7.8.5: - resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.0 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.0 - d3-delaunay: 6.0.2 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.0 - d3-geo: 3.0.1 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.0.1 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.0.0 - d3-selection: 3.0.0 - d3-shape: 3.1.0 - d3-time: 3.0.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 - dev: false - - /dagre-d3@0.6.4: - resolution: {integrity: sha512-e/6jXeCP7/ptlAM48clmX4xTZc5Ek6T6kagS7Oz2HrYSdqcLZFLqpAfh7ldbZRFfxCZVyh61NEPR08UQRVxJzQ==} - dependencies: - d3: 5.16.0 - dagre: 0.8.5 - graphlib: 2.1.8 - lodash: 4.17.21 - dev: false + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} - /dagre@0.8.5: - resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==} - dependencies: - graphlib: 2.1.8 - lodash: 4.17.21 - dev: false + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} - /dargs@7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} - dev: true - /dashdash@1.14.1: - resolution: {integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=} - engines: {node: '>=0.10'} - dependencies: - assert-plus: 1.0.0 - dev: true + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} - /date-fns@2.28.0: - resolution: {integrity: sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==} - engines: {node: '>=0.11'} - dev: false + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - /debounce-fn@4.0.0: - resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} - dependencies: - mimic-fn: 3.1.0 - dev: false - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} - /debug@3.1.0: - resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: false - - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.3 - - /debug@4.3.4(supports-color@9.2.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - supports-color: 9.2.1 - - /decamelize-keys@1.1.0: - resolution: {integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=} - engines: {node: '>=0.10.0'} - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - dev: true - - /decamelize@1.2.0: - resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} - engines: {node: '>=0.10.0'} - dev: true + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - /decode-uri-component@0.2.0: - resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} - engines: {node: '>=0.10'} - dev: true - - /decode-uri-component@0.4.1: - resolution: {integrity: sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==} - engines: {node: '>=14.16'} - dev: false + package-manager-detector@0.2.9: + resolution: {integrity: sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==} - /decompress-response@3.3.0: - resolution: {integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=} - engines: {node: '>=4'} - dependencies: - mimic-response: 1.0.1 - - /decompress-tar@4.1.1: - resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} - engines: {node: '>=4'} - dependencies: - file-type: 5.2.0 - is-stream: 1.1.0 - tar-stream: 1.6.2 - dev: true + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} - /decompress-tarbz2@4.1.1: - resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} - engines: {node: '>=4'} - dependencies: - decompress-tar: 4.1.1 - file-type: 6.2.0 - is-stream: 1.1.0 - seek-bzip: 1.0.6 - unbzip2-stream: 1.4.3 - dev: true + parse-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} - /decompress-targz@4.1.1: - resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} - engines: {node: '>=4'} - dependencies: - decompress-tar: 4.1.1 - file-type: 5.2.0 - is-stream: 1.1.0 - dev: true + parse-imports@2.2.1: + resolution: {integrity: sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==} + engines: {node: '>= 18'} - /decompress-unzip@4.0.1: - resolution: {integrity: sha1-3qrM39FK6vhVePczroIQ+bSEj2k=} - engines: {node: '>=4'} - dependencies: - file-type: 3.9.0 - get-stream: 2.3.1 - pify: 2.3.0 - yauzl: 2.10.0 - dev: true + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} - /decompress@4.2.1: - resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} - dependencies: - decompress-tar: 4.1.1 - decompress-tarbz2: 4.1.1 - decompress-targz: 4.1.1 - decompress-unzip: 4.0.1 - graceful-fs: 4.2.10 - make-dir: 1.3.0 - pify: 2.3.0 - strip-dirs: 2.1.0 - dev: true - - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /deepmerge@4.2.2: - resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} - engines: {node: '>=0.10.0'} - - /defaults@1.0.3: - resolution: {integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=} - dependencies: - clone: 1.0.4 - dev: true - - /defer-to-connect@1.1.3: - resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} - - /define-properties@1.1.3: - resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} - engines: {node: '>= 0.4'} - dependencies: - object-keys: 1.1.1 - - /define-properties@1.1.4: - resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} - engines: {node: '>= 0.4'} - dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - dev: true - /define-property@0.2.5: - resolution: {integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 0.1.6 - dev: true + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} - /define-property@1.0.0: - resolution: {integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY=} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - dev: true + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - /define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - isobject: 3.0.1 - dev: true - /delaunator@5.0.0: - resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==} - dependencies: - robust-predicates: 3.0.1 - dev: false - - /delayed-stream@1.0.0: - resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} - engines: {node: '>=0.4.0'} - dev: true + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} - /depd@1.1.2: - resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} - engines: {node: '>= 0.6'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /deprecated-decorator@0.1.6: - resolution: {integrity: sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=} - dev: true + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} - /destroy@1.0.4: - resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + pathe@2.0.2: + resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==} - /detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - requiresBuild: true - dev: true - optional: true + pe-library@0.4.1: + resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==} + engines: {node: '>=12', npm: '>=6'} - /dicer@0.3.0: - resolution: {integrity: sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==} - engines: {node: '>=4.5.0'} - dependencies: - streamsearch: 0.1.2 - dev: true + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - /dir-compare@2.4.0: - resolution: {integrity: sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==} - hasBin: true - dependencies: - buffer-equal: 1.0.0 - colors: 1.0.3 - commander: 2.9.0 - minimatch: 3.0.4 - dev: true + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - /dir-glob@2.2.2: - resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==} - engines: {node: '>=4'} - dependencies: - path-type: 3.0.0 - dev: true - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} - /dmg-builder@23.1.0: - resolution: {integrity: sha512-CzhPk/k12nJ2KqTbePkIwHOLiaWneQu2cgXCT9Hb5FhwI1vxTPalLsg8OZ57wKCrkL8AEftqqSff8gB5yWY/xw==} - dependencies: - app-builder-lib: 23.1.0 - builder-util: 23.0.9 - builder-util-runtime: 9.0.2 - fs-extra: 10.1.0 - iconv-lite: 0.6.3 - js-yaml: 4.1.0 - optionalDependencies: - dmg-license: 1.0.11 - transitivePeerDependencies: - - supports-color - dev: true + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} - /dmg-license@1.0.11: - resolution: {integrity: sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==} - engines: {node: '>=8'} - os: [darwin] + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} hasBin: true - requiresBuild: true - dependencies: - '@types/plist': 3.0.2 - '@types/verror': 1.10.5 - ajv: 6.12.6 - crc: 3.8.0 - iconv-corefoundation: 1.1.7 - plist: 3.0.5 - smart-buffer: 4.2.0 - verror: 1.10.1 - dev: true - optional: true - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /doctypes@1.1.0: - resolution: {integrity: sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=} - dev: true - - /dom-serializer@0.2.2: - resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} - dependencies: - domelementtype: 2.2.0 - entities: 2.2.0 - dev: false - - /dom-serializer@1.3.2: - resolution: {integrity: sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==} - dependencies: - domelementtype: 2.2.0 - domhandler: 4.3.0 - entities: 2.2.0 - - /dom-to-image@2.6.0: - resolution: {integrity: sha512-Dt0QdaHmLpjURjU7Tnu3AgYSF2LuOmksSGsUcE6ItvJoCWTBEmiMXcqBdNSAm9+QbbwD7JMoVsuuKX6ZVQv1qA==} - dev: false - - /domelementtype@1.3.1: - resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} - dev: false - - /domelementtype@2.2.0: - resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} - - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: true - - /domhandler@4.3.0: - resolution: {integrity: sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.2.0 - - /domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - dev: true - - /dompurify@2.3.8: - resolution: {integrity: sha512-eVhaWoVibIzqdGYjwsBWodIQIaXFSB+cKDf4cfxLMsK0xiud6SE+/WCVx/Xw/UwQsa4cS3T2eITcdtmTg2UKcw==} - dev: false + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} - /domutils@1.7.0: - resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} - dependencies: - dom-serializer: 0.2.2 - domelementtype: 1.3.1 - dev: false + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} - /domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - dependencies: - dom-serializer: 1.3.2 - domelementtype: 2.2.0 - domhandler: 4.3.0 + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - /dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} - dependencies: - is-obj: 2.0.0 - - /dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - dependencies: - is-obj: 2.0.0 - dev: false - /dotenv-expand@5.1.0: - resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} - dev: true - - /dotenv@16.0.1: - resolution: {integrity: sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==} - engines: {node: '>=12'} - dev: true + plist@3.1.0: + resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} + engines: {node: '>=10.4.0'} - /dotenv@9.0.2: - resolution: {integrity: sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==} - engines: {node: '>=10'} - dev: true - - /download-git-repo@3.0.2: - resolution: {integrity: sha512-N8hWXD4hXqmEcNoR8TBYFntaOcYvEQ7Bz90mgm3bZRTuteGQqwT32VDMnTyD0KTEvb8BWrMc1tVmzuV9u/WrAg==} - dependencies: - download: 7.1.0 - git-clone: 0.1.0 - rimraf: 3.0.2 - dev: true - - /download@7.1.0: - resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==} - engines: {node: '>=6'} - dependencies: - archive-type: 4.0.0 - caw: 2.0.1 - content-disposition: 0.5.4 - decompress: 4.2.1 - ext-name: 5.0.0 - file-type: 8.1.0 - filenamify: 2.1.0 - get-stream: 3.0.0 - got: 8.3.2 - make-dir: 1.3.0 - p-event: 2.3.1 - pify: 3.0.0 - dev: true - - /duplexer2@0.1.4: - resolution: {integrity: sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=} - dependencies: - readable-stream: 2.3.7 - dev: false - - /duplexer3@0.1.4: - resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} - - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true - - /easy-stack@1.0.1: - resolution: {integrity: sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==} - engines: {node: '>=6.0.0'} - dev: true - - /ecc-jsbn@0.1.2: - resolution: {integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=} - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - dev: true - - /ee-first@1.1.1: - resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} - - /ejs@2.7.4: - resolution: {integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dev: true - - /ejs@3.1.8: - resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - jake: 10.8.5 - dev: true + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} - /electron-builder@23.1.0: - resolution: {integrity: sha512-UEblaQY8N9m8/HriOwl7jgFJ4olpWDXwdDBqwUkQiRHVNRnCfrA0u8LV03li5ZYhma6zFWzfIZbHd+uk8y//lQ==} + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} - hasBin: true - dependencies: - '@types/yargs': 17.0.10 - app-builder-lib: 23.1.0 - builder-util: 23.0.9 - builder-util-runtime: 9.0.2 - chalk: 4.1.2 - dmg-builder: 23.1.0 - fs-extra: 10.1.0 - is-ci: 3.0.1 - lazy-val: 1.0.5 - read-config-file: 6.2.0 - update-notifier: 5.1.0 - yargs: 17.5.1 - transitivePeerDependencies: - - supports-color - dev: true + peerDependencies: + postcss: ^8.0.0 - /electron-notarize@1.2.1: - resolution: {integrity: sha512-u/ECWhIrhkSQpZM4cJzVZ5TsmkaqrRo5LDC/KMbGF0sPkm53Ng59+M0zp8QVaql0obfJy9vlVT+4iOkAi2UDlA==} - engines: {node: '>= 10.0.0'} - dependencies: - debug: 4.3.4(supports-color@9.2.1) - fs-extra: 9.1.0 - transitivePeerDependencies: - - supports-color - dev: true + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 - /electron-osx-sign@0.6.0: - resolution: {integrity: sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==} - engines: {node: '>=4.0.0'} - hasBin: true - dependencies: - bluebird: 3.7.2 - compare-version: 0.1.2 - debug: 2.6.9 - isbinaryfile: 3.0.3 - minimist: 1.2.6 - plist: 3.0.5 - transitivePeerDependencies: - - supports-color - dev: true + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true - /electron-publish@23.0.9: - resolution: {integrity: sha512-afr2z6L07/elgDX+6I/G/0vzXOP6xYUd/aXx9tnTPSVZ/3AuvCegHrKiuh8sKYHmzoAcNGXe3ikISYIu961IfA==} - dependencies: - '@types/fs-extra': 9.0.13 - builder-util: 23.0.9 - builder-util-runtime: 9.0.2 - chalk: 4.1.2 - fs-extra: 10.1.0 - lazy-val: 1.0.5 - mime: 2.6.0 - transitivePeerDependencies: - - supports-color - dev: true + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 - /electron-store@8.0.1: - resolution: {integrity: sha512-ZyLvNywiqSpbwC/pp89O/AycVWY/UJIkmtyzF2Bd0Nm/rLmcFc0NTGuLdg6+LE8mS8qsiK5JMoe4PnrecLHH5w==} - dependencies: - conf: 10.1.1 - type-fest: 1.4.0 - dev: false + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} - /electron-to-chromium@1.4.87: - resolution: {integrity: sha512-EXXTtDHFUKdFVkCnhauU7Xp8wmFC1ZG6GK9a1BeI2vvNhy61IwfNPo/CRexhf7mh4ajxAHJPind62BzpzVUeuQ==} + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /electron@12.2.3: - resolution: {integrity: sha512-B27c7eqx1bC5kea6An8oVhk1pShNC4VGqWarHMhD47MDtmg54KepHO5AbAvmKKZK/jWN7NTC7wyCYTDElJNtQA==} - engines: {node: '>= 8.6'} - hasBin: true - requiresBuild: true - dependencies: - '@electron/get': 1.14.1 - '@types/node': 14.18.2 - extract-zip: 1.7.0 - transitivePeerDependencies: - - supports-color - dev: true + postcss@8.5.1: + resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} + engines: {node: ^10 || ^12 || >=14} - /electron@16.2.3: - resolution: {integrity: sha512-4Tzz1YjE99eSqyqmaPVMpKFH+vyyPENdZsnJHtPHcRP76U87DI2HFd53w9GiSAElueqRe4iw/AqmIBROpjQDNQ==} - engines: {node: '>= 8.6'} + prebuild-install@7.1.3: + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} + engines: {node: '>=10'} hasBin: true - requiresBuild: true - dependencies: - '@electron/get': 1.14.1 - '@types/node': 14.18.2 - extract-zip: 1.7.0 - transitivePeerDependencies: - - supports-color - dev: true - - /emmet@2.3.6: - resolution: {integrity: sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==} - dependencies: - '@emmetio/abbreviation': 2.2.3 - '@emmetio/css-abbreviation': 2.1.4 - dev: true - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true - - /encodeurl@1.0.2: - resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} - engines: {node: '>= 0.8'} - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - - /engine.io-client@6.1.1(utf-8-validate@5.0.9): - resolution: {integrity: sha512-V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g==} - dependencies: - '@socket.io/component-emitter': 3.0.0 - debug: 4.3.4(supports-color@9.2.1) - engine.io-parser: 5.0.3 - has-cors: 1.1.0 - parseqs: 0.0.6 - parseuri: 0.0.6 - ws: 8.2.3(utf-8-validate@5.0.9) - xmlhttprequest-ssl: 2.0.0 - yeast: 0.1.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /engine.io-parser@5.0.3: - resolution: {integrity: sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==} - engines: {node: '>=10.0.0'} - dependencies: - '@socket.io/base64-arraybuffer': 1.0.2 - dev: true - - /engine.io@6.1.3(utf-8-validate@5.0.9): - resolution: {integrity: sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==} - engines: {node: '>=10.0.0'} - dependencies: - '@types/cookie': 0.4.1 - '@types/cors': 2.8.12 - '@types/node': 17.0.22 - accepts: 1.3.8 - base64id: 2.0.0 - cookie: 0.4.2 - cors: 2.8.5 - debug: 4.3.4(supports-color@9.2.1) - engine.io-parser: 5.0.3 - ws: 8.2.3(utf-8-validate@5.0.9) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /enhanced-resolve@0.9.1: - resolution: {integrity: sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=} - engines: {node: '>=0.6'} - dependencies: - graceful-fs: 4.2.10 - memory-fs: 0.2.0 - tapable: 0.1.10 - dev: true - - /enhanced-resolve@5.9.2: - resolution: {integrity: sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.10 - tapable: 2.2.1 - dev: true - - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.1 - dev: true - - /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - - /entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} - dev: true - - /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} - /envinfo@7.8.1: - resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} - engines: {node: '>=4'} + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} + engines: {node: '>=14'} hasBin: true - dev: true - - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - - /errorhandler@1.5.1: - resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} - engines: {node: '>= 0.8'} - dependencies: - accepts: 1.3.8 - escape-html: 1.0.3 - dev: false - /es-abstract@1.19.1: - resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - get-intrinsic: 1.1.1 - get-symbol-description: 1.0.0 - has: 1.0.3 - has-symbols: 1.0.2 - internal-slot: 1.0.3 - is-callable: 1.2.4 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.1 - is-string: 1.0.7 - is-weakref: 1.0.2 - object-inspect: 1.12.0 - object-keys: 1.1.1 - object.assign: 4.1.2 - string.prototype.trimend: 1.0.4 - string.prototype.trimstart: 1.0.4 - unbox-primitive: 1.0.1 + proc-log@2.0.1: + resolution: {integrity: sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - dev: true + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.4 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} - /es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - requiresBuild: true - dev: true - optional: true + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true - /esbuild-android-64@0.14.27: - resolution: {integrity: sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} - /esbuild-android-arm64@0.14.27: - resolution: {integrity: sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} - /esbuild-darwin-64@0.14.27: - resolution: {integrity: sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true + pstree.remy@1.1.8: + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} - /esbuild-darwin-arm64@0.14.27: - resolution: {integrity: sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - /esbuild-freebsd-64@0.14.27: - resolution: {integrity: sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} - /esbuild-freebsd-arm64@0.14.27: - resolution: {integrity: sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /esbuild-linux-32@0.14.27: - resolution: {integrity: sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} - /esbuild-linux-64@0.14.27: - resolution: {integrity: sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} - /esbuild-linux-arm64@0.14.27: - resolution: {integrity: sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true - /esbuild-linux-arm@0.14.27: - resolution: {integrity: sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true + read-binary-file-arch@1.0.6: + resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} + hasBin: true - /esbuild-linux-mips64le@0.14.27: - resolution: {integrity: sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - /esbuild-linux-ppc64le@0.14.27: - resolution: {integrity: sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} - /esbuild-linux-riscv64@0.14.27: - resolution: {integrity: sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} - /esbuild-linux-s390x@0.14.27: - resolution: {integrity: sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - /esbuild-netbsd-64@0.14.27: - resolution: {integrity: sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} - /esbuild-openbsd-64@0.14.27: - resolution: {integrity: sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} - /esbuild-sunos-64@0.14.27: - resolution: {integrity: sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} - /esbuild-windows-32@0.14.27: - resolution: {integrity: sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true + readdirp@4.1.1: + resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==} + engines: {node: '>= 14.18.0'} - /esbuild-windows-64@0.14.27: - resolution: {integrity: sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true + refa@0.12.1: + resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - /esbuild-windows-arm64@0.14.27: - resolution: {integrity: sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true + regexp-ast-analysis@0.7.1: + resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - /esbuild@0.14.27: - resolution: {integrity: sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q==} - engines: {node: '>=12'} + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true - requiresBuild: true - optionalDependencies: - esbuild-android-64: 0.14.27 - esbuild-android-arm64: 0.14.27 - esbuild-darwin-64: 0.14.27 - esbuild-darwin-arm64: 0.14.27 - esbuild-freebsd-64: 0.14.27 - esbuild-freebsd-arm64: 0.14.27 - esbuild-linux-32: 0.14.27 - esbuild-linux-64: 0.14.27 - esbuild-linux-arm: 0.14.27 - esbuild-linux-arm64: 0.14.27 - esbuild-linux-mips64le: 0.14.27 - esbuild-linux-ppc64le: 0.14.27 - esbuild-linux-riscv64: 0.14.27 - esbuild-linux-s390x: 0.14.27 - esbuild-netbsd-64: 0.14.27 - esbuild-openbsd-64: 0.14.27 - esbuild-sunos-64: 0.14.27 - esbuild-windows-32: 0.14.27 - esbuild-windows-64: 0.14.27 - esbuild-windows-arm64: 0.14.27 - dev: true - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - - /escape-goat@2.1.1: - resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} - engines: {node: '>=8'} - - /escape-html@1.0.3: - resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} - engines: {node: '>=0.8.0'} - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - /eslint-config-prettier@8.3.0(eslint@8.5.0): - resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.5.0 - dev: true - /eslint-config-standard@16.0.3(eslint-plugin-import@2.25.3)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.0.0)(eslint@8.5.0): - resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} - peerDependencies: - eslint: ^7.12.1 - eslint-plugin-import: ^2.22.1 - eslint-plugin-node: ^11.1.0 - eslint-plugin-promise: ^4.2.1 || ^5.0.0 - dependencies: - eslint: 8.5.0 - eslint-plugin-import: 2.25.3(@typescript-eslint/parser@5.8.0)(eslint@8.5.0) - eslint-plugin-node: 11.1.0(eslint@8.5.0) - eslint-plugin-promise: 6.0.0(eslint@8.5.0) - dev: true + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - /eslint-import-resolver-node@0.3.6: - resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} - dependencies: - debug: 3.2.7 - resolve: 1.22.0 - transitivePeerDependencies: - - supports-color - dev: true + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} - /eslint-import-resolver-webpack@0.13.2(eslint-plugin-import@2.25.3)(webpack@5.70.0): - resolution: {integrity: sha512-XodIPyg1OgE2h5BDErz3WJoK7lawxKTJNhgPNafRST6csC/MZC+L5P6kKqsZGRInpbgc02s/WZMrb4uGJzcuRg==} - engines: {node: '>= 6'} - peerDependencies: - eslint-plugin-import: '>=1.4.0' - webpack: '>=1.11.0' - dependencies: - array-find: 1.0.0 - debug: 3.2.7 - enhanced-resolve: 0.9.1 - eslint-plugin-import: 2.25.3(@typescript-eslint/parser@5.8.0)(eslint@8.5.0) - find-root: 1.1.0 - has: 1.0.3 - interpret: 1.4.0 - is-core-module: 2.8.1 - is-regex: 1.1.4 - lodash: 4.17.21 - resolve: 1.22.0 - semver: 5.7.1 - webpack: 5.70.0 - transitivePeerDependencies: - - supports-color - dev: true + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} - /eslint-module-utils@2.7.1(@typescript-eslint/parser@5.8.0)(eslint-import-resolver-node@0.3.6): - resolution: {integrity: sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 5.8.0(eslint@8.5.0)(typescript@4.5.4) - debug: 3.2.7 - eslint-import-resolver-node: 0.3.6 - find-up: 2.1.0 - pkg-dir: 2.0.0 - transitivePeerDependencies: - - supports-color - dev: true + resedit@1.7.2: + resolution: {integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==} + engines: {node: '>=12', npm: '>=6'} - /eslint-plugin-es@3.0.1(eslint@8.5.0): - resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=4.19.1' - dependencies: - eslint: 8.5.0 - eslint-utils: 2.1.0 - regexpp: 3.2.0 - dev: true + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - /eslint-plugin-import@2.25.3(@typescript-eslint/parser@5.8.0)(eslint@8.5.0): - resolution: {integrity: sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==} + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 5.8.0(eslint@8.5.0)(typescript@4.5.4) - array-includes: 3.1.4 - array.prototype.flat: 1.2.5 - debug: 2.6.9 - doctrine: 2.1.0 - eslint: 8.5.0 - eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.1(@typescript-eslint/parser@5.8.0)(eslint-import-resolver-node@0.3.6) - has: 1.0.3 - is-core-module: 2.8.1 - is-glob: 4.0.3 - minimatch: 3.0.4 - object.values: 1.1.5 - resolve: 1.22.0 - tsconfig-paths: 3.12.0 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - /eslint-plugin-node@11.1.0(eslint@8.5.0): - resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=5.16.0' - dependencies: - eslint: 8.5.0 - eslint-plugin-es: 3.0.1(eslint@8.5.0) - eslint-utils: 2.1.0 - ignore: 5.2.0 - minimatch: 3.0.4 - resolve: 1.22.0 - semver: 6.3.0 - dev: true - - /eslint-plugin-prettier@4.0.0(eslint-config-prettier@8.3.0)(eslint@8.5.0)(prettier@2.6.2): - resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} - engines: {node: '>=6.0.0'} - peerDependencies: - eslint: '>=7.28.0' - eslint-config-prettier: '*' - prettier: '>=2.0.0' - peerDependenciesMeta: - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.5.0 - eslint-config-prettier: 8.3.0(eslint@8.5.0) - prettier: 2.6.2 - prettier-linter-helpers: 1.0.0 - dev: true - - /eslint-plugin-promise@6.0.0(eslint@8.5.0): - resolution: {integrity: sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - eslint: 8.5.0 - dev: true - - /eslint-plugin-vue@8.2.0(eslint@8.5.0): - resolution: {integrity: sha512-cLIdTuOAMXyHeQ4drYKcZfoyzdwdBpH279X8/N0DgmotEI9yFKb5O/cAgoie/CkQZCH/MOmh0xw/KEfS90zY2A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - dependencies: - eslint: 8.5.0 - eslint-utils: 3.0.0(eslint@8.5.0) - natural-compare: 1.4.0 - semver: 7.3.5 - vue-eslint-parser: 8.0.1(eslint@8.5.0) - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-scope@6.0.0: - resolution: {integrity: sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-scope@7.1.0: - resolution: {integrity: sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} - /eslint-utils@2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - dependencies: - eslint-visitor-keys: 1.3.0 - dev: true + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - /eslint-utils@3.0.0(eslint@8.5.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.5.0 - eslint-visitor-keys: 2.1.0 - dev: true + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true - /eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - dev: true + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} - /eslint-visitor-keys@3.1.0: - resolution: {integrity: sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} - /eslint@8.5.0: - resolution: {integrity: sha512-tVGSkgNbOfiHyVte8bCM8OmX+xG9PzVG/B4UCF60zx7j61WIVY/AqJECDgpLD4DbbESD0e174gOg3ZlrX15GDg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint/eslintrc': 1.0.5 - '@humanwhocodes/config-array': 0.9.2 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@9.2.1) - doctrine: 3.0.0 - enquirer: 2.3.6 - escape-string-regexp: 4.0.0 - eslint-scope: 7.1.0 - eslint-utils: 3.0.0(eslint@8.5.0) - eslint-visitor-keys: 3.1.0 - espree: 9.2.0 - esquery: 1.4.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 6.0.2 - globals: 13.12.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.0.4 - natural-compare: 1.4.0 - optionator: 0.9.1 - progress: 2.0.3 - regexpp: 3.2.0 - semver: 7.3.5 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - text-table: 0.2.0 - v8-compile-cache: 2.3.0 - transitivePeerDependencies: - - supports-color - dev: true + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} - /espree@9.2.0: - resolution: {integrity: sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.7.0 - acorn-jsx: 5.3.2(acorn@8.7.0) - eslint-visitor-keys: 3.1.0 - dev: true + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - /esquery@1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true + roarr@2.15.4: + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true + rollup@4.34.4: + resolution: {integrity: sha512-spF66xoyD7rz3o08sHP7wogp1gZ6itSq22SGa/IZTcUDXDlOyrShwMwkVSB+BUxFRZZCUYqdb3KWDEOMVQZxuw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true + runtime-required@1.1.0: + resolution: {integrity: sha512-yX97f5E0WfNpcQnfVjap6vzQcvErkYYCx6eTK4siqGEdC8lglwypUFgZVTX7ShvIlgfkC4XGFl9O1KTYcff0pw==} + engines: {node: '>=4.0.0'} - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - /etag@1.8.1: - resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=} - engines: {node: '>= 0.6'} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /event-pubsub@4.3.0: - resolution: {integrity: sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==} - engines: {node: '>=4.0.0'} - dev: true + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /event-stream@3.3.4: - resolution: {integrity: sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=} - dependencies: - duplexer: 0.1.2 - from: 0.1.7 - map-stream: 0.1.0 - pause-stream: 0.0.11 - split: 0.3.3 - stream-combiner: 0.0.4 - through: 2.3.8 - dev: true + sanitize-filename@1.6.3: + resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} - /eventemitter3@3.1.2: - resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==} - dev: true + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: true + scslre@0.3.0: + resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} + engines: {node: ^14.0.0 || >=16.0.0} - /exec-sh@0.2.2: - resolution: {integrity: sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==} - dependencies: - merge: 1.2.1 - dev: true + semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - /execa@0.9.0: - resolution: {integrity: sha512-BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA==} - engines: {node: '>=4'} - dependencies: - cross-spawn: 5.1.0 - get-stream: 3.0.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - dev: true + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true - /execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - dependencies: - cross-spawn: 6.0.5 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - dev: true + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true - /execa@3.4.0: - resolution: {integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==} - engines: {node: ^8.12.0 || >=9.7.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - p-finally: 2.0.1 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true + semver@7.7.1: + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + engines: {node: '>=10'} + hasBin: true - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.6 - strip-final-newline: 2.0.0 - dev: true - /expand-brackets@2.1.4: - resolution: {integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - /expand-tilde@2.0.2: - resolution: {integrity: sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=} - engines: {node: '>=0.10.0'} - dependencies: - homedir-polyfill: 1.0.3 - dev: true + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} - /express-history-api-fallback@2.2.1: - resolution: {integrity: sha1-OirSf3vryQ/FM9EQ18bYMJe80Fc=} - dev: true + shell-quote@1.8.2: + resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} + engines: {node: '>= 0.4'} - /express-urlrewrite@1.4.0: - resolution: {integrity: sha512-PI5h8JuzoweS26vFizwQl6UTF25CAHSggNv0J25Dn/IKZscJHWZzPrI5z2Y2jgOzIaw2qh8l6+/jUcig23Z2SA==} - dependencies: - debug: 4.3.4(supports-color@9.2.1) - path-to-regexp: 1.8.0 - transitivePeerDependencies: - - supports-color - dev: false - - /express@4.17.2: - resolution: {integrity: sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.19.1 - content-disposition: 0.5.4 - content-type: 1.0.4 - cookie: 0.4.1 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 1.1.2 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.1.2 - fresh: 0.5.2 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.3.0 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.9.6 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.17.2 - serve-static: 1.14.2 - setprototypeof: 1.2.0 - statuses: 1.5.0 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - /express@4.18.0: - resolution: {integrity: sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.0 - content-disposition: 0.5.4 - content-type: 1.0.4 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.10.3 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: true + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} - /ext-list@2.2.2: - resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} - engines: {node: '>=0.10.0'} - dependencies: - mime-db: 1.52.0 - dev: true + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - /ext-name@5.0.0: - resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} - engines: {node: '>=4'} - dependencies: - ext-list: 2.2.2 - sort-keys-length: 1.0.1 - dev: true + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - /extend-shallow@2.0.1: - resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: true + simple-git-hooks@2.11.1: + resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==} + hasBin: true - /extend-shallow@3.0.2: - resolution: {integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=} - engines: {node: '>=0.10.0'} - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - dev: true + simple-update-notifier@2.0.0: + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - dev: true + slashes@3.0.12: + resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} - /extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} - /extract-zip@1.7.0: - resolution: {integrity: sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==} - hasBin: true - dependencies: - concat-stream: 1.6.2 - debug: 2.6.9 - mkdirp: 0.5.6 - yauzl: 2.10.0 - transitivePeerDependencies: - - supports-color - dev: true + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} - /extsprintf@1.3.0: - resolution: {integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=} - engines: {'0': node >=0.6.0} - dev: true + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} - /extsprintf@1.4.1: - resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} - engines: {'0': node >=0.6.0} - requiresBuild: true - dev: true - optional: true + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + socks-proxy-agent@7.0.0: + resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} + engines: {node: '>= 10'} - /fast-diff@1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - dev: true + socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - /fast-glob@2.2.7: - resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==} - engines: {node: '>=4.0.0'} - dependencies: - '@mrmlnc/readdir-enhanced': 2.2.1 - '@nodelib/fs.stat': 1.1.3 - glob-parent: 3.1.0 - is-glob: 4.0.3 - merge2: 1.4.1 - micromatch: 3.1.10 - transitivePeerDependencies: - - supports-color - dev: true + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} - /fast-glob@3.2.11: - resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.4 + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} - /fast-levenshtein@2.0.6: - resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} - dev: true + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - /fast-plist@0.1.2: - resolution: {integrity: sha512-2HxzrqJhmMoxVzARjYFvkzkL2dCBB8sogU5sD8gqcZWv5UCivK9/cXM9KIPDRwU+eD3mbRDN/GhW8bO/4dtMfg==} - dev: false + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - /fastq@1.13.0: - resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} - dependencies: - reusify: 1.0.4 + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - /fd-slicer@1.1.0: - resolution: {integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=} - dependencies: - pend: 1.2.0 - dev: true + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true + spdx-license-ids@3.0.21: + resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.0.4 - dev: true + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} - /file-type@3.9.0: - resolution: {integrity: sha1-JXoHg4TR24CHvESdEH1SpSZyuek=} - engines: {node: '>=0.10.0'} - dev: true + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - /file-type@4.4.0: - resolution: {integrity: sha1-G2AOX8ofvcboDApwxxyNul95BsU=} - engines: {node: '>=4'} - dev: true + ssri@9.0.1: + resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - /file-type@5.2.0: - resolution: {integrity: sha1-LdvqfHP/42No365J3DOMBYwritY=} - engines: {node: '>=4'} - dev: true + stable-hash@0.0.4: + resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} - /file-type@6.2.0: - resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} - engines: {node: '>=4'} - dev: true + stat-mode@1.0.0: + resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} + engines: {node: '>= 6'} - /file-type@8.1.0: - resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==} - engines: {node: '>=6'} - dev: true + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} - /filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - dependencies: - minimatch: 5.1.0 - dev: true + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} - /filename-reserved-regex@2.0.0: - resolution: {integrity: sha1-q/c9+rc10EVECr/qLZHzieu/oik=} - engines: {node: '>=4'} - dev: true + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} - /filenamify@2.1.0: - resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} - engines: {node: '>=4'} - dependencies: - filename-reserved-regex: 2.0.0 - strip-outer: 1.0.1 - trim-repeated: 1.0.0 - dev: true + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} - /fill-range@4.0.0: - resolution: {integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 - dev: true + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - /filter-obj@5.1.0: - resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} - engines: {node: '>=14.16'} - dev: false + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} - /finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} - /find-cache-dir@2.1.0: - resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} - engines: {node: '>=6'} - dependencies: - commondir: 1.0.1 - make-dir: 2.1.0 - pkg-dir: 3.0.0 - dev: true + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} - /find-replace@3.0.0: - resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} - engines: {node: '>=4.0.0'} - dependencies: - array-back: 3.1.0 + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} - /find-root@1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - dev: true + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true - /find-up@2.1.0: - resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} - engines: {node: '>=4'} - dependencies: - locate-path: 2.0.0 - dev: true + sumchecker@3.0.1: + resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} + engines: {node: '>= 8.0'} - /find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - /fkill@6.2.0: - resolution: {integrity: sha512-VoPpKScAzvZ07jtciOY0bJieJwyd/VVCuo4fn3nBLh4iBagzYED7GLQeFBpMpy7HP5edEKTDo8yxaIrYrwb7hg==} - engines: {node: '>=8'} - dependencies: - aggregate-error: 3.1.0 - arrify: 2.0.1 - execa: 1.0.0 - pid-from-port: 1.1.3 - process-exists: 3.1.0 - taskkill: 3.1.0 - dev: true - - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.2.4 - rimraf: 3.0.2 - dev: true + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} - /flatted@3.2.4: - resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} - dev: true + synckit@0.6.2: + resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} + engines: {node: '>=12.20'} - /floating-vue@2.0.0-beta.17(vue@3.2.33): - resolution: {integrity: sha512-zgHPIdlILFxMEq2kLpeUpE3SUSd/zHI4pNAO2QYtp2rATkiSOlcLJidTDjG3mcBKzN3ahoAF6t/FhA1VbMTkAg==} - peerDependencies: - vue: ^3.2.0 - dependencies: - '@floating-ui/dom': 0.1.10 - vue: 3.2.33 - vue-resize: 2.0.0-alpha.1(vue@3.2.33) - dev: false + synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + engines: {node: ^14.18.0 || >=16.0.0} - /flow-parser@0.168.0: - resolution: {integrity: sha512-YMlc+6vvyDPqWKOpzmyifJXBbwlNdqznuy8YBHxX1/90F8d+NnhsxMe1u/ok5LNvNJVJ2TVMkWudu0BUKOSawA==} - engines: {node: '>=0.4.0'} - dev: true + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true - /follow-redirects@1.14.9: - resolution: {integrity: sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: false + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar-fs@2.1.2: + resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + temp-file@3.4.0: + resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} - /fontello-cli@0.6.2: - resolution: {integrity: sha512-/85DkJNgbGOu0sh7sUAxWLbzq0cytWQtvn7WuRzpn6mcla6TEQz1JbYmpkAjX/PJiW867ujgoaFqm4CUoBBgwA==} + text-extensions@2.4.0: + resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} - hasBin: true - dependencies: - colors: 1.4.0 - commander: 3.0.2 - mkdirp: 1.0.4 - needle: 2.9.1 - open: 7.4.2 - unzipper: 0.10.11 - transitivePeerDependencies: - - supports-color - dev: false - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.4 - dev: true + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} - /for-in@1.0.2: - resolution: {integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=} - engines: {node: '>=0.10.0'} - dev: true + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - /forever-agent@0.6.1: - resolution: {integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=} - dev: true + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - /form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true + tiny-conventional-commits-parser@0.0.1: + resolution: {integrity: sha512-N5+AZWdBeHNSgTIaxvx0+9mFrnW4H1BbjQ84H7i3TuWSkno8Hju886hLaHZhE/hYEKrfrfl/uHurqpZJHDuYGQ==} - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} + tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} - /fragment-cache@0.2.1: - resolution: {integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=} - engines: {node: '>=0.10.0'} - dependencies: - map-cache: 0.2.2 - dev: true + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} - /fresh@0.5.2: - resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} - engines: {node: '>= 0.6'} + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} - /from2@2.3.0: - resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=} - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.7 - dev: true + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toml-eslint-parser@0.10.0: + resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /from@0.1.7: - resolution: {integrity: sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=} - dev: true + touch@3.1.1: + resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} + hasBin: true - /fs-capacitor@2.0.4: - resolution: {integrity: sha512-8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==} - engines: {node: '>=8.5'} - dev: true + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true + truncate-utf8-bytes@1.0.2: + resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} - /fs-exists-sync@0.1.0: - resolution: {integrity: sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=} - engines: {node: '>=0.10.0'} - dev: true + ts-api-utils@2.0.1: + resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' - /fs-extra@10.0.1: - resolution: {integrity: sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.9 - jsonfile: 6.1.0 - universalify: 2.0.0 + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.9 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} - /fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.4 - dev: true + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} - /fs-plus@3.1.1: - resolution: {integrity: sha512-Se2PJdOWXqos1qVTkvqqjb0CSnfBnwwD+pq+z4ksT+e97mEShod/hrNg0TRCCsXPbJzcIq+NuzQhigunMWMJUA==} - dependencies: - async: 1.5.2 - mkdirp: 0.5.6 - rimraf: 2.7.1 - underscore-plus: 1.7.0 - dev: false + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} - /fstream@1.0.12: - resolution: {integrity: sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==} - engines: {node: '>=0.6'} - dependencies: - graceful-fs: 4.2.10 - inherits: 2.0.4 - mkdirp: 0.5.6 - rimraf: 2.7.1 - dev: false + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} + hasBin: true - /fswin@2.17.1227: - resolution: {integrity: sha512-xNDktvwzSsXT8Xqnpz59VbuFwGHhtn1w+dS7QQ+wAu5cbH0p3WMGKU9Duf7cPna+nubhR+5ZG1MTl6/V6xgRgw==} - engines: {node: '>= 0.6'} - dev: true + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + undefsafe@2.0.5: + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} - /functional-red-black-tree@1.0.1: - resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} - dev: true + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - /fuse.js@7.0.0: - resolution: {integrity: sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==} - engines: {node: '>=10'} - dev: false + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - /generate-function@1.1.0: - resolution: {integrity: sha1-VMIbCAGSsW2Yd3ecW7gWZudyNl8=} - dev: true + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} - /generate-object-property@1.2.0: - resolution: {integrity: sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=} - dependencies: - is-property: 1.0.2 - dev: true + unique-filename@2.0.1: + resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true + unique-slug@3.0.0: + resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - /get-intrinsic@1.1.1: - resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.2 + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - /get-proxy@2.1.0: - resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==} - engines: {node: '>=4'} - dependencies: - npm-conf: 1.1.3 - dev: true + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - /get-stream@2.3.1: - resolution: {integrity: sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=} - engines: {node: '>=0.10.0'} - dependencies: - object-assign: 4.1.1 - pinkie-promise: 2.0.1 - dev: true + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - /get-stream@3.0.0: - resolution: {integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=} - engines: {node: '>=4'} - dev: true + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} - /get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - dependencies: - pump: 3.0.0 + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 + unixify@1.0.0: + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true + update-browserslist-db@1.1.2: + resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.1 + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - /get-value@2.0.6: - resolution: {integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=} - engines: {node: '>=0.10.0'} - dev: true + utf8-byte-length@1.0.5: + resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} - /getpass@0.1.7: - resolution: {integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=} - dependencies: - assert-plus: 1.0.0 - dev: true + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /git-clone@0.1.0: - resolution: {integrity: sha1-DXYWN3gJOu9/HDAjjyqe8/B6Lrk=} - dev: true + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - /git-config-path@1.0.1: - resolution: {integrity: sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ=} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - fs-exists-sync: 0.1.0 - homedir-polyfill: 1.0.3 - dev: true + verror@1.10.1: + resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==} + engines: {node: '>=0.6.0'} - /git-raw-commits@2.0.10: - resolution: {integrity: sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==} - engines: {node: '>=10'} + vite@6.1.0: + resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - dependencies: - dargs: 7.0.0 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 - dev: true - - /glob-parent@3.1.0: - resolution: {integrity: sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=} - dependencies: - is-glob: 3.1.0 - path-dirname: 1.0.2 - dev: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 + vue-eslint-parser@9.4.3: + resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true + vue-router@4.5.0: + resolution: {integrity: sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==} + peerDependencies: + vue: ^3.2.0 - /glob-to-regexp@0.3.0: - resolution: {integrity: sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=} - dev: true + vue@3.5.13: + resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true + watchboy@0.4.3: + resolution: {integrity: sha512-GHs1HxwvxSMBsqd/WfTOZhj5gBdMqf5HQpfgtKxDfZRxrlYPDdVLRB61LCeRzJaWANmvSIMlfmRVDwVmJFgAKA==} + engines: {node: '>=8.0.0'} - /glob@7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true - /global-agent@3.0.0: - resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} - engines: {node: '>=10.0'} - requiresBuild: true - dependencies: - boolean: 3.1.4 - es6-error: 4.1.1 - matcher: 3.0.0 - roarr: 2.15.4 - semver: 7.3.5 - serialize-error: 7.0.1 - dev: true - optional: true + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - /global-dirs@0.1.1: - resolution: {integrity: sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=} - engines: {node: '>=4'} - dependencies: - ini: 1.3.8 - dev: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} - /global-dirs@3.0.0: - resolution: {integrity: sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==} + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - dependencies: - ini: 2.0.0 - - /global-tunnel-ng@2.7.1: - resolution: {integrity: sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==} - engines: {node: '>=0.10'} - requiresBuild: true - dependencies: - encodeurl: 1.0.2 - lodash: 4.17.21 - npm-conf: 1.1.3 - tunnel: 0.0.6 - dev: true - optional: true - - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - /globals@13.12.0: - resolution: {integrity: sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} - /globalthis@1.0.2: - resolution: {integrity: sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==} - engines: {node: '>= 0.4'} - requiresBuild: true - dependencies: - define-properties: 1.1.3 - dev: true - optional: true + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} - /globby@11.0.4: - resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.11 - ignore: 5.2.0 - merge2: 1.4.1 - slash: 3.0.0 + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /globby@9.2.0: - resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} - engines: {node: '>=6'} - dependencies: - '@types/glob': 7.2.0 - array-union: 1.0.2 - dir-glob: 2.2.2 - fast-glob: 2.2.7 - glob: 7.2.0 - ignore: 4.0.6 - pify: 4.0.1 - slash: 2.0.0 - transitivePeerDependencies: - - supports-color - dev: true + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} - /got@8.3.2: - resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} - engines: {node: '>=4'} - dependencies: - '@sindresorhus/is': 0.7.0 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.0 - cacheable-request: 2.1.4 - decompress-response: 3.3.0 - duplexer3: 0.1.4 - get-stream: 3.0.0 - into-stream: 3.1.0 - is-retry-allowed: 1.2.0 - isurl: 1.0.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 0.4.1 - p-timeout: 2.0.1 - pify: 3.0.0 - safe-buffer: 5.2.1 - timed-out: 4.0.1 - url-parse-lax: 3.0.0 - url-to-options: 1.0.1 - dev: true + xmlbuilder@15.1.1: + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} - /got@9.6.0: - resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} - engines: {node: '>=8.6'} - dependencies: - '@sindresorhus/is': 0.14.0 - '@szmarczak/http-timer': 1.1.2 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.0 - cacheable-request: 6.1.0 - decompress-response: 3.3.0 - duplexer3: 0.1.4 - get-stream: 4.1.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 1.1.0 - to-readable-stream: 1.0.0 - url-parse-lax: 3.0.0 + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - /graceful-fs@4.2.9: - resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} + yaml-eslint-parser@1.2.3: + resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} + engines: {node: ^14.17.0 || >=16.0.0} - /graceful-readlink@1.0.1: - resolution: {integrity: sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==} - dev: true + yaml@2.7.0: + resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} + engines: {node: '>= 14'} + hasBin: true - /graphlib@2.1.8: - resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} - dependencies: - lodash: 4.17.21 - dev: false + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} - /graphql-extensions@0.15.0(graphql@14.7.0): - resolution: {integrity: sha512-bVddVO8YFJPwuACn+3pgmrEg6I8iBuYLuwvxiE+lcQQ7POotVZxm2rgGw0PvVYmWWf3DT7nTVDZ5ROh/ALp8mA==} - engines: {node: '>=6.0'} - deprecated: 'The `graphql-extensions` API has been removed from Apollo Server 3. Use the plugin API instead: https://www.apollographql.com/docs/apollo-server/integrations/plugins/' - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - '@apollographql/apollo-tools': 0.5.3(graphql@14.7.0) - apollo-server-env: 3.1.0 - apollo-server-types: 0.9.0(graphql@14.7.0) - graphql: 14.7.0 - transitivePeerDependencies: - - encoding - dev: true + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} - /graphql-subscriptions@1.2.1(graphql@14.7.0): - resolution: {integrity: sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==} - peerDependencies: - graphql: ^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - graphql: 14.7.0 - iterall: 1.3.0 - dev: true + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - /graphql-tag@2.12.6(graphql@14.7.0): - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - peerDependencies: - graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - dependencies: - graphql: 14.7.0 - tslib: 2.4.0 - dev: true - /graphql-tools@4.0.8(graphql@14.7.0): - resolution: {integrity: sha512-MW+ioleBrwhRjalKjYaLQbr+920pHBgy9vM/n47sswtns8+96sRn5M/G+J1eu7IMeKWiN/9p6tmwCHU7552VJg==} - deprecated: This package has been deprecated and now it only exports makeExecutableSchema.\nAnd it will no longer receive updates.\nWe recommend you to migrate to scoped packages such as @graphql-tools/schema, @graphql-tools/utils and etc.\nCheck out https://www.graphql-tools.com to learn what package you should use instead - peerDependencies: - graphql: ^0.13.0 || ^14.0.0 || ^15.0.0 - dependencies: - apollo-link: 1.2.14(graphql@14.7.0) - apollo-utilities: 1.3.4(graphql@14.7.0) - deprecated-decorator: 0.1.6 - graphql: 14.7.0 - iterall: 1.3.0 - uuid: 3.4.0 - dev: true - - /graphql-type-json@0.3.2(graphql@14.7.0): - resolution: {integrity: sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg==} - peerDependencies: - graphql: '>=0.8.0' - dependencies: - graphql: 14.7.0 - dev: true + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + engines: {node: '>=12.20'} - /graphql@14.7.0: - resolution: {integrity: sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==} - engines: {node: '>= 6.x'} - dependencies: - iterall: 1.3.0 - dev: true + zip-stream@4.1.1: + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} - /growly@1.3.0: - resolution: {integrity: sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=} - dev: true + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + 7zip-bin@5.2.0: {} + + '@alloc/quick-lru@5.2.0': {} + + '@antfu/eslint-config@3.16.0(@typescript-eslint/utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(@vue/compiler-sfc@3.5.13)(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@antfu/install-pkg': 1.0.0 + '@clack/prompts': 0.9.1 + '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@eslint/markdown': 6.2.2 + '@stylistic/eslint-plugin': 2.13.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/parser': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@vitest/eslint-plugin': 1.1.25(@typescript-eslint/utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + eslint-config-flat-gitignore: 1.0.1(eslint@9.19.0(jiti@2.4.2)) + eslint-flat-config-utils: 1.1.0 + eslint-merge-processors: 1.0.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-antfu: 2.7.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-command: 2.1.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-import-x: 4.6.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint-plugin-jsdoc: 50.6.3(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-jsonc: 2.19.1(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-n: 17.15.1(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-no-only-tests: 3.3.0 + eslint-plugin-perfectionist: 4.8.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint-plugin-regexp: 2.7.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-toml: 0.12.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-unicorn: 56.0.1(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-vue: 9.32.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-yml: 1.16.0(eslint@9.19.0(jiti@2.4.2)) + eslint-processor-vue-blocks: 1.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.19.0(jiti@2.4.2)) + globals: 15.14.0 + jsonc-eslint-parser: 2.4.0 + local-pkg: 1.0.0 + parse-gitignore: 2.0.0 + picocolors: 1.1.1 + toml-eslint-parser: 0.10.0 + vue-eslint-parser: 9.4.3(eslint@9.19.0(jiti@2.4.2)) + yaml-eslint-parser: 1.2.3 + yargs: 17.7.2 + transitivePeerDependencies: + - '@eslint/json' + - '@typescript-eslint/utils' + - '@vue/compiler-sfc' + - supports-color + - typescript + - vitest - /handlebars@4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} - engines: {node: '>=0.4.7'} - hasBin: true + '@antfu/install-pkg@1.0.0': dependencies: - minimist: 1.2.6 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.16.3 - dev: true + package-manager-detector: 0.2.9 + tinyexec: 0.3.2 - /har-schema@2.0.0: - resolution: {integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=} - engines: {node: '>=4'} - dev: true + '@antfu/utils@0.7.10': {} - /har-validator@5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported + '@babel/code-frame@7.26.2': dependencies: - ajv: 6.12.6 - har-schema: 2.0.0 - dev: true - - /hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - dev: true - - /has-bigints@1.0.1: - resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} - - /has-cors@1.1.0: - resolution: {integrity: sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=} - dev: true + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 - /has-flag@3.0.0: - resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} - engines: {node: '>=4'} + '@babel/helper-string-parser@7.25.9': {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + '@babel/helper-validator-identifier@7.25.9': {} - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + '@babel/parser@7.26.7': dependencies: - get-intrinsic: 1.1.1 - dev: true + '@babel/types': 7.26.7 - /has-symbol-support-x@1.4.2: - resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} - dev: true + '@babel/types@7.26.7': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 - /has-symbols@1.0.2: - resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} - engines: {node: '>= 0.4'} + '@clack/core@0.4.1': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true + '@clack/prompts@0.9.1': + dependencies: + '@clack/core': 0.4.1 + picocolors: 1.1.1 + sisteransi: 1.0.5 - /has-to-string-tag-x@1.4.1: - resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} + '@commitlint/cli@19.7.1(@types/node@22.13.1)(typescript@5.7.3)': dependencies: - has-symbol-support-x: 1.4.2 - dev: true + '@commitlint/format': 19.5.0 + '@commitlint/lint': 19.7.1 + '@commitlint/load': 19.6.1(@types/node@22.13.1)(typescript@5.7.3) + '@commitlint/read': 19.5.0 + '@commitlint/types': 19.5.0 + tinyexec: 0.3.2 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - typescript - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} + '@commitlint/config-conventional@19.7.1': dependencies: - has-symbols: 1.0.2 + '@commitlint/types': 19.5.0 + conventional-changelog-conventionalcommits: 7.0.2 - /has-value@0.3.1: - resolution: {integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=} - engines: {node: '>=0.10.0'} + '@commitlint/config-validator@19.5.0': dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - dev: true + '@commitlint/types': 19.5.0 + ajv: 8.17.1 - /has-value@1.0.0: - resolution: {integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=} - engines: {node: '>=0.10.0'} + '@commitlint/ensure@19.5.0': dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - dev: true + '@commitlint/types': 19.5.0 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.startcase: 4.4.0 + lodash.upperfirst: 4.3.1 - /has-values@0.1.4: - resolution: {integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E=} - engines: {node: '>=0.10.0'} - dev: true + '@commitlint/execute-rule@19.5.0': {} - /has-values@1.0.0: - resolution: {integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=} - engines: {node: '>=0.10.0'} + '@commitlint/format@19.5.0': dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - dev: true - - /has-yarn@2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} + '@commitlint/types': 19.5.0 + chalk: 5.4.1 - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + '@commitlint/is-ignored@19.7.1': dependencies: - function-bind: 1.1.1 + '@commitlint/types': 19.5.0 + semver: 7.7.1 - /hex-color-regex@1.1.0: - resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} - dev: false + '@commitlint/lint@19.7.1': + dependencies: + '@commitlint/is-ignored': 19.7.1 + '@commitlint/parse': 19.5.0 + '@commitlint/rules': 19.6.0 + '@commitlint/types': 19.5.0 - /highlight.js@11.5.1: - resolution: {integrity: sha512-LKzHqnxr4CrD2YsNoIf/o5nJ09j4yi/GcH5BnYz9UnVpZdS4ucMgvP61TDty5xJcFGRjnH4DpujkS9bHT3hq0Q==} - engines: {node: '>=12.0.0'} - dev: false + '@commitlint/load@19.6.1(@types/node@22.13.1)(typescript@5.7.3)': + dependencies: + '@commitlint/config-validator': 19.5.0 + '@commitlint/execute-rule': 19.5.0 + '@commitlint/resolve-extends': 19.5.0 + '@commitlint/types': 19.5.0 + chalk: 5.4.1 + cosmiconfig: 9.0.0(typescript@5.7.3) + cosmiconfig-typescript-loader: 6.1.0(@types/node@22.13.1)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + transitivePeerDependencies: + - '@types/node' + - typescript - /highlight.js@11.9.0: - resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} - engines: {node: '>=12.0.0'} - dev: false + '@commitlint/message@19.5.0': {} - /homedir-polyfill@1.0.3: - resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} - engines: {node: '>=0.10.0'} + '@commitlint/parse@19.5.0': dependencies: - parse-passwd: 1.0.0 - dev: true + '@commitlint/types': 19.5.0 + conventional-changelog-angular: 7.0.0 + conventional-commits-parser: 5.0.0 - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true + '@commitlint/read@19.5.0': + dependencies: + '@commitlint/top-level': 19.5.0 + '@commitlint/types': 19.5.0 + git-raw-commits: 4.0.0 + minimist: 1.2.8 + tinyexec: 0.3.2 - /hosted-git-info@4.0.2: - resolution: {integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==} - engines: {node: '>=10'} + '@commitlint/resolve-extends@19.5.0': dependencies: - lru-cache: 6.0.0 - dev: true + '@commitlint/config-validator': 19.5.0 + '@commitlint/types': 19.5.0 + global-directory: 4.0.1 + import-meta-resolve: 4.1.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 - /hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} + '@commitlint/rules@19.6.0': dependencies: - lru-cache: 6.0.0 - dev: true + '@commitlint/ensure': 19.5.0 + '@commitlint/message': 19.5.0 + '@commitlint/to-lines': 19.5.0 + '@commitlint/types': 19.5.0 - /hsl-regex@1.0.0: - resolution: {integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=} - dev: false + '@commitlint/to-lines@19.5.0': {} - /hsla-regex@1.0.0: - resolution: {integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg=} - dev: false + '@commitlint/top-level@19.5.0': + dependencies: + find-up: 7.0.0 - /htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + '@commitlint/types@19.5.0': dependencies: - domelementtype: 2.2.0 - domhandler: 4.3.0 - domutils: 2.8.0 - entities: 2.2.0 + '@types/conventional-commits-parser': 5.0.1 + chalk: 5.4.1 - /htmlparser2@7.2.0: - resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} + '@develar/schema-utils@2.6.5': dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 3.0.1 - dev: true + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) - /http-cache-semantics@3.8.1: - resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} - dev: true + '@electron/asar@3.2.18': + dependencies: + commander: 5.1.0 + glob: 7.2.3 + minimatch: 3.1.2 - /http-cache-semantics@4.1.0: - resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} + '@electron/get@2.0.3': + dependencies: + debug: 4.4.0(supports-color@5.5.0) + env-paths: 2.2.1 + fs-extra: 8.1.0 + got: 11.8.6 + progress: 2.0.3 + semver: 6.3.1 + sumchecker: 3.0.1 + optionalDependencies: + global-agent: 3.0.0 + transitivePeerDependencies: + - supports-color - /http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} + '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 + env-paths: 2.2.1 + exponential-backoff: 3.1.2 + glob: 8.1.0 + graceful-fs: 4.2.11 + make-fetch-happen: 10.2.1 + nopt: 6.0.0 + proc-log: 2.0.1 + semver: 7.7.1 + tar: 6.2.1 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + '@electron/notarize@2.5.0': dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 + debug: 4.4.0(supports-color@5.5.0) + fs-extra: 9.1.0 + promise-retry: 2.0.1 + transitivePeerDependencies: + - supports-color - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} + '@electron/osx-sign@1.3.1': dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.3.4(supports-color@9.2.1) + compare-version: 0.1.2 + debug: 4.4.0(supports-color@5.5.0) + fs-extra: 10.1.0 + isbinaryfile: 4.0.10 + minimist: 1.2.8 + plist: 3.1.0 transitivePeerDependencies: - supports-color - dev: true - /http-signature@1.2.0: - resolution: {integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=} - engines: {node: '>=0.8', npm: '>=1.3.7'} + '@electron/rebuild@3.6.1': dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.17.0 - dev: true + '@malept/cross-spawn-promise': 2.0.0 + chalk: 4.1.2 + debug: 4.4.0(supports-color@5.5.0) + detect-libc: 2.0.3 + fs-extra: 10.1.0 + got: 11.8.6 + node-abi: 3.74.0 + node-api-version: 0.2.0 + node-gyp: 9.4.1 + ora: 5.4.1 + read-binary-file-arch: 1.0.6 + semver: 7.7.1 + tar: 6.2.1 + yargs: 17.7.2 + transitivePeerDependencies: + - bluebird + - supports-color - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + '@electron/rebuild@3.7.1': dependencies: - agent-base: 6.0.2 - debug: 4.3.4(supports-color@9.2.1) + '@electron/node-gyp': https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2 + '@malept/cross-spawn-promise': 2.0.0 + chalk: 4.1.2 + debug: 4.4.0(supports-color@5.5.0) + detect-libc: 2.0.3 + fs-extra: 10.1.0 + got: 11.8.6 + node-abi: 3.74.0 + node-api-version: 0.2.0 + ora: 5.4.1 + read-binary-file-arch: 1.0.6 + semver: 7.7.1 + tar: 6.2.1 + yargs: 17.7.2 transitivePeerDependencies: + - bluebird - supports-color - dev: true - /human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - dev: true + '@electron/universal@2.0.1': + dependencies: + '@electron/asar': 3.2.18 + '@malept/cross-spawn-promise': 2.0.0 + debug: 4.4.0(supports-color@5.5.0) + dir-compare: 4.2.0 + fs-extra: 11.3.0 + minimatch: 9.0.5 + plist: 3.1.0 + transitivePeerDependencies: + - supports-color - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true + '@es-joy/jsdoccomment@0.49.0': + dependencies: + comment-parser: 1.4.1 + esquery: 1.6.0 + jsdoc-type-pratt-parser: 4.1.0 - /husky@7.0.4: - resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==} - engines: {node: '>=12'} - hasBin: true - dev: true + '@es-joy/jsdoccomment@0.50.0': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 + '@typescript-eslint/types': 8.23.0 + comment-parser: 1.4.1 + esquery: 1.6.0 + jsdoc-type-pratt-parser: 4.1.0 - /i18next-fs-backend@1.1.4: - resolution: {integrity: sha512-/MfAGMP0jHonV966uFf9PkWWuDjPYLIcsipnSO3NxpNtAgRUKLTwvm85fEmsF6hGeu0zbZiCQ3W74jwO6K9uXA==} - dev: false + '@esbuild/aix-ppc64@0.24.2': + optional: true - /i18next@21.8.14: - resolution: {integrity: sha512-4Yi+DtexvMm/Yw3Q9fllzY12SgLk+Mcmar+rCAccsOPul/2UmnBzoHbTGn/L48IPkFcmrNaH7xTLboBWIbH6pw==} - dependencies: - '@babel/runtime': 7.18.9 + '@esbuild/android-arm64@0.24.2': + optional: true - /iconv-corefoundation@1.1.7: - resolution: {integrity: sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==} - engines: {node: ^8.11.2 || >=10} - os: [darwin] - requiresBuild: true - dependencies: - cli-truncate: 2.1.0 - node-addon-api: 1.7.2 - dev: true + '@esbuild/android-arm@0.24.2': optional: true - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 + '@esbuild/android-x64@0.24.2': + optional: true - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 + '@esbuild/darwin-arm64@0.24.2': + optional: true - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - requiresBuild: true - dev: true + '@esbuild/darwin-x64@0.24.2': + optional: true - /ignore@4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} - dev: true + '@esbuild/freebsd-arm64@0.24.2': + optional: true - /ignore@5.2.0: - resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} - engines: {node: '>= 4'} + '@esbuild/freebsd-x64@0.24.2': + optional: true - /immutable@4.0.0: - resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==} - dev: true + '@esbuild/linux-arm64@0.24.2': + optional: true - /import-fresh@2.0.0: - resolution: {integrity: sha1-2BNVwVYS04bGH53dOSLUMEgipUY=} - engines: {node: '>=4'} - dependencies: - caller-path: 2.0.0 - resolve-from: 3.0.0 - dev: false + '@esbuild/linux-arm@0.24.2': + optional: true - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true + '@esbuild/linux-ia32@0.24.2': + optional: true - /import-global@0.1.0: - resolution: {integrity: sha1-l7OP1EQRTuwWgkqTX42ldbV6oc4=} - engines: {node: '>=4'} - dependencies: - global-dirs: 0.1.1 - dev: true + '@esbuild/linux-loong64@0.24.2': + optional: true - /import-lazy@2.1.0: - resolution: {integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=} - engines: {node: '>=4'} + '@esbuild/linux-mips64el@0.24.2': + optional: true - /imurmurhash@0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} - engines: {node: '>=0.8.19'} + '@esbuild/linux-ppc64@0.24.2': + optional: true - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: true + '@esbuild/linux-riscv64@0.24.2': + optional: true - /indexes-of@1.0.1: - resolution: {integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc=} - dev: false + '@esbuild/linux-s390x@0.24.2': + optional: true - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 + '@esbuild/linux-x64@0.24.2': + optional: true - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + '@esbuild/netbsd-arm64@0.24.2': + optional: true - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + '@esbuild/netbsd-x64@0.24.2': + optional: true - /ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} + '@esbuild/openbsd-arm64@0.24.2': + optional: true - /inquirer@7.3.3: - resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} - engines: {node: '>=8.0.0'} - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - run-async: 2.4.1 - rxjs: 6.6.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - dev: true + '@esbuild/openbsd-x64@0.24.2': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true - /insertion-query@1.1.0: - resolution: {integrity: sha512-5HZCK1xmD+Cm5q9/Qk1S8tr2BqHtcvseGsg7LKD3WlHRg4OOCl7d6C5raGNXAhfV4NlUcHmAtdJt0b3vJPEuiA==} - dev: false + '@esbuild/win32-ia32@0.24.2': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true - /interactjs@1.10.11: - resolution: {integrity: sha512-VPUWsGAOPmrZe1YF7Fq/4AIBBZ+3FikZRS8bpzT6VsAfUuhxl/CKJY73IAiZHd3fz9p174CXErn0Qs81XEFICA==} + '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.19.0(jiti@2.4.2))': dependencies: - '@interactjs/types': 1.10.11 - dev: false + escape-string-regexp: 4.0.0 + eslint: 9.19.0(jiti@2.4.2) + ignore: 5.3.2 - /internal-slot@1.0.3: - resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} - engines: {node: '>= 0.4'} + '@eslint-community/eslint-utils@4.4.1(eslint@9.19.0(jiti@2.4.2))': dependencies: - get-intrinsic: 1.1.1 - has: 1.0.3 - side-channel: 1.0.4 + eslint: 9.19.0(jiti@2.4.2) + eslint-visitor-keys: 3.4.3 - /internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - dev: false + '@eslint-community/regexpp@4.12.1': {} - /interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - dev: true + '@eslint/compat@1.2.6(eslint@9.19.0(jiti@2.4.2))': + optionalDependencies: + eslint: 9.19.0(jiti@2.4.2) - /into-stream@2.0.1: - resolution: {integrity: sha1-25sANpRFPq4JHYpchMwRUHt4HTE=} - engines: {node: '>=0.10.0'} + '@eslint/config-array@0.19.2': dependencies: - from2: 2.3.0 - dev: true + '@eslint/object-schema': 2.1.6 + debug: 4.4.0(supports-color@5.5.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color - /into-stream@3.1.0: - resolution: {integrity: sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=} - engines: {node: '>=4'} + '@eslint/core@0.10.0': dependencies: - from2: 2.3.0 - p-is-promise: 1.1.0 - dev: true + '@types/json-schema': 7.0.15 - /ip@1.1.5: - resolution: {integrity: sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=} - dev: true - - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} + '@eslint/eslintrc@3.2.0': + dependencies: + ajv: 6.12.6 + debug: 4.4.0(supports-color@5.5.0) + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color - /is-absolute-url@2.1.0: - resolution: {integrity: sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=} - engines: {node: '>=0.10.0'} - dev: false + '@eslint/js@9.19.0': {} - /is-accessor-descriptor@0.1.6: - resolution: {integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=} - engines: {node: '>=0.10.0'} + '@eslint/markdown@6.2.2': dependencies: - kind-of: 3.2.2 - dev: true + '@eslint/core': 0.10.0 + '@eslint/plugin-kit': 0.2.5 + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + transitivePeerDependencies: + - supports-color - /is-accessor-descriptor@1.0.0: - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} - engines: {node: '>=0.10.0'} + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.2.5': dependencies: - kind-of: 6.0.3 - dev: true + '@eslint/core': 0.10.0 + levn: 0.4.1 - /is-arrayish@0.2.1: - resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} + '@gar/promisify@1.1.3': {} - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: false + '@humanfs/core@0.19.1': {} - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + '@humanfs/node@0.16.6': dependencies: - has-bigints: 1.0.1 + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} + + '@isaacs/cliui@8.0.2': dependencies: - binary-extensions: 2.2.0 - dev: true + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + '@jridgewell/gen-mapping@0.3.8': dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 - /is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: true + '@jridgewell/resolve-uri@3.1.2': {} - /is-callable@1.2.4: - resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} - engines: {node: '>= 0.4'} + '@jridgewell/set-array@1.2.1': {} - /is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - dependencies: - ci-info: 2.0.0 + '@jridgewell/sourcemap-codec@1.5.0': {} - /is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true + '@jridgewell/trace-mapping@0.3.25': dependencies: - ci-info: 3.3.2 - dev: true + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 - /is-color-stop@1.1.0: - resolution: {integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=} + '@malept/cross-spawn-promise@2.0.0': dependencies: - css-color-names: 0.0.4 - hex-color-regex: 1.1.0 - hsl-regex: 1.0.0 - hsla-regex: 1.0.0 - rgb-regex: 1.0.1 - rgba-regex: 1.0.0 - dev: false + cross-spawn: 7.0.6 - /is-core-module@2.8.1: - resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} + '@malept/flatpak-bundler@0.4.0': dependencies: - has: 1.0.3 + debug: 4.4.0(supports-color@5.5.0) + fs-extra: 9.1.0 + lodash: 4.17.21 + tmp-promise: 3.0.3 + transitivePeerDependencies: + - supports-color - /is-data-descriptor@0.1.4: - resolution: {integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=} - engines: {node: '>=0.10.0'} + '@nodelib/fs.scandir@2.1.5': dependencies: - kind-of: 3.2.2 - dev: true + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 - /is-data-descriptor@1.0.0: - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true + '@nodelib/fs.stat@2.0.5': {} - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + '@nodelib/fs.walk@1.2.8': dependencies: - has-tostringtag: 1.0.0 + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.0 - /is-descriptor@0.1.6: - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} - engines: {node: '>=0.10.0'} + '@npmcli/fs@2.1.2': dependencies: - is-accessor-descriptor: 0.1.6 - is-data-descriptor: 0.1.4 - kind-of: 5.1.0 - dev: true + '@gar/promisify': 1.1.3 + semver: 7.7.1 - /is-descriptor@1.0.2: - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} - engines: {node: '>=0.10.0'} + '@npmcli/move-file@2.0.1': dependencies: - is-accessor-descriptor: 1.0.0 - is-data-descriptor: 1.0.0 - kind-of: 6.0.3 - dev: true + mkdirp: 1.0.4 + rimraf: 3.0.2 - /is-directory@0.3.1: - resolution: {integrity: sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=} - engines: {node: '>=0.10.0'} - dev: false + '@pkgjs/parseargs@0.11.0': + optional: true - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true + '@pkgr/core@0.1.1': {} - /is-expression@4.0.0: - resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} - dependencies: - acorn: 7.4.1 - object-assign: 4.1.1 + '@rollup/rollup-android-arm-eabi@4.34.4': + optional: true - /is-extendable@0.1.1: - resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=} - engines: {node: '>=0.10.0'} - dev: true + '@rollup/rollup-android-arm64@4.34.4': + optional: true - /is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-object: 2.0.4 - dev: true + '@rollup/rollup-darwin-arm64@4.34.4': + optional: true - /is-extglob@2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} - engines: {node: '>=0.10.0'} + '@rollup/rollup-darwin-x64@4.34.4': + optional: true - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + '@rollup/rollup-freebsd-arm64@4.34.4': + optional: true - /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: true + '@rollup/rollup-freebsd-x64@4.34.4': + optional: true - /is-glob@3.1.0: - resolution: {integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true + '@rollup/rollup-linux-arm-gnueabihf@4.34.4': + optional: true - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 + '@rollup/rollup-linux-arm-musleabihf@4.34.4': + optional: true - /is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} - dependencies: - global-dirs: 3.0.0 - is-path-inside: 3.0.3 + '@rollup/rollup-linux-arm64-gnu@4.34.4': + optional: true - /is-natural-number@4.0.1: - resolution: {integrity: sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=} - dev: true + '@rollup/rollup-linux-arm64-musl@4.34.4': + optional: true - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} + '@rollup/rollup-linux-loongarch64-gnu@4.34.4': + optional: true - /is-npm@5.0.0: - resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} - engines: {node: '>=10'} + '@rollup/rollup-linux-powerpc64le-gnu@4.34.4': + optional: true - /is-number-object@1.0.6: - resolution: {integrity: sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 + '@rollup/rollup-linux-riscv64-gnu@4.34.4': + optional: true - /is-number@3.0.0: - resolution: {integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true + '@rollup/rollup-linux-s390x-gnu@4.34.4': + optional: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + '@rollup/rollup-linux-x64-gnu@4.34.4': + optional: true - /is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} + '@rollup/rollup-linux-x64-musl@4.34.4': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.34.4': + optional: true - /is-object@1.0.2: - resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} - dev: true + '@rollup/rollup-win32-ia32-msvc@4.34.4': + optional: true - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + '@rollup/rollup-win32-x64-msvc@4.34.4': + optional: true - /is-plain-obj@1.1.0: - resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} - engines: {node: '>=0.10.0'} - dev: true + '@sindresorhus/is@4.6.0': {} - /is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} + '@stylistic/eslint-plugin@2.13.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - isobject: 3.0.1 - dev: true + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + estraverse: 5.3.0 + picomatch: 4.0.2 + transitivePeerDependencies: + - supports-color + - typescript - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - dev: false + '@szmarczak/http-timer@4.0.6': + dependencies: + defer-to-connect: 2.0.1 - /is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + '@tootallnate/once@2.0.0': {} - /is-property@1.0.2: - resolution: {integrity: sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=} - dev: true + '@types/better-sqlite3@7.6.12': + dependencies: + '@types/node': 22.13.1 - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + '@types/cacheable-request@6.0.3': dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + '@types/http-cache-semantics': 4.0.4 + '@types/keyv': 3.1.4 + '@types/node': 22.13.1 + '@types/responselike': 1.0.3 - /is-resolvable@1.1.0: - resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} - dev: false + '@types/conventional-commits-parser@5.0.1': + dependencies: + '@types/node': 22.13.1 - /is-retry-allowed@1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} - dev: true + '@types/debug@4.1.12': + dependencies: + '@types/ms': 2.1.0 - /is-shared-array-buffer@1.0.1: - resolution: {integrity: sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==} + '@types/doctrine@0.0.9': {} - /is-stream@1.1.0: - resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=} - engines: {node: '>=0.10.0'} - dev: true + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true + '@types/estree@1.0.6': {} - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + '@types/fs-extra@9.0.13': dependencies: - has-tostringtag: 1.0.0 + '@types/node': 22.13.1 + + '@types/http-cache-semantics@4.0.4': {} + + '@types/json-schema@7.0.15': {} - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + '@types/keyv@3.1.4': dependencies: - has-symbols: 1.0.2 + '@types/node': 22.13.1 - /is-text-path@1.0.1: - resolution: {integrity: sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=} - engines: {node: '>=0.10.0'} + '@types/mdast@4.0.4': dependencies: - text-extensions: 1.9.0 - dev: true + '@types/unist': 3.0.3 - /is-typedarray@1.0.0: - resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} + '@types/ms@2.1.0': {} - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + '@types/node@20.17.17': dependencies: - call-bind: 1.0.2 + undici-types: 6.19.8 - /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true + '@types/node@22.13.1': + dependencies: + undici-types: 6.20.0 - /is-wsl@1.1.0: - resolution: {integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=} - engines: {node: '>=4'} - dev: true + '@types/normalize-package-data@2.4.4': {} - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + '@types/plist@3.0.5': dependencies: - is-docker: 2.2.1 + '@types/node': 22.13.1 + xmlbuilder: 15.1.1 + optional: true - /is-yarn-global@0.3.0: - resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} + '@types/responselike@1.0.3': + dependencies: + '@types/node': 22.13.1 - /isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + '@types/unist@3.0.3': {} - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + '@types/verror@1.10.10': + optional: true - /isbinaryfile@3.0.3: - resolution: {integrity: sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==} - engines: {node: '>=0.6.0'} + '@types/yauzl@2.10.3': dependencies: - buffer-alloc: 1.2.0 - dev: true + '@types/node': 22.13.1 + optional: true - /isbinaryfile@4.0.10: - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} - engines: {node: '>= 8.0.0'} - dev: true + '@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/type-utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.23.0 + eslint: 9.19.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - /isbinaryfile@4.0.8: - resolution: {integrity: sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==} - engines: {node: '>= 8.0.0'} - dev: true + '@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.23.0 + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.19.0(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - /isexe@2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} + '@typescript-eslint/scope-manager@8.23.0': + dependencies: + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/visitor-keys': 8.23.0 - /isobject@2.1.0: - resolution: {integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=} - engines: {node: '>=0.10.0'} + '@typescript-eslint/type-utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - isarray: 1.0.0 - dev: true + '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.19.0(jiti@2.4.2) + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - /isobject@3.0.1: - resolution: {integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=} - engines: {node: '>=0.10.0'} - dev: true + '@typescript-eslint/types@8.23.0': {} - /isstream@0.1.2: - resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=} - dev: true + '@typescript-eslint/typescript-estree@8.23.0(typescript@5.7.3)': + dependencies: + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/visitor-keys': 8.23.0 + debug: 4.4.0(supports-color@5.5.0) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - /isurl@1.0.0: - resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} - engines: {node: '>= 4'} + '@typescript-eslint/utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - has-to-string-tag-x: 1.4.1 - is-object: 1.0.2 - dev: true + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - /iterall@1.3.0: - resolution: {integrity: sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==} - dev: true + '@typescript-eslint/visitor-keys@8.23.0': + dependencies: + '@typescript-eslint/types': 8.23.0 + eslint-visitor-keys: 4.2.0 - /jake@10.8.5: - resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} - engines: {node: '>=10'} - hasBin: true + '@vitejs/plugin-vue@5.2.1(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': dependencies: - async: 3.2.4 - chalk: 4.1.2 - filelist: 1.0.4 - minimatch: 3.1.2 - dev: true + vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + vue: 3.5.13(typescript@5.7.3) - /java-parser@2.0.1: - resolution: {integrity: sha512-IPzs8LN8drvAZKbgW1MLLsrEeW4TwSy714I6ZHlEGNV6/42S2xRU5zDn3lP6uZQakwi7nyC00T6lZvwEnBujzw==} + '@vitest/eslint-plugin@1.1.25(@typescript-eslint/utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - chevrotain: 6.5.0 - lodash: 4.17.21 - dev: false + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + optionalDependencies: + typescript: 5.7.3 - /javascript-stringify@1.6.0: - resolution: {integrity: sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=} - dev: true + '@vue/compiler-core@3.5.13': + dependencies: + '@babel/parser': 7.26.7 + '@vue/shared': 3.5.13 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 - /jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} + '@vue/compiler-dom@3.5.13': dependencies: - '@types/node': 17.0.45 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 - /jju@1.4.0: - resolution: {integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo=} - dev: false + '@vue/compiler-sfc@3.5.13': + dependencies: + '@babel/parser': 7.26.7 + '@vue/compiler-core': 3.5.13 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 + estree-walker: 2.0.2 + magic-string: 0.30.17 + postcss: 8.5.1 + source-map-js: 1.2.1 - /js-message@1.0.7: - resolution: {integrity: sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==} - engines: {node: '>=0.6.0'} - dev: true + '@vue/compiler-ssr@3.5.13': + dependencies: + '@vue/compiler-dom': 3.5.13 + '@vue/shared': 3.5.13 - /js-stringify@1.0.2: - resolution: {integrity: sha1-Fzb939lyTyijaCrcYjCufk6Weds=} - dev: true + '@vue/devtools-api@6.6.4': {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + '@vue/reactivity@3.5.13': + dependencies: + '@vue/shared': 3.5.13 - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + '@vue/runtime-core@3.5.13': dependencies: - argparse: 1.0.10 - esprima: 4.0.1 + '@vue/reactivity': 3.5.13 + '@vue/shared': 3.5.13 - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + '@vue/runtime-dom@3.5.13': dependencies: - argparse: 2.0.1 + '@vue/reactivity': 3.5.13 + '@vue/runtime-core': 3.5.13 + '@vue/shared': 3.5.13 + csstype: 3.1.3 - /jsbn@0.1.1: - resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=} - dev: true + '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.7.3))': + dependencies: + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 + vue: 3.5.13(typescript@5.7.3) - /jscodeshift@0.11.0(@babel/preset-env@7.16.5): - resolution: {integrity: sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==} - hasBin: true - peerDependencies: - '@babel/preset-env': ^7.1.6 - dependencies: - '@babel/core': 7.16.5 - '@babel/parser': 7.17.9 - '@babel/plugin-proposal-class-properties': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-optional-chaining': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-modules-commonjs': 7.16.5(@babel/core@7.16.5) - '@babel/preset-env': 7.16.5(@babel/core@7.16.5) - '@babel/preset-flow': 7.16.5(@babel/core@7.16.5) - '@babel/preset-typescript': 7.16.5(@babel/core@7.16.5) - '@babel/register': 7.16.5(@babel/core@7.16.5) - babel-core: 7.0.0-bridge.0(@babel/core@7.16.5) - colors: 1.4.0 - flow-parser: 0.168.0 - graceful-fs: 4.2.10 - micromatch: 3.1.10 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.20.5 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color - dev: true + '@vue/shared@3.5.13': {} - /jsesc@0.5.0: - resolution: {integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=} - hasBin: true - dev: true + '@xmldom/xmldom@0.8.10': {} - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 - /json-buffer@3.0.0: - resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} + abbrev@1.1.1: {} - /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + acorn-jsx@5.3.2(acorn@8.14.0): + dependencies: + acorn: 8.14.0 - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true + acorn@8.14.0: {} - /json-parse-helpfulerror@1.0.3: - resolution: {integrity: sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w=} + agent-base@6.0.2: dependencies: - jju: 1.4.0 - dev: false + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + agent-base@7.1.3: {} - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: false + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 - /json-schema-typed@7.0.3: - resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} - dev: false + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 - /json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - dev: true + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} - dev: true + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 - /json-stringify-safe@5.0.1: - resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} - dev: true + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 - /json5@1.0.1: - resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} - hasBin: true + ajv@8.17.1: dependencies: - minimist: 1.2.6 - dev: true + fast-deep-equal: 3.1.3 + fast-uri: 3.0.6 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 - /json5@2.2.0: - resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} - engines: {node: '>=6'} - hasBin: true + ansi-escapes@7.0.0: dependencies: - minimist: 1.2.6 - dev: true + environment: 1.1.0 - /json5@2.2.1: - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} - engines: {node: '>=6'} - hasBin: true - dev: true + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} - /jsonc-parser@2.3.1: - resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} - dev: true + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 - /jsonc-parser@3.0.0: - resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==} - dev: true + ansi-styles@6.2.1: {} - /jsonfile@4.0.0: - resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} - optionalDependencies: - graceful-fs: 4.2.10 - dev: true + any-promise@1.3.0: {} - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + anymatch@3.1.3: dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.10 + normalize-path: 3.0.0 + picomatch: 2.3.1 - /jsonparse@1.3.1: - resolution: {integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=} - engines: {'0': node >= 0.2.0} - dev: true + app-builder-bin@5.0.0-alpha.10: {} - /jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} + app-builder-lib@25.1.8(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8): dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 - dev: true + '@develar/schema-utils': 2.6.5 + '@electron/notarize': 2.5.0 + '@electron/osx-sign': 1.3.1 + '@electron/rebuild': 3.6.1 + '@electron/universal': 2.0.1 + '@malept/flatpak-bundler': 0.4.0 + '@types/fs-extra': 9.0.13 + async-exit-hook: 2.0.1 + bluebird-lst: 1.0.9 + builder-util: 25.1.7 + builder-util-runtime: 9.2.10 + chromium-pickle-js: 0.2.0 + config-file-ts: 0.2.8-rc1 + debug: 4.4.0(supports-color@5.5.0) + dmg-builder: 25.1.8(electron-builder-squirrel-windows@25.1.8) + dotenv: 16.4.7 + dotenv-expand: 11.0.7 + ejs: 3.1.10 + electron-builder-squirrel-windows: 25.1.8(dmg-builder@25.1.8) + electron-publish: 25.1.7 + form-data: 4.0.1 + fs-extra: 10.1.0 + hosted-git-info: 4.1.0 + is-ci: 3.0.1 + isbinaryfile: 5.0.4 + js-yaml: 4.1.0 + json5: 2.2.3 + lazy-val: 1.0.5 + minimatch: 10.0.1 + resedit: 1.7.2 + sanitize-filename: 1.6.3 + semver: 7.7.1 + tar: 6.2.1 + temp-file: 3.4.0 + transitivePeerDependencies: + - bluebird + - supports-color - /jstransformer@1.0.0: - resolution: {integrity: sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=} - dependencies: - is-promise: 2.2.2 - promise: 7.3.1 - dev: true + aproba@2.0.0: {} - /katex@0.16.9: - resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==} - hasBin: true + archiver-utils@2.1.0: dependencies: - commander: 8.3.0 - dev: false + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 2.3.8 - /keyv@3.0.0: - resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} + archiver-utils@3.0.4: dependencies: - json-buffer: 3.0.0 - dev: true + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 3.6.2 - /keyv@3.1.0: - resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} + archiver@5.3.2: dependencies: - json-buffer: 3.0.0 + archiver-utils: 2.1.0 + async: 3.2.6 + buffer-crc32: 0.2.13 + readable-stream: 3.6.2 + readdir-glob: 1.1.3 + tar-stream: 2.2.0 + zip-stream: 4.1.1 - /khroma@2.0.0: - resolution: {integrity: sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==} - dev: false + are-docs-informative@0.0.2: {} - /kind-of@3.2.2: - resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=} - engines: {node: '>=0.10.0'} + are-we-there-yet@3.0.1: dependencies: - is-buffer: 1.1.6 - dev: true + delegates: 1.0.0 + readable-stream: 3.6.2 - /kind-of@4.0.0: - resolution: {integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc=} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true + arg@5.0.2: {} - /kind-of@5.1.0: - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} - engines: {node: '>=0.10.0'} - dev: true + argparse@2.0.1: {} - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true + array-ify@1.0.0: {} - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} + assert-plus@1.0.0: + optional: true - /kolorist@1.5.1: - resolution: {integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==} - dev: true + astral-regex@2.0.0: + optional: true - /latest-version@5.1.0: - resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} - engines: {node: '>=8'} - dependencies: - package-json: 6.5.0 + async-exit-hook@2.0.1: {} - /launch-editor@2.3.0: - resolution: {integrity: sha512-3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA==} - dependencies: - picocolors: 1.0.0 - shell-quote: 1.7.3 - dev: true + async@3.2.6: {} - /lazy-val@1.0.5: - resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} - dev: true + asynckit@0.4.0: {} - /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true + at-least-node@1.0.0: {} - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true + atomically@1.7.0: {} - /lilconfig@2.0.4: - resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} - engines: {node: '>=10'} - dev: true + autoprefixer@10.4.20(postcss@8.5.1): + dependencies: + browserslist: 4.24.4 + caniuse-lite: 1.0.30001698 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.1 + postcss-value-parser: 4.2.0 - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true + balanced-match@1.0.2: {} - /linguist-languages@7.15.0: - resolution: {integrity: sha512-qkSSNDjDDycZ2Wcw+GziNBB3nNo3ddYUInM/PL8Amgwbd9RQ/BKGj2/1d6mdxKgBFnUqZuaDbkIwkE4KUwwmtQ==} - dev: false + base64-js@1.5.1: {} - /lint-staged@12.1.4: - resolution: {integrity: sha512-RgDz9nsFsE0/5eL9Vat0AvCuk0+j5mEuzBIVfrRH5FRtt5wibYe8zTjZs2nuqLFrLAGQGYnj8+HJxolcj08i/A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true + better-sqlite3@11.8.1: dependencies: - cli-truncate: 3.1.0 - colorette: 2.0.16 - commander: 8.3.0 - debug: 4.3.4(supports-color@9.2.1) - execa: 5.1.1 - lilconfig: 2.0.4 - listr2: 3.13.5 - micromatch: 4.0.4 - normalize-path: 3.0.0 - object-inspect: 1.12.0 - string-argv: 0.3.1 - supports-color: 9.2.1 - yaml: 1.10.2 - transitivePeerDependencies: - - enquirer - dev: true + bindings: 1.5.0 + prebuild-install: 7.1.3 - /listenercount@1.0.1: - resolution: {integrity: sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=} - dev: false + binary-extensions@2.3.0: {} - /listr2@3.13.5: - resolution: {integrity: sha512-3n8heFQDSk+NcwBn3CgxEibZGaRzx+pC64n3YjpMD1qguV4nWus3Al+Oo3KooqFKTQEJ1v7MmnbnyyNspgx3NA==} - engines: {node: '>=10.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true + bindings@1.5.0: dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.16 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.3.0 - rxjs: 7.4.0 - through: 2.3.8 - wrap-ansi: 7.0.0 - dev: true + file-uri-to-path: 1.0.0 - /load-json-file@4.0.0: - resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} - engines: {node: '>=4'} + bl@4.1.0: dependencies: - graceful-fs: 4.2.10 - parse-json: 4.0.0 - pify: 3.0.0 - strip-bom: 3.0.0 - dev: true + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 - /loader-runner@4.2.0: - resolution: {integrity: sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==} - engines: {node: '>=6.11.5'} - dev: true + bluebird-lst@1.0.9: + dependencies: + bluebird: 3.7.2 - /local-pkg@0.4.1: - resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==} - engines: {node: '>=14'} - dev: true + bluebird@3.7.2: {} - /locate-path@2.0.0: - resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} - engines: {node: '>=4'} - dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 - dev: true + boolbase@1.0.0: {} - /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 + boolean@3.2.0: + optional: true - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + brace-expansion@1.1.11: dependencies: - p-locate: 4.1.0 - dev: true + balanced-match: 1.0.2 + concat-map: 0.0.1 - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + brace-expansion@2.0.1: dependencies: - p-locate: 5.0.0 - dev: true - - /lodash-id@0.14.1: - resolution: {integrity: sha512-ikQPBTiq/d5m6dfKQlFdIXFzvThPi2Be9/AHxktOnDSfSxE1j9ICbBT5Elk1ke7HSTgM38LHTpmJovo9/klnLg==} - engines: {node: '>= 4'} - dev: false - - /lodash.camelcase@4.3.0: - resolution: {integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY=} + balanced-match: 1.0.2 - /lodash.clonedeep@4.5.0: - resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} - dev: true + braces@3.0.3: + dependencies: + fill-range: 7.1.1 - /lodash.debounce@4.0.8: - resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=} - dev: true + browserslist@4.24.4: + dependencies: + caniuse-lite: 1.0.30001698 + electron-to-chromium: 1.5.95 + node-releases: 2.0.19 + update-browserslist-db: 1.1.2(browserslist@4.24.4) - /lodash.get@4.4.2: - resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} - dev: true + buffer-crc32@0.2.13: {} - /lodash.memoize@4.1.2: - resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=} - dev: false + buffer-from@1.1.2: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 - /lodash.sortby@4.7.0: - resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=} - dev: true + builder-util-runtime@9.2.10: + dependencies: + debug: 4.4.0(supports-color@5.5.0) + sax: 1.4.1 + transitivePeerDependencies: + - supports-color - /lodash.uniq@4.5.0: - resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=} - dev: false + builder-util@25.1.7: + dependencies: + 7zip-bin: 5.2.0 + '@types/debug': 4.1.12 + app-builder-bin: 5.0.0-alpha.10 + bluebird-lst: 1.0.9 + builder-util-runtime: 9.2.10 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0(supports-color@5.5.0) + fs-extra: 10.1.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + is-ci: 3.0.1 + js-yaml: 4.1.0 + source-map-support: 0.5.21 + stat-mode: 1.0.0 + temp-file: 3.4.0 + transitivePeerDependencies: + - supports-color - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + builtin-modules@3.3.0: {} - /log-symbols@2.2.0: - resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} - engines: {node: '>=4'} + bumpp@9.11.1: dependencies: - chalk: 2.4.2 - dev: true + c12: 2.0.1 + cac: 6.7.14 + escalade: 3.2.0 + js-yaml: 4.1.0 + jsonc-parser: 3.3.1 + package-manager-detector: 0.2.9 + prompts: 2.4.2 + semver: 7.7.1 + tiny-conventional-commits-parser: 0.0.1 + tinyexec: 0.3.2 + tinyglobby: 0.2.10 + transitivePeerDependencies: + - magicast - /log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + c12@2.0.1: dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 - dev: true - - /loglevel@1.8.0: - resolution: {integrity: sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==} - engines: {node: '>= 0.6.0'} - dev: true + chokidar: 4.0.3 + confbox: 0.1.8 + defu: 6.1.4 + dotenv: 16.4.7 + giget: 1.2.4 + jiti: 2.4.2 + mlly: 1.7.4 + ohash: 1.1.4 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.3.1 + rc9: 2.1.2 - /long@4.0.0: - resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} - dev: true + cac@6.7.14: {} - /lowdb@1.0.0: - resolution: {integrity: sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==} - engines: {node: '>=4'} + cacache@16.1.3: dependencies: - graceful-fs: 4.2.10 - is-promise: 2.2.2 - lodash: 4.17.21 - pify: 3.0.0 - steno: 0.4.4 + '@npmcli/fs': 2.1.2 + '@npmcli/move-file': 2.0.1 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 8.1.0 + infer-owner: 1.0.4 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 9.0.1 + tar: 6.2.1 + unique-filename: 2.0.1 + transitivePeerDependencies: + - bluebird - /lowdb@3.0.0: - resolution: {integrity: sha512-9KZRulmIcU8fZuWiaM0d5e2/nPnrFyXkeXVpqT+MJS+vgbgOf1EbtvgQmba8HwUFgDl1oeZR6XqEJnkJmQdKmg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - steno: 2.1.0 - dev: false + cacheable-lookup@5.0.4: {} - /lowercase-keys@1.0.0: - resolution: {integrity: sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=} - engines: {node: '>=0.10.0'} - dev: true + cacheable-request@7.0.4: + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 - /lowercase-keys@1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} - engines: {node: '>=0.10.0'} + callsites@3.1.0: {} - /lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} + camelcase-css@2.0.1: {} - /lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 + caniuse-lite@1.0.30001698: {} - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - dependencies: - yallist: 3.1.1 + ccount@2.0.1: {} - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + chalk@3.0.0: dependencies: - yallist: 4.0.0 + ansi-styles: 4.3.0 + supports-color: 7.2.0 - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + chalk@4.1.2: dependencies: - sourcemap-codec: 1.4.8 + ansi-styles: 4.3.0 + supports-color: 7.2.0 - /magic-string@0.26.1: - resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==} - engines: {node: '>=12'} - dependencies: - sourcemap-codec: 1.4.8 - dev: true + chalk@5.4.1: {} - /make-dir@1.3.0: - resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} - engines: {node: '>=4'} - dependencies: - pify: 3.0.0 - dev: true + character-entities@2.0.2: {} - /make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} + chokidar@3.6.0: dependencies: - pify: 4.0.1 - semver: 5.7.1 - dev: true + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + chokidar@4.0.3: dependencies: - semver: 6.3.0 + readdirp: 4.1.1 - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true + chownr@1.1.4: {} - /map-age-cleaner@0.1.3: - resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} - engines: {node: '>=6'} - dependencies: - p-defer: 1.0.0 - dev: false + chownr@2.0.0: {} - /map-cache@0.2.2: - resolution: {integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=} - engines: {node: '>=0.10.0'} - dev: true + chromium-pickle-js@0.2.0: {} - /map-obj@1.0.1: - resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} - engines: {node: '>=0.10.0'} - dev: true + ci-info@3.9.0: {} - /map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - dev: true + ci-info@4.1.0: {} - /map-stream@0.1.0: - resolution: {integrity: sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=} - dev: true + citty@0.1.6: + dependencies: + consola: 3.4.0 - /map-visit@1.0.0: - resolution: {integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=} - engines: {node: '>=0.10.0'} + clean-regexp@1.0.0: dependencies: - object-visit: 1.0.1 - dev: true + escape-string-regexp: 1.0.5 - /marked@4.0.17: - resolution: {integrity: sha512-Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA==} - engines: {node: '>= 12'} - hasBin: true - dev: false + clean-stack@2.2.0: {} - /markmap-common@0.15.3: - resolution: {integrity: sha512-a40FfdzFEKoyIhd5KDsV6FfkM55WWi2spRq/cUCsOZd8e4PAHMc9auCEjdxTWRiS2EGzET9sPpvyAmPSTva+/w==} + cli-cursor@3.1.0: dependencies: - '@babel/runtime': 7.23.1 - '@gera2ld/jsx-dom': 2.2.2 - npm2url: 0.2.1 - dev: false + restore-cursor: 3.1.0 - /markmap-lib@0.15.4(markmap-common@0.15.3): - resolution: {integrity: sha512-uz/IedoGXoDD6eXpmyD+1vx+g3rEzomX1uwnXOxnigXC9ApXG67lUhA4ffNlucgoV4/BLA2m6KyVvswECjljVQ==} - peerDependencies: - markmap-common: '*' - dependencies: - '@babel/runtime': 7.23.1 - highlight.js: 11.9.0 - js-yaml: 4.1.0 - katex: 0.16.9 - markmap-common: 0.15.3 - prismjs: 1.29.0 - remarkable: 2.0.1 - remarkable-katex: 1.2.1 - dev: false - - /markmap-view@0.15.4(markmap-common@0.15.3): - resolution: {integrity: sha512-6PJnoPZHiQIb0YE+fg0Ht1ptEXgf9QOOTBEiC2DrzjAbZ3rrRa2g+0VhpZ+9vSzDsUa+m/IGz4xkiNepuPfs5w==} - peerDependencies: - markmap-common: '*' + cli-cursor@5.0.0: dependencies: - '@babel/runtime': 7.23.1 - '@gera2ld/jsx-dom': 2.2.2 - '@types/d3': 7.4.1 - d3: 7.8.5 - d3-flextree: 2.1.2 - markmap-common: 0.15.3 - dev: false + restore-cursor: 5.1.0 - /matcher@3.0.0: - resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} - engines: {node: '>=10'} - requiresBuild: true + cli-spinners@2.9.2: {} + + cli-truncate@2.1.0: dependencies: - escape-string-regexp: 4.0.0 - dev: true + slice-ansi: 3.0.0 + string-width: 4.2.3 optional: true - /mdn-data@1.1.4: - resolution: {integrity: sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==} - dev: false + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.2.0 - /mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - dev: false + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 - /mdn-data@2.0.4: - resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} - dev: false + clone-response@1.0.3: + dependencies: + mimic-response: 1.0.1 - /media-typer@0.3.0: - resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} - engines: {node: '>= 0.6'} + clone@1.0.4: {} - /mem@8.1.1: - resolution: {integrity: sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==} - engines: {node: '>=10'} + color-convert@2.0.1: dependencies: - map-age-cleaner: 0.1.3 - mimic-fn: 3.1.0 - dev: false + color-name: 1.1.4 - /memory-fs@0.2.0: - resolution: {integrity: sha1-8rslNovBIeORwlIN6Slpyu4KApA=} - dev: true + color-name@1.1.4: {} - /memorystream@0.3.1: - resolution: {integrity: sha1-htcJCzDORV1j+64S3aUaR93K+bI=} - engines: {node: '>= 0.10.0'} - dev: true + color-support@1.1.3: {} - /meow@8.1.2: - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} - engines: {node: '>=10'} - dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.0 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - dev: true + colorette@2.0.20: {} - /merge-descriptors@1.0.1: - resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true + commander@13.1.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + commander@4.1.1: {} - /merge@1.2.1: - resolution: {integrity: sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==} - dev: true - - /mermaid@9.1.3: - resolution: {integrity: sha512-jTIYiqKwsUXVCoxHUVkK8t0QN3zSKIdJlb9thT0J5jCnzXyc+gqTbZE2QmjRfavFTPPn5eRy5zaFp7V+6RhxYg==} - dependencies: - '@braintree/sanitize-url': 6.0.0 - d3: 7.8.5 - dagre: 0.8.5 - dagre-d3: 0.6.4 - dompurify: 2.3.8 - graphlib: 2.1.8 - khroma: 2.0.0 - moment-mini: 2.24.0 - stylis: 4.1.1 - dev: false - - /method-override@3.0.0: - resolution: {integrity: sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==} - engines: {node: '>= 0.10'} - dependencies: - debug: 3.1.0 - methods: 1.1.2 - parseurl: 1.3.3 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: false + commander@5.1.0: {} - /methods@1.1.2: - resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=} - engines: {node: '>= 0.6'} + comment-parser@1.4.1: {} - /micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} + compare-func@2.0.0: dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true + array-ify: 1.0.0 + dot-prop: 5.3.0 - /micromatch@4.0.4: - resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} - engines: {node: '>=8.6'} + compare-version@0.1.2: {} + + compress-commons@4.1.2: dependencies: - braces: 3.0.2 - picomatch: 2.3.1 + buffer-crc32: 0.2.13 + crc32-stream: 4.0.3 + normalize-path: 3.0.0 + readable-stream: 3.6.2 - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + concat-map@0.0.1: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + concurrently@9.1.2: dependencies: - mime-db: 1.52.0 + chalk: 4.1.2 + lodash: 4.17.21 + rxjs: 7.8.1 + shell-quote: 1.8.2 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.2 - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true + conf@10.2.0: + dependencies: + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + atomically: 1.7.0 + debounce-fn: 4.0.0 + dot-prop: 6.0.1 + env-paths: 2.2.1 + json-schema-typed: 7.0.3 + onetime: 5.1.2 + pkg-up: 3.1.0 + semver: 7.7.1 - /mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - dev: true + confbox@0.1.8: {} - /mimic-fn@1.2.0: - resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} - engines: {node: '>=4'} - dev: true + config-file-ts@0.2.8-rc1: + dependencies: + glob: 10.4.5 + typescript: 5.7.3 - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + consola@3.4.0: {} - /mimic-fn@3.1.0: - resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} - engines: {node: '>=8'} - dev: false + console-control-strings@1.1.0: {} - /mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} + conventional-changelog-angular@7.0.0: + dependencies: + compare-func: 2.0.0 - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true + conventional-changelog-conventionalcommits@7.0.2: + dependencies: + compare-func: 2.0.0 - /minimatch@3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} + conventional-commits-parser@5.0.0: dependencies: - brace-expansion: 1.1.11 - dev: true + JSONStream: 1.3.5 + is-text-path: 2.0.0 + meow: 12.1.1 + split2: 4.2.0 - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + core-js-compat@3.40.0: dependencies: - brace-expansion: 1.1.11 + browserslist: 4.24.4 - /minimatch@5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} + core-util-is@1.0.2: + optional: true + + core-util-is@1.0.3: {} + + cosmiconfig-typescript-loader@6.1.0(@types/node@22.13.1)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3): dependencies: - brace-expansion: 2.0.1 - dev: true + '@types/node': 22.13.1 + cosmiconfig: 9.0.0(typescript@5.7.3) + jiti: 2.4.2 + typescript: 5.7.3 - /minimatch@5.1.0: - resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} - engines: {node: '>=10'} + cosmiconfig@9.0.0(typescript@5.7.3): dependencies: - brace-expansion: 2.0.1 - dev: true + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.7.3 - /minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} + crc-32@1.2.2: {} + + crc32-stream@4.0.3: dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - dev: true + crc-32: 1.2.2 + readable-stream: 3.6.2 - /minimist@1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} - dev: true + crc@3.8.0: + dependencies: + buffer: 5.7.1 + optional: true - /minimist@1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + cross-env@7.0.3: + dependencies: + cross-spawn: 7.0.6 - /minipass@3.3.4: - resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} - engines: {node: '>=8'} + cross-spawn@7.0.6: dependencies: - yallist: 4.0.0 - dev: true + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 - /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + cssesc@3.0.0: {} + + csstype@3.1.3: {} + + dargs@8.1.0: {} + + debounce-fn@4.0.0: dependencies: - minipass: 3.3.4 - yallist: 4.0.0 - dev: true + mimic-fn: 3.1.0 - /mitt@3.0.0: - resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} - dev: false + debug@3.2.7: + dependencies: + ms: 2.1.3 - /mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} + debug@4.4.0(supports-color@5.5.0): dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - dev: true + ms: 2.1.3 + optionalDependencies: + supports-color: 5.5.0 - /mkdirp@0.5.5: - resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} - hasBin: true + decode-named-character-reference@1.0.2: dependencies: - minimist: 1.2.5 - dev: true + character-entities: 2.0.2 - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true + decompress-response@6.0.0: dependencies: - minimist: 1.2.6 + mimic-response: 3.1.0 - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true + deep-extend@0.6.0: {} - /moment-mini@2.24.0: - resolution: {integrity: sha512-9ARkWHBs+6YJIvrIp0Ik5tyTTtP9PoV0Ssu2Ocq5y9v8+NOOpWiRshAp8c4rZVWTOe+157on/5G+zj5pwIQFEQ==} - dev: false + deep-is@0.1.4: {} - /monaco-textmate@3.0.1(onigasm@2.2.5): - resolution: {integrity: sha512-ZxxY3OsqUczYP1sGqo97tu+CJmMBwuSW+dL0WEBdDhOZ5G1zntw72hvBc68ZQAirosWvbDKgN1dL5k173QtFww==} - peerDependencies: - onigasm: ^2.0.0 + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: dependencies: - fast-plist: 0.1.2 - onigasm: 2.2.5 - dev: false + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + optional: true - /morgan@1.10.0: - resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} - engines: {node: '>= 0.8.0'} + define-properties@1.2.1: dependencies: - basic-auth: 2.0.1 - debug: 2.6.9 - depd: 2.0.0 - on-finished: 2.3.0 - on-headers: 1.0.2 - transitivePeerDependencies: - - supports-color - dev: false + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + optional: true - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + defu@6.1.4: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + delayed-stream@1.0.0: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + delegates@1.0.0: {} - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true + dequal@2.0.3: {} - /mvdan-sh@0.5.0: - resolution: {integrity: sha512-UWbdl4LHd2fUnaEcOUFVWRdWGLkNoV12cKVIPiirYd8qM5VkCoCTXErlDubevrkEG7kGohvjRxAlTQmOqG80tw==} - dev: false + destr@2.0.3: {} - /nanoid@2.1.11: - resolution: {integrity: sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==} - dev: true + detect-libc@2.0.3: {} - /nanoid@3.3.2: - resolution: {integrity: sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + detect-node@2.1.0: + optional: true - /nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} + devlop@1.1.0: dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true + dequal: 2.0.3 - /natural-compare@1.4.0: - resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} - dev: true + didyoumean@1.2.2: {} - /ndjson@1.5.0: - resolution: {integrity: sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg=} - hasBin: true + dir-compare@4.2.0: dependencies: - json-stringify-safe: 5.0.1 - minimist: 1.2.6 - split2: 2.2.0 - through2: 2.0.5 - dev: true + minimatch: 3.1.2 + p-limit: 3.1.0 - /neat-csv@2.1.0: - resolution: {integrity: sha1-BvWDYMTDuVW9Rn3cha5FEaOQekw=} - engines: {node: '>=4'} - dependencies: - csv-parser: 1.12.1 - get-stream: 2.3.1 - into-stream: 2.0.1 - dev: true + dlv@1.1.3: {} - /needle@2.9.1: - resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==} - engines: {node: '>= 4.4.x'} - hasBin: true + dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8): dependencies: - debug: 3.2.7 - iconv-lite: 0.4.24 - sax: 1.2.4 + app-builder-lib: 25.1.8(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8) + builder-util: 25.1.7 + builder-util-runtime: 9.2.10 + fs-extra: 10.1.0 + iconv-lite: 0.6.3 + js-yaml: 4.1.0 + optionalDependencies: + dmg-license: 1.0.11 transitivePeerDependencies: + - bluebird + - electron-builder-squirrel-windows - supports-color - dev: false - - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true - /nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true - - /node-addon-api@1.7.2: - resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==} - requiresBuild: true - dev: true + dmg-license@1.0.11: + dependencies: + '@types/plist': 3.0.5 + '@types/verror': 1.10.10 + ajv: 6.12.6 + crc: 3.8.0 + iconv-corefoundation: 1.1.7 + plist: 3.1.0 + smart-buffer: 4.2.0 + verror: 1.10.1 optional: true - /node-cleanup@2.1.2: - resolution: {integrity: sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=} - dev: true - - /node-dir@0.1.17: - resolution: {integrity: sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=} - engines: {node: '>= 0.10.5'} + doctrine@3.0.0: dependencies: - minimatch: 3.1.2 - dev: true + esutils: 2.0.3 - /node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + dot-prop@5.3.0: dependencies: - whatwg-url: 5.0.0 - dev: true + is-obj: 2.0.0 - /node-gyp-build@4.3.0: - resolution: {integrity: sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==} - hasBin: true - dev: true + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 - /node-notifier@9.0.1: - resolution: {integrity: sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==} + dotenv-expand@11.0.7: dependencies: - growly: 1.3.0 - is-wsl: 2.2.0 - semver: 7.3.7 - shellwords: 0.1.1 - uuid: 8.3.2 - which: 2.0.2 - dev: true + dotenv: 16.4.7 + + dotenv@16.4.7: {} - /node-releases@2.0.2: - resolution: {integrity: sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==} + eastasianwidth@0.2.0: {} - /noms@0.0.0: - resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} + ejs@3.1.10: dependencies: - inherits: 2.0.4 - readable-stream: 1.0.34 - dev: true + jake: 10.9.2 - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8): dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.0 - semver: 5.7.1 - validate-npm-package-license: 3.0.4 - dev: true + app-builder-lib: 25.1.8(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8) + archiver: 5.3.2 + builder-util: 25.1.7 + fs-extra: 10.1.0 + transitivePeerDependencies: + - bluebird + - dmg-builder + - supports-color - /normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} + electron-builder@25.1.8(electron-builder-squirrel-windows@25.1.8): dependencies: - hosted-git-info: 4.0.2 - is-core-module: 2.8.1 - semver: 7.3.5 - validate-npm-package-license: 3.0.4 - dev: true + app-builder-lib: 25.1.8(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8) + builder-util: 25.1.7 + builder-util-runtime: 9.2.10 + chalk: 4.1.2 + dmg-builder: 25.1.8(electron-builder-squirrel-windows@25.1.8) + fs-extra: 10.1.0 + is-ci: 3.0.1 + lazy-val: 1.0.5 + simple-update-notifier: 2.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - bluebird + - electron-builder-squirrel-windows + - supports-color - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true + electron-publish@25.1.7: + dependencies: + '@types/fs-extra': 9.0.13 + builder-util: 25.1.7 + builder-util-runtime: 9.2.10 + chalk: 4.1.2 + fs-extra: 10.1.0 + lazy-val: 1.0.5 + mime: 2.6.0 + transitivePeerDependencies: + - supports-color - /normalize-url@2.0.1: - resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} - engines: {node: '>=4'} + electron-store@8.2.0: dependencies: - prepend-http: 2.0.0 - query-string: 5.1.1 - sort-keys: 2.0.0 - dev: true + conf: 10.2.0 + type-fest: 2.19.0 - /normalize-url@3.3.0: - resolution: {integrity: sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==} - engines: {node: '>=6'} - dev: false + electron-to-chromium@1.5.95: {} - /normalize-url@4.5.1: - resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} - engines: {node: '>=8'} + electron@34.1.1: + dependencies: + '@electron/get': 2.0.3 + '@types/node': 20.17.17 + extract-zip: 2.0.1 + transitivePeerDependencies: + - supports-color - /npm-conf@1.1.3: - resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} - engines: {node: '>=4'} + electronmon@2.0.3: dependencies: - config-chain: 1.1.13 - pify: 3.0.0 - dev: true + chalk: 3.0.0 + import-from: 3.0.0 + runtime-required: 1.1.0 + watchboy: 0.4.3 - /npm-run-all@4.1.5: - resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} - engines: {node: '>= 4'} - hasBin: true + emoji-regex@10.4.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + encoding@0.1.13: dependencies: - ansi-styles: 3.2.1 - chalk: 2.4.2 - cross-spawn: 6.0.5 - memorystream: 0.3.1 - minimatch: 3.0.4 - pidtree: 0.3.1 - read-pkg: 3.0.0 - shell-quote: 1.7.3 - string.prototype.padend: 3.1.3 - dev: true - - /npm-run-path@2.0.2: - resolution: {integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=} - engines: {node: '>=4'} + iconv-lite: 0.6.3 + optional: true + + end-of-stream@1.4.4: dependencies: - path-key: 2.0.1 - dev: true + once: 1.4.0 - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + enhanced-resolve@5.18.1: dependencies: - path-key: 3.1.1 - dev: true + graceful-fs: 4.2.11 + tapable: 2.2.1 - /npm2url@0.2.1: - resolution: {integrity: sha512-Ls7mMyud1Kk0EisqsTt2TPtM7gLRvgmvDxOg3FPI5zjfhQ+ZFNBXX2K9VT7vo+HqUsz/uCiIxkcO0SvIuneVug==} - dev: false + entities@4.5.0: {} - /nth-check@1.0.2: - resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} - dependencies: - boolbase: 1.0.0 - dev: false + env-paths@2.2.1: {} - /nth-check@2.0.1: - resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==} + environment@1.1.0: {} + + err-code@2.0.3: {} + + error-ex@1.3.2: dependencies: - boolbase: 1.0.0 - dev: false + is-arrayish: 0.2.1 - /oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - dev: true + es-define-property@1.0.1: + optional: true - /object-assign@4.1.1: - resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} - engines: {node: '>=0.10.0'} + es-errors@1.3.0: + optional: true - /object-copy@0.1.0: - resolution: {integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw=} - engines: {node: '>=0.10.0'} - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - dev: true + es-module-lexer@1.6.0: {} - /object-inspect@1.12.0: - resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} + es6-error@4.1.1: + optional: true - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 - /object-path@0.11.8: - resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} - engines: {node: '>= 10.12.0'} - dev: true + escalade@3.2.0: {} - /object-visit@1.0.1: - resolution: {integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true + escape-string-regexp@1.0.5: {} - /object.assign@4.1.2: - resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - has-symbols: 1.0.2 - object-keys: 1.1.1 + escape-string-regexp@4.0.0: {} - /object.getownpropertydescriptors@2.1.3: - resolution: {integrity: sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==} - engines: {node: '>= 0.8'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + escape-string-regexp@5.0.0: {} - /object.pick@1.3.0: - resolution: {integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=} - engines: {node: '>=0.10.0'} + eslint-compat-utils@0.5.1(eslint@9.19.0(jiti@2.4.2)): dependencies: - isobject: 3.0.1 - dev: true + eslint: 9.19.0(jiti@2.4.2) + semver: 7.7.1 - /object.values@1.1.5: - resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} - engines: {node: '>= 0.4'} + eslint-compat-utils@0.6.4(eslint@9.19.0(jiti@2.4.2)): dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + eslint: 9.19.0(jiti@2.4.2) + semver: 7.7.1 - /on-finished@2.3.0: - resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=} - engines: {node: '>= 0.8'} + eslint-config-flat-gitignore@1.0.1(eslint@9.19.0(jiti@2.4.2)): dependencies: - ee-first: 1.1.1 + '@eslint/compat': 1.2.6(eslint@9.19.0(jiti@2.4.2)) + eslint: 9.19.0(jiti@2.4.2) - /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + eslint-flat-config-utils@1.1.0: dependencies: - ee-first: 1.1.1 + pathe: 2.0.2 - /on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - dev: false - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + eslint-import-resolver-node@0.3.9: dependencies: - wrappy: 1.0.2 + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color - /onetime@2.0.1: - resolution: {integrity: sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=} - engines: {node: '>=4'} + eslint-json-compat-utils@0.2.1(eslint@9.19.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0): dependencies: - mimic-fn: 1.2.0 - dev: true + eslint: 9.19.0(jiti@2.4.2) + esquery: 1.6.0 + jsonc-eslint-parser: 2.4.0 - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + eslint-merge-processors@1.0.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - mimic-fn: 2.1.0 + eslint: 9.19.0(jiti@2.4.2) - /onigasm@2.2.5: - resolution: {integrity: sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==} + eslint-plugin-antfu@2.7.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - lru-cache: 5.1.1 - dev: false + '@antfu/utils': 0.7.10 + eslint: 9.19.0(jiti@2.4.2) - /open@6.4.0: - resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} - engines: {node: '>=8'} + eslint-plugin-command@2.1.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - is-wsl: 1.1.0 - dev: true + '@es-joy/jsdoccomment': 0.50.0 + eslint: 9.19.0(jiti@2.4.2) - /open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} + eslint-plugin-es-x@7.8.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: false + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + eslint: 9.19.0(jiti@2.4.2) + eslint-compat-utils: 0.5.1(eslint@9.19.0(jiti@2.4.2)) - /optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} + eslint-plugin-import-x@4.6.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3): dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.3 - dev: true + '@types/doctrine': 0.0.9 + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + debug: 4.4.0(supports-color@5.5.0) + doctrine: 3.0.0 + enhanced-resolve: 5.18.1 + eslint: 9.19.0(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + get-tsconfig: 4.10.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + stable-hash: 0.0.4 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + - typescript - /ora@3.4.0: - resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==} - engines: {node: '>=6'} + eslint-plugin-jsdoc@50.6.3(eslint@9.19.0(jiti@2.4.2)): dependencies: - chalk: 2.4.2 - cli-cursor: 2.1.0 - cli-spinners: 2.6.1 - log-symbols: 2.2.0 - strip-ansi: 5.2.0 - wcwidth: 1.0.1 - dev: true - - /os-tmpdir@1.0.2: - resolution: {integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=} - engines: {node: '>=0.10.0'} - dev: true - - /p-cancelable@0.4.1: - resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} - engines: {node: '>=4'} - dev: true - - /p-cancelable@1.1.0: - resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} - engines: {node: '>=6'} - - /p-defer@1.0.0: - resolution: {integrity: sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=} - engines: {node: '>=4'} - dev: false + '@es-joy/jsdoccomment': 0.49.0 + are-docs-informative: 0.0.2 + comment-parser: 1.4.1 + debug: 4.4.0(supports-color@5.5.0) + escape-string-regexp: 4.0.0 + eslint: 9.19.0(jiti@2.4.2) + espree: 10.3.0 + esquery: 1.6.0 + parse-imports: 2.2.1 + semver: 7.7.1 + spdx-expression-parse: 4.0.0 + synckit: 0.9.2 + transitivePeerDependencies: + - supports-color - /p-event@2.3.1: - resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} - engines: {node: '>=6'} + eslint-plugin-jsonc@2.19.1(eslint@9.19.0(jiti@2.4.2)): dependencies: - p-timeout: 2.0.1 - dev: true + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + eslint: 9.19.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.19.0(jiti@2.4.2)) + eslint-json-compat-utils: 0.2.1(eslint@9.19.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) + espree: 9.6.1 + graphemer: 1.4.0 + jsonc-eslint-parser: 2.4.0 + natural-compare: 1.4.0 + synckit: 0.6.2 + transitivePeerDependencies: + - '@eslint/json' - /p-finally@1.0.0: - resolution: {integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=} - engines: {node: '>=4'} - dev: true + eslint-plugin-n@17.15.1(eslint@9.19.0(jiti@2.4.2)): + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + enhanced-resolve: 5.18.1 + eslint: 9.19.0(jiti@2.4.2) + eslint-plugin-es-x: 7.8.0(eslint@9.19.0(jiti@2.4.2)) + get-tsconfig: 4.10.0 + globals: 15.14.0 + ignore: 5.3.2 + minimatch: 9.0.5 + semver: 7.7.1 - /p-finally@2.0.1: - resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} - engines: {node: '>=8'} - dev: true + eslint-plugin-no-only-tests@3.3.0: {} - /p-is-promise@1.1.0: - resolution: {integrity: sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=} - engines: {node: '>=4'} - dev: true + eslint-plugin-perfectionist@4.8.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3): + dependencies: + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + natural-orderby: 5.0.0 + transitivePeerDependencies: + - supports-color + - typescript - /p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} + eslint-plugin-regexp@2.7.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - p-try: 1.0.0 - dev: true + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + comment-parser: 1.4.1 + eslint: 9.19.0(jiti@2.4.2) + jsdoc-type-pratt-parser: 4.1.0 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + scslre: 0.3.0 - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + eslint-plugin-toml@0.12.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - p-try: 2.2.0 + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.19.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.19.0(jiti@2.4.2)) + lodash: 4.17.21 + toml-eslint-parser: 0.10.0 + transitivePeerDependencies: + - supports-color - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + eslint-plugin-unicorn@56.0.1(eslint@9.19.0(jiti@2.4.2)): dependencies: - yocto-queue: 0.1.0 - dev: true + '@babel/helper-validator-identifier': 7.25.9 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + ci-info: 4.1.0 + clean-regexp: 1.0.0 + core-js-compat: 3.40.0 + eslint: 9.19.0(jiti@2.4.2) + esquery: 1.6.0 + globals: 15.14.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.1.0 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.7.1 + strip-indent: 3.0.0 - /p-locate@2.0.0: - resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=} - engines: {node: '>=4'} + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)): dependencies: - p-limit: 1.3.0 - dev: true + eslint: 9.19.0(jiti@2.4.2) + optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + eslint-plugin-vue@9.32.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - p-limit: 2.3.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + eslint: 9.19.0(jiti@2.4.2) + globals: 13.24.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.1.2 + semver: 7.7.1 + vue-eslint-parser: 9.4.3(eslint@9.19.0(jiti@2.4.2)) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + eslint-plugin-yml@1.16.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - p-limit: 2.3.0 - dev: true + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.19.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.19.0(jiti@2.4.2)) + lodash: 4.17.21 + natural-compare: 1.4.0 + yaml-eslint-parser: 1.2.3 + transitivePeerDependencies: + - supports-color - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + eslint-processor-vue-blocks@1.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.19.0(jiti@2.4.2)): dependencies: - p-limit: 3.1.0 - dev: true + '@vue/compiler-sfc': 3.5.13 + eslint: 9.19.0(jiti@2.4.2) - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + eslint-scope@7.2.2: dependencies: - aggregate-error: 3.1.0 - dev: true + esrecurse: 4.3.0 + estraverse: 5.3.0 - /p-timeout@2.0.1: - resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} - engines: {node: '>=4'} + eslint-scope@8.2.0: dependencies: - p-finally: 1.0.0 - dev: true + esrecurse: 4.3.0 + estraverse: 5.3.0 - /p-try@1.0.0: - resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=} - engines: {node: '>=4'} - dev: true + eslint-visitor-keys@3.4.3: {} - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} + eslint-visitor-keys@4.2.0: {} - /package-json@6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} + eslint@9.19.0(jiti@2.4.2): dependencies: - got: 9.6.0 - registry-auth-token: 4.2.1 - registry-url: 5.1.0 - semver: 6.3.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.2 + '@eslint/core': 0.10.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.19.0 + '@eslint/plugin-kit': 0.2.5 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0(supports-color@5.5.0) + escape-string-regexp: 4.0.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.4.2 + transitivePeerDependencies: + - supports-color - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + espree@10.3.0: dependencies: - callsites: 3.1.0 - dev: true + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 - /parse-git-config@2.0.3: - resolution: {integrity: sha512-Js7ueMZOVSZ3tP8C7E3KZiHv6QQl7lnJ+OkbxoaFazzSa2KyEHqApfGbU3XboUgUnq4ZuUmskUpYKTNx01fm5A==} - engines: {node: '>=6'} + espree@9.6.1: dependencies: - expand-tilde: 2.0.2 - git-config-path: 1.0.1 - ini: 1.3.8 - dev: true + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 3.4.3 - /parse-json@4.0.0: - resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} - engines: {node: '>=4'} + esquery@1.6.0: dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 + estraverse: 5.3.0 - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + esrecurse@4.3.0: dependencies: - '@babel/code-frame': 7.16.0 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - dev: true + estraverse: 5.3.0 - /parse-passwd@1.0.0: - resolution: {integrity: sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=} - engines: {node: '>=0.10.0'} - dev: true + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} - /parse-srcset@1.0.2: - resolution: {integrity: sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=} - dev: false + esutils@2.0.3: {} - /parse-svg-path@0.1.2: - resolution: {integrity: sha1-en7A0esG+lMlx9PgCbhZoJtdSes=} - dev: false + eventemitter3@5.0.1: {} - /parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + execa@8.0.1: dependencies: - parse5: 6.0.1 - dev: false + cross-spawn: 7.0.6 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 - /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: false + expand-template@2.0.3: {} - /parseqs@0.0.6: - resolution: {integrity: sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==} - dev: true + exponential-backoff@3.1.2: {} - /parseuri@0.0.6: - resolution: {integrity: sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==} - dev: true + extract-zip@2.0.1: + dependencies: + debug: 4.4.0(supports-color@5.5.0) + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} + extsprintf@1.4.1: + optional: true - /pascalcase@0.1.1: - resolution: {integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=} - engines: {node: '>=0.10.0'} - dev: true + fast-deep-equal@3.1.3: {} - /path-dirname@1.0.2: - resolution: {integrity: sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=} - dev: true + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 - /path-exists@3.0.0: - resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} - engines: {node: '>=4'} + fast-json-stable-stringify@2.1.0: {} - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + fast-levenshtein@2.0.6: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + fast-uri@3.0.6: {} - /path-key@2.0.1: - resolution: {integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=} - engines: {node: '>=4'} - dev: true + fastq@1.19.0: + dependencies: + reusify: 1.0.4 - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 - /path-to-regexp@0.1.7: - resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} + file-uri-to-path@1.0.0: {} - /path-to-regexp@1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + filelist@1.0.4: dependencies: - isarray: 0.0.1 - dev: false + minimatch: 5.1.6 - /path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} + fill-range@7.1.1: dependencies: - pify: 3.0.0 - dev: true + to-regex-range: 5.0.1 - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 - /pause-stream@0.0.11: - resolution: {integrity: sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=} + find-up@4.1.0: dependencies: - through: 2.3.8 - dev: true + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 - /pend@1.2.0: - resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} - dev: true + find-up@7.0.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 - /perfect-scrollbar@1.5.5: - resolution: {integrity: sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==} - dev: false + flat-cache@4.0.1: + dependencies: + flatted: 3.3.2 + keyv: 4.5.4 - /performance-now@2.1.0: - resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=} - dev: true + flatted@3.3.2: {} - /php-parser@3.1.0-beta.5: - resolution: {integrity: sha512-3F3+yThjD7wn0sMuIG5iMQqutmH+RJUAbEyPW5S/greTp5ZArkpEweylQh+do22q9UJlJT1PrLN/AwnzDUti6Q==} - dev: false + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 - /picocolors@0.2.1: - resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} - dev: false + form-data@4.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + fraction.js@4.3.7: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + fs-constants@1.0.0: {} - /pid-from-port@1.1.3: - resolution: {integrity: sha512-OlE82n3yMOE5dY9RMOwxhoWefeMlxwk5IVxoj0sSzSFIlmvhN4obzTvO3s/d/b5JhcgXikjaspsy/HuUDTqbBg==} - engines: {node: '>=4'} + fs-extra@10.1.0: dependencies: - execa: 0.9.0 - dev: true - - /pidtree@0.3.1: - resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} - engines: {node: '>=0.10'} - hasBin: true - dev: true + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 - /pify@2.3.0: - resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} - engines: {node: '>=0.10.0'} + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 - /pify@3.0.0: - resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} - engines: {node: '>=4'} + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 - /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - dev: true + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 - /pinia@2.0.13(typescript@4.5.4)(vue@3.2.33): - resolution: {integrity: sha512-B7rSqm1xNpwcPMnqns8/gVBfbbi7lWTByzS6aPZ4JOXSJD4Y531rZHDCoYWBwLyHY/8hWnXljgiXp6rRyrofcw==} - peerDependencies: - '@vue/composition-api': ^1.4.0 - typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.2.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - typescript: - optional: true + fs-minipass@2.1.0: dependencies: - '@vue/devtools-api': 6.1.4 - typescript: 4.5.4 - vue: 3.2.33 - vue-demi: 0.12.4(vue@3.2.33) - dev: false + minipass: 3.3.6 - /pinkie-promise@2.0.1: - resolution: {integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=} - engines: {node: '>=0.10.0'} + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gauge@4.0.4: dependencies: - pinkie: 2.0.4 - dev: true + aproba: 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 - /pinkie@2.0.4: - resolution: {integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=} - engines: {node: '>=0.10.0'} - dev: true + get-caller-file@2.0.5: {} - /pirates@4.0.4: - resolution: {integrity: sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==} - engines: {node: '>= 6'} - dev: true + get-east-asian-width@1.3.0: {} - /pkg-dir@2.0.0: - resolution: {integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=} - engines: {node: '>=4'} + get-stream@5.2.0: dependencies: - find-up: 2.1.0 - dev: true + pump: 3.0.2 - /pkg-dir@3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} + get-stream@8.0.1: {} + + get-tsconfig@4.10.0: dependencies: - find-up: 3.0.0 - dev: true + resolve-pkg-maps: 1.0.0 - /pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} + giget@1.2.4: dependencies: - find-up: 3.0.0 - dev: false + citty: 0.1.6 + consola: 3.4.0 + defu: 6.1.4 + node-fetch-native: 1.6.6 + nypm: 0.5.2 + ohash: 1.1.4 + pathe: 2.0.2 + tar: 6.2.1 - /please-upgrade-node@3.2.0: - resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} + git-raw-commits@4.0.0: dependencies: - semver-compare: 1.0.0 - dev: false + dargs: 8.1.0 + meow: 12.1.1 + split2: 4.2.0 - /plist@3.0.5: - resolution: {integrity: sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==} - engines: {node: '>=6'} + github-from-package@0.0.0: {} + + glob-parent@5.1.2: dependencies: - base64-js: 1.5.1 - xmlbuilder: 9.0.7 - dev: true + is-glob: 4.0.3 - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: false + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 - /portfinder@1.0.28: - resolution: {integrity: sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==} - engines: {node: '>= 0.12.0'} + glob@10.4.5: dependencies: - async: 2.6.4 - debug: 3.2.7 - mkdirp: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: true + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 - /posix-character-classes@0.1.1: - resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=} - engines: {node: '>=0.10.0'} - dev: true + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 - /postcss-calc@7.0.5: - resolution: {integrity: sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==} + glob@8.1.0: dependencies: - postcss: 7.0.39 - postcss-selector-parser: 6.0.10 - postcss-value-parser: 4.2.0 - dev: false + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 - /postcss-colormin@4.0.3: - resolution: {integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==} - engines: {node: '>=6.9.0'} + global-agent@3.0.0: + dependencies: + boolean: 3.2.0 + es6-error: 4.1.1 + matcher: 3.0.0 + roarr: 2.15.4 + semver: 7.7.1 + serialize-error: 7.0.1 + optional: true + + global-directory@4.0.1: dependencies: - browserslist: 4.20.2 - color: 3.2.1 - has: 1.0.3 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + ini: 4.1.1 - /postcss-convert-values@4.0.1: - resolution: {integrity: sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==} - engines: {node: '>=6.9.0'} + globals@13.24.0: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + type-fest: 0.20.2 + + globals@14.0.0: {} + + globals@15.14.0: {} - /postcss-discard-comments@4.0.2: - resolution: {integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==} - engines: {node: '>=6.9.0'} + globalthis@1.0.4: dependencies: - postcss: 7.0.39 - dev: false + define-properties: 1.2.1 + gopd: 1.2.0 + optional: true - /postcss-discard-duplicates@4.0.2: - resolution: {integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==} - engines: {node: '>=6.9.0'} - dependencies: - postcss: 7.0.39 - dev: false + gopd@1.2.0: + optional: true - /postcss-discard-empty@4.0.1: - resolution: {integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==} - engines: {node: '>=6.9.0'} + got@11.8.6: dependencies: - postcss: 7.0.39 - dev: false + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 - /postcss-discard-overridden@4.0.1: - resolution: {integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==} - engines: {node: '>=6.9.0'} - dependencies: - postcss: 7.0.39 - dev: false + graceful-fs@4.2.11: {} - /postcss-import@12.0.1: - resolution: {integrity: sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==} - engines: {node: '>=6.0.0'} - dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - read-cache: 1.0.0 - resolve: 1.22.0 - dev: false + graphemer@1.4.0: {} - /postcss-merge-longhand@4.0.11: - resolution: {integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==} - engines: {node: '>=6.9.0'} - dependencies: - css-color-names: 0.0.4 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - stylehacks: 4.0.3 - dev: false + has-flag@3.0.0: {} - /postcss-merge-rules@4.0.3: - resolution: {integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==} - engines: {node: '>=6.9.0'} - dependencies: - browserslist: 4.20.2 - caniuse-api: 3.0.0 - cssnano-util-same-parent: 4.0.1 - postcss: 7.0.39 - postcss-selector-parser: 3.1.2 - vendors: 1.0.4 - dev: false + has-flag@4.0.0: {} - /postcss-minify-font-values@4.0.2: - resolution: {integrity: sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==} - engines: {node: '>=6.9.0'} + has-property-descriptors@1.0.2: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + es-define-property: 1.0.1 + optional: true - /postcss-minify-gradients@4.0.2: - resolution: {integrity: sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==} - engines: {node: '>=6.9.0'} - dependencies: - cssnano-util-get-arguments: 4.0.0 - is-color-stop: 1.1.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + has-unicode@2.0.1: {} - /postcss-minify-params@4.0.2: - resolution: {integrity: sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==} - engines: {node: '>=6.9.0'} + hasown@2.0.2: dependencies: - alphanum-sort: 1.0.2 - browserslist: 4.20.2 - cssnano-util-get-arguments: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - uniqs: 2.0.0 - dev: false + function-bind: 1.1.2 - /postcss-minify-selectors@4.0.2: - resolution: {integrity: sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==} - engines: {node: '>=6.9.0'} - dependencies: - alphanum-sort: 1.0.2 - has: 1.0.3 - postcss: 7.0.39 - postcss-selector-parser: 3.1.2 - dev: false + hosted-git-info@2.8.9: {} - /postcss-normalize-charset@4.0.1: - resolution: {integrity: sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==} - engines: {node: '>=6.9.0'} + hosted-git-info@4.1.0: dependencies: - postcss: 7.0.39 - dev: false + lru-cache: 6.0.0 - /postcss-normalize-display-values@4.0.2: - resolution: {integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==} - engines: {node: '>=6.9.0'} - dependencies: - cssnano-util-get-match: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + http-cache-semantics@4.1.1: {} - /postcss-normalize-positions@4.0.2: - resolution: {integrity: sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==} - engines: {node: '>=6.9.0'} + http-proxy-agent@5.0.0: dependencies: - cssnano-util-get-arguments: 4.0.0 - has: 1.0.3 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color - /postcss-normalize-repeat-style@4.0.2: - resolution: {integrity: sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==} - engines: {node: '>=6.9.0'} + http-proxy-agent@7.0.2: dependencies: - cssnano-util-get-arguments: 4.0.0 - cssnano-util-get-match: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + agent-base: 7.1.3 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color - /postcss-normalize-string@4.0.2: - resolution: {integrity: sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==} - engines: {node: '>=6.9.0'} + http2-wrapper@1.0.3: dependencies: - has: 1.0.3 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 - /postcss-normalize-timing-functions@4.0.2: - resolution: {integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==} - engines: {node: '>=6.9.0'} + https-proxy-agent@5.0.1: dependencies: - cssnano-util-get-match: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + agent-base: 6.0.2 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color - /postcss-normalize-unicode@4.0.1: - resolution: {integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==} - engines: {node: '>=6.9.0'} + https-proxy-agent@7.0.6: dependencies: - browserslist: 4.20.2 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + agent-base: 7.1.3 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color - /postcss-normalize-url@4.0.1: - resolution: {integrity: sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==} - engines: {node: '>=6.9.0'} - dependencies: - is-absolute-url: 2.1.0 - normalize-url: 3.3.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + human-signals@5.0.0: {} - /postcss-normalize-whitespace@4.0.2: - resolution: {integrity: sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==} - engines: {node: '>=6.9.0'} + humanize-ms@1.2.1: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + ms: 2.1.3 - /postcss-ordered-values@4.1.2: - resolution: {integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==} - engines: {node: '>=6.9.0'} + iconv-corefoundation@1.1.7: dependencies: - cssnano-util-get-arguments: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + cli-truncate: 2.1.0 + node-addon-api: 1.7.2 + optional: true - /postcss-reduce-initial@4.0.3: - resolution: {integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==} - engines: {node: '>=6.9.0'} + iconv-lite@0.6.3: dependencies: - browserslist: 4.20.2 - caniuse-api: 3.0.0 - has: 1.0.3 - postcss: 7.0.39 - dev: false + safer-buffer: 2.1.2 - /postcss-reduce-transforms@4.0.2: - resolution: {integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==} - engines: {node: '>=6.9.0'} - dependencies: - cssnano-util-get-match: 4.0.0 - has: 1.0.3 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - dev: false + ieee754@1.2.1: {} - /postcss-selector-parser@3.1.2: - resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} - engines: {node: '>=8'} - dependencies: - dot-prop: 5.3.0 - indexes-of: 1.0.1 - uniq: 1.0.1 - dev: false + ignore-by-default@1.0.1: {} - /postcss-selector-parser@6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: false + ignore@5.3.2: {} - /postcss-svgo@4.0.3: - resolution: {integrity: sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==} - engines: {node: '>=6.9.0'} + import-fresh@3.3.1: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - svgo: 1.3.2 - dev: false + parent-module: 1.0.1 + resolve-from: 4.0.0 - /postcss-unique-selectors@4.0.1: - resolution: {integrity: sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==} - engines: {node: '>=6.9.0'} + import-from@3.0.0: dependencies: - alphanum-sort: 1.0.2 - postcss: 7.0.39 - uniqs: 2.0.0 - dev: false + resolve-from: 5.0.0 - /postcss-value-parser@3.3.1: - resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} - dev: false + import-meta-resolve@4.1.0: {} - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: false + imurmurhash@0.1.4: {} - /postcss@7.0.39: - resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} - engines: {node: '>=6.0.0'} - dependencies: - picocolors: 0.2.1 - source-map: 0.6.1 - dev: false + indent-string@4.0.0: {} - /postcss@8.4.12: - resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==} - engines: {node: ^10 || ^12 || >=14} + infer-owner@1.0.4: {} + + inflight@1.0.6: dependencies: - nanoid: 3.3.2 - picocolors: 1.0.0 - source-map-js: 1.0.2 + once: 1.4.0 + wrappy: 1.0.2 - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + inherits@2.0.4: {} - /prepend-http@2.0.0: - resolution: {integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=} - engines: {node: '>=4'} + ini@1.3.8: {} - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.2.0 - dev: true + ini@4.1.1: {} - /prettier-plugin-java@1.6.1: - resolution: {integrity: sha512-kSY17V/P88nILlILb5iMp16TVJy6Ls9Jy4zAzI4+GsEuRDZH5VqRuLd8aJS1ImWxVgRjNBmoFOjxYyxkRM0SRA==} + ip-address@9.0.5: dependencies: - java-parser: 2.0.1 - lodash: 4.17.21 - prettier: 2.3.1 - dev: false + jsbn: 1.1.0 + sprintf-js: 1.1.3 - /prettier-plugin-sh@0.8.2(prettier@2.6.2): - resolution: {integrity: sha512-M8D4G5OqgZtoVKx+U/J/B/gVA4xUKmWflOjayxiDjCQbxz3HOv0zlpYeb6DXd5xMFl7jW2UY1fJjmDzI9pDBFA==} - peerDependencies: - prettier: ^2.0.0 + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: dependencies: - mvdan-sh: 0.5.0 - prettier: 2.6.2 - dev: false + binary-extensions: 2.3.0 - /prettier-plugin-toml@0.3.1: - resolution: {integrity: sha512-j47DEO/dN/acU1nSL/B7q4A4Z2SYJhpWPCLPkcmfAXIQC6A5GD6Ao/bi9HRHZ8ueIDOauqjuAQbnvRxLXMjazA==} + is-builtin-module@3.2.1: dependencies: - '@toml-tools/parser': 0.3.1 - prettier: 1.19.1 - dev: false + builtin-modules: 3.3.0 - /prettier@1.19.1: - resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} - engines: {node: '>=4'} - hasBin: true - dev: false + is-ci@3.0.1: + dependencies: + ci-info: 3.9.0 - /prettier@2.3.1: - resolution: {integrity: sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: false + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 - /prettier@2.6.2: - resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} - engines: {node: '>=10.13.0'} - hasBin: true + is-extglob@2.1.1: {} - /prismjs@1.28.0: - resolution: {integrity: sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw==} - engines: {node: '>=6'} - dev: true + is-fullwidth-code-point@3.0.0: {} - /prismjs@1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} - engines: {node: '>=6'} - dev: false + is-fullwidth-code-point@4.0.0: {} - /private@0.1.8: - resolution: {integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==} - engines: {node: '>= 0.6'} - dev: true + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.3.0 - /process-exists@3.1.0: - resolution: {integrity: sha512-X11vso1oNLtyDa2j8fsMol2fph1+5PoQ4vpEc1it/rM8eLuRTmrmTg4jfn82WhNur241AYitgjKCgmlgMRZesw==} - engines: {node: '>=4'} + is-glob@4.0.3: dependencies: - ps-list: 4.1.0 - dev: true + is-extglob: 2.1.1 - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + is-interactive@1.0.0: {} - /progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true + is-lambda@1.0.1: {} - /promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} - dependencies: - asap: 2.0.6 - dev: true + is-number@7.0.0: {} - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 + is-obj@2.0.0: {} - /proto-list@1.2.4: - resolution: {integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=} - requiresBuild: true - dev: true + is-stream@3.0.0: {} - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + is-text-path@2.0.0: dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 + text-extensions: 2.4.0 - /ps-list@4.1.0: - resolution: {integrity: sha512-DSpMj8PI5W7v2G4+rE+BymTKZPjlu6t/M1N6rPAa6Hwn+/e8jDmFJaq8/kpoGCvwd75g2h5DbjF2MduOMNyrsQ==} - engines: {node: '>=4'} - dependencies: - pify: 3.0.0 - tasklist: 3.1.1 - dev: true + is-unicode-supported@0.1.0: {} - /ps-tree@1.2.0: - resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} - engines: {node: '>= 0.10'} - hasBin: true - dependencies: - event-stream: 3.3.4 - dev: true + isarray@1.0.0: {} - /pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + isbinaryfile@4.0.10: {} - /psl@1.8.0: - resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} - dev: true + isbinaryfile@5.0.4: {} - /pug-attrs@3.0.0: - resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} - dependencies: - constantinople: 4.0.1 - js-stringify: 1.0.2 - pug-runtime: 3.0.1 - dev: true + isexe@2.0.0: {} - /pug-code-gen@3.0.2: - resolution: {integrity: sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==} + jackspeak@3.4.3: dependencies: - constantinople: 4.0.1 - doctypes: 1.1.0 - js-stringify: 1.0.2 - pug-attrs: 3.0.0 - pug-error: 2.0.0 - pug-runtime: 3.0.1 - void-elements: 3.1.0 - with: 7.0.2 - dev: true - - /pug-error@2.0.0: - resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==} + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 - /pug-filters@4.0.0: - resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==} + jake@10.9.2: dependencies: - constantinople: 4.0.1 - jstransformer: 1.0.0 - pug-error: 2.0.0 - pug-walk: 2.0.0 - resolve: 1.22.0 - dev: true + async: 3.2.6 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 - /pug-lexer@5.0.1: - resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} - dependencies: - character-parser: 2.2.0 - is-expression: 4.0.0 - pug-error: 2.0.0 + jiti@1.21.7: {} - /pug-linker@4.0.0: - resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==} - dependencies: - pug-error: 2.0.0 - pug-walk: 2.0.0 - dev: true + jiti@2.4.2: {} - /pug-load@3.0.0: - resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==} - dependencies: - object-assign: 4.1.1 - pug-walk: 2.0.0 - dev: true + js-tokens@4.0.0: {} - /pug-parser@6.0.0: - resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} + js-yaml@4.1.0: dependencies: - pug-error: 2.0.0 - token-stream: 1.0.0 - dev: true + argparse: 2.0.1 - /pug-runtime@3.0.1: - resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==} - dev: true + jsbn@1.1.0: {} - /pug-strip-comments@2.0.0: - resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==} - dependencies: - pug-error: 2.0.0 - dev: true + jsdoc-type-pratt-parser@4.1.0: {} - /pug-walk@2.0.0: - resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==} - dev: true + jsesc@0.5.0: {} - /pug@3.0.2: - resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==} - dependencies: - pug-code-gen: 3.0.2 - pug-filters: 4.0.0 - pug-lexer: 5.0.1 - pug-linker: 4.0.0 - pug-load: 3.0.0 - pug-parser: 6.0.0 - pug-runtime: 3.0.1 - pug-strip-comments: 2.0.0 - dev: true + jsesc@3.1.0: {} - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 + json-buffer@3.0.1: {} - /punycode@2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} - engines: {node: '>=6'} + json-parse-even-better-errors@2.3.1: {} - /pupa@2.1.1: - resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} - engines: {node: '>=8'} - dependencies: - escape-goat: 2.1.1 + json-schema-traverse@0.4.1: {} - /q@1.5.1: - resolution: {integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + json-schema-traverse@1.0.0: {} - /qs@6.10.3: - resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.4 + json-schema-typed@7.0.3: {} - /qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /qs@6.9.6: - resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} - engines: {node: '>=0.6'} + json-stringify-safe@5.0.1: + optional: true - /query-string@5.1.1: - resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} - engines: {node: '>=0.10.0'} - dependencies: - decode-uri-component: 0.2.0 - object-assign: 4.1.1 - strict-uri-encode: 1.1.0 - dev: true + json5@2.2.3: {} - /query-string@8.1.0: - resolution: {integrity: sha512-BFQeWxJOZxZGix7y+SByG3F36dA0AbTy9o6pSmKFcFz7DAj0re9Frkty3saBn3nHo3D0oZJ/+rx3r8H8r8Jbpw==} - engines: {node: '>=14.16'} + jsonc-eslint-parser@2.4.0: dependencies: - decode-uri-component: 0.4.1 - filter-obj: 5.1.0 - split-on-first: 3.0.0 - dev: false + acorn: 8.14.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.7.1 - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + jsonc-parser@3.3.1: {} - /quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - dev: true + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + jsonfile@6.1.0: dependencies: - safe-buffer: 5.2.1 - dev: true + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} + jsonparse@1.3.1: {} - /raw-body@2.4.2: - resolution: {integrity: sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==} - engines: {node: '>= 0.8'} + keyv@4.5.4: dependencies: - bytes: 3.1.1 - http-errors: 1.8.1 - iconv-lite: 0.4.24 - unpipe: 1.0.0 + json-buffer: 3.0.1 - /raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 + kleur@3.0.3: {} - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.6 - strip-json-comments: 2.0.1 + lazy-val@1.0.5: {} - /read-cache@1.0.0: - resolution: {integrity: sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=} + lazystream@1.0.1: dependencies: - pify: 2.3.0 - dev: false + readable-stream: 2.3.8 - /read-config-file@6.2.0: - resolution: {integrity: sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==} - engines: {node: '>=12.0.0'} + levn@0.4.1: dependencies: - dotenv: 9.0.2 - dotenv-expand: 5.1.0 - js-yaml: 4.1.0 - json5: 2.2.1 - lazy-val: 1.0.5 - dev: true + prelude-ls: 1.2.1 + type-check: 0.4.0 - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - dev: true + lilconfig@3.1.3: {} - /read-pkg@3.0.0: - resolution: {integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=} - engines: {node: '>=4'} - dependencies: - load-json-file: 4.0.0 - normalize-package-data: 2.5.0 - path-type: 3.0.0 - dev: true + lines-and-columns@1.2.4: {} - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + lint-staged@15.4.3: dependencies: - '@types/normalize-package-data': 2.4.1 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - dev: true + chalk: 5.4.1 + commander: 13.1.0 + debug: 4.4.0(supports-color@5.5.0) + execa: 8.0.1 + lilconfig: 3.1.3 + listr2: 8.2.5 + micromatch: 4.0.8 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.7.0 + transitivePeerDependencies: + - supports-color - /readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + listr2@8.2.5: dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - dev: true + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.0 - /readable-stream@2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + local-pkg@1.0.0: dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 + mlly: 1.7.4 + pkg-types: 1.3.1 - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} + locate-path@3.0.0: dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true + p-locate: 3.0.0 + path-exists: 3.0.0 - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + locate-path@5.0.0: dependencies: - picomatch: 2.3.1 - dev: true + p-locate: 4.1.0 - /recast@0.17.2: - resolution: {integrity: sha512-YHFvn4rBXl8eIjALjUiOV/AP3xFpyGNGNHDw9mAncAWuIdgnBKjbZQ9+P3VlsKcNaNapRVFlTEX1dvDRlYwyxg==} - engines: {node: '>= 4'} + locate-path@6.0.0: dependencies: - ast-types: 0.12.1 - esprima: 4.0.1 - private: 0.1.8 - source-map: 0.6.1 - dev: true + p-locate: 5.0.0 - /recast@0.18.10: - resolution: {integrity: sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==} - engines: {node: '>= 4'} + locate-path@7.2.0: dependencies: - ast-types: 0.13.3 - esprima: 4.0.1 - private: 0.1.8 - source-map: 0.6.1 - dev: true + p-locate: 6.0.0 - /recast@0.20.5: - resolution: {integrity: sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==} - engines: {node: '>= 4'} - dependencies: - ast-types: 0.14.2 - esprima: 4.0.1 - source-map: 0.6.1 - tslib: 2.4.0 - dev: true + lodash.camelcase@4.3.0: {} - /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - dev: true + lodash.defaults@4.2.0: {} - /regenerate-unicode-properties@9.0.0: - resolution: {integrity: sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==} - engines: {node: '>=4'} - dependencies: - regenerate: 1.4.2 - dev: true + lodash.difference@4.5.0: {} - /regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - dev: true + lodash.flatten@4.4.0: {} - /regenerator-runtime@0.13.9: - resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} + lodash.isplainobject@4.0.6: {} - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + lodash.kebabcase@4.1.1: {} - /regenerator-transform@0.14.5: - resolution: {integrity: sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==} - dependencies: - '@babel/runtime': 7.23.1 - dev: true + lodash.merge@4.6.2: {} - /regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - dev: true + lodash.mergewith@4.6.2: {} - /regexp-to-ast@0.3.5: - resolution: {integrity: sha512-1CJygtdvsfNFwiyjaMLBWtg2tfEqx/jSZ8S6TV+GlNL8kiH8rb4cm5Pb7A/C2BpyM/fA8ZJEudlCwi/jvAY+Ow==} - dev: false + lodash.snakecase@4.1.1: {} - /regexp-to-ast@0.4.0: - resolution: {integrity: sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw==} - dev: false + lodash.startcase@4.4.0: {} - /regexp-to-ast@0.5.0: - resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==} - dev: false + lodash.union@4.6.0: {} - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true + lodash.uniq@4.5.0: {} - /regexpu-core@4.8.0: - resolution: {integrity: sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==} - engines: {node: '>=4'} - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 9.0.0 - regjsgen: 0.5.2 - regjsparser: 0.7.0 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.0.0 - dev: true + lodash.upperfirst@4.3.1: {} - /registry-auth-token@4.2.1: - resolution: {integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==} - engines: {node: '>=6.0.0'} + lodash@4.17.21: {} + + log-symbols@4.1.0: dependencies: - rc: 1.2.8 + chalk: 4.1.2 + is-unicode-supported: 0.1.0 - /registry-url@5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} - engines: {node: '>=8'} + log-update@6.1.0: dependencies: - rc: 1.2.8 + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 - /regjsgen@0.5.2: - resolution: {integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==} - dev: true + longest-streak@3.1.0: {} - /regjsparser@0.7.0: - resolution: {integrity: sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==} - hasBin: true - dependencies: - jsesc: 0.5.0 - dev: true + lowercase-keys@2.0.0: {} - /remarkable-katex@1.2.1: - resolution: {integrity: sha512-Y1VquJBZnaVsfsVcKW2hmjT+pDL7mp8l5WAVlvuvViltrdok2m1AIKmJv8SsH+mBY84PoMw67t3kTWw1dIm8+g==} - dev: false + lru-cache@10.4.3: {} - /remarkable@2.0.1: - resolution: {integrity: sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==} - engines: {node: '>= 6.0.0'} - hasBin: true + lru-cache@6.0.0: dependencies: - argparse: 1.0.10 - autolinker: 3.16.2 - dev: false + yallist: 4.0.0 - /repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - dev: true + lru-cache@7.18.3: {} - /repeat-string@1.6.1: - resolution: {integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=} - engines: {node: '>=0.10'} - dev: true + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 - /request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + make-fetch-happen@10.2.1: dependencies: - aws-sign2: 0.7.0 - aws4: 1.11.0 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 3.4.0 - dev: true + agentkeepalive: 4.6.0 + cacache: 16.1.3 + http-cache-semantics: 4.1.1 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 2.1.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.4 + promise-retry: 2.0.1 + socks-proxy-agent: 7.0.0 + ssri: 9.0.1 + transitivePeerDependencies: + - bluebird + - supports-color - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + markdown-table@3.0.4: {} - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: false + matcher@3.0.0: + dependencies: + escape-string-regexp: 4.0.0 + optional: true - /resolve-from@3.0.0: - resolution: {integrity: sha1-six699nWiBvItuZTM17rywoYh0g=} - engines: {node: '>=4'} - dev: false + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - /resolve-global@1.0.0: - resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} - engines: {node: '>=8'} + mdast-util-gfm-table@2.0.0: dependencies: - global-dirs: 0.1.1 - dev: true + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - /resolve-url@0.2.1: - resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=} - deprecated: https://github.com/lydell/resolve-url#deprecated - dev: true + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - /resolve@1.22.0: - resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} - hasBin: true + mdast-util-gfm@3.0.0: dependencies: - is-core-module: 2.8.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - /responselike@1.0.2: - resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=} + mdast-util-phrasing@4.1.0: dependencies: - lowercase-keys: 1.0.1 + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 - /restore-cursor@2.0.0: - resolution: {integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368=} - engines: {node: '>=4'} + mdast-util-to-markdown@2.1.2: dependencies: - onetime: 2.0.1 - signal-exit: 3.0.7 - dev: true + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + mdast-util-to-string@4.0.0: dependencies: - onetime: 5.1.2 - signal-exit: 3.0.6 - dev: true + '@types/mdast': 4.0.4 - /ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - dev: true + meow@12.1.1: {} - /retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - dev: true + merge-stream@2.0.0: {} - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + merge2@1.4.1: {} - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - dev: true + micromark-core-commonmark@2.0.2: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.0.4 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /rgb-regex@1.0.1: - resolution: {integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE=} - dev: false + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /rgba-regex@1.0.0: - resolution: {integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=} - dev: false + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - hasBin: true + micromark-extension-gfm-strikethrough@2.1.0: dependencies: - glob: 7.2.3 - dev: true + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true + micromark-extension-gfm-table@2.1.1: dependencies: - glob: 7.2.3 - dev: false + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + micromark-extension-gfm-tagfilter@2.0.0: dependencies: - glob: 7.2.3 - dev: true + micromark-util-types: 2.0.1 - /roarr@2.15.4: - resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} - engines: {node: '>=8.0'} - requiresBuild: true + micromark-extension-gfm-task-list-item@2.1.0: dependencies: - boolean: 3.1.4 - detect-node: 2.1.0 - globalthis: 1.0.2 - json-stringify-safe: 5.0.1 - semver-compare: 1.0.0 - sprintf-js: 1.1.2 - dev: true - optional: true + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /robust-predicates@3.0.1: - resolution: {integrity: sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==} - dev: false + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.1 - /rollup@2.70.1: - resolution: {integrity: sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /rss-parser@3.12.0: - resolution: {integrity: sha512-aqD3E8iavcCdkhVxNDIdg1nkBI17jgqF+9OqPS1orwNaOgySdpvq6B+DoONLhzjzwV8mWg37sb60e4bmLK117A==} + micromark-factory-label@2.0.1: dependencies: - entities: 2.2.0 - xml2js: 0.4.23 - dev: true + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: true + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.1 - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + micromark-factory-title@2.0.1: dependencies: - queue-microtask: 1.2.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - dev: false + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} + micromark-util-character@2.1.1: dependencies: - tslib: 1.14.1 - dev: true + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /rxjs@7.4.0: - resolution: {integrity: sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==} + micromark-util-chunked@2.0.1: dependencies: - tslib: 2.1.0 - dev: true + micromark-util-symbol: 2.0.1 - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.1 - /safe-regex@1.1.0: - resolution: {integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=} + micromark-util-decode-numeric-character-reference@2.0.2: dependencies: - ret: 0.1.15 - dev: true + micromark-util-symbol: 2.0.1 - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 - /sanitize-filename@1.6.3: - resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} + micromark-util-encode@2.0.1: {} + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: dependencies: - truncate-utf8-bytes: 1.0.2 - dev: true + micromark-util-symbol: 2.0.1 - /sanitize-html@2.7.0: - resolution: {integrity: sha512-jfQelabOn5voO7FAfnQF7v+jsA6z9zC/O4ec0z3E35XPEtHYJT/OdUziVWlKW4irCr2kXaQAyXTXDHWAibg1tA==} + micromark-util-resolve-all@2.0.1: dependencies: - deepmerge: 4.2.2 - escape-string-regexp: 4.0.0 - htmlparser2: 6.1.0 - is-plain-object: 5.0.0 - parse-srcset: 1.0.2 - postcss: 8.4.12 - dev: false - - /sass@1.45.1: - resolution: {integrity: sha512-pwPRiq29UR0o4X3fiQyCtrESldXvUQAAE0QmcJTpsI4kuHHcLzZ54M1oNBVIXybQv8QF2zfkpFcTxp8ta97dUA==} - engines: {node: '>=8.9.0'} - hasBin: true + micromark-util-types: 2.0.1 + + micromark-util-sanitize-uri@2.0.1: dependencies: - chokidar: 3.5.3 - immutable: 4.0.0 - source-map-js: 1.0.2 - dev: true + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + micromark-util-subtokenize@2.0.4: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - /scale-svg-path@0.0.1: - resolution: {integrity: sha1-UpuNrKopTwejy0x582UbLxz1Go0=} - dev: false + micromark-util-symbol@2.0.1: {} - /schema-utils@3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/json-schema': 7.0.10 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - dev: true + micromark-util-types@2.0.1: {} - /sec@1.0.0: - resolution: {integrity: sha1-Az1go60g7PLgCUDRT5eCNGV3QzU=} - engines: {node: '>=0.10.0'} - dev: true + micromark@4.0.1: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.0(supports-color@5.5.0) + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.0.4 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + transitivePeerDependencies: + - supports-color - /seek-bzip@1.0.6: - resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} - hasBin: true + micromatch@4.0.8: dependencies: - commander: 2.20.3 - dev: true + braces: 3.0.3 + picomatch: 2.3.1 - /semver-compare@1.0.0: - resolution: {integrity: sha1-De4hahyUGrN+nvsXiPavxf9VN/w=} + mime-db@1.52.0: {} - /semver-diff@3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} + mime-types@2.1.35: dependencies: - semver: 6.3.0 + mime-db: 1.52.0 - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - dev: true + mime@2.6.0: {} - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true + mimic-fn@2.1.0: {} - /semver@7.0.0: - resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} - hasBin: true - dev: true + mimic-fn@3.1.0: {} - /semver@7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 + mimic-fn@4.0.0: {} - /semver@7.3.7: - resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true + mimic-function@5.0.1: {} - /send@0.17.2: - resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} - engines: {node: '>= 0.8.0'} - dependencies: - debug: 2.6.9 - depd: 1.1.2 - destroy: 1.0.4 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 1.8.1 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.3.0 - range-parser: 1.2.1 - statuses: 1.5.0 - transitivePeerDependencies: - - supports-color + mimic-response@1.0.1: {} - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: true + mimic-response@3.1.0: {} - /serialize-error@7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} - requiresBuild: true - dependencies: - type-fest: 0.13.1 - dev: true - optional: true + min-indent@1.0.1: {} - /serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + minimatch@10.0.1: dependencies: - randombytes: 2.1.0 - dev: true + brace-expansion: 2.0.1 - /serialize-svg-path@0.1.0: - resolution: {integrity: sha1-pyvxT9pp1vdjAWSBVNCR/8ByKZo=} - dev: false + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 - /serve-static@1.14.2: - resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} - engines: {node: '>= 0.8.0'} + minimatch@5.1.6: dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.17.2 - transitivePeerDependencies: - - supports-color + brace-expansion: 2.0.1 - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} + minimatch@9.0.5: dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - dev: true + brace-expansion: 2.0.1 - /server-destroy@1.0.1: - resolution: {integrity: sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=} - dev: false + minimist@1.2.8: {} - /set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} + minipass-collect@1.0.2: dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - dev: true + minipass: 3.3.6 - /setimmediate@1.0.5: - resolution: {integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=} - dev: false - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + minipass-fetch@2.1.2: + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 - /sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true + minipass-flush@1.0.5: dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - dev: true + minipass: 3.3.6 - /shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} + minipass-pipeline@1.2.4: dependencies: - kind-of: 6.0.3 - dev: true + minipass: 3.3.6 - /shebang-command@1.2.0: - resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=} - engines: {node: '>=0.10.0'} + minipass-sized@1.0.3: dependencies: - shebang-regex: 1.0.0 - dev: true + minipass: 3.3.6 - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + minipass@3.3.6: dependencies: - shebang-regex: 3.0.0 + yallist: 4.0.0 - /shebang-regex@1.0.0: - resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=} - engines: {node: '>=0.10.0'} - dev: true + minipass@5.0.0: {} - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + minipass@7.1.2: {} - /shell-quote@1.7.3: - resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==} - dev: true + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 - /shellwords@0.1.1: - resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} - dev: true + mkdirp-classic@0.5.3: {} - /shortid@2.2.16: - resolution: {integrity: sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==} - dependencies: - nanoid: 2.1.11 - dev: true + mkdirp@1.0.4: {} - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + mlly@1.7.4: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.1 - object-inspect: 1.12.0 - - /signal-exit@3.0.6: - resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} + acorn: 8.14.0 + pathe: 2.0.2 + pkg-types: 1.3.1 + ufo: 1.5.4 - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true + ms@2.1.3: {} - /simple-swizzle@0.2.2: - resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=} + mz@2.7.0: dependencies: - is-arrayish: 0.3.2 - dev: false + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + nanoid@3.3.8: {} - /slash@2.0.0: - resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} - engines: {node: '>=6'} - dev: true + napi-build-utils@2.0.0: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + natural-compare@1.4.0: {} - /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true + natural-orderby@5.0.0: {} - /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true + negotiator@0.6.4: {} - /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + node-abi@3.74.0: dependencies: - ansi-styles: 6.1.0 - is-fullwidth-code-point: 4.0.0 - dev: true - - /slugify@1.6.6: - resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} - engines: {node: '>=8.0.0'} - dev: false + semver: 7.7.1 - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - requiresBuild: true - dev: true + node-addon-api@1.7.2: optional: true - /snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} + node-api-version@0.2.0: dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - dev: true + semver: 7.7.1 - /snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true + node-fetch-native@1.6.6: {} - /snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} + node-gyp@9.4.1: dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 + env-paths: 2.2.1 + exponential-backoff: 3.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 10.2.1 + nopt: 6.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.7.1 + tar: 6.2.1 + which: 2.0.2 transitivePeerDependencies: + - bluebird - supports-color - dev: true - /socket.io-adapter@2.3.3: - resolution: {integrity: sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==} - dev: true + node-releases@2.0.19: {} - /socket.io-client@4.4.1(utf-8-validate@5.0.9): - resolution: {integrity: sha512-N5C/L5fLNha5Ojd7Yeb/puKcPWWcoB/A09fEjjNsg91EDVr5twk/OEyO6VT9dlLSUNY85NpW6KBhVMvaLKQ3vQ==} - engines: {node: '>=10.0.0'} + nodemon@3.1.9: dependencies: - '@socket.io/component-emitter': 3.0.0 - backo2: 1.0.2 - debug: 4.3.4(supports-color@9.2.1) - engine.io-client: 6.1.1(utf-8-validate@5.0.9) - parseuri: 0.0.6 - socket.io-parser: 4.1.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true + chokidar: 3.6.0 + debug: 4.4.0(supports-color@5.5.0) + ignore-by-default: 1.0.1 + minimatch: 3.1.2 + pstree.remy: 1.1.8 + semver: 7.7.1 + simple-update-notifier: 2.0.0 + supports-color: 5.5.0 + touch: 3.1.1 + undefsafe: 2.0.5 - /socket.io-parser@4.0.4: - resolution: {integrity: sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==} - engines: {node: '>=10.0.0'} + nopt@6.0.0: dependencies: - '@types/component-emitter': 1.2.11 - component-emitter: 1.3.0 - debug: 4.3.4(supports-color@9.2.1) - transitivePeerDependencies: - - supports-color - dev: true + abbrev: 1.1.1 - /socket.io-parser@4.1.2: - resolution: {integrity: sha512-j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog==} - engines: {node: '>=10.0.0'} + normalize-package-data@2.5.0: dependencies: - '@socket.io/component-emitter': 3.0.0 - debug: 4.3.4(supports-color@9.2.1) - transitivePeerDependencies: - - supports-color - dev: true + hosted-git-info: 2.8.9 + resolve: 1.22.10 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 - /socket.io@4.4.1(utf-8-validate@5.0.9): - resolution: {integrity: sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==} - engines: {node: '>=10.0.0'} + normalize-path@2.1.1: dependencies: - accepts: 1.3.8 - base64id: 2.0.0 - debug: 4.3.4(supports-color@9.2.1) - engine.io: 6.1.3(utf-8-validate@5.0.9) - socket.io-adapter: 2.3.3 - socket.io-parser: 4.0.4 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true + remove-trailing-separator: 1.1.0 - /sort-keys-length@1.0.1: - resolution: {integrity: sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=} - engines: {node: '>=0.10.0'} - dependencies: - sort-keys: 1.1.2 - dev: true + normalize-path@3.0.0: {} - /sort-keys@1.1.2: - resolution: {integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-obj: 1.1.0 - dev: true + normalize-range@0.1.2: {} - /sort-keys@2.0.0: - resolution: {integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=} - engines: {node: '>=4'} - dependencies: - is-plain-obj: 1.1.0 - dev: true + normalize-url@6.1.0: {} - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 - /source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated + npmlog@6.0.2: dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.0 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - dev: true + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + nth-check@2.1.1: dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true + boolbase: 1.0.0 - /source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - dev: true + nypm@0.5.2: + dependencies: + citty: 0.1.6 + consola: 3.4.0 + pathe: 2.0.2 + pkg-types: 1.3.1 + tinyexec: 0.3.2 + ufo: 1.5.4 - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} + object-assign@4.1.1: {} - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + object-hash@3.0.0: {} - /source-map@0.7.3: - resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} - engines: {node: '>= 8'} - dev: true + object-keys@1.1.1: + optional: true - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + ohash@1.1.4: {} - /spdx-correct@3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + once@1.4.0: dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.11 - dev: true - - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: true + wrappy: 1.0.2 - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + onetime@5.1.2: dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.11 - dev: true - - /spdx-license-ids@3.0.11: - resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} - dev: true - - /split-on-first@3.0.0: - resolution: {integrity: sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==} - engines: {node: '>=12'} - dev: false + mimic-fn: 2.1.0 - /split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} + onetime@6.0.0: dependencies: - extend-shallow: 3.0.2 - dev: true + mimic-fn: 4.0.0 - /split2@2.2.0: - resolution: {integrity: sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==} + onetime@7.0.0: dependencies: - through2: 2.0.5 - dev: true + mimic-function: 5.0.1 - /split2@3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + optionator@0.9.4: dependencies: - readable-stream: 3.6.0 - dev: true + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 - /split@0.3.3: - resolution: {integrity: sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=} + ora@5.4.1: dependencies: - through: 2.3.8 - dev: true - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 - /sprintf-js@1.1.2: - resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} - requiresBuild: true - dev: true - optional: true + p-cancelable@2.1.1: {} - /sshpk@1.17.0: - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} - engines: {node: '>=0.10.0'} - hasBin: true + p-limit@2.3.0: dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 - dev: true - - /stable@0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - dev: false + p-try: 2.2.0 - /stat-mode@1.0.0: - resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} - engines: {node: '>= 6'} - dev: true + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 - /static-extend@0.1.2: - resolution: {integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=} - engines: {node: '>=0.10.0'} + p-limit@4.0.0: dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - dev: true + yocto-queue: 1.1.1 - /statuses@1.5.0: - resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} - engines: {node: '>= 0.6'} + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 - /steno@0.4.4: - resolution: {integrity: sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs=} + p-locate@5.0.0: dependencies: - graceful-fs: 4.2.10 + p-limit: 3.1.0 - /steno@2.1.0: - resolution: {integrity: sha512-mauOsiaqTNGFkWqIfwcm3y/fq+qKKaIWf1vf3ocOuTdco9XoHCO2AGF1gFYXuZFSWuP38Q8LBHBGJv2KnJSXyA==} - engines: {node: ^14.13.1 || >=16.0.0} - dev: false + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 - /stream-combiner@0.0.4: - resolution: {integrity: sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=} + p-map@4.0.0: dependencies: - duplexer: 0.1.2 - dev: true + aggregate-error: 3.1.0 - /streamsearch@0.1.2: - resolution: {integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=} - engines: {node: '>=0.8.0'} - dev: true + p-try@2.2.0: {} - /strict-uri-encode@1.1.0: - resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=} - engines: {node: '>=0.10.0'} - dev: true + package-json-from-dist@1.0.1: {} - /string-argv@0.1.2: - resolution: {integrity: sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==} - engines: {node: '>=0.6.19'} - dev: true + package-manager-detector@0.2.9: {} - /string-argv@0.3.1: - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} - engines: {node: '>=0.6.19'} + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + parse-gitignore@2.0.0: {} + + parse-imports@2.2.1: dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 + es-module-lexer: 1.6.0 + slashes: 3.0.12 - /string-width@5.0.1: - resolution: {integrity: sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==} - engines: {node: '>=12'} + parse-json@5.2.0: dependencies: - emoji-regex: 9.2.2 - is-fullwidth-code-point: 4.0.0 - strip-ansi: 7.0.1 - dev: true + '@babel/code-frame': 7.26.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} - /string.prototype.padend@3.1.3: - resolution: {integrity: sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - dev: true + path-exists@5.0.0: {} - /string.prototype.trimend@1.0.4: - resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 + path-is-absolute@1.0.1: {} - /string.prototype.trimstart@1.0.4: - resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 + path-key@3.1.1: {} - /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - dev: true + path-key@4.0.0: {} - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - dependencies: - safe-buffer: 5.1.2 + path-parse@1.0.7: {} - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + path-scurry@1.11.1: dependencies: - safe-buffer: 5.2.1 - dev: true + lru-cache: 10.4.3 + minipass: 7.1.2 - /strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - dependencies: - ansi-regex: 4.1.1 - dev: true + pathe@1.1.2: {} - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 + pathe@2.0.2: {} - /strip-ansi@7.0.1: - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - dev: true + pe-library@0.4.1: {} - /strip-bom@3.0.0: - resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} - engines: {node: '>=4'} - dev: true + pend@1.2.0: {} - /strip-dirs@2.1.0: - resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} - dependencies: - is-natural-number: 4.0.1 - dev: true + perfect-debounce@1.0.0: {} - /strip-eof@1.0.0: - resolution: {integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=} - engines: {node: '>=0.10.0'} - dev: true + picocolors@1.1.1: {} - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true + picomatch@2.3.1: {} - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - dependencies: - min-indent: 1.0.1 - dev: true + picomatch@4.0.2: {} - /strip-json-comments@2.0.1: - resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} - engines: {node: '>=0.10.0'} + pidtree@0.6.0: {} - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + pify@2.3.0: {} - /strip-outer@1.0.1: - resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} - engines: {node: '>=0.10.0'} + pify@4.0.1: {} + + pirates@4.0.6: {} + + pkg-types@1.3.1: dependencies: - escape-string-regexp: 1.0.5 - dev: true + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 2.0.2 - /stylehacks@4.0.3: - resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==} - engines: {node: '>=6.9.0'} + pkg-up@3.1.0: dependencies: - browserslist: 4.20.2 - postcss: 7.0.39 - postcss-selector-parser: 3.1.2 - dev: false + find-up: 3.0.0 - /stylis@4.1.1: - resolution: {integrity: sha512-lVrM/bNdhVX2OgBFNa2YJ9Lxj7kPzylieHd3TNjuGE0Re9JB7joL5VUKOVH1kdNNJTgGPpT8hmwIAPLaSyEVFQ==} - dev: false + plist@3.1.0: + dependencies: + '@xmldom/xmldom': 0.8.10 + base64-js: 1.5.1 + xmlbuilder: 15.1.1 - /subscriptions-transport-ws@0.9.19(graphql@14.7.0): - resolution: {integrity: sha512-dxdemxFFB0ppCLg10FTtRqH/31FNRL1y1BQv8209MK5I4CwALb7iihQg+7p65lFcIl8MHatINWBLOqpgU4Kyyw==} - deprecated: The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md - peerDependencies: - graphql: '>=0.10.0' - dependencies: - backo2: 1.0.2 - eventemitter3: 3.1.2 - graphql: 14.7.0 - iterall: 1.3.0 - symbol-observable: 1.2.0 - ws: 7.5.7 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: true + pluralize@8.0.0: {} - /sumchecker@3.0.1: - resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} - engines: {node: '>= 8.0'} + postcss-import@15.1.0(postcss@8.5.1): dependencies: - debug: 4.3.4(supports-color@9.2.1) - transitivePeerDependencies: - - supports-color - dev: true + postcss: 8.5.1 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.10 - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + postcss-js@4.0.1(postcss@8.5.1): dependencies: - has-flag: 3.0.0 + camelcase-css: 2.0.1 + postcss: 8.5.1 - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + postcss-load-config@4.0.2(postcss@8.5.1): dependencies: - has-flag: 4.0.0 + lilconfig: 3.1.3 + yaml: 2.7.0 + optionalDependencies: + postcss: 8.5.1 - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + postcss-nested@6.2.0(postcss@8.5.1): dependencies: - has-flag: 4.0.0 - dev: true + postcss: 8.5.1 + postcss-selector-parser: 6.1.2 - /supports-color@9.2.1: - resolution: {integrity: sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==} - engines: {node: '>=12'} + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + postcss-value-parser@4.2.0: {} - /svgo@1.1.1: - resolution: {integrity: sha512-GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g==} - engines: {node: '>=4.0.0'} - deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. - hasBin: true - dependencies: - coa: 2.0.2 - colors: 1.1.2 - css-select: 2.1.0 - css-select-base-adapter: 0.1.1 - css-tree: 1.0.0-alpha.28 - css-url-regex: 1.1.0 - csso: 3.5.1 - js-yaml: 3.14.1 - mkdirp: 0.5.6 - object.values: 1.1.5 - sax: 1.2.4 - stable: 0.1.8 - unquote: 1.1.1 - util.promisify: 1.0.1 - dev: false - - /svgo@1.3.2: - resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} - engines: {node: '>=4.0.0'} - deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. - hasBin: true - dependencies: - chalk: 2.4.2 - coa: 2.0.2 - css-select: 2.1.0 - css-select-base-adapter: 0.1.1 - css-tree: 1.0.0-alpha.37 - csso: 4.2.0 - js-yaml: 3.14.1 - mkdirp: 0.5.6 - object.values: 1.1.5 - sax: 1.2.4 - stable: 0.1.8 - unquote: 1.1.1 - util.promisify: 1.0.1 - dev: false - - /svgstore@3.0.1: - resolution: {integrity: sha512-nL6WTxYnsVl3e0G/mwGEFSnPAWUrzIwHAPOwInD4QUuLDKxaKMnXduf0Ipw3m/g9AldPhp1Y8E/nkReFBukJrA==} - engines: {node: '>= 12'} + postcss@8.5.1: dependencies: - cheerio: 1.0.0-rc.10 - dev: false + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 - /symbol-observable@1.2.0: - resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} - engines: {node: '>=0.10.0'} - dev: true + prebuild-install@7.1.3: + dependencies: + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 2.0.0 + node-abi: 3.74.0 + pump: 3.0.2 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.2 + tunnel-agent: 0.6.0 - /tapable@0.1.10: - resolution: {integrity: sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=} - engines: {node: '>=0.6'} - dev: true + prelude-ls@1.2.1: {} - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true + prettier@3.4.2: {} - /tar-stream@1.6.2: - resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} - engines: {node: '>= 0.8.0'} - dependencies: - bl: 1.2.3 - buffer-alloc: 1.2.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - readable-stream: 2.3.7 - to-buffer: 1.1.1 - xtend: 4.0.2 - dev: true + proc-log@2.0.1: {} - /tar@6.1.11: - resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} - engines: {node: '>= 10'} - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 3.3.4 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - dev: true + process-nextick-args@2.0.1: {} - /taskkill@3.1.0: - resolution: {integrity: sha512-5KcOFzPvd1nGFVrmB7H4+QAWVjYOf//+QTbOj0GpXbqtqbKGWVczG+rq6VhXAtdtlKLTs16NAmHRyF5vbggQ2w==} - engines: {node: '>=8'} - dependencies: - arrify: 2.0.1 - execa: 3.4.0 - dev: true + progress@2.0.3: {} - /tasklist@3.1.1: - resolution: {integrity: sha512-G3I7QWUBSNWaekrJcDabydF6dcvy+vZ2PrX04JYq1p914TOLgpN+ryMtheGavs1LYVevTbTmwjQY8aeX8yLsyA==} - engines: {node: '>=4'} - dependencies: - neat-csv: 2.1.0 - pify: 2.3.0 - sec: 1.0.0 - dev: true + promise-inflight@1.0.1: {} - /temp-file@3.4.0: - resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} + promise-retry@2.0.1: dependencies: - async-exit-hook: 2.0.1 - fs-extra: 10.1.0 - dev: true + err-code: 2.0.3 + retry: 0.12.0 - /temp@0.8.4: - resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} - engines: {node: '>=6.0.0'} + prompts@2.4.2: dependencies: - rimraf: 2.6.3 - dev: true + kleur: 3.0.3 + sisteransi: 1.0.5 - /term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - dev: true + pstree.remy@1.1.8: {} - /terser-webpack-plugin@5.3.1(webpack@5.70.0): - resolution: {integrity: sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true + pump@3.0.2: dependencies: - jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.0 - source-map: 0.6.1 - terser: 5.12.1 - webpack: 5.70.0 - dev: true + end-of-stream: 1.4.4 + once: 1.4.0 - /terser@5.12.1: - resolution: {integrity: sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - acorn: 8.7.0 - commander: 2.20.3 - source-map: 0.7.3 - source-map-support: 0.5.21 - dev: true + punycode@2.3.1: {} - /text-extensions@1.9.0: - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} - engines: {node: '>=0.10'} - dev: true + queue-microtask@1.2.3: {} - /text-table@0.2.0: - resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} - dev: true + quick-lru@5.1.1: {} - /through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + rc9@2.1.2: dependencies: - readable-stream: 2.3.7 - xtend: 4.0.2 - dev: true + defu: 6.1.4 + destr: 2.0.3 - /through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + rc@1.2.8: dependencies: - readable-stream: 3.6.0 - dev: true - - /through@2.3.8: - resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} - dev: true + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 - /timed-out@4.0.1: - resolution: {integrity: sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=} - engines: {node: '>=0.10.0'} - dev: true + read-binary-file-arch@1.0.6: + dependencies: + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color - /timsort@0.3.0: - resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} - dev: false + read-cache@1.0.0: + dependencies: + pify: 2.3.0 - /tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + read-pkg-up@7.0.1: dependencies: - tmp: 0.2.1 - dev: true + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + read-pkg@5.2.0: dependencies: - os-tmpdir: 1.0.2 - dev: true + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 - /tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} + readable-stream@2.3.8: dependencies: - rimraf: 3.0.2 - dev: true + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 - /to-buffer@1.1.1: - resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} - dev: true + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 - /to-fast-properties@2.0.0: - resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} - engines: {node: '>=4'} + readdir-glob@1.1.3: + dependencies: + minimatch: 5.1.6 - /to-object-path@0.3.0: - resolution: {integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=} - engines: {node: '>=0.10.0'} + readdirp@3.6.0: dependencies: - kind-of: 3.2.2 - dev: true + picomatch: 2.3.1 - /to-readable-stream@1.0.0: - resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} - engines: {node: '>=6'} + readdirp@4.1.1: {} - /to-regex-range@2.1.1: - resolution: {integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=} - engines: {node: '>=0.10.0'} + refa@0.12.1: dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - dev: true + '@eslint-community/regexpp': 4.12.1 - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + regexp-ast-analysis@0.7.1: dependencies: - is-number: 7.0.0 + '@eslint-community/regexpp': 4.12.1 + refa: 0.12.1 - /to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} + regexp-tree@0.1.27: {} + + regjsparser@0.10.0: dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - dev: true + jsesc: 0.5.0 - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} + remove-trailing-separator@1.1.0: {} - /token-stream@1.0.0: - resolution: {integrity: sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=} - dev: true + require-directory@2.1.1: {} - /tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} - dependencies: - psl: 1.8.0 - punycode: 2.1.1 - dev: true + require-from-string@2.0.2: {} - /tr46@0.0.3: - resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} - dev: true + resedit@1.7.2: + dependencies: + pe-library: 0.4.1 - /traverse@0.3.9: - resolution: {integrity: sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=} - dev: false + resolve-alpn@1.2.1: {} - /trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - dev: true + resolve-from@4.0.0: {} - /trim-repeated@1.0.0: - resolution: {integrity: sha1-42RqLqTokTEr9+rObPsFOAvAHCE=} - engines: {node: '>=0.10.0'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true + resolve-from@5.0.0: {} - /truncate-utf8-bytes@1.0.2: - resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} - dependencies: - utf8-byte-length: 1.0.4 - dev: true + resolve-pkg-maps@1.0.0: {} - /ts-invariant@0.4.4: - resolution: {integrity: sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==} + resolve@1.22.10: dependencies: - tslib: 1.14.1 - dev: true + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 - /ts-node@9.1.1(typescript@4.6.3): - resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} - engines: {node: '>=10.0.0'} - hasBin: true - peerDependencies: - typescript: '>=2.7' + responselike@2.0.1: dependencies: - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - source-map-support: 0.5.21 - typescript: 4.6.3 - yn: 3.1.1 - dev: true + lowercase-keys: 2.0.0 - /tsc-watch@4.6.0(typescript@4.5.4): - resolution: {integrity: sha512-DRMADjFe44EDWb+YMIOj4b83UrU6le27L3/o0/9FlmA01ikFd5Dl9RD5h1hpeh0mQdIqXvwfHZszCcjhH3bAmQ==} - engines: {node: '>=8.17.0'} - hasBin: true - peerDependencies: - typescript: '*' + restore-cursor@3.1.0: dependencies: - cross-spawn: 7.0.3 - node-cleanup: 2.1.2 - ps-tree: 1.2.0 - string-argv: 0.1.2 - strip-ansi: 6.0.1 - typescript: 4.5.4 - dev: true + onetime: 5.1.2 + signal-exit: 3.0.7 - /tsconfig-paths@3.12.0: - resolution: {integrity: sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==} + restore-cursor@5.1.0: dependencies: - '@types/json5': 0.0.29 - json5: 1.0.1 - minimist: 1.2.5 - strip-bom: 3.0.0 - dev: true + onetime: 7.0.0 + signal-exit: 4.1.0 - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true + retry@0.12.0: {} - /tslib@2.1.0: - resolution: {integrity: sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==} - dev: true + reusify@1.0.4: {} - /tslib@2.3.1: - resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + rfdc@1.4.1: {} - /tslib@2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - - /tsutils@3.21.0(typescript@4.5.4): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + rimraf@3.0.2: dependencies: - tslib: 1.14.1 - typescript: 4.5.4 - dev: true + glob: 7.2.3 - /tunnel-agent@0.6.0: - resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=} + roarr@2.15.4: dependencies: - safe-buffer: 5.2.1 - dev: true - - /tunnel@0.0.6: - resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} - engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - requiresBuild: true - dev: true + boolean: 3.2.0 + detect-node: 2.1.0 + globalthis: 1.0.4 + json-stringify-safe: 5.0.1 + semver-compare: 1.0.0 + sprintf-js: 1.1.3 optional: true - /tweetnacl@0.14.5: - resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} - dev: true - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + rollup@4.34.4: dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - /type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - /type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.34.4 + '@rollup/rollup-android-arm64': 4.34.4 + '@rollup/rollup-darwin-arm64': 4.34.4 + '@rollup/rollup-darwin-x64': 4.34.4 + '@rollup/rollup-freebsd-arm64': 4.34.4 + '@rollup/rollup-freebsd-x64': 4.34.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.4 + '@rollup/rollup-linux-arm-musleabihf': 4.34.4 + '@rollup/rollup-linux-arm64-gnu': 4.34.4 + '@rollup/rollup-linux-arm64-musl': 4.34.4 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.4 + '@rollup/rollup-linux-riscv64-gnu': 4.34.4 + '@rollup/rollup-linux-s390x-gnu': 4.34.4 + '@rollup/rollup-linux-x64-gnu': 4.34.4 + '@rollup/rollup-linux-x64-musl': 4.34.4 + '@rollup/rollup-win32-arm64-msvc': 4.34.4 + '@rollup/rollup-win32-ia32-msvc': 4.34.4 + '@rollup/rollup-win32-x64-msvc': 4.34.4 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true + runtime-required@1.1.0: {} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true + rxjs@7.8.1: + dependencies: + tslib: 2.8.1 - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true + safe-buffer@5.1.2: {} - /type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - dev: false + safe-buffer@5.2.1: {} - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 + safer-buffer@2.1.2: {} - /typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + sanitize-filename@1.6.3: dependencies: - is-typedarray: 1.0.0 + truncate-utf8-bytes: 1.0.2 - /typedarray@0.0.6: - resolution: {integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=} - dev: true + sax@1.4.1: {} - /typescript@4.1.6: - resolution: {integrity: sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true + scslre@0.3.0: + dependencies: + '@eslint-community/regexpp': 4.12.1 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 - /typescript@4.5.4: - resolution: {integrity: sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==} - engines: {node: '>=4.2.0'} - hasBin: true + semver-compare@1.0.0: + optional: true - /typescript@4.6.3: - resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true + semver@5.7.2: {} - /typical@4.0.0: - resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} - engines: {node: '>=8'} + semver@6.3.1: {} - /uglify-js@3.16.3: - resolution: {integrity: sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==} - engines: {node: '>=0.8.0'} - hasBin: true - requiresBuild: true - dev: true - optional: true + semver@7.7.1: {} - /unbox-primitive@1.0.1: - resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} + serialize-error@7.0.1: dependencies: - function-bind: 1.1.1 - has-bigints: 1.0.1 - has-symbols: 1.0.2 - which-boxed-primitive: 1.0.2 + type-fest: 0.13.1 + optional: true - /unbzip2-stream@1.4.3: - resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - dependencies: - buffer: 5.7.1 - through: 2.3.8 - dev: true + set-blocking@2.0.0: {} - /underscore-plus@1.7.0: - resolution: {integrity: sha512-A3BEzkeicFLnr+U/Q3EyWwJAQPbA19mtZZ4h+lLq3ttm9kn8WC4R3YpuJZEXmWdLjYP47Zc8aLZm9kwdv+zzvA==} + shebang-command@2.0.0: dependencies: - underscore: 1.13.2 - dev: false + shebang-regex: 3.0.0 - /underscore@1.13.2: - resolution: {integrity: sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==} - dev: false + shebang-regex@3.0.0: {} - /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} - dev: true + shell-quote@1.8.2: {} - /unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 - unicode-property-aliases-ecmascript: 2.0.0 - dev: true + signal-exit@3.0.7: {} - /unicode-match-property-value-ecmascript@2.0.0: - resolution: {integrity: sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==} - engines: {node: '>=4'} - dev: true + signal-exit@4.1.0: {} - /unicode-property-aliases-ecmascript@2.0.0: - resolution: {integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==} - engines: {node: '>=4'} - dev: true + simple-concat@1.0.1: {} - /union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} + simple-get@4.0.1: dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - dev: true - - /uniq@1.0.1: - resolution: {integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=} - dev: false + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 - /uniqs@2.0.0: - resolution: {integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI=} - dev: false + simple-git-hooks@2.11.1: {} - /unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} + simple-update-notifier@2.0.0: dependencies: - crypto-random-string: 2.0.0 + semver: 7.7.1 - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} + sisteransi@1.0.5: {} - /unpipe@1.0.0: - resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} - engines: {node: '>= 0.8'} + slashes@3.0.12: {} - /unplugin-auto-import@0.6.6(@vueuse/core@8.3.1)(vite@2.9.6)(webpack@5.70.0): - resolution: {integrity: sha512-x3YxAI9ePoumXOakuS5YJlFkSyAkl5vJlaFZSJhSp75nH5gg8LpqQ/0Gz1/CG/JRRv+xaE1CZpEV161AqFGjEg==} - engines: {node: '>=14'} - peerDependencies: - '@vueuse/core': '*' - peerDependenciesMeta: - '@vueuse/core': - optional: true + slice-ansi@3.0.0: dependencies: - '@antfu/utils': 0.5.0 - '@rollup/pluginutils': 4.2.0 - '@vueuse/core': 8.3.1(vue@3.2.33) - local-pkg: 0.4.1 - magic-string: 0.26.1 - resolve: 1.22.0 - unplugin: 0.4.0(vite@2.9.6)(webpack@5.70.0) - transitivePeerDependencies: - - esbuild - - rollup - - vite - - webpack - dev: true - - /unplugin-icons@0.13.4(vite@2.9.6)(webpack@5.70.0): - resolution: {integrity: sha512-gyp5H4WADnXEE1uk8+NW6gnnALOlSpU8M5GwzNCYbUgjM4QudjcFbacHKuuqETk4VeSJyzM9Z2ufbuZFMuxvuQ==} - peerDependencies: - '@svgr/core': '>=5.5.0' - '@vue/compiler-sfc': ^3.0.2 - vue-template-compiler: ^2.6.12 - vue-template-es2015-compiler: ^1.9.0 - peerDependenciesMeta: - '@svgr/core': - optional: true - '@vue/compiler-sfc': - optional: true - vue-template-compiler: - optional: true - vue-template-es2015-compiler: - optional: true + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + optional: true + + slice-ansi@5.0.0: dependencies: - '@antfu/install-pkg': 0.1.0 - '@antfu/utils': 0.5.0 - '@iconify/utils': 1.0.26 - debug: 4.3.4(supports-color@9.2.1) - kolorist: 1.5.1 - local-pkg: 0.4.1 - unplugin: 0.4.0(vite@2.9.6)(webpack@5.70.0) - transitivePeerDependencies: - - esbuild - - rollup - - supports-color - - vite - - webpack - dev: true + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 - /unplugin-vue-components@0.18.1(vite@2.9.6)(vue@3.2.33)(webpack@5.70.0): - resolution: {integrity: sha512-z+dY8LBf7fhlNNK30kSRnmOjc36pjOVF0pg/x2kPUko5iDOGKU2jTp4XOxvbqWzG1fFleCfFPwKYx1GhqYT+8Q==} - engines: {node: '>=14'} - peerDependencies: - '@babel/parser': ^7.15.8 - '@babel/traverse': ^7.15.4 - vue: 2 || 3 - peerDependenciesMeta: - '@babel/parser': - optional: true - '@babel/traverse': - optional: true + slice-ansi@7.1.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + + smart-buffer@4.2.0: {} + + socks-proxy-agent@7.0.0: dependencies: - '@antfu/utils': 0.5.0 - '@rollup/pluginutils': 4.2.0 - chokidar: 3.5.3 - debug: 4.3.4(supports-color@9.2.1) - fast-glob: 3.2.11 - local-pkg: 0.4.1 - magic-string: 0.26.1 - minimatch: 5.0.1 - resolve: 1.22.0 - unplugin: 0.4.0(vite@2.9.6)(webpack@5.70.0) - vue: 3.2.33 + agent-base: 6.0.2 + debug: 4.4.0(supports-color@5.5.0) + socks: 2.8.3 transitivePeerDependencies: - - esbuild - - rollup - supports-color - - vite - - webpack - dev: true - /unplugin@0.4.0(vite@2.9.6)(webpack@5.70.0): - resolution: {integrity: sha512-4ScITEmzlz1iZW3tkz+3L1V5k/xMQ6kjgm4lEXKxH0ozd8/OUWfiSA7RMRyrawsvq/t50JIzPpp1UyuSL/AXkA==} - peerDependencies: - esbuild: '>=0.13' - rollup: ^2.50.0 - vite: ^2.3.0 - webpack: 4 || 5 - peerDependenciesMeta: - esbuild: - optional: true - rollup: - optional: true - vite: - optional: true - webpack: - optional: true + socks@2.8.3: dependencies: - chokidar: 3.5.3 - vite: 2.9.6(sass@1.45.1) - webpack: 5.70.0 - webpack-virtual-modules: 0.4.3 - dev: true + ip-address: 9.0.5 + smart-buffer: 4.2.0 - /unquote@1.1.1: - resolution: {integrity: sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=} - dev: false + source-map-js@1.2.1: {} - /unset-value@1.0.0: - resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=} - engines: {node: '>=0.10.0'} + source-map-support@0.5.21: dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - dev: true + buffer-from: 1.1.2 + source-map: 0.6.1 - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: true - - /unzipper@0.10.11: - resolution: {integrity: sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==} - dependencies: - big-integer: 1.6.51 - binary: 0.3.0 - bluebird: 3.4.7 - buffer-indexof-polyfill: 1.0.2 - duplexer2: 0.1.4 - fstream: 1.0.12 - graceful-fs: 4.2.10 - listenercount: 1.0.1 - readable-stream: 2.3.7 - setimmediate: 1.0.5 - dev: false - - /upath@2.0.1: - resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} - engines: {node: '>=4'} - dev: true + source-map@0.6.1: {} - /update-notifier@5.1.0: - resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} - engines: {node: '>=10'} - dependencies: - boxen: 5.1.2 - chalk: 4.1.2 - configstore: 5.0.1 - has-yarn: 2.1.0 - import-lazy: 2.1.0 - is-ci: 2.0.0 - is-installed-globally: 0.4.0 - is-npm: 5.0.0 - is-yarn-global: 0.3.0 - latest-version: 5.1.0 - pupa: 2.1.1 - semver: 7.3.5 - semver-diff: 3.1.1 - xdg-basedir: 4.0.0 - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + spdx-correct@3.2.0: dependencies: - punycode: 2.1.1 + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.21 - /urix@0.1.0: - resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: true + spdx-exceptions@2.5.0: {} - /url-parse-lax@3.0.0: - resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=} - engines: {node: '>=4'} + spdx-expression-parse@3.0.1: dependencies: - prepend-http: 2.0.0 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.21 - /url-to-options@1.0.1: - resolution: {integrity: sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=} - engines: {node: '>= 4'} - dev: true - - /use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - dev: true - - /utf-8-validate@5.0.9: - resolution: {integrity: sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==} - engines: {node: '>=6.14.2'} - requiresBuild: true + spdx-expression-parse@4.0.0: dependencies: - node-gyp-build: 4.3.0 - dev: true + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.21 - /utf8-byte-length@1.0.4: - resolution: {integrity: sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==} - dev: true + spdx-license-ids@3.0.21: {} - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + split2@4.2.0: {} - /util.promisify@1.0.1: - resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} - dependencies: - define-properties: 1.1.3 - es-abstract: 1.19.1 - has-symbols: 1.0.2 - object.getownpropertydescriptors: 2.1.3 - dev: false + sprintf-js@1.1.3: {} - /util.promisify@1.1.1: - resolution: {integrity: sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==} + ssri@9.0.1: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - for-each: 0.3.3 - has-symbols: 1.0.3 - object.getownpropertydescriptors: 2.1.3 - dev: true + minipass: 3.3.6 - /utils-merge@1.0.1: - resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} - engines: {node: '>= 0.4.0'} - - /uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true + stable-hash@0.0.4: {} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: true + stat-mode@1.0.0: {} - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - dev: false + string-argv@0.3.2: {} - /v8-compile-cache@2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - dev: true + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + string-width@5.1.2: dependencies: - spdx-correct: 3.1.1 - spdx-expression-parse: 3.0.1 - dev: true + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 - /validate-npm-package-name@3.0.0: - resolution: {integrity: sha1-X6kS2B630MdK/BQN5zF/DKffQ34=} + string-width@7.2.0: dependencies: - builtins: 1.0.3 - dev: true + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 - /vary@1.1.2: - resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} - engines: {node: '>= 0.8'} + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 - /vendors@1.0.4: - resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==} - dev: false + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 - /vercel-toast@1.5.5: - resolution: {integrity: sha512-MTcNPcy9V+aiHIg5iS9h/3UQXHfY00a5pQv4D14XWOql9sUQuiB3mxQXyARLIHT+HblqZgf4awyaleA/ND16tA==} - dev: false + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 - /verror@1.10.0: - resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=} - engines: {'0': node >=0.6.0} + strip-ansi@7.1.0: dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - dev: true + ansi-regex: 6.1.0 - /verror@1.10.1: - resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==} - engines: {node: '>=0.6.0'} - requiresBuild: true + strip-final-newline@3.0.0: {} + + strip-indent@3.0.0: dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.4.1 - dev: true - optional: true + min-indent: 1.0.1 - /vite@2.9.6(sass@1.45.1): - resolution: {integrity: sha512-3IffdrByHW95Yjv0a13TQOQfJs7L5dVlSPuTt432XLbRMriWbThqJN2k/IS6kXn5WY4xBLhK9XoaWay1B8VzUw==} - engines: {node: '>=12.2.0'} - hasBin: true - peerDependencies: - less: '*' - sass: '*' - stylus: '*' - peerDependenciesMeta: - less: - optional: true - sass: - optional: true - stylus: - optional: true + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + sucrase@3.35.0: dependencies: - esbuild: 0.14.27 - postcss: 8.4.12 - resolve: 1.22.0 - rollup: 2.70.1 - sass: 1.45.1 - optionalDependencies: - fsevents: 2.3.2 - dev: true + '@jridgewell/gen-mapping': 0.3.8 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 - /void-elements@3.1.0: - resolution: {integrity: sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=} - engines: {node: '>=0.10.0'} - dev: true - - /vscode-css-languageservice@5.4.2: - resolution: {integrity: sha512-DT7+7vfdT2HDNjDoXWtYJ0lVDdeDEdbMNdK4PKqUl2MS8g7PWt7J5G9B6k9lYox8nOfhCEjLnoNC3UKHHCR1lg==} - dependencies: - vscode-languageserver-textdocument: 1.0.4 - vscode-languageserver-types: 3.16.0 - vscode-nls: 5.0.1 - vscode-uri: 3.0.3 - dev: true - - /vscode-html-languageservice@4.2.5: - resolution: {integrity: sha512-dbr10KHabB9EaK8lI0XZW7SqOsTfrNyT3Nuj0GoPi4LjGKUmMiLtsqzfedIzRTzqY+w0FiLdh0/kQrnQ0tLxrw==} - dependencies: - vscode-languageserver-textdocument: 1.0.4 - vscode-languageserver-types: 3.16.0 - vscode-nls: 5.0.1 - vscode-uri: 3.0.3 - dev: true - - /vscode-json-languageservice@4.2.1: - resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} - dependencies: - jsonc-parser: 3.0.0 - vscode-languageserver-textdocument: 1.0.4 - vscode-languageserver-types: 3.16.0 - vscode-nls: 5.0.1 - vscode-uri: 3.0.3 - dev: true - - /vscode-jsonrpc@8.0.0-next.8: - resolution: {integrity: sha512-2eh7v+rzttUG6wg21xnm3U4IaR/i8cU9vHI9ZntRXuBtCcyR3RrPBvl86Ffm91m/Cio45kmn/LskHK3BAKZILA==} - engines: {node: '>=14.0.0'} - dev: true - - /vscode-languageserver-protocol@3.17.0-next.17: - resolution: {integrity: sha512-tMPne63EcKxNr+zaLSOdBcoEgdRNX4Hurlul5wsrvYToWyjjmPaIyXkQdXowhj8du050OXL7ArMLL/jt+hVlgQ==} - dependencies: - vscode-jsonrpc: 8.0.0-next.8 - vscode-languageserver-types: 3.17.0-next.10 - dev: true - - /vscode-languageserver-textdocument@1.0.4: - resolution: {integrity: sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==} - dev: true - - /vscode-languageserver-types@3.16.0: - resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} - dev: true - - /vscode-languageserver-types@3.17.0-next.10: - resolution: {integrity: sha512-BbuWVFKgkGX/VgbVPSofxZx2wqR5DMC+3IiB6FgJ7250GiLIKa5Z7RXaQ7i8z4t9rHEmpTA3UbrRkoLPjQUf6Q==} - dev: true - - /vscode-nls@5.0.1: - resolution: {integrity: sha512-hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==} - dev: true - - /vscode-pug-languageservice@0.30.6: - resolution: {integrity: sha512-oHXKmHaxLxVYDY6dOmxpm0YfilGgohIMEcE/ahK9O+0lvhgZ4xjEOdP27QcZs90fv92eOWf3CU9tgg4fR6e3+w==} - deprecated: 'WARNING: This project has been renamed to @volar/pug-language-service. Install using @volar/pug-language-service instead.' - dependencies: - '@volar/code-gen': 0.30.6 - '@volar/shared': 0.30.6 - '@volar/source-map': 0.30.6 - '@volar/transforms': 0.30.6 - pug-lexer: 5.0.1 - pug-parser: 6.0.0 - vscode-languageserver-textdocument: 1.0.4 - vscode-languageserver-types: 3.17.0-next.10 - dev: true - - /vscode-typescript-languageservice@0.30.6: - resolution: {integrity: sha512-Dni0VnMe01QkSvO0z7yIIy+vSll6hWCNtuuWvmBNoHAnFlndgq4OibPrpabv2iv4Lmq+66p40kqGcDg/bpjx5Q==} - deprecated: 'WARNING: This project has been renamed to @volar/typescript-language-service. Install using @volar/typescript-language-service instead.' - dependencies: - '@volar/shared': 0.30.6 - semver: 7.3.7 - upath: 2.0.1 - vscode-languageserver-protocol: 3.17.0-next.17 - vscode-languageserver-textdocument: 1.0.4 - vscode-nls: 5.0.1 - dev: true - - /vscode-uri@2.1.2: - resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} - dev: true - - /vscode-uri@3.0.3: - resolution: {integrity: sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==} - dev: true - - /vscode-vue-languageservice@0.30.6: - resolution: {integrity: sha512-ZDaW6F2WK0LXt9RpwziKEvhfNxNmpx3ULLfPCGc+jIkM+u00gIB4i2K/5F99yNzbvrtxcgb3emFRH5FBlmmWDQ==} - deprecated: 'WARNING: This project has been renamed to @volar/vue-language-service. Install using @volar/vue-language-service instead.' - dependencies: - '@volar/code-gen': 0.30.6 - '@volar/html2pug': 0.30.6 - '@volar/shared': 0.30.6 - '@volar/source-map': 0.30.6 - '@volar/transforms': 0.30.6 - '@volar/vue-code-gen': 0.30.6 - '@vscode/emmet-helper': 2.8.4 - '@vue/reactivity': 3.2.33 - '@vue/shared': 3.2.33 - upath: 2.0.1 - vscode-css-languageservice: 5.4.2 - vscode-html-languageservice: 4.2.5 - vscode-json-languageservice: 4.2.1 - vscode-languageserver-protocol: 3.17.0-next.17 - vscode-languageserver-textdocument: 1.0.4 - vscode-pug-languageservice: 0.30.6 - vscode-typescript-languageservice: 0.30.6 - dev: true - - /vue-codemod@0.0.5: - resolution: {integrity: sha512-DE+24W1d3oanGqq7yna4ddOKXmVzjECgku2ddMcm7OS9Bp9QOblMHT88PzKiCc7npGiHf5+mTfrEW1JVIBbA2A==} - engines: {node: '>= 10.0'} - hasBin: true + sumchecker@3.0.1: dependencies: - '@babel/core': 7.16.5 - '@babel/preset-env': 7.16.5(@babel/core@7.16.5) - '@babel/types': 7.16.0 - '@types/jscodeshift': 0.7.2 - '@vue/compiler-core': 3.2.31 - '@vue/compiler-dom': 3.2.33 - debug: 4.3.4(supports-color@9.2.1) - globby: 11.0.4 - inquirer: 7.3.3 - jscodeshift: 0.11.0(@babel/preset-env@7.16.5) - lru-cache: 6.0.0 - source-map: 0.6.1 - yargs: 16.2.0 + debug: 4.4.0(supports-color@5.5.0) transitivePeerDependencies: - supports-color - dev: true - /vue-demi@0.12.4(vue@3.2.33): - resolution: {integrity: sha512-ztPDkFt0TSUdoq1ZI6oD730vgztBkiByhUW7L1cOTebiSBqSYfSQgnhYakYigBkyAybqCTH7h44yZuDJf2xILQ==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true + supports-color@5.5.0: dependencies: - vue: 3.2.33 + has-flag: 3.0.0 - /vue-eslint-parser@8.0.1(eslint@8.5.0): - resolution: {integrity: sha512-lhWjDXJhe3UZw2uu3ztX51SJAPGPey1Tff2RK3TyZURwbuI4vximQLzz4nQfCv8CZq4xx7uIiogHMMoSJPr33A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' + supports-color@7.2.0: dependencies: - debug: 4.3.4(supports-color@9.2.1) - eslint: 8.5.0 - eslint-scope: 6.0.0 - eslint-visitor-keys: 3.1.0 - espree: 9.2.0 - esquery: 1.4.0 - lodash: 4.17.21 - semver: 7.3.5 - transitivePeerDependencies: - - supports-color - dev: true + has-flag: 4.0.0 - /vue-resize@2.0.0-alpha.1(vue@3.2.33): - resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} - peerDependencies: - vue: ^3.0.0 + supports-color@8.1.1: dependencies: - vue: 3.2.33 - dev: false + has-flag: 4.0.0 - /vue-router@4.0.14(vue@3.2.33): - resolution: {integrity: sha512-wAO6zF9zxA3u+7AkMPqw9LjoUCjSxfFvINQj3E/DceTt6uEz1XZLraDhdg2EYmvVwTBSGlLYsUw8bDmx0754Mw==} - peerDependencies: - vue: ^3.2.0 + supports-preserve-symlinks-flag@1.0.0: {} + + synckit@0.6.2: dependencies: - '@vue/devtools-api': 6.1.3 - vue: 3.2.33 - dev: false + tslib: 2.8.1 - /vue-tsc@0.30.6(typescript@4.5.4): - resolution: {integrity: sha512-p+lemuubzFgwr1Az3pqQ70uvWraf36qTrKkC6C7anv5S1G3aPerc4eY5Rjz3eVDOkK94E+KeBHevvpZbmVwvHA==} - hasBin: true - peerDependencies: - typescript: '*' + synckit@0.9.2: dependencies: - '@volar/shared': 0.30.6 - typescript: 4.5.4 - vscode-vue-languageservice: 0.30.6 - dev: true + '@pkgr/core': 0.1.1 + tslib: 2.8.1 - /vue3-perfect-scrollbar@1.6.0: - resolution: {integrity: sha512-bH8rk8a5gH0lh/1YGdQCfSpQtrUcBBQ2bAWCt3I1zZYlNDCm3lL/SWzhzv+aN/OjMSqYrslkm1O/ml8jTUZpTg==} + tailwindcss@3.4.17: dependencies: - cssnano: 4.1.11 - perfect-scrollbar: 1.5.5 - postcss-import: 12.0.1 - dev: false + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.3 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.5.1 + postcss-import: 15.1.0(postcss@8.5.1) + postcss-js: 4.0.1(postcss@8.5.1) + postcss-load-config: 4.0.2(postcss@8.5.1) + postcss-nested: 6.2.0(postcss@8.5.1) + postcss-selector-parser: 6.1.2 + resolve: 1.22.10 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node - /vue@2.6.14: - resolution: {integrity: sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==} - dev: true + tapable@2.2.1: {} - /vue@3.2.33: - resolution: {integrity: sha512-si1ExAlDUrLSIg/V7D/GgA4twJwfsfgG+t9w10z38HhL/HA07132pUQ2KuwAo8qbCyMJ9e6OqrmWrOCr+jW7ZQ==} + tar-fs@2.1.2: dependencies: - '@vue/compiler-dom': 3.2.33 - '@vue/compiler-sfc': 3.2.33 - '@vue/runtime-dom': 3.2.33 - '@vue/server-renderer': 3.2.33(vue@3.2.33) - '@vue/shared': 3.2.33 + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.2 + tar-stream: 2.2.0 - /watch@1.0.2: - resolution: {integrity: sha1-NApxe952Vyb6CqB9ch4BR6VR3ww=} - engines: {node: '>=0.1.95'} - hasBin: true + tar-stream@2.2.0: dependencies: - exec-sh: 0.2.2 - minimist: 1.2.5 - dev: true + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 - /watchpack@2.3.1: - resolution: {integrity: sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==} - engines: {node: '>=10.13.0'} + tar@6.2.1: dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 - dev: true + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 - /wcwidth@1.0.1: - resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=} + temp-file@3.4.0: dependencies: - defaults: 1.0.3 - dev: true - - /webidl-conversions@3.0.1: - resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=} - dev: true + async-exit-hook: 2.0.1 + fs-extra: 10.1.0 - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: true + text-extensions@2.4.0: {} - /webpack-virtual-modules@0.4.3: - resolution: {integrity: sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==} - dev: true + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 - /webpack@5.70.0: - resolution: {integrity: sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true + thenify@3.3.1: dependencies: - '@types/eslint-scope': 3.7.3 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.7.0 - acorn-import-assertions: 1.8.0(acorn@8.7.0) - browserslist: 4.20.2 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.9.2 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.9 - json-parse-better-errors: 1.0.2 - loader-runner: 4.2.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.1(webpack@5.70.0) - watchpack: 2.3.1 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: true + any-promise: 1.3.0 - /whatwg-url@5.0.0: - resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=} + through@2.3.8: {} + + tiny-conventional-commits-parser@0.0.1: {} + + tinyexec@0.3.2: {} + + tinyglobby@0.2.10: dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: true + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + tmp-promise@3.0.3: dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.6 - is-string: 1.0.7 - is-symbol: 1.0.4 + tmp: 0.2.3 - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true + tmp@0.2.3: {} + + to-regex-range@5.0.1: dependencies: - isexe: 2.0.0 - dev: true + is-number: 7.0.0 - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + toml-eslint-parser@0.10.0: dependencies: - isexe: 2.0.0 + eslint-visitor-keys: 3.4.3 - /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} + touch@3.1.1: {} + + tree-kill@1.2.2: {} + + truncate-utf8-bytes@1.0.2: dependencies: - string-width: 4.2.3 + utf8-byte-length: 1.0.5 - /with@7.0.2: - resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} - engines: {node: '>= 10.0.0'} + ts-api-utils@2.0.1(typescript@5.7.3): dependencies: - '@babel/parser': 7.17.9 - '@babel/types': 7.17.0 - assert-never: 1.2.1 - babel-walk: 3.0.0-canary-5 - dev: true + typescript: 5.7.3 - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true + ts-interface-checker@0.1.13: {} - /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true + tslib@2.8.1: {} - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + tunnel-agent@0.6.0: dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true + safe-buffer: 5.2.1 - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + type-check@0.4.0: dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 + prelude-ls: 1.2.1 - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + type-fest@0.13.1: + optional: true + + type-fest@0.20.2: {} + + type-fest@0.6.0: {} + + type-fest@0.8.1: {} + + type-fest@2.19.0: {} + + typescript@5.7.3: {} + + ufo@1.5.4: {} + + undefsafe@2.0.5: {} + + undici-types@6.19.8: {} + + undici-types@6.20.0: {} + + unicorn-magic@0.1.0: {} - /write-file-atomic@2.4.3: - resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} + unique-filename@2.0.1: dependencies: - graceful-fs: 4.2.10 - imurmurhash: 0.1.4 - signal-exit: 3.0.6 - dev: true + unique-slug: 3.0.0 - /write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + unique-slug@3.0.0: dependencies: imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.6 - typedarray-to-buffer: 3.1.5 - /ws@7.5.7: - resolution: {integrity: sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 - /ws@8.2.3(utf-8-validate@5.0.9): - resolution: {integrity: sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true + unist-util-stringify-position@4.0.0: dependencies: - utf-8-validate: 5.0.9 - dev: true + '@types/unist': 3.0.3 - /xdg-basedir@4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 - /xml2js@0.4.23: - resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} - engines: {node: '>=4.0.0'} + unist-util-visit@5.0.0: dependencies: - sax: 1.2.4 - xmlbuilder: 11.0.1 - dev: true + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 - /xmlbuilder@11.0.1: - resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} - engines: {node: '>=4.0'} - dev: true + universalify@0.1.2: {} - /xmlbuilder@15.1.1: - resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} - engines: {node: '>=8.0'} - requiresBuild: true - dev: true - optional: true + universalify@2.0.1: {} - /xmlbuilder@9.0.7: - resolution: {integrity: sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==} - engines: {node: '>=4.0'} - dev: true + unixify@1.0.0: + dependencies: + normalize-path: 2.1.1 - /xmlhttprequest-ssl@2.0.0: - resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} - engines: {node: '>=0.4.0'} - dev: true + update-browserslist-db@1.1.2(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 - /xss@1.0.11: - resolution: {integrity: sha512-EimjrjThZeK2MO7WKR9mN5ZC1CSqivSl55wvUK5EtU6acf0rzEE1pN+9ZDrFXJ82BRp3JL38pPE6S4o/rpp1zQ==} - engines: {node: '>= 0.10.0'} - hasBin: true + uri-js@4.4.1: dependencies: - commander: 2.20.3 - cssfilter: 0.0.10 - dev: true + punycode: 2.3.1 - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true + utf8-byte-length@1.0.5: {} - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + util-deprecate@1.0.2: {} - /yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + verror@1.10.1: + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.4.1 + optional: true - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0): + dependencies: + esbuild: 0.24.2 + postcss: 8.5.1 + rollup: 4.34.4 + optionalDependencies: + '@types/node': 22.13.1 + fsevents: 2.3.3 + jiti: 2.4.2 + yaml: 2.7.0 + + vue-eslint-parser@9.4.3(eslint@9.19.0(jiti@2.4.2)): + dependencies: + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.19.0(jiti@2.4.2) + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + lodash: 4.17.21 + semver: 7.7.1 + transitivePeerDependencies: + - supports-color - /yaml-front-matter@3.4.1: - resolution: {integrity: sha1-5S6E/qaYO5N1XpsVZNupibAGtaU=} - hasBin: true + vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)): dependencies: - commander: 1.0.0 - js-yaml: 3.14.1 - dev: true + '@vue/devtools-api': 6.6.4 + vue: 3.5.13(typescript@5.7.3) - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - dev: true + vue@3.5.13(typescript@5.7.3): + dependencies: + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-sfc': 3.5.13 + '@vue/runtime-dom': 3.5.13 + '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.7.3)) + '@vue/shared': 3.5.13 + optionalDependencies: + typescript: 5.7.3 - /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - dev: true + watchboy@0.4.3: + dependencies: + lodash.difference: 4.5.0 + micromatch: 4.0.8 + pify: 4.0.1 + unixify: 1.0.0 - /yargs-parser@21.0.0: - resolution: {integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==} - engines: {node: '>=12'} + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 - /yargs-parser@21.0.1: - resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} - engines: {node: '>=12'} - dev: true + which@2.0.2: + dependencies: + isexe: 2.0.0 - /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + wide-align@1.1.5: dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.9 - dev: true - /yargs@17.3.1: - resolution: {integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==} - engines: {node: '>=12'} + word-wrap@1.2.5: {} + + wrap-ansi@7.0.0: dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 + ansi-styles: 4.3.0 string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.0.0 + strip-ansi: 6.0.1 - /yargs@17.5.1: - resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrap-ansi@9.0.0: dependencies: - cliui: 7.0.4 - escalade: 3.1.1 + ansi-styles: 6.2.1 + string-width: 7.2.0 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + xml-name-validator@4.0.0: {} + + xmlbuilder@15.1.1: {} + + y18n@5.0.8: {} + + yallist@4.0.0: {} + + yaml-eslint-parser@1.2.3: + dependencies: + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.7.0 + + yaml@2.7.0: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 21.0.1 - dev: true + yargs-parser: 21.1.1 - /yauzl@2.10.0: - resolution: {integrity: sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=} + yauzl@2.10.0: dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - dev: true - /yeast@0.1.2: - resolution: {integrity: sha1-AI4G2AlDIMNy28L47XagymyKxBk=} - dev: true + yocto-queue@0.1.0: {} - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@1.1.1: {} - /zen-observable-ts@0.8.21: - resolution: {integrity: sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==} + zip-stream@4.1.1: dependencies: - tslib: 1.14.1 - zen-observable: 0.8.15 - dev: true + archiver-utils: 3.0.4 + compress-commons: 4.1.2 + readable-stream: 3.6.2 - /zen-observable@0.8.15: - resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} - dev: true + zwitch@2.0.4: {} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 00000000..33ad091d --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/preview.png b/preview.png deleted file mode 100644 index a31274729cd8da32b943fa5a537f8cd7223ee011..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134264 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 z 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

    bHpx7r{8 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 H|3d!{e~CH# diff --git a/scripts/build-electron.ts b/scripts/build-electron.ts deleted file mode 100644 index 966c7e7c..00000000 --- a/scripts/build-electron.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { build } from 'electron-builder' -import config from '../config/electron-builder' - -export default function () { - return build({ config }) -} diff --git a/scripts/build-vue.ts b/scripts/build-vue.ts deleted file mode 100644 index 33442fd4..00000000 --- a/scripts/build-vue.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { build } from 'vite' -import config from '../config/vite' - -export default function () { - return build({ - base: './', - ...config, - mode: 'production' - }) -} diff --git a/scripts/build.ts b/scripts/build.ts deleted file mode 100644 index 87389246..00000000 --- a/scripts/build.ts +++ /dev/null @@ -1,24 +0,0 @@ -import buildVue from './build-vue' -import buildElectron from './build-electron' -import chalk from 'chalk' - -const isTestBuild = process.env.TEST_BUILD === 'true' - -process.env.NODE_ENV = 'production' - -const buildType = isTestBuild ? 'Test' : 'Production' - -async function build () { - console.log() - console.log(`${chalk.blueBright(`${buildType} build started...`)}`) - console.log() - - await buildVue() - await buildElectron() - - console.log() - console.log(`${chalk.greenBright(`${buildType} build success!`)}`) - console.log() -} - -build() diff --git a/scripts/dev-server.ts b/scripts/dev-server.ts deleted file mode 100644 index 03a08d3e..00000000 --- a/scripts/dev-server.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { spawn } from 'child_process' -import type { ChildProcess } from 'child_process' -import path from 'path' -import chalk from 'chalk' -import chokidar from 'chokidar' -import { createServer } from 'vite' -import viteConfig from '../config/vite' - -process.env.NODE_ENV = 'development' - -let electronProcess: ChildProcess | null -let rendererPort: number | undefined = 0 - -async function startRenderer () { - const server = await createServer({ - ...viteConfig, - mode: 'development' - }) - - return await server.listen() -} - -function startElectron () { - if (electronProcess) return - - electronProcess = spawn('electron', ['.', (rendererPort || 0).toString()], { - shell: true - }) - - electronProcess?.stdout?.on('data', data => { - console.log(chalk.blueBright('[Electron] ') + chalk.white(data.toString())) - }) - - electronProcess?.stderr?.on('data', data => { - console.log(chalk.redBright('[Electron] ') + chalk.white(data.toString())) - }) - - electronProcess?.on('error', error => { - console.log(chalk.redBright('[Electron] ', error)) - }) -} - -function restartElectron () { - if (electronProcess) { - electronProcess.kill() - electronProcess = null - } - - startElectron() -} - -async function start () { - console.log() - console.log(`${chalk.blueBright('Starting Electron + Vite Dev Server...')}`) - console.log() - - const devServer = await startRenderer() - rendererPort = devServer.config.server.port - - startElectron() - - chokidar - .watch(path.resolve(__dirname, '../src/main'), { - ignored: ['renderer'] - }) - .on('change', () => { - restartElectron() - }) -} - -start() diff --git a/scripts/generate-language-readme.ts b/scripts/generate-language-readme.ts deleted file mode 100644 index c7574012..00000000 --- a/scripts/generate-language-readme.ts +++ /dev/null @@ -1,28 +0,0 @@ -import fs from 'fs-extra' -import { join } from 'path' -import Handlebars from 'handlebars' -import { languages } from '../src/renderer/components/editor/languages' - -const sorted = languages.sort((a, b) => - a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1 -) - -const source = `# Languages list - -This is a list of language that supports in massCode. - -{{#each sorted}} -- {{this.name}} -{{/each}} -` - -const template = Handlebars.compile(source) -const result = template({ sorted }) - -fs.writeFile( - join(__dirname, '../../src/renderer/components/editor/README.md'), - result, - { encoding: 'utf-8' } -) - -console.log(`Total languages: ${languages.length}`) diff --git a/scripts/notarize.ts b/scripts/notarize.ts deleted file mode 100644 index 8ec478dc..00000000 --- a/scripts/notarize.ts +++ /dev/null @@ -1,22 +0,0 @@ -import 'dotenv/config' -import { notarize } from 'electron-notarize' -import type { AfterPackContext } from 'electron-builder' - -const notarizing = async (context: AfterPackContext) => { - const { electronPlatformName, appOutDir } = context - - if (electronPlatformName !== 'darwin') { - return - } - - const appName = context.packager.appInfo.productFilename - - return await notarize({ - appBundleId: 'io.masscode.app', - appPath: `${appOutDir}/${appName}.app`, - appleId: process.env.APPLE_ID!, - appleIdPassword: process.env.APPLE_ID_PASSWORD! - }) -} - -export default notarizing diff --git a/src/main/components/menu.ts b/src/main/components/menu.ts deleted file mode 100644 index 8d5a95dc..00000000 --- a/src/main/components/menu.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { MenuItemConstructorOptions } from 'electron' -import { Menu, BrowserWindow } from 'electron' - -export const createMenu = (template: MenuItemConstructorOptions[]) => { - const menu = Menu.buildFromTemplate(template) - return menu -} diff --git a/src/main/config.ts b/src/main/config.ts deleted file mode 100644 index 99a05bed..00000000 --- a/src/main/config.ts +++ /dev/null @@ -1 +0,0 @@ -export const API_PORT = 3033 diff --git a/src/main/db/index.ts b/src/main/db/index.ts new file mode 100644 index 00000000..4dce6345 --- /dev/null +++ b/src/main/db/index.ts @@ -0,0 +1,31 @@ +import path from 'node:path' +import Database from 'better-sqlite3' +import { app } from 'electron' + +export function initDB() { + try { + const dbPath = path.join(app.getPath('userData'), 'app-data.db') + + // eslint-disable-next-line no-console + const db = new Database(dbPath, { verbose: console.log }) + + db.pragma('journal_mode = WAL') + + db.transaction(() => { + db.prepare( + ` + CREATE TABLE IF NOT EXISTS settings ( + key TEXT PRIMARY KEY, + value TEXT + ) + `, + ).run() + })() + + return db + } + catch (error) { + console.error('Database initialization failed:', error) + throw error + } +} diff --git a/src/main/index.ts b/src/main/index.ts index be912e32..f129704c 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1,130 +1,101 @@ -import { app, BrowserWindow, ipcMain, Menu, shell } from 'electron' -import path from 'path' -import os from 'os' +/* eslint-disable node/prefer-global/process */ +import type Database from 'better-sqlite3' +import type { DBQueryArgs } from './types' +import os from 'node:os' +import path from 'node:path' +import { app, BrowserWindow, ipcMain } from 'electron' +import { initDB } from './db' import { store } from './store' -import { ApiServer } from './services/api/server' -import { createDb } from './services/db' -import { debounce } from 'lodash' -import { subscribeToChannels } from './services/ipc' -import { mainMenu } from './menu/main' -import { subscribeToDialog } from './services/ipc/dialog' -import { checkForUpdateWithInterval } from './services/update-check' -const isDev = process.env.NODE_ENV === 'development' -const isMac = process.platform === 'darwin' -const gotTheLock = app.requestSingleInstanceLock() - -let mainWindow: BrowserWindow +let db: Database.Database -createDb() -const apiServer = new ApiServer() +process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = 'true' // Отключаем security warnings -subscribeToChannels() -subscribeToDialog() +const isDev = process.env.NODE_ENV === 'development' -if (!gotTheLock) { - // @ts-ignore - return app.quit() -} +let mainWindow: BrowserWindow +let isQuitting = false -function createWindow () { +function createWindow() { const bounds = store.app.get('bounds') mainWindow = new BrowserWindow({ - width: 1000, - height: 600, + width: 1200, + height: 800, ...bounds, - titleBarStyle: isMac ? 'hidden' : 'default', + titleBarStyle: 'hidden', webPreferences: { - preload: path.resolve(__dirname, 'preload.js'), - nodeIntegration: true, - contextIsolation: true, - webSecurity: false - } + preload: path.join(__dirname, 'preload.js'), + }, }) - Menu.setApplicationMenu(mainMenu) - if (isDev) { - const rendererPort = process.argv[2] - mainWindow.loadURL(`http://localhost:${rendererPort}`) + mainWindow.loadURL('http://localhost:5173') mainWindow.webContents.openDevTools() - } else { - mainWindow.loadFile(path.resolve(app.getAppPath(), 'renderer/index.html')) } - - mainWindow.on('resize', () => storeBounds(mainWindow)) - mainWindow.on('move', () => storeBounds(mainWindow)) - - checkForUpdateWithInterval() -} - -const storeBounds = debounce((mainWindow: BrowserWindow) => { - store.app.set('bounds', mainWindow.getBounds()) -}, 300) - -if (process.defaultApp) { - if (process.argv.length >= 2) { - app.setAsDefaultProtocolClient('masscode', process.execPath, [ - path.resolve(process.argv[1]) - ]) + else { + mainWindow.loadFile( + path.join(__dirname, '../../build/renderer/index.html'), + ) } -} else { - app.setAsDefaultProtocolClient('masscode') -} -app.whenReady().then(async () => { - createWindow() + mainWindow.on('close', (event) => { + store.app.set('bounds', mainWindow.getBounds()) - app.on('activate', function () { - // On macOS it's common to re-create a window in the app when the - // dock icon is clicked and there are no other windows open. - if (BrowserWindow.getAllWindows().length === 0) { - createWindow() + if (!isQuitting) { + event.preventDefault() + mainWindow.hide() + } + else { + mainWindow.destroy() } }) -}) - -app.on('window-all-closed', function () { - if (process.platform !== 'darwin') app.quit() -}) - -app.on('browser-window-focus', () => { - BrowserWindow.getFocusedWindow()?.webContents.send('main:focus') -}) +} -app.on('second-instance', (e, argv) => { - if (mainWindow) { - if (mainWindow.isMinimized()) mainWindow.restore() - mainWindow.focus() - } +app.whenReady().then(() => { + createWindow() - if (process.platform !== 'darwin') { - const url = argv.find(i => i.startsWith('masscode://')) - BrowserWindow.getFocusedWindow()?.webContents.send('main:app-protocol', url) - } + db = initDB() + const stmt = db.prepare('INSERT INTO settings (key, value) VALUES (?, ?)') + stmt.run('theme', 'light') }) -app.on('open-url', (event, url) => { - BrowserWindow.getFocusedWindow()?.webContents.send('main:app-protocol', url) +app.on('activate', () => { + mainWindow.show() }) -ipcMain.handle('main:restart-api', () => { - apiServer.restart() +app.on('before-quit', () => { + isQuitting = true }) -ipcMain.handle('main:restart', () => { - app.relaunch() - app.quit() +app.on('window-all-closed', () => { + if (process.platform !== 'darwin') + app.quit() }) -ipcMain.handle('main:open-url', (event, payload) => { - shell.openExternal(payload as string) +ipcMain.on('message', (event, message) => { + // eslint-disable-next-line no-console + console.log(message) }) -ipcMain.on('request-info', event => { +ipcMain.on('request-info', (event) => { event.sender.send('request-info', { version: app.getVersion(), arch: os.arch(), - platform: process.platform + platform: process.platform, }) }) + +ipcMain.handle('db-query', async (event, args: DBQueryArgs) => { + const { sql, params = [] } = args + const stmt = db.prepare(sql) + + if (/^(?:INSERT|UPDATE|DELETE)/i.test(sql)) { + return stmt.run(params) + } + + if (/^SELECT/i.test(sql)) { + return stmt.all(params) + } + + throw new Error('Unsupported query type') +}) diff --git a/src/main/menu/main.ts b/src/main/menu/main.ts deleted file mode 100644 index aba1b3a7..00000000 --- a/src/main/menu/main.ts +++ /dev/null @@ -1,557 +0,0 @@ -import { createMenu } from '../components/menu' -import type { MenuItemConstructorOptions } from 'electron' -import { shell, dialog, BrowserWindow } from 'electron' -import { version } from '../../../package.json' -import os from 'os' -import { checkForUpdate } from '../services/update-check' -import { store } from '../store' -import i18n from '../services/i18n' - -const isDev = process.env.NODE_ENV === 'development' -const isMac = process.platform === 'darwin' -const year = new Date().getFullYear() - -const aboutApp = () => { - dialog.showMessageBox(BrowserWindow.getFocusedWindow()!, { - title: 'massCode', - message: 'massCode', - type: 'info', - detail: ` - Version: ${version} - Electron: ${process.versions.electron} - Chrome: ${process.versions.chrome} - Node.js: ${process.versions.node} - V8: ${process.versions.v8} - OS: ${os.type()} ${os.arch()} ${os.release()} - ©2019-${year} Anton Reshetov - ` - }) -} - -const appMenuCommon: Record< -'preferences' | 'quit' | 'update' | 'devtools', -MenuItemConstructorOptions -> = { - preferences: { - label: i18n.t('menu:app.preferences'), - accelerator: 'CommandOrControl+,', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:preferences' - ) - } - }, - devtools: { - label: i18n.t('menu:devtools.label') + '...', - accelerator: 'CommandOrControl+.', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send('main-menu:devtools') - } - }, - update: { - label: i18n.t('menu:app.update.label'), - click: async () => { - const newVersion = await checkForUpdate() - - if (newVersion) { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message: i18n.t('menu:app.update.message', { - newVersion, - oldVersion: version - }), - buttons: [ - i18n.t('menu:app.update.button.0'), - i18n.t('menu:app.update.button.1') - ], - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - shell.openExternal('https://masscode.io/download/latest-release.html') - } - } else { - dialog.showMessageBoxSync(BrowserWindow.getFocusedWindow()!, { - message: i18n.t('menu:app.update.noUpdate') - }) - } - } - }, - quit: { - label: i18n.t('menu:app.quit'), - role: 'quit' - } -} - -const appMenuMac: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:app.about'), - click: () => aboutApp() - }, - { - ...appMenuCommon.update - }, - { - type: 'separator' - }, - { - ...appMenuCommon.preferences - }, - { - type: 'separator' - }, - { - ...appMenuCommon.devtools - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:app.hide'), - role: 'hide' - }, - { - label: i18n.t('menu:app.hideOther'), - role: 'hideOthers' - }, - { - label: i18n.t('menu:app.showAll'), - role: 'unhide' - }, - { - type: 'separator' - }, - { - ...appMenuCommon.quit - } -] - -const appMenu: MenuItemConstructorOptions[] = [ - { ...appMenuCommon.update }, - { type: 'separator' }, - { ...appMenuCommon.preferences }, - { ...appMenuCommon.devtools }, - { type: 'separator' }, - { ...appMenuCommon.quit } -] - -const helpMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:app.about'), - click: () => aboutApp() - }, - { - label: i18n.t('menu:help.website'), - click: () => { - shell.openExternal('https://masscode.io') - } - }, - { - label: i18n.t('menu:help.documentation'), - click: () => { - shell.openExternal('https://masscode.io/documentation') - } - }, - { - label: i18n.t('menu:help.twitter'), - click: () => { - shell.openExternal('https://twitter.com/anton_reshetov') - } - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:help.viewInGitHub'), - click: () => { - shell.openExternal('https://github.com/massCodeIO/massCode') - } - }, - { - label: i18n.t('menu:help.changeLog'), - click: () => { - shell.openExternal( - 'https://github.com/massCodeIO/massCode/blob/master/CHANGELOG.md' - ) - } - }, - { - label: i18n.t('menu:help.reportIssue'), - click: () => { - shell.openExternal( - 'https://github.com/massCodeIO/massCode/issues/new/choose' - ) - } - }, - { - label: i18n.t('menu:help.giveStar'), - click: () => { - shell.openExternal('https://github.com/massCodeIO/massCode/stargazers') - } - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:help.extension.vscode'), - click: () => { - shell.openExternal( - 'https://marketplace.visualstudio.com/items?itemName=AntonReshetov.masscode-assistant' - ) - } - }, - { - label: i18n.t('menu:help.extension.raycast'), - click: () => { - shell.openExternal('https://www.raycast.com/antonreshetov/masscode') - } - }, - { - label: i18n.t('menu:help.extension.alfred'), - click: () => { - shell.openExternal('https://github.com/massCodeIO/assistant-alfred') - } - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:help.links.snippets'), - click: () => { - shell.openExternal('https://masscode.io/snippets') - } - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:help.donate.openCollective'), - click: () => { - shell.openExternal('https://opencollective.com/masscode') - } - }, - { - label: i18n.t('menu:help.donate.gumroad'), - click: () => { - shell.openExternal('https://antonreshetov.gumroad.com/l/masscode') - } - }, - { - label: i18n.t('menu:help.donate.payPal'), - click: () => { - shell.openExternal('https://www.paypal.com/paypalme/antongithub') - } - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:help.devTools'), - role: 'toggleDevTools' - } -] - -if (isDev) { - helpMenu.push({ - label: 'Reload', - role: 'reload' - }) -} - -const fileMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('newSnippet'), - accelerator: 'CommandOrControl+N', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:new-snippet' - ) - } - }, - { - label: i18n.t('newFragment'), - accelerator: 'CommandOrControl+T', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:new-fragment' - ) - } - }, - { - label: i18n.t('addDescription'), - accelerator: 'CommandOrControl+Shift+T', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:add-description' - ) - } - }, - { - type: 'separator' - }, - { - label: i18n.t('newFolder'), - accelerator: 'CommandOrControl+Shift+N', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send('main-menu:new-folder') - } - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:file.find'), - accelerator: 'CommandOrControl+F', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send('main-menu:search') - } - } -] - -const viewMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:view.sortBy.label'), - submenu: [ - { - label: i18n.t('menu:view.sortBy.dateModified'), - type: 'radio', - checked: store.app.get('sort') === 'updatedAt', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:sort-snippets', - 'updatedAt' - ) - } - }, - { - label: i18n.t('menu:view.sortBy.dateCreated'), - type: 'radio', - checked: store.app.get('sort') === 'createdAt', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:sort-snippets', - 'createdAt' - ) - } - }, - { - label: i18n.t('menu:view.sortBy.name'), - type: 'radio', - checked: store.app.get('sort') === 'name', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:sort-snippets', - 'name' - ) - } - } - ] - }, - { - label: i18n.t('menu:view.hideSubfolderSnippets'), - type: 'checkbox', - checked: store.app.get('hideSubfolderSnippets'), - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:hide-subfolder-snippets' - ) - } - }, - { - label: i18n.t('menu:view.compactMode'), - type: 'checkbox', - checked: store.app.get('compactMode'), - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:compact-mode-snippets' - ) - } - } -] - -const editorMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:editor.copy'), - accelerator: 'Shift+CommandOrControl+C', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:copy-snippet' - ) - } - }, - { - label: i18n.t('menu:editor.format'), - accelerator: 'Shift+CommandOrControl+F', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:format-snippet' - ) - } - }, - { - label: i18n.t('menu:editor.previewCode'), - accelerator: 'Shift+CommandOrControl+P', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:preview-code' - ) - } - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:editor.fontSizeIncrease'), - accelerator: 'CommandOrControl+=', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:font-size-increase' - ) - } - }, - { - label: i18n.t('menu:editor.fontSizeDecrease'), - accelerator: 'CommandOrControl+-', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:font-size-decrease' - ) - } - }, - { - label: i18n.t('menu:editor.fontSizeReset'), - accelerator: 'CommandOrControl+0', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:font-size-reset' - ) - } - } -] - -const markdownMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:markdown.preview'), - accelerator: 'Shift+CommandOrControl+M', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:preview-markdown' - ) - } - }, - { - label: i18n.t('menu:editor.previewMindmap'), - accelerator: 'Shift+CommandOrControl+I', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:preview-mindmap' - ) - } - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:markdown.presentationMode'), - accelerator: 'Alt+CommandOrControl+P', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:presentation-mode' - ) - } - } -] - -const editMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:edit.undo'), - role: 'undo' - }, - { - label: i18n.t('menu:edit.redo'), - role: 'redo' - }, - { type: 'separator' }, - { - label: i18n.t('menu:edit.cut'), - role: 'cut' - }, - { - label: i18n.t('menu:edit.copy'), - role: 'copy' - }, - { - label: i18n.t('menu:edit.paste'), - role: 'paste' - }, - { - label: i18n.t('menu:edit.delete'), - role: 'delete' - }, - { type: 'separator' }, - { - label: i18n.t('menu:edit.selectAll'), - role: 'selectAll' - } -] - -const historyMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:history.back'), - accelerator: 'CommandOrControl+[', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:history-back' - ) - } - }, - { - label: i18n.t('menu:history.forward'), - accelerator: 'CommandOrControl+]', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:history-forward' - ) - } - } -] - -const menuItems: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:app.label'), - submenu: isMac ? appMenuMac : appMenu - }, - { - label: i18n.t('menu:file.label'), - submenu: fileMenu - }, - { - label: i18n.t('menu:view.label'), - submenu: viewMenu - }, - { - label: i18n.t('menu:edit.label'), - submenu: editMenu - }, - { - label: i18n.t('menu:editor.label'), - submenu: editorMenu - }, - { - label: i18n.t('menu:markdown.label'), - submenu: markdownMenu - }, - { - label: i18n.t('menu:history.label'), - submenu: historyMenu - }, - { - label: i18n.t('menu:help.label'), - submenu: helpMenu - } -] - -export const mainMenu = createMenu(menuItems) diff --git a/src/main/preload.ts b/src/main/preload.ts index bf2230e2..54152017 100644 --- a/src/main/preload.ts +++ b/src/main/preload.ts @@ -1,45 +1,22 @@ +import type { EventCallback } from './types' import { contextBridge, ipcRenderer } from 'electron' -import { - isDbExist, - migrate, - migrateFromSnippetsLab, - move, - createDb -} from './services/db' -import { store } from './store' -import type { ElectronBridge } from '@shared/types/main' -import { platform } from 'os' -import i18n from './services/i18n' -import { version } from '../../package.json' contextBridge.exposeInMainWorld('electron', { ipc: { - invoke: (channel, payload) => ipcRenderer.invoke(channel, payload), - on: (channel, cb) => ipcRenderer.on(channel, cb), - once: (channel, cb) => ipcRenderer.once(channel, cb) - }, - store: { - app: { - get: name => store.app.get(name), - set: (name, value) => store.app.set(name, value), - delete: name => store.app.delete(name) + on: (channel: string, cb: EventCallback) => ipcRenderer.on(channel, cb), + send: (channel: string, data: any, cb: EventCallback) => { + ipcRenderer.send(channel, data) + if (cb && typeof cb === 'function') { + ipcRenderer.on(channel, cb) + } }, - preferences: { - get: name => store.preferences.get(name), - set: (name, value) => store.preferences.set(name, value), - delete: name => store.preferences.delete(name) - } + removeListener: (channel: string, cb: EventCallback) => + ipcRenderer.removeListener(channel, cb), + removeListeners: (channel: string) => + ipcRenderer.removeAllListeners(channel), }, db: { - create: () => createDb(), - migrate: path => migrate(path), - migrateFromSnippetsLab: path => migrateFromSnippetsLab(path), - move: (from, to) => move(from, to), - isExist: path => isDbExist(path) - }, - i18n: { - t: (key, options) => i18n.t(key, options) + query: (sql: string, params: any[] = []) => + ipcRenderer.invoke('db-query', { sql, params }), }, - platform: () => platform(), - version -} as ElectronBridge) +}) diff --git a/src/main/services/api/server.ts b/src/main/services/api/server.ts deleted file mode 100644 index 493c6fbd..00000000 --- a/src/main/services/api/server.ts +++ /dev/null @@ -1,166 +0,0 @@ -import * as jsonServer from '@masscode/json-server' -import { store } from '../../store' -import { nanoid } from 'nanoid' -import { API_PORT } from '../../config' -import path from 'path' -import type { DB, Folder, Snippet, Tag } from '@shared/types/main/db' -import type { Server } from 'http' -import type { Socket } from 'net' -import { remove } from 'lodash' -import type { SnippetWithFolder } from '@shared/types/renderer/store/snippets' -import { BrowserWindow } from 'electron' - -interface ServerWithDestroy extends Server { - destroy: Function -} - -export class ApiServer { - server: ServerWithDestroy - connections: Record = {} - - constructor () { - this.server = this.create() - } - - create (): ServerWithDestroy { - const db = path.resolve(store.preferences.get('storagePath') + '/db.json') - const app = jsonServer.create() - const middlewares = jsonServer.defaults() - const router = jsonServer.router(db) - - app.use(jsonServer.bodyParser) - app.use(middlewares) - - app.post('/db/update/:table', (req, res) => { - const table = req.params.table as keyof DB - const isAllowedTable = ['folders', 'snippets', 'tags'].includes(table) - - if (!isAllowedTable) { - return res.status(400).send('Table is not defined in DB') - } - if (req.body.value?.length === 0) { - res.status(400).send("'value' is required") - } else { - const db = router.db.getState() - - db[table] = req.body.value - - router.db.setState(db) - router.db.write() - - res.sendStatus(200) - } - }) - - app.get('/snippets/embed-folder', (req, res) => { - const snippets = router.db - .get('snippets') - .cloneDeep() - .value() - - const result = snippets.map(i => { - const folder = router.db - .get('folders') - .find(f => f.id === i.folderId) - if (folder) i.folder = folder.value() - return i - }) - - res.status(200).send(result) - }) - - app.post('/snippets/delete', (req, res) => { - const ids: string[] = req.body.ids - const snippets = router.db.get('snippets').value() - - ids.forEach(i => { - const index = snippets.findIndex(s => s.id === i) - if (index !== -1) snippets.splice(index, 1) - }) - - router.db.write() - - res.sendStatus(200) - }) - - app.post('/snippets/create', (req, res) => { - const windows = BrowserWindow.getAllWindows() - windows[0].webContents.send('api:snippet-create', req.body) - - res.sendStatus(200) - }) - - app.delete('/tags/:id', (req, res) => { - const id = req.params.id - const tags = router.db.get('tags').value() - const snippets = router.db - .get('snippets') - .filter(i => i.tagsIds.includes(id)) - .value() - const index = tags.findIndex(i => i.id === id) - - snippets.forEach(i => { - remove(i.tagsIds, item => item === id) - }) - - tags.splice(index, 1) - router.db.write() - - res.sendStatus(200) - }) - - app.get('/tags/:id/snippets', (req, res) => { - const id = req.params.id - const _snippets = router.db.get('snippets').value() - const snippets = _snippets.filter(i => i.tagsIds.includes(id)) - - res.status(200).send(snippets) - }) - - app.use((req, res, next) => { - if (req.method === 'POST') { - req.body.id = nanoid(8) - req.body.createdAt = Date.now().valueOf() - req.body.updatedAt = Date.now().valueOf() - } - - if (req.method === 'PATCH' || req.method === 'PUT') { - req.body.updatedAt = Date.now().valueOf() - } - next() - }) - - app.use(router) - - const server = app.listen(API_PORT, () => { - console.log(`API server is running on port ${API_PORT}`) - }) as ServerWithDestroy - - server.on('connection', conn => { - const key = conn.remoteAddress + ':' + conn.remotePort - this.connections[key] = conn - conn.on('close', () => { - delete this.connections[key] - }) - }) - - server.destroy = () => { - server.close() - for (const key in this.connections) { - this.connections[key].destroy() - } - } - - // Почему то на windows API сервер падает, не смотря на то, - // что порт API свободен, поэтому просто обрабатываем ошибку - server.on('error', err => console.error(err)) - - return server - } - - restart () { - console.log('API server restart...') - this.server.destroy() - this.server = this.create() - } -} diff --git a/src/main/services/db/index.ts b/src/main/services/db/index.ts deleted file mode 100644 index 42bedfac..00000000 --- a/src/main/services/db/index.ts +++ /dev/null @@ -1,467 +0,0 @@ -import { store } from '../../store' -import fs from 'fs-extra' -import readline from 'readline' -import { nestedToFlat } from '../../utils' -import { nanoid } from 'nanoid' -import type { - DB, - Folder, - Snippet, - SnippetContent, - Tag -} from '@shared/types/main/db' -import { - oldLanguageMap, - languages -} from '../../../renderer/components/editor/languages' -import { snakeCase } from 'lodash' -import type { LanguageOption, Language } from '@shared/types/renderer/editor' - -const DB_NAME = 'db.json' - -const DEFAULT_FOLDER = { - id: nanoid(8), - name: 'Default', - defaultLanguage: 'typescript', - parentId: null, - isOpen: false, - isSystem: false, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() -} - -const getFileDb = () => { - return store.preferences.get('storagePath') + `/${DB_NAME}` -} - -export const createDb = () => { - const fileDb = getFileDb() - - if (fs.existsSync(fileDb)) { - return - } else { - fs.ensureFileSync(fileDb) - } - - const db = { - folders: [DEFAULT_FOLDER], - snippets: [], - tags: [] - } - - writeToFile(db) - - store.app.delete('selectedFolderId') - store.app.delete('selectedFolderIds') - - console.log('DB is created') -} - -const writeToFile = (db: object) => { - const fileDb = getFileDb() - const data = JSON.stringify(db, null, 2) - fs.writeFileSync(fileDb, data) -} - -export const move = async (from: string, to: string) => { - const src = `${from}/${DB_NAME}` - const dist = `${to}/${DB_NAME}` - - if (isDbExist(to)) { - throw Error( - 'Folder already contains db file. Please select another folder.' - ) - } - await fs.move(src, dist) -} - -export const isDbExist = (path: string) => { - const files = fs.readdirSync(path) - return files.some(i => i === DB_NAME) -} - -export const migrate = async (path: string) => { - const files = await fs.readdir(path) - const migrateFiles = ['masscode.db', 'snippets.db', 'tags.db'] - - const isFilesExist = migrateFiles - .reduce((acc: boolean[], item) => { - acc.push(files.includes(item)) - return acc - }, []) - .every(i => i === true) - - if (!isFilesExist) throw Error('DB files not exist in this folder') - - const convertDBFileToJSON = async (fileName: string): Promise => { - const readInterface = readline.createInterface({ - input: fs.createReadStream(`${path}/${fileName}.db`), - output: process.stdout - }) - const arr: string[] = [] - - return new Promise((resolve, reject) => { - readInterface.on('line', line => { - if (line) arr.push(JSON.parse(line)) - }) - - readInterface.on('close', () => { - resolve(arr) - }) - }) - } - - const masscodeJSON = await convertDBFileToJSON('masscode') - const masscodeJSONList = nestedToFlat(masscodeJSON[0].list) - const snippetsJSON = await convertDBFileToJSON('snippets') - const tagsJSON = await convertDBFileToJSON('tags') - - const folders: Folder[] = [] - const snippets: Snippet[] = [] - const tags: Tag[] = [] - - const folderIdsMap: any[] = [] - const tagIdsMap: any[] = [] - - masscodeJSONList.forEach( - ({ id, open, parentId, defaultLanguage, ...rest }) => { - const newId = nanoid(8) - - folders.push({ - id: newId, - isOpen: open, - parentId: parentId ?? null, - defaultLanguage: oldLanguageMap[defaultLanguage] || defaultLanguage, - ...rest, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() - }) - - folderIdsMap.push([id, newId]) - folderIdsMap.forEach(([oldId, newId]) => { - const item = folders.find(i => i.parentId === oldId) - if (item) item.parentId = newId - }) - } - ) - - tagsJSON.forEach(({ _id, ...rest }) => { - const newId = nanoid(8) - - tags.push({ - id: newId, - ...rest, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() - }) - - tagIdsMap.push([_id, newId]) - }) - - // eslint-disable-next-line @typescript-eslint/no-unused-vars - snippetsJSON.forEach( - ({ - _id, - folderId, - folder, - tags, - tagsPopulated, - createdAt, - updatedAt, - content, - ...rest - }) => { - const newId = nanoid(8) - const tagsIds: any[] = [] - const [, newFolderId] = - folderIdsMap.find(i => i.includes(folderId)) || [] - - tags.forEach((oldId: string) => { - const [, newId] = tagIdsMap.find(i => i.includes(oldId)) || [] - if (newId) tagsIds.push(newId) - }) - - content = content.map((i: any) => { - return { - ...i, - value: i.value || '', - language: oldLanguageMap[i.language] || i.language - } - }) - - snippets.push({ - id: newId, - folderId: newFolderId ?? null, - tagsIds, - content, - ...rest, - createdAt: createdAt.$$date, - updatedAt: updatedAt.$$date - }) - } - ) - - const db = { - folders, - snippets, - tags - } - writeToFile(db) - console.log('Migrate is done') -} - -export const migrateFromSnippetsLab = (path: string) => { - const file = fs.readFileSync(path, 'utf-8') - const json = JSON.parse(file) - - // с версии 2.1 - if (json.app !== undefined) { - migrateFromSnippetsLabNew(path) - } else { - migrateFromSnippetsLabOld(path) - } -} - -// Мигратор до версии 2.1 -export const migrateFromSnippetsLabOld = (path: string) => { - interface SLFragment { - Content: string - 'Date Created': string - 'Date Modified': string - Note: string - Title: string - Language: string - } - interface SLSnippet { - 'Date Created': string - 'Date Modified': string - Folder: string - Title: string - Fragments: SLFragment[] - Tags: string[] - } - - interface SnippetsLabDbJSON { - Snippets: SLSnippet[] - } - - const INBOX = 'Uncategorized' - - const file = fs.readFileSync(path, 'utf-8') - const json = JSON.parse(file) as SnippetsLabDbJSON - - const folders = new Set() - const tags = new Set() - - const db: DB = { - folders: [], - snippets: [], - tags: [] - } - - json.Snippets.forEach(i => { - if (i.Folder) folders.add(i.Folder) - - if (i.Tags.length) { - i.Tags.forEach(t => tags.add(t)) - } - }) - - folders.forEach(i => { - if (i === INBOX) return - db.folders.push({ - id: nanoid(8), - name: i, - defaultLanguage: 'plain_text', - parentId: null, - isOpen: false, - isSystem: false, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() - }) - }) - - tags.forEach(i => { - db.tags.push({ - id: nanoid(8), - name: i, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() - }) - }) - - json.Snippets.forEach(i => { - const folderId = db.folders.find(f => f.name === i.Folder)?.id || '' - const tagsIds: string[] = [] - - if (i.Tags.length) { - i.Tags.forEach(t => { - const id = db.tags.find(_t => _t.name === t)?.id - if (id) tagsIds.push(id) - }) - } - - const snippet: Snippet = { - id: nanoid(8), - name: i.Title, - content: [], - folderId, - tagsIds, - isDeleted: false, - isFavorites: false, - createdAt: new Date(i['Date Created']).valueOf(), - updatedAt: new Date(i['Date Modified']).valueOf() - } - - if (i.Fragments.length) { - i.Fragments.forEach(f => { - snippet.content.push({ - label: f.Title, - value: f.Content, - language: convertSLLanguage(f.Language, languages, 'old') - }) - }) - } - - db.snippets.push(snippet) - }) - - writeToFile(db) - console.log('Migrate is done') -} - -// Мигратор с версии 2.1 -export const migrateFromSnippetsLabNew = (path: string) => { - interface SLFragment { - content: string - dateCreated: string - dateModified: string - language: string - note: string - title: string - uuid: string - } - interface SLSnippet { - dateCreated: string - dateModified: string - folder: string - fragments: SLFragment[] - title: string - uuid: string - tags: string[] - } - interface SLFolder { - title: string - defaultLanguages: string - uuid: string - children: SLFolder[] - } - interface SLTag { - title: string - uuid: string - } - - interface SnippetsLabDbJSON { - contents: { - snippets: SLSnippet[] - tags: SLTag[] - folders: SLFolder[] - } - } - - const file = fs.readFileSync(path, 'utf-8') - const json = JSON.parse(file) as SnippetsLabDbJSON - - const db: DB = { - folders: [], - snippets: [], - tags: [] - } - - const createFolders = (folders: SLFolder[]) => { - const createFolder = (folder: SLFolder, parentId: string | null = null) => { - const _folder: Folder = { - id: folder.uuid, - name: folder.title, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf(), - isOpen: false, - isSystem: false, - defaultLanguage: 'plain_text', - parentId - } - - db.folders.push(_folder) - - return _folder.id - } - - const createFoldersFromChildren = (cf: SLFolder[], parenId: string) => { - if (!cf) return - - cf.forEach(c => { - const id = createFolder(c, parenId) - - if (c.children && c.children.length) { - createFoldersFromChildren(c.children, id) - } - }) - } - - folders.forEach(f => { - const id = createFolder(f) - createFoldersFromChildren(f.children, id) - }) - } - - createFolders(json.contents.folders) - - json.contents.tags.forEach(t => { - db.tags.push({ - id: t.uuid, - name: t.title, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() - }) - }) - - json.contents.snippets.forEach(s => { - const createContent = (fragments: SLFragment[]) => { - return fragments.map(f => { - return { - label: f.title, - value: f.content, - language: convertSLLanguage(f.language, languages) - } - }) - } - - db.snippets.push({ - id: s.uuid, - name: s.title, - createdAt: new Date(s.dateCreated).valueOf(), - updatedAt: new Date(s.dateModified).valueOf(), - folderId: s.folder ?? null, - isDeleted: false, - isFavorites: false, - content: createContent(s.fragments), - tagsIds: s.tags || [] - }) - }) - - writeToFile(db) - console.log('Migrate is done') -} - -const convertSLLanguage = ( - language: string, - languages: LanguageOption[], - version: 'new' | 'old' = 'new' -): Language => { - if (version === 'new') { - language = language.replace(/Lexer$/, '') - } - - const _language = snakeCase(language.toLowerCase()) - return languages.find(i => i.value === _language)?.value || 'plain_text' -} diff --git a/src/main/services/i18n/index.ts b/src/main/services/i18n/index.ts deleted file mode 100644 index 901c6bda..00000000 --- a/src/main/services/i18n/index.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { lstatSync, readdirSync } from 'fs' -import { join } from 'path' -import i18next from 'i18next' -import Backend from 'i18next-fs-backend' -import { store } from '../../store' -import { language } from './language' - -const lng = store.preferences.get('language') - -i18next.use(Backend).init({ - fallbackLng: 'en', - lng, - debug: false, - ns: ['common', 'dialog', 'preferences', 'special', 'menu', 'devtools'], - defaultNS: 'common', - initImmediate: false, - preload: readdirSync(join(__dirname, './locales')).filter(fileName => { - const joinedPath = join(join(__dirname, './locales'), fileName) - const isDirectory = lstatSync(joinedPath).isDirectory() - return isDirectory - }), - backend: { - loadPath: join(__dirname, './locales/{{lng}}/{{ns}}.json') - } -}) - -i18next.addResourceBundle(lng, 'language', language) - -export default i18next diff --git a/src/main/services/i18n/language.ts b/src/main/services/i18n/language.ts deleted file mode 100644 index 05e1e41a..00000000 --- a/src/main/services/i18n/language.ts +++ /dev/null @@ -1,19 +0,0 @@ -export const language = { - cs: 'Čeština', - de_DE: 'Deutsch', - el: 'Ελληνικά', - en: 'English', - es_ES: 'Español', - fa_IR: 'فارسی', - fr_FR: 'French', - ja_JP: '日本語', - pl: 'Polski', - pt_BR: 'Português (Brasil)', - ro_RO: 'Română', - ru: 'Русский', - tr: 'Türkçe', - uk_UA: 'Українська', - zh_CN: '中文 (简体)', - zh_HK: '中文 (繁體 香港特別行政區)', - zh_TW: '中文 (繁體)' -} diff --git a/src/main/services/i18n/locales/README.md b/src/main/services/i18n/locales/README.md deleted file mode 100644 index 9cd64844..00000000 --- a/src/main/services/i18n/locales/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Locales - -## Add new Locales - - Make a duplicate of the `en` folder, then rename it to the necessary [two-letter locale code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes). - - Translate each value in each of the files. - - Add new [prop](https://github.com/massCodeIO/massCode/blob/master/src/main/services/i18n/language.ts#L1) to i18n where the prop name corresponds to the name of the folder -```js -... - // 'en' for prop & 'English' for value - export const language = { - ... - en: 'English', - ... - } -... -``` - - Make PR. diff --git a/src/main/services/i18n/locales/cs/common.json b/src/main/services/i18n/locales/cs/common.json deleted file mode 100644 index 2b6f4577..00000000 --- a/src/main/services/i18n/locales/cs/common.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "button": { - "moveStorage": "Přesunout úložiště", - "openStorage": "Otevřít úložiště", - "newStorage": "Nové úložiště", - "reloadStorage": "Znovu načíst úložiště", - "fromMassCodeV1": "Z massCode v1.0", - "fromSnippetsLab": "Z SnippetsLab", - "confirm": "Potvrdit", - "cancel": "Zrušit", - "update": ["Jít na GitHub", "OK"], - "ok": "OK", - "clear": "Vyčistit", - "copy": "Kopírovat", - "sort": "Seřadit", - "revers": "Obrátit", - "generate": "Generovat", - "saveAs": "Uložit jako", - "zoomIn": "Přiblížit", - "zoomOut": "Oddálit", - "fit": "Přizpůsobit" - }, - "newFolder": "Nová složka", - "newSnippet": "Nový snippet", - "newFragment": "Nový fragment", - "addDescription": "Přidat popis", - "addToFavorites": "Přidat do oblíbených", - "addTag": "Přidat štítek", - "saveScreenshot": "Uložit screenshot", - "rename": "Přejmenovat", - "duplicate": "Duplikovat", - "delete": "Smazat", - "deleteNow": "Smazat nyní", - "defaultLanguage": "Výchozí jazyk", - "removeFromFavorites": "Odebrat z oblíbených", - "emptyTrash": "Vyprázdnit koš", - "close": "Zavřít", - "folder": { - "untitled": "Nepojmenovaná složka", - "plural": "Složky" - }, - "snippet": { - "untitled": "Nepojmenovaný snippet", - "plural": "Snippetů", - "plural_few": "Snippety", - "emptyName": "Zadejte jméno snippetu", - "selectedMultiple": "{{count}} snippetů vybráno", - "selectedMultiple_few": "{{count}} snippety vybrány", - "noSelected": "Není vybrán žádný snippet" - }, - "fragment": "Fragment", - "search": "Hledat", - "line": "Řádek", - "column": "sloupec", - "sidebar": { - "inbox": "Příchozí", - "favorites": "Oblíbené", - "allSnippets": "Všechny snippety", - "trash": "Koš", - "untitled": "Nepojmenovaná složka", - "folders": "Složky", - "library": "Knihovna", - "tags": "Štítky" - }, - "darkMode": "Tmavý režim", - "background": "Pozadí", - "restartApp": "Restartovat massCode", - "updateAvailable": "Aktualizace dostupná", - "hide": "Skrýt", - "show": "Zobrazit", - "collapse-all": "Sbalit vše", - "expand-all": "Rozbalit vše", - "restore": "Obnovit", - "copy-snippet-link": "Zkopírovat odkaz na snippet", - "set-custom-icon": "Nastavit vlastní ikonu" -} diff --git a/src/main/services/i18n/locales/cs/devtools.json b/src/main/services/i18n/locales/cs/devtools.json deleted file mode 100644 index 16a52b03..00000000 --- a/src/main/services/i18n/locales/cs/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Vstupní řetězec", - "outputString": "Výstupní řetězec", - "inputUrl": "Vstupní URL", - "outputUrl": "Výstupní URL", - "parsedUrl": "Rozparsovaná URL", - "splitQueryString": "Rozdělené parametry", - "key": "Klíč", - "value": "Hodnota", - "component": "Komponenta", - "result": "Výsledek", - "secretKey": "Tajný klíč", - "algorithm": "Algoritmus", - "version": "Verze", - "amount": "Počet", - "type": "Typ", - "length": "Délka", - "options": "Možnosti", - "numbers": "Čísla", - "symbols": "Symboly", - "lowercase": "Malá písmena", - "uppercase": "Velká písmena" - }, - "textTools": { - "label": "Textové nástroje", - "caseConverter": "Převod velikosti písmen", - "urlParser": "URL parser", - "slugGenerator": "Slug generátor", - "sortLines": "Řazení řádků" - }, - "crypto": { - "label": "Kryptografie / Bezpečnost", - "hashGenerator": "Hash generátor", - "hmacGenerator": "HMAC generátor", - "passGenerator": "Generátor hesel", - "uuidGenerator": "UUID generátor" - }, - "encodeDecode": { - "label": "Kodéry / dekoréry", - "url": "URL kodér / dekodér", - "base64": "Base64 kodér / dekodér" - } -} diff --git a/src/main/services/i18n/locales/cs/dialog.json b/src/main/services/i18n/locales/cs/dialog.json deleted file mode 100644 index 22637f4e..00000000 --- a/src/main/services/i18n/locales/cs/dialog.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "deleteConfirm": "Opravdu chcete trvale smazat {{name}}?", - "deleteConfirmMultipleSnippets": "Opravdu chcete trvale smazat {{count}} vybraných snippetů?", - "deleteConfirmMultipleSnippets_few": "Opravdu chcete trvale smazat {{count}} vybrané snippety?", - "noUndo": "Tuto akci nelze vrátit zpět.", - "allSnippetsMoveToTrash": "Všechny snippety v této složce budou přesunuty do koše.", - "deleteTag": "Tímto také odeberete štítek ze všech snippetů.", - "emptyTrash": "Opravdu chcete trvale odstranit všechny snippety v Koši?", - "migrateConfirm": [ - "Opravdu chcete migrovat z {{name}}?", - "Současná knihovna bude v průběhu migrace přepsána." - ], - "createDb": "Zvolte jinou složku, prosím" -} diff --git a/src/main/services/i18n/locales/cs/menu.json b/src/main/services/i18n/locales/cs/menu.json deleted file mode 100644 index 1c7ca872..00000000 --- a/src/main/services/i18n/locales/cs/menu.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Předvolby", - "update": { - "label": "Zkontrolovat aktualizace....", - "message": "Verze {{newVersion}} je dostupná ke stažení.\nMáte verzi {{oldVersion}}.", - "button": ["Přejít na stažení", "OK"], - "noUpdate": "Momentálně nejsou k dispozici žádné aktualizace." - }, - "quit": "Ukončit massCode", - "about": "O aplikaci massCode", - "hide": "Skrýt massCode", - "hideOther": "Skrýt ostatní", - "showAll": "Zobrazit vše" - }, - "help": { - "label": "Nápověda", - "website": "Web", - "documentation": "Dokumentace", - "viewInGitHub": "Zobrazit na GitHubu", - "changeLog": "Protokol změn", - "reportIssue": "Nahlásit problém", - "giveStar": "Dát hvězdičku", - "extension": { - "vscode": "VS Code rozšíření", - "raycast": "Raycast rozšíření", - "alfred": "Alfred rozšíření" - }, - "donate": { - "openCollective": "Přispět přes Open Collective", - "payPal": "Přispět přes PayPal", - "gumroad": "Přispět přes Gumroad (Visa, Mastercard, …)" - }, - "twitter": "Twitter", - "devTools": "Přepnout nástroje pro vývojáře", - "links": { - "snippets": "Kolekce snippetů" - } - }, - "file": { - "label": "Soubor", - "find": "Hledat" - }, - "view": { - "label": "Zobrazit", - "sortBy": { - "label": "Seřadit snippety podle", - "dateModified": "Data úpravy", - "dateCreated": "Data vytvoření", - "name": "Názvu" - }, - "hideSubfolderSnippets": "Skrýt snippety podsložek", - "compactMode": "Kompaktní zobrazení" - }, - "edit": { - "label": "Upravit", - "undo": "Vrátit zpět", - "redo": "Opakovat", - "cut": "Vyjmout", - "copy": "Kopírovat", - "paste": "Vložit", - "delete": "Smazat", - "selectAll": "Vybrat vše" - }, - "editor": { - "label": "Editor", - "copy": "Kopírovat snippet do schránky", - "format": "Formátovat", - "previewCode": "Náhled kódu", - "previewScreenshot": "Náhled screenshotu", - "previewMarkdown": "Náhled Markdownu", - "previewMindmap": "Náhled myšlenkové mapy", - "fontSizeIncrease": "Zvětšit písmo", - "fontSizeDecrease": "Zmenšit písmo", - "fontSizeReset": "Obnovit velikost píma" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Prezentační mód", - "preview": "Náhled" - }, - "history": { - "label": "Historie", - "back": "Zpět", - "forward": "Vpřed" - }, - "devtools": { - "label": "Nástroje pro vývojáře" - } -} diff --git a/src/main/services/i18n/locales/cs/preferences.json b/src/main/services/i18n/locales/cs/preferences.json deleted file mode 100644 index 9e14791c..00000000 --- a/src/main/services/i18n/locales/cs/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Předvolby", - "storage": { - "label": "Uložiště", - "migrate": "Migrovat", - "count": "Počet" - }, - "editor": { - "label": "Editor", - "fontSize": "Velikost písma", - "fontFamily": "Rodina písma", - "wrap": { - "label": "Zalamování", - "wordWrap": "Slov", - "off": "Vypnuto" - }, - "tabSize": "Šířka tabulátoru", - "showInvisibles": "Zobrazit neviditelné", - "highlightLine": "Zvýraznit řádek", - "highlightGutter": "Zvýraznit Gutter", - "matchBrackets": "Párovat závorky", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Koncová čárka", - "none": "Nikdy", - "all": "Vždy", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Jednoduché uvozovky" - } - }, - "appearance": { - "label": "Vzhled", - "theme": { - "label": "Téma", - "light": "Světlé", - "dark": "Tmavé" - } - }, - "language": { - "label": "Jazyk" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Renderer bloku kódu" - } -} diff --git a/src/main/services/i18n/locales/cs/special.json b/src/main/services/i18n/locales/cs/special.json deleted file mode 100644 index 640d8870..00000000 --- a/src/main/services/i18n/locales/cs/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Pro používání synchronizačních služeb jako je iCloud Drive, Google Drive nebo Dropbox jednoduše přesuňte úložiště do odpovídajících synchronizovaných složek.", - "migrate": { - "1": "Pro migraci z massCode v1.0 zvolte složku obsahující databázové soubory.", - "2": "Pro migraci z SnippetsLab zvolte JSON soubor.", - "3": [ - "V průběhu migrace ze SnippetsLab je několik omezení:", - "Všechny složky budou na první úrovni, protože JSON soubor (v2.1 a níže) neukládá zanořené složky.", - "Snippetům s nepodporovým jazykem bude nastaven výchozí Plain Text." - ] - }, - "htmlCssPreview": "Pro zobrazení výsledku přidejte fragmenty s jazyky HTML a CSS.", - "codeBlockRenderer": [ - "Při používání Codemirror musí jazyk použitý pro blok kódu odpovídat jednomu z podporovaných", - "jazyků" - ] - }, - "success": { - "migrate": "Databáze úspěšně zmigrována." - }, - "error": { - "folderContainDb": "Složka už obsahuje \"db.json\".", - "folderNotContainDb": "Složka neobsahuje \"db.json\"." - }, - "unsponsored": "Nesponzorováno", - "supportMessage": "Ahoj, tady Anton 👋

    \nDíky za používání massCode. Shledáváte-li aplikaci užitečnou, prosím {{-tagStart}} přispějte {{-tagEnd}}. Bude mě to inspirovat k dalšímu rozvoji projektu.", - "snippetsShowcase": "Přehlídka snippetů" -} diff --git a/src/main/services/i18n/locales/de_DE/common.json b/src/main/services/i18n/locales/de_DE/common.json deleted file mode 100644 index f7b55008..00000000 --- a/src/main/services/i18n/locales/de_DE/common.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "button": { - "moveStorage": "Datenbank verschieben", - "openStorage": "Datenbank öffnen", - "newStorage": "Neue Datenbank", - "fromMassCodeV1": "Von massCode v1.0", - "fromSnippetsLab": "Von SnippetsLab", - "confirm": "Bestätigen", - "cancel": "Abbrechen", - "update": [ - "Nach GitHub", - "OK" - ], - "ok": "OK" - }, - "newFolder": "Neuer Ordner", - "newSnippet": "Neues Snippet", - "newFragment": "Neues Fragment", - "addDescription": "Beschreibung hinzufügen", - "addToFavorites": "Zu Favoriten hinzufügen", - "addTag": "Tag hinzufügen", - "exportToHtml": "Export zu HTML", - "saveScreenshot": "Screenshot speichern", - "rename": "Umbenennen", - "duplicate": "Duplizieren", - "delete": "Löschen", - "deleteNow": "Jetzt löschen", - "defaultLanguage": "Standard Sprache", - "removeFromFavorites": "Von Favoriten entfernen", - "emptyTrash": "Papierkorb leeren", - "close": "Schließen", - "folder": { - "untitled": "Unbenannter Ordner", - "plural": "Ordner" - }, - "snippet": { - "untitled": "Unbenanntes Snippet", - "plural": "Snippets", - "emptyName": "Snippet name", - "selectedMultiple": "{{count}} Snippets ausgewählt", - "noSelected": "Kein Snippet ausgewählt" - }, - "fragment": "Fragment", - "search": "Suchen", - "line": "Linie", - "column": "Spalte", - "sidebar": { - "inbox": "Inbox", - "favorites": "Favoriten", - "allSnippets": "Alle Snippets", - "trash": "Papierkorb", - "untitled": "Unbenannter Ordner", - "folders": "Ordner", - "library": "Bibliothek", - "tags": "Tags" - }, - "darkMode": "Dark Mode", - "background": "Hintergrund", - "restartApp": "massCode neustarten", - "updateAvailable": "Update verfügbar", - "hide": "Verbergen", - "show": "Zeigen", - "collapse-all": "Alle reduzieren", - "expand-all": "Alle erweitern", - "restore": "Wiederherstellen", - "copy-snippet-link": "Snippet Link kopieren" -} diff --git a/src/main/services/i18n/locales/de_DE/dialog.json b/src/main/services/i18n/locales/de_DE/dialog.json deleted file mode 100644 index 6fec4fec..00000000 --- a/src/main/services/i18n/locales/de_DE/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Soll {{name}} wirklich permanent gelöscht werden?", - "deleteConfirmMultipleSnippets": "Sollen {{count}} ausgewählte Snippets gelöscht werden?", - "noUndo": "Dieser Vorgang kann nicht rückgängig gemacht werden.", - "allSnippetsMoveToTrash": "Alle Snippets in diesem Ordner werden in den Papierkorb verschoben.", - "deleteTag": "Hiermit werden alle Tags von den Snippets entfernt.", - "emptyTrash": "Sicher das alle Snippets permanent aus dem Papierkorb gelöscht werden sollen?", - "migrateConfirm": [ - "Möchten Sie wirklich von {{name}} migrieren?", - "Während der Migration wird die aktuelle Bibliothek überschrieben." - ], - "createDb": "Bitte anderen Ordner auswählen." -} diff --git a/src/main/services/i18n/locales/de_DE/menu.json b/src/main/services/i18n/locales/de_DE/menu.json deleted file mode 100644 index cc240537..00000000 --- a/src/main/services/i18n/locales/de_DE/menu.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Einstellungen", - "update": { - "label": "Auf Updates prüfen...", - "message": "Version {{newVersion}} steht zum download bereit.\nAktuelle Version ist {{oldVersion}}.", - "button": [ - "Zu Github", - "OK" - ], - "noUpdate": "Es stehen aktuell keine Updates zur Verfügung." - }, - "quit": "massCode beenden", - "about": "Über massCode", - "hide": "massCode minimieren", - "hideOther": "Andere minimieren", - "showAll": "Alle anzeigen" - }, - "help": { - "label": "Hilfe", - "website": "Website", - "documentation": "Dokumentation", - "viewInGitHub": "In GitHub ansehen", - "changeLog": "Change Log", - "reportIssue": "Fehler melden", - "giveStar": "Gib einen Stern", - "extension": { - "vscode": "VS Code Erweiterung", - "raycast": "Raycast Erweiterung", - "alfred": "Alfred Erweiterung" - }, - "donate": { - "openCollective": "Spende auf Open Collective", - "payPal": "Spende via PayPal" - }, - "twitter": "Twitter", - "devTools": "Zeige Entwicklertools", - "links": { - "snippets": "Snippet Collection" - } - }, - "file": { - "label": "Datei", - "find": "Finden" - }, - "view": { - "label": "Anzeigen", - "sortBy": { - "label": "Snippets sortieren nach", - "dateModified": "Geändert am", - "dateCreated": "Erstellt am", - "name": "Name" - } - }, - "edit": { - "label": "Bearbeiten", - "undo": "Rückgängig", - "redo": "Wiederholen", - "cut": "Ausschneiden", - "copy": "Kopieren", - "paste": "Einfügen", - "delete": "Löschen", - "selectAll": "Alle auswählen" - }, - "editor": { - "label": "Editor", - "copy": "Snippet ins Clipboard kopieren", - "format": "Format", - "previewCode": "Code Vorschau", - "previewScreenshot": "Screenshot Vorschau", - "previewMarkdown": "Markdown Vorschau", - "fontSizeIncrease": "Schriftgröße erhöhen", - "fontSizeDecrease": "Schriftgröße reduzieren", - "fontSizeReset": "Schriftgröße zurücksetzen" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Präsentationsmodus", - "preview": "Vorschau" - }, - "history": { - "label": "Verlauf", - "back": "Zurück", - "forward": "Vorwärts" - } -} diff --git a/src/main/services/i18n/locales/de_DE/preferences.json b/src/main/services/i18n/locales/de_DE/preferences.json deleted file mode 100644 index 5fa0d7f0..00000000 --- a/src/main/services/i18n/locales/de_DE/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Einstellungen", - "storage": { - "label": "Datenbank", - "migrate": "Migrieren", - "count": "Zählen" - }, - "editor": { - "label": "Editor", - "fontSize": "Schriftgröße", - "fontFamily": "Schriftart", - "wrap": { - "label": "Umbruch", - "wordWrap": "Zeilenumbruch", - "off": "Deaktiviert" - }, - "tabSize": "Tab Größe", - "showInvisibles": "Zeige versteckte", - "highlightLine": "Zeile hervorheben", - "highlightGutter": "Gutter hervorheben", - "matchBrackets": "Match Brackets", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Nachgestelltes Komma", - "none": "Ohne", - "all": "Immer", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Einzelne Anführungszeichen" - } - }, - "appearance": { - "label": "Darstellung", - "theme": { - "label": "Theme", - "light": "Hell", - "dark": "Dunkel" - } - }, - "language": { - "label": "Sprache" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Code block Renderer" - } -} diff --git a/src/main/services/i18n/locales/de_DE/special.json b/src/main/services/i18n/locales/de_DE/special.json deleted file mode 100644 index aaf28603..00000000 --- a/src/main/services/i18n/locales/de_DE/special.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "description": { - "storage": "Um Dienste wie iCloud Drive, Google Drive oder Dropbox zu nutzen, verschieben Sie die Datenbank in einen korrespondieren synchronisations Ordner", - "migrate": { - "1": "Um von massCode v1.0 zu migrieren, wählen Sie den Ordner der die Datenbank enthält aus.", - "2": "Um von SnippetsLab wählen Sie die JSON Datei aus.", - "3": [ - "Einschränkungen während der Migration von SnippetsLab:", - "Alle Ordner befinden sich auf der ersten Ebene, die JSON-Datei (< v2.1) enthält keine verschachtelten Ordner.", - "Snippets mit nicht unterstützten Sprachen werden standardmäßig auf Nur-Text gesetzt." - ] - }, - "htmlCssPreview": "Fügen Sie Fragmente mit HTML und CSS hinzu, um das Ergebnis anzuzeigen.", - "codeBlockRenderer": [ - "When using Codemirror, the language to be set for the code block must correspond to one of the values of the", - "Bei der Verwendung von Codemirror muss die einzustellende Sprache für den Codeblock einem der Werte entsprechen", - "Sprachen" - ] - }, - "success": { - "migrate": "DB erfolgreich migriert." - }, - "error": { - "folderContainDb": "Ordner enthält bereits \"db.json\".", - "folderNotContainDb": "Ordner enthält \"db.json\" nicht." - }, - "unsponsored": "Ungesponsert", - "supportMessage": "Hallo, Anton hier 👋

    \nVielen Dank für die Nutzung von massCode. Wenn Du die App hilfreich findest, dann {{-tagStart}} spende {{-tagEnd}} doch bitte. Somit kann ich das Projekt fortführen.", - "snippetsShowcase": "Snippet Beispiele" -} diff --git a/src/main/services/i18n/locales/el/common.json b/src/main/services/i18n/locales/el/common.json deleted file mode 100644 index 14a7c988..00000000 --- a/src/main/services/i18n/locales/el/common.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "button": { - "moveStorage": "Μετακίνηση Αποθηκευτικού Χώρου", - "openStorage": "Άνοιγμα Αποθηκευτικού Χώρου", - "newStorage": "Νέος Αποθηκευτικός Χώρος", - "fromMassCodeV1": "Από massCode v1.0", - "fromSnippetsLab": "Από SnippetsLab", - "confirm": "Επιβεβαίωση", - "cancel": "Ακύρωση", - "update": ["Μετάβαση στο GitHub", "Εντάξει"], - "ok": "Εντάξει" - }, - "newFolder": "Νέος Φάκελος", - "newSnippet": "Νέο Απόσπασμα", - "newFragment": "Νέο Τμήμα", - "addDescription": "Προσθήκη Περιγραφής", - "addToFavorites": "Προσθήκη στα Αγαπημένα", - "addTag": "Προσθήκη Ετικέτας", - "exportToHtml": "Εξαγωγή σε HTML", - "saveScreenshot": "Αποθήκευση Στιγμιοτύπου Οθόνης", - "rename": "Μετονομασία", - "duplicate": "Αντίγραφο", - "delete": "Διαγραφή", - "deleteNow": "Διαγραφή Τώρα", - "defaultLanguage": "Προεπιλεγμένη Γλώσσα", - "removeFromFavorites": "Αφαίρεση από τα Αγαπημένα", - "emptyTrash": "Άδειασμα Κάδου", - "close": "Κλείσιμο", - "folder": { - "untitled": "Άτιτλος φάκελος", - "plural": "Φάκελοι" - }, - "snippet": { - "untitled": "Άτιτλο Απόσπασμα", - "plural": "Αποσπάσματα", - "emptyName": "Πληκτρολογήστε ονομασία αποσπάσματος", - "selectedMultiple": "{{count}} Αποσπάσματα Επιλέχθηκαν", - "noSelected": "Δεν Επιλέχθηκε Απόσπασμα" - }, - "fragment": "Τμήμα", - "search": "Αναζήτηση", - "line": "Γραμμή", - "column": "Στήλη", - "sidebar": { - "inbox": "Εισερχόμενα", - "favorites": "Αγαπημένα", - "allSnippets": "Όλα τα Αποσπάσματα", - "trash": "Κάδος", - "untitled": "Άτιτλος φάκελος", - "folders": "Φάκελοι", - "library": "Βιβλιοθήκη", - "tags": "Ετικέτες" - }, - "darkMode": "Σκοτεινή Λειτουργία", - "background": "Φόντο", - "restartApp": "Επανεκκίνηση του massCode", - "updateAvailable": "Διαθέσιμη Ενημέρωση", - "hide": "Απόκρυψη", - "show": "Εμφάνιση", - "collapse-all": "Απόκρυψη Όλων", - "expand-all": "Εμφάνιση Όλων", - "restore": "Επαναφορά", - "copy-snippet-link": "Αντιγραφή Συνδέσμου Αποσπάσματος" -} diff --git a/src/main/services/i18n/locales/el/dialog.json b/src/main/services/i18n/locales/el/dialog.json deleted file mode 100644 index 6850a52f..00000000 --- a/src/main/services/i18n/locales/el/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Είστε σίγουροι ότι θέλετε να διαγράψετε οριστικά το {{name}};", - "deleteConfirmMultipleSnippets": "Είστε σίγουροι ότι θέλετε να διαγράψετε οριστικά {{count}} επιλεγμένα αποσπάσματα;", - "noUndo": "Δεν μπορείτε να αναιρέσετε αυτήν την ενέργεια.", - "allSnippetsMoveToTrash": "Όλα τα αποσπάσματα σε αυτόν τον φάκελο θα μετακινηθούν στον Κάδο.", - "deleteTag": "Αυτό θα προκαλέσει επίσης την αφαίρεση αυτής της ετικέτας από όλα τα αποσπάσματα.", - "emptyTrash": "Είστε σίγουροι ότι θέλετε να διαγράψετε οριστικά όλα τα αποσπάσματα στον Κάδο;", - "migrateConfirm": [ - "Θέλετε σίγουρα να μεταφέρετε από το {{name}};", - "Κατά την μεταφορά, η παρούσα βιβλιοθήκη θα αντικατασταθεί." - ], - "createDb": "Παρακαλούμε επιλέξτε άλλο φάκελο" -} diff --git a/src/main/services/i18n/locales/el/menu.json b/src/main/services/i18n/locales/el/menu.json deleted file mode 100644 index 6981fec0..00000000 --- a/src/main/services/i18n/locales/el/menu.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Προτιμήσεις", - "update": { - "label": "Έλεγχος για Ενημερώσεις....", - "message": "Η έκδοση {{newVersion}} είναι διαθέσιμη για λήψη.\nΗ έκδοσή σας είναι {{oldVersion}}.", - "button": ["Μεταβείτε στην Λήψη", "Εντάξει"], - "noUpdate": "Δεν υπάρχουν διαθέσιμες ενημερώσεις." - }, - "quit": "Έξοδος από το massCode", - "about": "Σχετικά με το massCode", - "hide": "Απόκρυψη του massCode", - "hideOther": "Απόκρυψη Υπολοίπων", - "showAll": "Εμφάνιση Όλων" - }, - "help": { - "label": "Βοήθεια", - "website": "Ιστότοπος", - "documentation": "Τεκμηρίωση", - "viewInGitHub": "Προβολή στο GitHub", - "changeLog": "Αρχείο Καταγραφής Αλλαγών", - "reportIssue": "Αναφορά Προβλήματος", - "giveStar": "Δώστε ένα Αστέρι", - "extension": { - "vscode": "Επέκταση VS Code", - "raycast": "Επέκταση Raycast", - "alfred": "Επέκταση Alfred" - }, - "donate": { - "openCollective": "Συνεισφέρετε στο Open Collective", - "payPal": "Συνεισφέρετε μέσω PayPal", - "gumroad": "Συνεισφέρετε μέσω Gumroad (Visa, Mastercard, κλπ.)" - }, - "twitter": "Twitter", - "devTools": "Εναλλαγή των Developer Tools", - "links": { - "snippets": "Συλλογή Αποσπασμάτων" - } - }, - "file": { - "label": "Αρχείο", - "find": "Εύρεση" - }, - "view": { - "label": "Προβολή", - "sortBy": { - "label": "Ταξινόμηση Αποκομμάτων Κατά", - "dateModified": "Ημερομηνία Τροποποίησης", - "dateCreated": "Ημερομηνία Δημιουργίας", - "name": "Ονομασία" - } - }, - "edit": { - "label": "Επεξεργασία", - "undo": "Αναίρεση", - "redo": "Επανάληψη", - "cut": "Αποκοπή", - "copy": "Αντιγραφή", - "paste": "Επικόλληση", - "delete": "Διαγραφή", - "selectAll": "Επιλογή Όλων" - }, - "editor": { - "label": "Διορθωτής", - "copy": "Αντιγραφή Αποσπάσματος στο Πρόχειρο", - "format": "Μορφοποίηση", - "previewCode": "Προεπισκόπηση Κώδικα", - "previewScreenshot": "Προεπισκόπηση Στιγμιοτύπου Οθόνης", - "previewMarkdown": "Προεπισκόπηση Markdown", - "fontSizeIncrease": "Μέγεθος Γραμματοσειράς Αύξηση", - "fontSizeDecrease": "Μέγεθος Γραμματοσειράς Μείωση", - "fontSizeReset": "Μέγεθος Γραμματοσειράς Επαναφορά" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Λειτουργία Παρουσίασης", - "preview": "Προεπισκόπηση" - }, - "history": { - "label": "Ιστορικό", - "back": "Πίσω", - "forward": "Μπροστά" - } -} diff --git a/src/main/services/i18n/locales/el/preferences.json b/src/main/services/i18n/locales/el/preferences.json deleted file mode 100644 index b2d0a86c..00000000 --- a/src/main/services/i18n/locales/el/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Προτιμήσεις", - "storage": { - "label": "Αποθηκευτικός Χώρος", - "migrate": "Μετακίνηση", - "count": "Καταμέτρηση" - }, - "editor": { - "label": "Διορθωτής", - "fontSize": "Μέγεθος Γραμματοσειράς", - "fontFamily": "Γραμματοσειρά", - "wrap": { - "label": "Αναδίπλωση", - "wordWrap": "Αναδίπλωση Λέξεων", - "off": "Ανενεργό" - }, - "tabSize": "Μέγεθος Tab", - "showInvisibles": "Εμφάνιση Κρυφών", - "highlightLine": "Επισήμανση Γραμμής", - "highlightGutter": "Επισήμανση Περιθωρίου", - "matchBrackets": "Αντιστοίχιση Αγκύλων", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Κόμμα Ουράς", - "none": "Καθόλου", - "all": "Όλα", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Μονά Εισαγωγικά" - } - }, - "appearance": { - "label": "Εμφάνιση", - "theme": { - "label": "Θέμα", - "light": "Φωτεινό", - "dark": "Σκοτεινό" - } - }, - "language": { - "label": "Γλώσσα" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Απεικόνιση Μπλοκ Κώδικα" - } -} diff --git a/src/main/services/i18n/locales/el/special.json b/src/main/services/i18n/locales/el/special.json deleted file mode 100644 index c6c1c030..00000000 --- a/src/main/services/i18n/locales/el/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Για να χρησιμοποιήσετε υπηρεσίες συγχρονισμού όπως iCloud Drive, Google Drive ή Dropbox, απλώς μεταφέρετε τον αποθηκευτικό χώρο στους αντίστοιχους συγχρονισμένους φακέλους", - "migrate": { - "1": "Για μεταφορά από το massCode v1.0 επιλέξτε τον φάκελο που περιέχει τα αρχεία της βάσης δεδομένων.", - "2": "Για μεταφορά από το SnippetsLab επιλέξτε αρχείο JSON.", - "3": [ - "Ορισμένοι Περιορισμοί. Κατά την μεταφορά από το SnippetsLab:", - "Όλοι οι φάκελοι θα είναι πρώτου επιπέδου καθώς το αρχείο JSON (κάτω από την έκδοση 2.1) δεν αντιπροσωπεύει ένθετους φακέλους.", - "Αποσπάσματα με μη υποστηριζόμενες γλώσσες θα ορίζονται ως Απλό Κείμενο (προεπιλογή)." - ] - }, - "htmlCssPreview": "Προσθέστε τμήματα με γλώσσες HTML & CSS για να δείτε αποτέλεσμα.", - "codeBlockRenderer": [ - "Όταν χρησιμοποιείτε το Codemirror, η γλώσσα που θα οριστεί για το μπλοκ κώδικα πρέπει να αντιστοιχεί σε μία από τις τιμές των", - "γλωσσών" - ] - }, - "success": { - "migrate": "Η DB μετακινήθηκε επιτυχώς." - }, - "error": { - "folderContainDb": "Ο φάκελος περιέχει ήδη το \"db.json\".", - "folderNotContainDb": "Ο φάκελος δεν περιέχει το \"db.json\"." - }, - "unsponsored": "Χωρίς Χορηγία", - "supportMessage": "Γειά, Anton εδώ 👋

    \nΕυχαριστώ που χρησιμοποιείτε το massCode. Εάν βρίσκετε αυτήν την εφαρμογή χρήσιμη, παρακαλώ {{-tagStart}} συνεισφέρετε {{-tagEnd}}. Θα με εμπνεύσει να συνεχίσω την ανάπτυξη του έργου.", - "snippetsShowcase": "Βιτρίνα Αποσπασμάτων" -} diff --git a/src/main/services/i18n/locales/en/common.json b/src/main/services/i18n/locales/en/common.json deleted file mode 100644 index 4b6f3ad5..00000000 --- a/src/main/services/i18n/locales/en/common.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "button": { - "moveStorage": "Move Storage", - "openStorage": "Open Storage", - "newStorage": "New Storage", - "reloadStorage": "Reload Storage", - "fromMassCodeV1": "From massCode v1.0", - "fromSnippetsLab": "From SnippetsLab", - "confirm": "Confirm", - "cancel": "Cancel", - "update": ["Go to GitHub", "OK"], - "ok": "OK", - "clear": "Clear", - "copy": "Copy", - "sort": "Sort", - "revers": "Revers", - "generate": "Generate", - "saveAs": "Save as", - "zoomIn": "Zoom In", - "zoomOut": "Zoom Out", - "fit": "Fit" - }, - "newFolder": "New Folder", - "newSnippet": "New Snippet", - "newFragment": "New Fragment", - "addDescription": "Add Description", - "addToFavorites": "Add to Favorites", - "addTag": "Add Tag", - "exportToHtml": "Export to HTML", - "rename": "Rename", - "duplicate": "Duplicate", - "delete": "Delete", - "deleteNow": "Delete Now", - "defaultLanguage": "Default Language", - "removeFromFavorites": "Remove from Favorites", - "emptyTrash": "Empty Trash", - "close": "Close", - "folder": { - "untitled": "Untitled folder", - "plural": "Folders" - }, - "snippet": { - "untitled": "Untitled snippet", - "plural": "Snippets", - "emptyName": "Type snippet name", - "selectedMultiple": "{{count}} Snippets Selected", - "noSelected": "No Snippet Selected" - }, - "fragment": "Fragment", - "search": "Search", - "line": "Line", - "column": "Column", - "sidebar": { - "inbox": "Inbox", - "favorites": "Favorites", - "allSnippets": "All Snippets", - "trash": "Trash", - "untitled": "Untitled folder", - "folders": "Folders", - "library": "Library", - "tags": "Tags" - }, - "darkMode": "Dark Mode", - "background": "Background", - "restartApp": "Restart massCode", - "updateAvailable": "Update Available", - "hide": "Hide", - "show": "Show", - "collapse-all": "Collapse All", - "expand-all": "Expand All", - "restore": "Restore", - "copy-snippet-link": "Copy Snippet Link", - "set-custom-icon": "Set Custom Icon" -} diff --git a/src/main/services/i18n/locales/en/devtools.json b/src/main/services/i18n/locales/en/devtools.json deleted file mode 100644 index d1a0bd51..00000000 --- a/src/main/services/i18n/locales/en/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Input String", - "outputString": "Output String", - "inputUrl": "Input URL", - "outputUrl": "Output URL", - "parsedUrl": "Parsed URL", - "splitQueryString": "Split Query String", - "key": "Key", - "value": "Value", - "component": "Component", - "result": "Result", - "secretKey": "Secret Key", - "algorithm": "Algorithm", - "version": "Version", - "amount": "Amount", - "type": "Type", - "length": "Length", - "options": "Options", - "numbers": "Numbers", - "symbols": "Symbols", - "lowercase": "Lowercase", - "uppercase": "Uppercase" - }, - "textTools": { - "label": "Text Tools", - "caseConverter": "Case Converter", - "urlParser": "URL Parser", - "slugGenerator": "Slug Generator", - "sortLines": "Sort Lines" - }, - "crypto": { - "label": "Cryptography / Security", - "hashGenerator": "Hash Generator", - "hmacGenerator": "HMAC Generator", - "passGenerator": "Password Generator", - "uuidGenerator": "UUID Generator" - }, - "encodeDecode": { - "label": "Encoders / Decoders", - "url": "URL Encoder / Decoder", - "base64": "Base64 Encoder / Decoder" - } -} diff --git a/src/main/services/i18n/locales/en/dialog.json b/src/main/services/i18n/locales/en/dialog.json deleted file mode 100644 index e5087f0f..00000000 --- a/src/main/services/i18n/locales/en/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Are you sure you want to permanently delete {{name}}?", - "deleteConfirmMultipleSnippets": "Are you sure you want to permanently delete {{count}} selected snippets?", - "noUndo": "You cannot undo this action.", - "allSnippetsMoveToTrash": "All snippets in this folder will be moved to trash.", - "deleteTag": "This will also cause all snippets to have that tag removed.", - "emptyTrash": "Are you sure you want to permanently delete all snippets in Trash?", - "migrateConfirm": [ - "Are you sure you want to migrate from {{name}}?", - "During migrate, the current library will be overwritten." - ], - "createDb": "Please select another folder" -} diff --git a/src/main/services/i18n/locales/en/menu.json b/src/main/services/i18n/locales/en/menu.json deleted file mode 100644 index 75ffe3f2..00000000 --- a/src/main/services/i18n/locales/en/menu.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Preferences", - "update": { - "label": "Check for Updates....", - "message": "Version {{newVersion}} is now available for download.\nYour version is {{oldVersion}}.", - "button": ["Go to Download", "OK"], - "noUpdate": "There are currently no updates available." - }, - "quit": "Quit massCode", - "about": "About massCode", - "hide": "Hide massCode", - "hideOther": "Hide Others", - "showAll": "Show All" - }, - "help": { - "label": "Help", - "website": "Website", - "documentation": "Documentation", - "viewInGitHub": "View in GitHub", - "changeLog": "Change Log", - "reportIssue": "Report Issue", - "giveStar": "Give a Star", - "extension": { - "vscode": "VS Code Extension", - "raycast": "Raycast Extension", - "alfred": "Alfred Extension" - }, - "donate": { - "openCollective": "Donate on Open Collective", - "payPal": "Donate via PayPal", - "gumroad": "Donate via Gumroad (Visa, Mastercard, etc.)" - }, - "twitter": "Twitter", - "devTools": "Toggle Developer Tools", - "links": { - "snippets": "Snippet Collection" - } - }, - "file": { - "label": "File", - "find": "Find" - }, - "view": { - "label": "View", - "sortBy": { - "label": "Sort Snippets By", - "dateModified": "Date Modified", - "dateCreated": "Date Created", - "name": "Name" - }, - "hideSubfolderSnippets": "Hide Subfolder Snippets", - "compactMode": "Compact Mode" - }, - "edit": { - "label": "Edit", - "undo": "Undo", - "redo": "Redo", - "cut": "Cut", - "copy": "Copy", - "paste": "Paste", - "delete": "Delete", - "selectAll": "Select All" - }, - "editor": { - "label": "Editor", - "copy": "Copy Snippet to Clipboard", - "format": "Format", - "previewCode": "Preview Code", - "previewScreenshot": "Preview Screenshot", - "previewMarkdown": "Preview Markdown", - "previewMindmap": "Preview Mindmap", - "fontSizeIncrease": "Font Size Increase", - "fontSizeDecrease": "Font Size Decrease", - "fontSizeReset": "Font Size Reset" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Presentation Mode", - "preview": "Preview" - }, - "history": { - "label": "History", - "back": "Back", - "forward": "Forward" - }, - "devtools": { - "label": "Developer Tools" - } -} diff --git a/src/main/services/i18n/locales/en/preferences.json b/src/main/services/i18n/locales/en/preferences.json deleted file mode 100644 index 87fc2000..00000000 --- a/src/main/services/i18n/locales/en/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Preferences", - "storage": { - "label": "Storage", - "migrate": "Migrate", - "count": "Count" - }, - "editor": { - "label": "Editor", - "fontSize": "Font Size", - "fontFamily": "Font Family", - "wrap": { - "label": "Wrap", - "wordWrap": "Word Wrap", - "off": "Off" - }, - "tabSize": "Tab Size", - "showInvisibles": "Show Invisibles", - "highlightLine": "Highlight Line", - "highlightGutter": "Highlight Gutter", - "matchBrackets": "Match Brackets", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Trailing Comma", - "none": "None", - "all": "All", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Single Quote" - } - }, - "appearance": { - "label": "Appearance", - "theme": { - "label": "Theme", - "light": "Light", - "dark": "Dark" - } - }, - "language": { - "label": "Language" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Code block Renderer" - } -} diff --git a/src/main/services/i18n/locales/en/special.json b/src/main/services/i18n/locales/en/special.json deleted file mode 100644 index d360c177..00000000 --- a/src/main/services/i18n/locales/en/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "To use sync services like iCloud Drive, Google Drive or Dropbox, simply move storage to the corresponding synced folders", - "migrate": { - "1": "To migrate from massCode v1.0 select the folder containing the database files.", - "2": "To migrate from SnippetsLab select JSON file.", - "3": [ - "Some Limitations. During migration from SnippetsLab:", - "All folders will be first level as JSON file (below v2.1) does not represent nested folders.", - "Snippets with unsupported languages will be set to default Plain Text." - ] - }, - "htmlCssPreview": "Add fragments with HTML & CSS languages to view result.", - "codeBlockRenderer": [ - "When using Codemirror, the language to be set for the code block must correspond to one of the values of the", - "languages" - ] - }, - "success": { - "migrate": "DB successfully migrated." - }, - "error": { - "folderContainDb": "Folder already contain \"db.json\".", - "folderNotContainDb": "Folder not contain \"db.json\"." - }, - "unsponsored": "Unsponsored", - "supportMessage": "Hi, Anton here 👋

    \nThanks for using massCode. If you find this app useful, please {{-tagStart}} donate {{-tagEnd}}. It will inspire me to continue development on the project.", - "snippetsShowcase": "Snippets Showcase" -} diff --git a/src/main/services/i18n/locales/es_ES/common.json b/src/main/services/i18n/locales/es_ES/common.json deleted file mode 100644 index 50389d22..00000000 --- a/src/main/services/i18n/locales/es_ES/common.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "button": { - "moveStorage": "Mover Almacenamiento", - "openStorage": "Abrir Almacenamiento", - "fromMassCodeV1": "Desde massCode v1.0", - "fromSnippetsLab": "Hacia SnippetsLab", - "confirm": "Confirmar", - "cancel": "Cancelar", - "update": ["Ir a GitHub", "OK"] - }, - "newFolder": "Nueva Carpeta", - "newSnippet": "Nuevo Snippet", - "newFragment": "Nuevo Fragmento", - "addDescription": "Agregar Descripción", - "addToFavorites": "Agregar a Favoritos", - "addTag": "Agregar Etiqueta", - "saveScreenshot": "Guardar Captura", - "exportToHtml": "Exportar HTML", - "rename": "Renombrar", - "duplicate": "Duplicar", - "delete": "Eliminar", - "deleteNow": "Eliminar Ahora", - "defaultLanguage": "Language Predeterminado", - "removeFromFavorites": "Eliminar de Favoritos", - "emptyTrash": "Vaciar Papelera", - "close": "Cerrar", - "folder": { - "untitled": "Sin nombre", - "plural": "Carpetas" - }, - "snippet": { - "untitled": "Snippet sin nombre", - "plural": "Snippets", - "emptyName": "Escribe el nombre del snippet", - "selectedMultiple": "{{count}} Snippets Seleccionados", - "noSelected": "No hay Snippet Seleccionado" - }, - "fragment": "Fragmento", - "search": "Buscar", - "line": "Línea", - "column": "Columna", - "sidebar": { - "inbox": "Inbox", - "favorites": "Favoritos", - "allSnippets": "Todos los Snippets", - "trash": "Papelera", - "untitled": "Carpeta sin nombre", - "folders": "Carpetas", - "library": "Librería", - "tags": "Etiquetas" - }, - "darkMode": "Modo Oscuro", - "background": "Fondo", - "restartApp": "Reiniciar massCode", - "updateAvailable": "Actualización Disponible", - "hide": "Ocultar", - "show": "Mostrar" -} diff --git a/src/main/services/i18n/locales/es_ES/dialog.json b/src/main/services/i18n/locales/es_ES/dialog.json deleted file mode 100644 index f97c6e9d..00000000 --- a/src/main/services/i18n/locales/es_ES/dialog.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "deleteConfirm": "¿Estas seguro que quieres eliminar de forma permanente {{name}}?", - "deleteConfirmMultipleSnippets": "¿Estas seguro de que quieres eliminar de forma permanente los {{count}} snippets seleccionados?", - "noUndo": "Esta acción no se puede deshacer.", - "allSnippetsMoveToTrash": "Todos los snippets en esta carpeta se enviarán a la papelera.", - "deleteTag": "Esto también causará que todos los snippets pierdan sus etiquetas.", - "emptyTrash": "¿Estás seguro que quieres eliminar todas los snippets de la Papelera?", - "migrateConfirm": [ - "¿Estás seguro que quieres migrar desde {{name}}?", - "Durante la migración se sobrescribirá la librería actual." - ] -} diff --git a/src/main/services/i18n/locales/es_ES/menu.json b/src/main/services/i18n/locales/es_ES/menu.json deleted file mode 100644 index e561092a..00000000 --- a/src/main/services/i18n/locales/es_ES/menu.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Preferencias", - "update": { - "label": "Buscar actualizaciones....", - "message": "La versión {{newVersion}} está disponible para descargar.\nTu versión actual es {{oldVersion}}.", - "button": ["Ir a Descarga", "OK"], - "noUpdate": "No hay actualizaciones disponibles." - }, - "quit": "Salir de massCode", - "about": "Acerca de massCode", - "hide": "Ocultar massCode", - "hideOther": "Ocultar Otros", - "showAll": "Mostrar Todo" - }, - "help": { - "label": "Ayuda", - "website": "Sitio Web", - "documentation": "Documentación", - "viewInGitHub": "Ver en GitHub", - "changeLog": "Log de Cambios", - "reportIssue": "Reportar un Problema", - "giveStar": "Dar una Estrella", - "extension": { - "vscode": "Extensión para VS Code", - "raycast": "Extensión para Raycast", - "alfred": "Extensión para Alfred" - }, - "donate": { - "openCollective": "Donar en Open Collective", - "payPal": "Donar a través de PayPal" - }, - "twitter": "Twitter", - "devTools": "Abrir Herramientas de Desarrollador" - }, - "file": { - "label": "Archivo", - "find": "Buscar" - }, - "view": { - "label": "Ver", - "sortBy": { - "label": "Ordenar Snippets por", - "dateModified": "Fecha de Modificación", - "dateCreated": "Fecha de Creación", - "name": "Nombre" - } - }, - "edit": { - "label": "Editar", - "undo": "Deshacer", - "redo": "Rehacer", - "cut": "Cortar", - "copy": "Copiar", - "paste": "Pegar", - "delete": "Borrar", - "selectAll": "Seleccionar Todo" - }, - "editor": { - "label": "Editor", - "copy": "Copiar Snippet al Portapapeles", - "format": "Formato", - "previewMarkdown": "", - "previewCode": "Previsualizar Código", - "previewScreenshot": "Previsualizar Captura de Pantalla" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Presentation Mode", - "preview": "Preview" - } -} diff --git a/src/main/services/i18n/locales/es_ES/preferences.json b/src/main/services/i18n/locales/es_ES/preferences.json deleted file mode 100644 index ee1a5d5d..00000000 --- a/src/main/services/i18n/locales/es_ES/preferences.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "title": "Preferencias", - "storage": { - "label": "Almacenamiento", - "migrate": "Migrar", - "count": "Total" - }, - "editor": { - "label": "Editor", - "fontSize": "Tamaño de Fuente", - "fontFamily": "Familia de Fuente", - "wrap": { - "label": "Envolver", - "wordWrap": "Envolver Palabra", - "off": "Off" - }, - "tabSize": "Tamaño de Tabulación", - "showInvisibles": "Mostrar Invisibles", - "highlightLine": "Resaltar Línea", - "highlightGutter": "Resaltar Gutter", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Coma Final", - "none": "Ninguna", - "all": "Todo", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Comillas Simple" - } - }, - "appearance": { - "label": "Apariencia", - "theme": { - "label": "Tema", - "light": "Claro", - "dark": "Oscuro" - } - }, - "language": { - "label": "Lenguage" - } -} diff --git a/src/main/services/i18n/locales/es_ES/special.json b/src/main/services/i18n/locales/es_ES/special.json deleted file mode 100644 index 98340b2b..00000000 --- a/src/main/services/i18n/locales/es_ES/special.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "description": { - "storage": "Para usar servicios de sincronización como iCloud Drive, Google Drive o Dropbox, simplemente mueva el almacenamiento a sus carpetas sincronizadas.", - "migrate": { - "1": "Para migrar desde massCode v1.0, seleccione la carpeta que contiene los archivos de la base de datos.", - "2": "Para migrar desde SnippetsLab, seleccione el archivo JSON.", - "3": [ - "Algunas limitaciones. Durante la migration desde SnippetsLab:", - "Todas las carpetas serán de primer nivel ya que el archivo JSON (por debajo de v2.1) no representa carpetas anidadas.", - "Los snippets con idiomas no admitidos se configurarán como Texto sin formato." - ] - }, - "htmlCssPreview": "Agregue snippets con lenguajes HTML y CSS para ver el resultado." - }, - "success": { - "migrate": "Base de datos migrada con éxito." - }, - "error": { - "folderNotContainDb": "La carpeta no contiene \"db.json\"." - }, - "unsponsored": "Sin Patrocinar", - "supportMessage": "Hola, soy Anton 👋

    \nGracias por usar massCode. Si encuentras útil esta aplicación, por favor {{-tagStart}} dona {{-tagEnd}}. Me inspirará a continuar desarrollando este proyecto.", - "snippetsShowcase": "Muestra de Snippets" -} diff --git a/src/main/services/i18n/locales/fa_IR/common.json b/src/main/services/i18n/locales/fa_IR/common.json deleted file mode 100644 index 428dc4b4..00000000 --- a/src/main/services/i18n/locales/fa_IR/common.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "button": { - "moveStorage": "انتقال فضای ذخیره‌سازی", - "openStorage": "بازکردن فضای ذخیره‌سازی", - "newStorage": "فضای ذخیره‌سازی جدید", - "reloadStorage": "تازه‌سازی فضای ذخیره‌سازی", - "fromMassCodeV1": "از massCode v1.0", - "fromSnippetsLab": "از SnippetsLab", - "confirm": "تایید", - "cancel": "انصراف", - "update": ["برو به گیت‌هاب", "باشه"], - "ok": "باشه", - "clear": "پاک‌سازی", - "copy": "رونویسی", - "sort": "مرتب‌سازی", - "revers": "معکوس", - "generate": "تولید", - "saveAs": "ذخیره به‌عنوان", - "zoomIn": "بزرگ‌نمایی", - "zoomOut": "کوچک‌نمایی", - "fit": "فیت" - }, - "newFolder": "پوشه جدید", - "newSnippet": "اسنیپت جدید", - "newFragment": "فرگمنت جدید", - "addDescription": "افزودن توضیحات", - "addToFavorites": "افزودن به علاقه‌مندی‌ها", - "addTag": "افزودن برچسب", - "exportToHtml": "استخراج به HTML", - "rename": "تغییرنام", - "duplicate": "رونویسی", - "delete": "حذف", - "deleteNow": "اکنون حذف کنید", - "defaultLanguage": "زبان پیش‌فرض", - "removeFromFavorites": "حذف از علاقه‌مندی‌ها", - "emptyTrash": "پاک‌سازی زباله‌دان", - "close": "بستن", - "folder": { - "untitled": "پوشه بدون نام", - "plural": "پوشه‌ها" - }, - "snippet": { - "untitled": "اسنیپت بدون نام", - "plural": "اسنیپت‌ها", - "emptyName": "نام اسنیپت را بنویسید", - "selectedMultiple": "{{count}} اسنیپت انتخاب شده", - "noSelected": "هیچ اسنیپتی انتخاب نشده" - }, - "fragment": "فرگمنت", - "search": "جستجو", - "line": "خط", - "column": "ستون", - "sidebar": { - "inbox": "صندوق ورودی", - "favorites": "علاقه‌مندی‌ها", - "allSnippets": "همه اسنیپت‌ها", - "trash": "زباله‌دان", - "untitled": "پوشه بدون نام", - "folders": "پوشه‌ها", - "library": "کتابخانه", - "tags": "برچسب‌ها" - }, - "darkMode": "حالت تیره", - "background": "پس‌زمینه", - "restartApp": "راه‌اندازی دوباره massCode", - "updateAvailable": "به‌روزرسانی دردسترس است", - "hide": "پنهان‌شدن", - "show": "نمایش", - "collapse-all": "جمع‌کردن همه", - "expand-all": "گسترش همه", - "restore": "بازیابی", - "copy-snippet-link": "رونویسی پیوند اسنیپت", - "set-custom-icon": "تنظیم نماد سفارشی" -} diff --git a/src/main/services/i18n/locales/fa_IR/devtools.json b/src/main/services/i18n/locales/fa_IR/devtools.json deleted file mode 100644 index c24ad498..00000000 --- a/src/main/services/i18n/locales/fa_IR/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "رشته ورودی", - "outputString": "رشته خروجی", - "inputUrl": "نشانی ورودی", - "outputUrl": "نشانی خروجی", - "parsedUrl": "نشانی تجزیه‌شده", - "splitQueryString": "تقسیم رشته پرس‌وجو", - "key": "کلید", - "value": "مقدار", - "component": "کامپوننت", - "result": "نتیجه", - "secretKey": "کلید پنهان", - "algorithm": "الگوریتم", - "version": "نگارش", - "amount": "تعداد", - "type": "نوع", - "length": "طول", - "options": "گزینه‌ها", - "numbers": "شماره‌ها", - "symbols": "نمادها", - "lowercase": "حروف کوچک", - "uppercase": "حروف بزرگ" - }, - "textTools": { - "label": "ابزارهای متن", - "caseConverter": "مبدل حروف کوچک/بزرگ", - "urlParser": "تجزیه‌کننده نشانی", - "slugGenerator": "سازنده نامک", - "sortLines": "مرتب‌سازی خط‌ها" - }, - "crypto": { - "label": "کریپتوگرافی / امنیت", - "hashGenerator": "سازنده Hash", - "hmacGenerator": "سازنده HMAC", - "passGenerator": "سازنده گذرواژه", - "uuidGenerator": "سازنده UUID" - }, - "encodeDecode": { - "label": "کدگذارها / کدگشاها", - "url": "کدگذاری / کدگشایی نشانی", - "base64": "کدگذاری / کدگشایی Base64" - } -} diff --git a/src/main/services/i18n/locales/fa_IR/dialog.json b/src/main/services/i18n/locales/fa_IR/dialog.json deleted file mode 100644 index 34b594d6..00000000 --- a/src/main/services/i18n/locales/fa_IR/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "آیا مطمئنید که می‌خواهید {{name}} را برای همیشه حذف کنید؟", - "deleteConfirmMultipleSnippets": "آیا مطمئنید که می‌خواهید {{count}} اسنیپت انتخاب‌شده را برای همیشه حذف کنید؟", - "noUndo": "شما نمی‌توانید این کنش را واگرد کنید.", - "allSnippetsMoveToTrash": "همه اسنیپت‌های این پوشه به زباله‌دان منتقل می‌شوند.", - "deleteTag": "این هم‌چنین باعث می‌شود که تمام اسنیپت‌هایی که آن برچسب را دارند نیز حذف شوند.", - "emptyTrash": "آیا مطمئنید که می‌خواهید همه اسنیپت‌ها در زباله‌دان را برای همیشه حذف کنید؟", - "migrateConfirm": [ - "آیا مطمئنید که می‌خواهید از {{name}} مهاجرت کنید؟", - "در هنگام انتقال، کتابخانه فعلی رونویسی خواهد شد." - ], - "createDb": "لطفا پوشه دیگری را انتخاب کنید" -} diff --git a/src/main/services/i18n/locales/fa_IR/menu.json b/src/main/services/i18n/locales/fa_IR/menu.json deleted file mode 100644 index 81059ba7..00000000 --- a/src/main/services/i18n/locales/fa_IR/menu.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "تنظیمات", - "update": { - "label": "بررسی برای به‌روزرسانی‌ها....", - "message": "نگارش {{newVersion}} اکنون برای دریافت در دسترس است.\nنگارش شما {{oldVersion}} است.", - "button": ["برو به دریافت", "باشه"], - "noUpdate": "درحال حاضر هیچ به‌روزرسانی در دسترس نیست." - }, - "quit": "خروج از massCode", - "about": "درباره massCode", - "hide": "پنهان‌کردن massCode", - "hideOther": "پنهان‌کردن دیگران", - "showAll": "نمایش همه" - }, - "help": { - "label": "کمک", - "website": "وب‌سایت", - "documentation": "مستندات", - "viewInGitHub": "مشاهده در گیت‌هاب", - "changeLog": "تغییرات", - "reportIssue": "گزارش مشکل", - "giveStar": "ستاره بدهید", - "extension": { - "vscode": "افزونه VS Code", - "raycast": "افزونه Raycast", - "alfred": "افزونه Alfred" - }, - "donate": { - "openCollective": "کمک مالی در Open Collective", - "payPal": "کمک مالی از طریق PayPal", - "gumroad": "کمک مالی از طریق Gumroad (ویزا، مسترکارت و غیره)" - }, - "twitter": "توییتر", - "devTools": "ابزارهای توسعه‌دهنده", - "links": { - "snippets": "مجموعه اسنیپت" - } - }, - "file": { - "label": "پرونده", - "find": "یافتن" - }, - "view": { - "label": "نمایش", - "sortBy": { - "label": "مرتب‌سازی اسنیپت‌ها براساس", - "dateModified": "تاریخ ویرایش", - "dateCreated": "تاریخ ساخت", - "name": "نام" - }, - "hideSubfolderSnippets": "پنهان‌کردن اسنیپت‌های زیرپوشه", - "compactMode": "حالت فشرده" - }, - "edit": { - "label": "ویرایش", - "undo": "واگرد", - "redo": "انجام دوباره", - "cut": "برش", - "copy": "رونویسی", - "paste": "جای‌گذاری", - "delete": "حذف", - "selectAll": "انتخاب همه" - }, - "editor": { - "label": "ویرایشگر", - "copy": "رونویسی اسنیپت در بریده‌دان", - "format": "قالب", - "previewCode": "پیش‌نمایش کد", - "previewScreenshot": "پیش‌نمایش اسکرین‌شات", - "previewMarkdown": "پیش‌نمایش Markdown", - "previewMindmap": "پیش‌نمایش Mindmap", - "fontSizeIncrease": "افزایش اندازه فونت", - "fontSizeDecrease": "کاهش اندازه فونت", - "fontSizeReset": "بازتنظیم اندازه فونت" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "حالت ارائه", - "preview": "پیش‌نمایش" - }, - "history": { - "label": "تاریخچه", - "back": "بازگشت", - "forward": "به‌جلو" - }, - "devtools": { - "label": "ابزارهای توسعه‌دهنده" - } -} diff --git a/src/main/services/i18n/locales/fa_IR/preferences.json b/src/main/services/i18n/locales/fa_IR/preferences.json deleted file mode 100644 index 2594ad2a..00000000 --- a/src/main/services/i18n/locales/fa_IR/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "تنظیمات", - "storage": { - "label": "فضای ذخیره‌سازی", - "migrate": "مهاجرت", - "count": "تعداد" - }, - "editor": { - "label": "ویرایشگر", - "fontSize": "اندازه فونت", - "fontFamily": "خانواده فونت", - "wrap": { - "label": "بسته‌بندی (Wrap)", - "wordWrap": "بسته‌بندی واژگان", - "off": "خاموش" - }, - "tabSize": "اندازه زبانه", - "showInvisibles": "نمایش نامرئی‌ها", - "highlightLine": "برجسته‌کردن خط", - "highlightGutter": "Highlight Gutter", - "matchBrackets": "مطابقت براکت‌ها", - "prettier": { - "label": "زیباتر", - "trailingComma": { - "label": "کاما دنباله‌دار", - "none": "هیچ", - "all": "همه", - "es5": "ES5" - }, - "semi": "نیمه", - "singleQuote": "نقل قول تک" - } - }, - "appearance": { - "label": "ظاهر", - "theme": { - "label": "پوسته", - "light": "روشن", - "dark": "تیره" - } - }, - "language": { - "label": "زبان" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "رندرکننده بلاک کد" - } -} diff --git a/src/main/services/i18n/locales/fa_IR/special.json b/src/main/services/i18n/locales/fa_IR/special.json deleted file mode 100644 index b4ec538c..00000000 --- a/src/main/services/i18n/locales/fa_IR/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "برای استفاده از سرویس‌های هم‌گام‌سازی مانند آی‌کلود درایو، گوگل‌درایو یا دراپ‌باکس، به‌سادگی فضای ذخیره‌سازی را به پوشه‌های هم‌گام‌سازی‌شده مربوطه منتقل کنید", - "migrate": { - "1": "برای مهاجرت از massCode v1.0 پوشه دارای پرونده‌های پایگاه داده را انتخاب کنید.", - "2": "برای مهاجرت از SnippetsLab پرونده JSON را انتخاب کنید.", - "3": [ - "برخی محدودیت‌ها در هنگام مهاجرت از SnippetsLab:", - "همه پوشه‌ها سطح اول خواهند بود زیرا پرونده JSON (زیر نگارش ۲٫۱) پوشه‌های تودرتو را نشان نمی‌دهد.", - "اسنیپت‌هایی با زبان‌های پشتیبانی‌نشده رو متن ساده پیش‌فرض تنظیم می‌شوند." - ] - }, - "htmlCssPreview": "برای دیدن نتیجه، فرگمنت‌هایی را با زبان‌های HTML و CSS اضافه کنید.", - "codeBlockRenderer": [ - "هنگام استفاده از Codemirror، زبانی که برای بلوک کد تنظیم می‌شود باید با یکی از مقادیر زبان‌ها مطابقت داشته باشد:", - "زبان‌های پشتیبانی‌شده" - ] - }, - "success": { - "migrate": "پایگاه داده با موفقیت منتقل شد." - }, - "error": { - "folderContainDb": "پوشه از قبل دارای \"db.json\" است.", - "folderNotContainDb": "پوشه دارای \"db.json\" نیست." - }, - "unsponsored": "بدون حمایت", - "supportMessage": "سلام، اینجا آنتون هستم 👋

    \nاز استفاده از massCode متشکرم. اگر این برنامه را مفید می‌یابید، لطفاً {{-tagStart}} کمک مالی {{-tagEnd}} کنید. این باعث می‌شود تا من برای ادامه توسعه پروژه، الهام بگیرم.", - "snippetsShowcase": "ویترین اسنیپت‌ها" -} diff --git a/src/main/services/i18n/locales/fr_FR/common.json b/src/main/services/i18n/locales/fr_FR/common.json deleted file mode 100644 index 91737a1a..00000000 --- a/src/main/services/i18n/locales/fr_FR/common.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "button": { - "moveStorage": "Déplacer le Stockage", - "openStorage": "Ouvrir le Stockage", - "newStorage": "Nouveau Stockage", - "reloadStorage": "Recharger le Stockage", - "fromMassCodeV1": "Depuis massCode v1.0", - "fromSnippetsLab": "Depuis SnippetsLab", - "confirm": "Confirmer", - "cancel": "Annuler", - "update": ["Aller vers GitHub", "OK"], - "ok": "OK", - "clear": "Effacer", - "copy": "Copier", - "sort": "Trier", - "revers": "Retour arrière", - "generate": "Générer" - }, - "newFolder": "Nouveau dossier", - "newSnippet": "Nouvel extrait", - "newFragment": "Nouveau Fragment", - "addDescription": "Ajouter description", - "addToFavorites": "Ajouter aux favoris", - "addTag": "Ajouter une étiquette", - "exportToHtml": "Exporter en HTML", - "saveScreenshot": "Sauvegarder copie d'écran", - "rename": "Renommer", - "duplicate": "Dupliquer", - "delete": "Effacer", - "deleteNow": "Effacer maintenant", - "defaultLanguage": "Langage par défaut", - "removeFromFavorites": "Enlever des favoris", - "emptyTrash": "vider la poubelle", - "close": "Fermer", - "folder": { - "untitled": "Dossier sans titre", - "plural": "Dossiers" - }, - "snippet": { - "untitled": "Extrait sans titre", - "plural": "Extraits", - "emptyName": "Tapez le nom de l'extrait", - "selectedMultiple": "{{count}} extraits sélectionnés", - "noSelected": "Pas d'extrait sélectionné" - }, - "fragment": "Fragment", - "search": "Recherche", - "line": "Ligne", - "column": "Colonne", - "sidebar": { - "inbox": "Boîte de réception", - "favorites": "Favoris", - "allSnippets": "Tous les extraits", - "trash": "Poubelle", - "untitled": "Dossier sans titre", - "folders": "Dossiers", - "library": "Bibliothèque", - "tags": "Etiquettes" - }, - "darkMode": "Mode sombre", - "background": "Arrière plan", - "restartApp": "Redémarrer massCode", - "updateAvailable": "Mise à jour disponible", - "hide": "Cacher", - "show": "Montrer", - "collapse-all": "Tout Réduire", - "expand-all": "Tout étendre", - "restore": "Restaurer", - "copy-snippet-link": "Copier lien extrait", - "set-custom-icon": "Définir une icône personnalisée" -} diff --git a/src/main/services/i18n/locales/fr_FR/devtools.json b/src/main/services/i18n/locales/fr_FR/devtools.json deleted file mode 100644 index f39a033f..00000000 --- a/src/main/services/i18n/locales/fr_FR/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Chaîne d'entrée", - "outputString": "Chaîne de sortie", - "inputUrl": "URL d'entrée", - "outputUrl": "URL de sortie", - "parsedUrl": "URL analysée", - "splitQueryString": "Fractionner la chaîne de requête", - "key": "Clef", - "value": "Valeur", - "component": "Composant", - "result": "Résultat", - "secretKey": "Clef secrète", - "algorithm": "Algorithme", - "version": "Version", - "amount": "Montant", - "type": "Type", - "length": "Longueur", - "options": "Options", - "numbers": "Nombres", - "symbols": "Symboles", - "lowercase": "Minuscule", - "uppercase": "Majuscule" - }, - "textTools": { - "label": "Outils de texte", - "caseConverter": "Convertisseur de casse", - "urlParser": "Analyseur URL", - "slugGenerator": "Générateur Slug", - "sortLines": "Trier lignes" - }, - "crypto": { - "label": "Cryptographie / Sécurité", - "hashGenerator": "Générateur de Hash", - "hmacGenerator": "Générateur de HMAC", - "passGenerator": "Générateur de mot de passe", - "uuidGenerator": "Générateur de UUID" - }, - "encodeDecode": { - "label": "Encodeurs / Décodeurs", - "url": "Encodeurs / Décodeurs URL", - "base64": "Encodeurs / Décodeurs Base64" - } -} diff --git a/src/main/services/i18n/locales/fr_FR/dialog.json b/src/main/services/i18n/locales/fr_FR/dialog.json deleted file mode 100644 index 5b39693f..00000000 --- a/src/main/services/i18n/locales/fr_FR/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Etes-vous sûr de vouloir effacer de façon permanente {{name}}?", - "deleteConfirmMultipleSnippets": "Etes-vous sûr de vouloir effacer de façon permanente {{count}} extraits sélectionnés ?", - "noUndo": "vous ne pouvez pas annuler cette action.", - "allSnippetsMoveToTrash": "Tous les extraits de ce dossier seront déplacés vers la corbeille.", - "deleteTag": "Cette étiquette sera également supprimée de tous les extraits.", - "emptyTrash": "Êtes-vous sûr de vouloir supprimer définitivement tous les extraits dans la corbeille ?", - "migrateConfirm": [ - "Êtes-vous sûr de vouloir migrer de {{name}}?", - "Lors de la migration, la bibliothèque actuelle sera écrasée." - ], - "createDb": "Veuillez sélectionner un autre dossier" -} diff --git a/src/main/services/i18n/locales/fr_FR/menu.json b/src/main/services/i18n/locales/fr_FR/menu.json deleted file mode 100644 index 4fc094c4..00000000 --- a/src/main/services/i18n/locales/fr_FR/menu.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Préférences", - "update": { - "label": "Vérifier mise à jour ...", - "message": "La version {{newVersion}} est maintenant disponible au téléchargement.\nVotre version est la {{oldVersion}}.", - "button": ["Allez au téléchargement", "OK"], - "noUpdate": "Il n'y a actuellement aucune mise à jour disponible." - }, - "quit": "Quitter massCode", - "about": "A propos de massCode", - "hide": "Cacher massCode", - "hideOther": "Cacher les autres", - "showAll": "Tout montrer" - }, - "help": { - "label": "Aide", - "website": "Site web", - "documentation": "Documentation", - "viewInGitHub": "Voir dans GitHub", - "changeLog": "Log des changements", - "reportIssue": "Rapporter un problème", - "giveStar": "Donner une étoile", - "extension": { - "vscode": "Extension VS Code", - "raycast": "Extension Raycast", - "alfred": "Extension Alfred" - }, - "donate": { - "openCollective": "Faire une donation à un collectif ouvert (Open)", - "payPal": "Faire une donation via PayPal", - "gumroad": "Faire une donation via Gumroad (Visa, Mastercard, etc.)" - }, - "twitter": "Twitter", - "devTools": "Basculer vers les outils développeurs", - "links": { - "snippets": "Collection d'extraits" - } - }, - "file": { - "label": "Fichier", - "find": "Trouver" - }, - "view": { - "label": "Affichage", - "sortBy": { - "label": "Trier les extraits par", - "dateModified": "Date modifiée", - "dateCreated": "Date de création", - "name": "Nom" - }, - "hideSubfolderSnippets": "Masquer les sous-dossier des extraits", - "compactMode": "Mode compacté" - }, - "edit": { - "label": "Edition", - "undo": "Annuler", - "redo": "Refaire", - "cut": "Couper", - "copy": "Copier", - "paste": "Coller", - "delete": "Effacer", - "selectAll": "Tout sélectionner" - }, - "editor": { - "label": "Editeur", - "copy": "Copier extrait vers presse-papier", - "format": "Formatter", - "previewCode": "Prévisualisation Code", - "previewScreenshot": "Prévisualisation copie écran", - "previewMarkdown": "Prévisualisation Markdown", - "fontSizeIncrease": "Augmentation taille police", - "fontSizeDecrease": "Diminution taille police", - "fontSizeReset": "Réinitialisation taille police" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Mode présentation", - "preview": "Prévisualisation" - }, - "history": { - "label": "Historique", - "back": "Retour arrière", - "forward": "Avance" - }, - "devtools": { - "label": "Outils développeur" - } -} diff --git a/src/main/services/i18n/locales/fr_FR/preferences.json b/src/main/services/i18n/locales/fr_FR/preferences.json deleted file mode 100644 index e6e41a59..00000000 --- a/src/main/services/i18n/locales/fr_FR/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Préférences", - "storage": { - "label": "Stockage", - "migrate": "Migration", - "count": "Compteur" - }, - "editor": { - "label": "Edition", - "fontSize": "Taille police de caractères", - "fontFamily": "Famille de polices", - "wrap": { - "label": "Enveloppage", - "wordWrap": "Retour à la ligne", - "off": "inactif" - }, - "tabSize": "Taille des onglets", - "showInvisibles": "Montrer les invisibles", - "highlightLine": "Mettre une ligne en surbrillance", - "highlightGutter": "Mise en évidence de la gouttière", - "matchBrackets": "Support des accolades", - "prettier": { - "label": "Plus jolie", - "trailingComma": { - "label": "Virgule à la fin", - "none": "Aucune", - "all": "toutes", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Apostrophe" - } - }, - "appearance": { - "label": "Apparence", - "theme": { - "label": "Thème", - "light": "Clair", - "dark": "Sombre" - } - }, - "language": { - "label": "Langage" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Bloc de code Renderer" - } -} diff --git a/src/main/services/i18n/locales/fr_FR/special.json b/src/main/services/i18n/locales/fr_FR/special.json deleted file mode 100644 index 39e53a14..00000000 --- a/src/main/services/i18n/locales/fr_FR/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Pour utiliser des services de synchronisation comme iCloud Drive, Google Drive ou Dropbox, il suffit de déplacer le stockage vers les dossiers synchronisés correspondants", - "migrate": { - "1": "Pour migrer à partir de massCode v1.0, sélectionnez le dossier contenant les fichiers de la base de données.", - "2": "Pour migrer depuis SnippetsLab, sélectionnez le fichier JSON.", - "3": [ - "Quelques limitations. Lors de la migration de SnippetsLab :", - "Tous les dossiers seront de premier niveau car le fichier JSON (inférieur à la version 2.1) ne représente pas les dossiers imbriqués.", - "Les extraits dont la langue n'est pas prise en charge seront définis comme du texte brut par défaut." - ] - }, - "htmlCssPreview": "Ajouter des fragments avec les langages HTML et CSS pour voir le résultat.", - "codeBlockRenderer": [ - "Lors de l'utilisation de Codemirror, le langage à définir pour le bloc de code doit correspondre à l'une des valeurs des", - "langages" - ] - }, - "success": { - "migrate": "Migration réussie de la base de données." - }, - "error": { - "folderContainDb": "Le dossier contient déjà \"db.json\".", - "folderNotContainDb": "Dossier ne contenant pas \"db.json\"." - }, - "unsponsored": "Non sponsorisé", - "supportMessage": "Bonjour, ici Anton 👋

    \nMerci d'avoir utilisé massCode. Si vous trouvez cette application utile, veuillez {{-tagStart}} donate {{-tagEnd}}. Cela m'incitera à poursuivre le développement du projet.", - "snippetsShowcase": "Vitrine des extraits" -} diff --git a/src/main/services/i18n/locales/ja_JP/common.json b/src/main/services/i18n/locales/ja_JP/common.json deleted file mode 100644 index 6bc7a1e3..00000000 --- a/src/main/services/i18n/locales/ja_JP/common.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "button": { - "moveStorage": "ストレージを移動", - "openStorage": "ストレージを開く", - "newStorage": "新規ストレージ", - "fromMassCodeV1": "massCode v1.0から", - "fromSnippetsLab": "SnippetsLabから", - "confirm": "OK", - "cancel": "キャンセル", - "update": ["GitHubへ", "OK"], - "ok": "OK" - }, - "newFolder": "新規フォルダ", - "newSnippet": "新規スニペット", - "newFragment": "新規フラグメント", - "addDescription": "説明を追加", - "addToFavorites": "お気に入りに追加", - "addTag": "タグを追加", - "exportToHtml": "HTMLにエキスポート", - "saveScreenshot": "スクリーンショットを保存", - "rename": "名前変更", - "duplicate": "複製", - "delete": "削除", - "deleteNow": "すぐに削除", - "defaultLanguage": "標準の言語", - "removeFromFavorites": "お気に入りから削除", - "emptyTrash": "ゴミ箱を空に", - "close": "閉じる", - "folder": { - "untitled": "名称未設定フォルダ", - "plural": "フォルダ" - }, - "snippet": { - "untitled": "名称未設定スニペット", - "plural": "スニペット", - "emptyName": "スニペット名を付ける", - "selectedMultiple": "{{count}} 個のスニペットを選択中", - "noSelected": "スニペットは選択されていません" - }, - "fragment": "フラグメント", - "search": "検索", - "line": "行", - "column": "列", - "sidebar": { - "inbox": "カテゴリなし", - "favorites": "お気に入り", - "allSnippets": "すべてのスニペット", - "trash": "ゴミ箱", - "untitled": "名称未設定フォルダ", - "folders": "フォルダ", - "library": "ライブラリ", - "tags": "タグ" - }, - "darkMode": "ダークモード", - "background": "背景", - "restartApp": "massCodeを再起動", - "updateAvailable": "アップデートがあります", - "hide": "隠す", - "show": "表示する", - "collapse-all": "すべて縮小", - "expand-all": "すべて展開", - "restore": "回復", - "copy-snippet-link": "スニペットリンクをコピー", - "set-custom-icon": "カスタムアイコンを設定" -} diff --git a/src/main/services/i18n/locales/ja_JP/dialog.json b/src/main/services/i18n/locales/ja_JP/dialog.json deleted file mode 100644 index a115fa17..00000000 --- a/src/main/services/i18n/locales/ja_JP/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "{{name}} を完全に削除してよろしいですか?", - "deleteConfirmMultipleSnippets": "選択している {{count}} 個のスニペットを完全に削除してよろしいですか?", - "noUndo": "この操作は復元できません。", - "allSnippetsMoveToTrash": "このフォルダー内のスニペットはすべてゴミ箱に移動されます。", - "deleteTag": "すべてのスニペットからこのタグが削除されます。", - "emptyTrash": "ゴミ箱に入っている全てのスニペットが完全に削除されます。よろしいですか?", - "migrateConfirm": [ - "{{name}} からデータが移行されます。よろしいですか?", - "現在のライブラリは全て上書きされます。" - ], - "createDb": "別のフォルダを選択してください。" -} diff --git a/src/main/services/i18n/locales/ja_JP/menu.json b/src/main/services/i18n/locales/ja_JP/menu.json deleted file mode 100644 index e87a4804..00000000 --- a/src/main/services/i18n/locales/ja_JP/menu.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "設定", - "update": { - "label": "アップデートがあるか確認", - "message": "バージョン {{newVersion}} がダウンロード可能です。\n現在使用しているバージョンは {{oldVersion}} です。", - "button": ["ダウンロードに進む", "OK"], - "noUpdate": "アップデートはありません。" - }, - "quit": "massCodeを終了", - "about": "massCodeについて", - "hide": "massCodeを隠す", - "hideOther": "他を隠す", - "showAll": "すべて表示" - }, - "help": { - "label": "ヘルプ", - "website": "ウェブサイト", - "documentation": "ドキュメント", - "viewInGitHub": "GitHubで見る", - "changeLog": "更新履歴", - "reportIssue": "課題を提出", - "giveStar": "スターを付ける", - "extension": { - "vscode": "VS Code 拡張機能", - "raycast": "Raycast 拡張機能", - "alfred": "Alfred 拡張機能" - }, - "donate": { - "openCollective": "Open Collectiveで寄付をする", - "payPal": "PayPalで寄付をする", - "gumroad": "Gumroadで寄付をする(Visa, Mastercardなどが使えます)" - }, - "twitter": "Twitter", - "devTools": "Developer Toolsを表示", - "links": { - "snippets": "スニペットコレクション" - } - }, - "file": { - "label": "ファイル", - "find": "検索" - }, - "view": { - "label": "表示", - "sortBy": { - "label": "スニペットの整列", - "dateModified": "更新日", - "dateCreated": "作成日", - "name": "名前" - }, - "hideSubfolderSnippets": "サブフォルダのスニペットを隠す", - "compactMode": "コンパクトモード" - }, - "edit": { - "label": "ラベル", - "undo": "元に戻す", - "redo": "やり直し", - "cut": "切り取り", - "copy": "コピー", - "paste": "貼り付け", - "delete": "削除", - "selectAll": "すべて選択" - }, - "editor": { - "label": "エディタ", - "copy": "スニペットをクリップボードにコピー", - "format": "フォーマット", - "previewMarkdown": "Markdownをプレビュー", - "previewCode": "コードをプレビュー", - "previewScreenshot": "スクリーンショットをプレビュー", - "fontSizeIncrease": "フォントを拡大", - "fontSizeDecrease": "フォントを縮小", - "fontSizeReset": "フォントサイズをリセット" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "プレゼンテーションモード", - "preview": "プレビュー" - }, - "history": { - "label": "履歴", - "back": "戻る", - "forward": "進む" - } -} diff --git a/src/main/services/i18n/locales/ja_JP/preferences.json b/src/main/services/i18n/locales/ja_JP/preferences.json deleted file mode 100644 index 62804ea5..00000000 --- a/src/main/services/i18n/locales/ja_JP/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "設定", - "storage": { - "label": "ストレージ", - "migrate": "データの移行", - "count": "登録個数" - }, - "editor": { - "label": "エディタ", - "fontSize": "フォントサイズ", - "fontFamily": "フォントファミリ", - "wrap": { - "label": "行の折り返し", - "wordWrap": "折り返す", - "off": "折り返ししない" - }, - "tabSize": "タブサイズ", - "showInvisibles": "非表示文字を表示する", - "highlightLine": "行をハイライトする", - "highlightGutter": "ガターをハイライトする", - "matchBrackets": "ブラケットの強調", - "prettier": { - "label": "行の整形", - "trailingComma": { - "label": "末尾のコンマ", - "none": "何もしない", - "all": "すべて", - "es5": "ES5準拠" - }, - "semi": "セミコロン", - "singleQuote": "シングルクォーテーション" - } - }, - "appearance": { - "label": "外観", - "theme": { - "label": "テーマ", - "light": "ライト", - "dark": "ダーク" - } - }, - "language": { - "label": "表示言語" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "コードブロックレンダラ" - } -} diff --git a/src/main/services/i18n/locales/ja_JP/special.json b/src/main/services/i18n/locales/ja_JP/special.json deleted file mode 100644 index 79ac45b6..00000000 --- a/src/main/services/i18n/locales/ja_JP/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "iCloud Drive、Google Drive、Dropboxなどの同期サービスを利用する場合は、ストレージフォルダを同期フォルダに移動するだけです。", - "migrate": { - "1": "massCode v1.0 から移行する場合は、データベースファイルのあるフォルダーを選択します。", - "2": "SnippetsLabから移行する場合は、JSONファイルを選択します。", - "3": [ - "SnippetsLab.JPから移行時の制限事項:", - "JSONファイル(v2.1以下)はネストしたフォルダを表現できないため、すべてのフォルダは第一階層となります。", - "サポートされていない言語のスニペットは、デフォルトのPlain Textに設定されます。" - ] - }, - "htmlCssPreview": "HTMLやCSS言語によるフラグメントを追加して、結果を表示することができます。", - "codeBlockRenderer": [ - "Codemirrorを使用する場合、コードブロックに設定する言語は下記対応言語の中からのみ選択できます。", - "対応言語一覧" - ] - }, - "success": { - "migrate": "データの移行が完了しました。" - }, - "error": { - "folderContainDb": "フォルダにはすでに \"db.json\" が存在します。", - "folderNotContainDb": "フォルダには \"db.json\" が存在しません。" - }, - "unsponsored": "サポートしていません", - "supportMessage": "やあ!アントンです👋

    \nmassCodeを使ってくれてありがとう。もしあなたがこのソフトを気に入ったのなら、ぜひ{{-tagStart}}寄付{{-tagEnd}}をお願いします!。 massCodeを開発し続けるための力になります。", - "snippetsShowcase": "スニペットライブラリ" -} diff --git a/src/main/services/i18n/locales/pl/common.json b/src/main/services/i18n/locales/pl/common.json deleted file mode 100644 index da1cc563..00000000 --- a/src/main/services/i18n/locales/pl/common.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "button": { - "moveStorage": "Przenieś Magazyn", - "openStorage": "Otwórz Magazyn", - "newStorage": "Nowy Magazyn", - "reloadStorage": "Przeładuj Magazyn", - "fromMassCodeV1": "Z massCode v1.0", - "fromSnippetsLab": "Z SnippetsLab", - "confirm": "Potwierdź", - "cancel": "Anuluj", - "update": ["Przejdź do GitHuba", "OK"], - "ok": "OK", - "clear": "Wyczyść", - "copy": "Kopiuj", - "sort": "Sortuj", - "revers": "Odwróć", - "generate": "Generuj", - "saveAs": "Zapisz jako", - "zoomIn": "Powiększ", - "zoomOut": "Pomniejsz", - "fit": "Dopasuj" - }, - "newFolder": "Nowy folder", - "newSnippet": "Nowy fragment kodu", - "newFragment": "Nowy fragment", - "addDescription": "Dodaj opis", - "addToFavorites": "Dodaj do ulubionych", - "addTag": "Dodaj Tag", - "exportToHtml": "Eksportuj do HTML", - "rename": "Zmień nazwę", - "duplicate": "Duplikuj", - "delete": "Usuń", - "deleteNow": "Usuń teraz", - "defaultLanguage": "Domyślny język", - "removeFromFavorites": "Usuń z Ulubionych", - "emptyTrash": "Opróżnij kosz", - "close": "Zamknij", - "folder": { - "untitled": "Bez tytułu", - "plural": "Foldery" - }, - "snippet": { - "untitled": "Bez tytułu", - "plural": "Fragmenty Kodu", - "emptyName": "Wprowadź nazwę fragmentu", - "selectedMultiple": "{{count}} zaznaczonych fragmentów kodu", - "noSelected": "Brak zaznaczonych fragmentów kodu" - }, - "fragment": "Fragment", - "search": "Szukaj", - "line": "Linia", - "column": "Kolumna", - "sidebar": { - "inbox": "Skrzynka odbiorcza", - "favorites": "Ulubione", - "allSnippets": "Wszystkie Fragmenty Kodu", - "trash": "Kosz", - "untitled": "Bez tytułu", - "folders": "Foldery", - "library": "Biblioteka", - "tags": "Tagi" - }, - "darkMode": "Tryb ciemny", - "background": "Tło", - "restartApp": "Uruchom ponownie massCode", - "updateAvailable": "Dostępna aktualizacja", - "hide": "Ukryj", - "show": "Pokaż", - "collapse-all": "Zwiń wszystko", - "expand-all": "Rozwiń wszystko", - "restore": "Przywróć", - "copy-snippet-link": "Skopiuj link do fragmentu kodu", - "set-custom-icon": "Ustaw niestandardową ikonę" -} diff --git a/src/main/services/i18n/locales/pl/devtools.json b/src/main/services/i18n/locales/pl/devtools.json deleted file mode 100644 index c2a34446..00000000 --- a/src/main/services/i18n/locales/pl/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Wejściowy Ciąg", - "outputString": "Wyjściowy Ciąg", - "inputUrl": "Wejściowy URL", - "outputUrl": "Wyjściowy URL", - "parsedUrl": "Przetworzony URL", - "splitQueryString": "Podziel Ciąg zapytań", - "key": "Klucz", - "value": "Wartość", - "component": "Komponent", - "result": "Wynik", - "secretKey": "Sekretny Klucz", - "algorithm": "Algorytm", - "version": "Wersja", - "amount": "Ilość", - "type": "Typ", - "length": "Długość", - "options": "Opcje", - "numbers": "Liczby", - "symbols": "Symbole", - "lowercase": "Małe Litery", - "uppercase": "Wielkie Litery" - }, - "textTools": { - "label": "Narzędzia Tekstowe", - "caseConverter": "Konwerter Wielkości Liter", - "urlParser": "Analizator URL", - "slugGenerator": "Generator Slugów", - "sortLines": "Sortuj Linie" - }, - "crypto": { - "label": "Kryptografia / Bezpieczeństwo", - "hashGenerator": "Generator Hashy", - "hmacGenerator": "Generator HMAC", - "passGenerator": "Generator Hasła", - "uuidGenerator": "Generator UUID" - }, - "encodeDecode": { - "label": "Kodery / Dekodery", - "url": "Koder / Dekoder URL", - "base64": "Koder / Dekoder Base64" - } -} diff --git a/src/main/services/i18n/locales/pl/dialog.json b/src/main/services/i18n/locales/pl/dialog.json deleted file mode 100644 index fd9d0b34..00000000 --- a/src/main/services/i18n/locales/pl/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Czy na pewno chcesz trwale usunąć {{name}}?", - "deleteConfirmMultipleSnippets": "Czy na pewno chcesz trwale usunąć {{count}} wybrane fragmenty kodu?", - "noUndo": "Nie można cofnąć tej czynności.", - "allSnippetsMoveToTrash": "Wszystkie fragmenty kodu w tym folderze zostaną przeniesione do kosza.", - "deleteTag": "Spowoduje to także usunięcie tagu we wszystkich fragmentach kodu.", - "emptyTrash": "Czy na pewno chcesz trwale usunąć wszystkie fragmenty kodu w koszu?", - "migrateConfirm": [ - "Czy na pewno chcesz przeprowadzić migrację z {{name}}?", - "Podczas migracji bieżąca biblioteka zostanie nadpisana." - ], - "createDb": "Proszę wybrać inny folder" -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/pl/menu.json b/src/main/services/i18n/locales/pl/menu.json deleted file mode 100644 index e457ef7b..00000000 --- a/src/main/services/i18n/locales/pl/menu.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Preferencje", - "update": { - "label": "Sprawdź aktualizacje...", - "message": "Wersja {{newVersion}} jest teraz dostępna do pobrania.\nTwoja wersja to {{oldVersion}}.", - "button": ["Przejdź do Pobierania", "OK"], - "noUpdate": "Obecnie nie ma dostępnych aktualizacji." - }, - "quit": "Zakończ massCode", - "about": "O massCode", - "hide": "Ukryj massCode", - "hideOther": "Ukryj Inne", - "showAll": "Pokaż Wszystkie" - }, - "help": { - "label": "Pomoc", - "website": "Strona internetowa", - "documentation": "Dokumentacja", - "viewInGitHub": "Zobacz na GitHubie", - "changeLog": "Dziennik Zmian", - "reportIssue": "Zgłoś Problem", - "giveStar": "Dodaj Gwiazdkę", - "extension": { - "vscode": "Rozszerzenie dla VS Code", - "raycast": "Rozszerzenie dla Raycast", - "alfred": "Rozszerzenie dla Alfred" - }, - "donate": { - "openCollective": "Wesprzyj na Open Collective", - "payPal": "Wesprzyj przez PayPal", - "gumroad": "Wesprzyj przez Gumroad (Visa, Mastercard itp.)" - }, - "twitter": "Twitter", - "devTools": "Przełącz narzędzia deweloperskie", - "links": { - "snippets": "Zbiór Fragmentów Kodu" - } - }, - "file": { - "label": "Plik", - "find": "Znajdź" - }, - "view": { - "label": "Widok", - "sortBy": { - "label": "Sortuj Fragmenty Kodu według", - "dateModified": "Daty Modyfikacji", - "dateCreated": "Daty Utworzenia", - "name": "Nazwy" - }, - "hideSubfolderSnippets": "Ukryj Fragmenty z Podfolderów", - "compactMode": "Tryb Kompaktowy" - }, - "edit": { - "label": "Edytuj", - "undo": "Cofnij", - "redo": "Ponów", - "cut": "Wytnij", - "copy": "Kopiuj", - "paste": "Wklej", - "delete": "Usuń", - "selectAll": "Zaznacz Wszystko" - }, - "editor": { - "label": "Edytor", - "copy": "Skopiuj Fragment do Schowka", - "format": "Formatuj", - "previewCode": "Podgląd Kodu", - "previewScreenshot": "Podgląd Zrzutu Ekranu", - "previewMarkdown": "Podgląd Markdown", - "previewMindmap": "Podgląd Mapy Myśli", - "fontSizeIncrease": "Zwiększ Rozmiar Czcionki", - "fontSizeDecrease": "Zmniejsz Rozmiar Czcionki", - "fontSizeReset": "Resetuj Rozmiar Czcionki" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Tryb Prezentacji", - "preview": "Podgląd" - }, - "history": { - "label": "Historia", - "back": "Wstecz", - "forward": "Dalej" - }, - "devtools": { - "label": "Narzędzia Deweloperskie" - } -} diff --git a/src/main/services/i18n/locales/pl/preferences.json b/src/main/services/i18n/locales/pl/preferences.json deleted file mode 100644 index 27c326f8..00000000 --- a/src/main/services/i18n/locales/pl/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Preferencje", - "storage": { - "label": "Magazyn", - "migrate": "Migruj", - "count": "Liczba" - }, - "editor": { - "label": "Edytor", - "fontSize": "Rozmiar Czcionki", - "fontFamily": "Rodzina Czcionek", - "wrap": { - "label": "Zawijanie", - "wordWrap": "Zawijanie Wyrazów", - "off": "Wyłączone" - }, - "tabSize": "Rozmiar Tabulatora", - "showInvisibles": "Pokaż Niewidoczne", - "highlightLine": "Podświetl Linię", - "highlightGutter": "Podświetl Margines", - "matchBrackets": "Podświetl Nawiasy", - "prettier": { - "label": "Upiększenie", - "trailingComma": { - "label": "Przecinek na Końcu", - "none": "Brak", - "all": "Wszystkie", - "es5": "ES5" - }, - "semi": "Średnik", - "singleQuote": "Cudzysłów pojedynczy" - } - }, - "appearance": { - "label": "Wygląd", - "theme": { - "label": "Motyw", - "light": "Jasny", - "dark": "Ciemny" - } - }, - "language": { - "label": "Język" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Render bloku kodu" - } -} diff --git a/src/main/services/i18n/locales/pl/special.json b/src/main/services/i18n/locales/pl/special.json deleted file mode 100644 index 27964c0e..00000000 --- a/src/main/services/i18n/locales/pl/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Aby korzystać z usług synchronizacji, takich jak iCloud Drive, Google Drive lub Dropbox, po prostu przenieś magazyn do odpowiadających im zsynchronizowanych folderów.", - "migrate": { - "1": "Aby przeprowadzić migrację z massCode v1.0, wybierz folder zawierający pliki bazy danych.", - "2": "Aby przeprowadzić migrację ze SnippetsLab, wybierz plik JSON.", - "3": [ - "Niektóre ograniczenia. Podczas migracji ze SnippetsLab:", - "Wszystkie foldery będą na pierwszym poziomie, ponieważ plik JSON (poniżej wersji 2.1) nie reprezentuje zagnieżdżonych folderów.", - "Fragmenty kodu w nieobsługiwanych językach zostaną ustawione jako domyślny Zwykły Tekst." - ] - }, - "htmlCssPreview": "Dodaj fragmenty kodu w językach HTML i CSS, aby zobaczyć wynik.", - "codeBlockRenderer": [ - "Podczas korzystania z Codemirror, język dla bloku kodu musi odpowiadać jednej z wartości", - "dostępnych języków" - ] - }, - "success": { - "migrate": "Pomyślnie przeprowadzono migrację bazy danych." - }, - "error": { - "folderContainDb": "Folder już zawiera plik \"db.json\".", - "folderNotContainDb": "Folder nie zawiera pliku \"db.json\"." - }, - "unsponsored": "Bez Sponsorów", - "supportMessage": "Cześć, tutaj Anton 👋

    \nDzięki za korzystanie z massCode. Jeśli uważasz, że ta aplikacja jest użyteczna, proszę {{-tagStart}} wesprzyj nas finansowo {{-tagEnd}}. To zmotywuje mnie do kontynuowania pracy nad projektem.", - "snippetsShowcase": "Przykłady Fragmentów Kodu" -} diff --git a/src/main/services/i18n/locales/pt_BR/common.json b/src/main/services/i18n/locales/pt_BR/common.json deleted file mode 100644 index 161cbdc8..00000000 --- a/src/main/services/i18n/locales/pt_BR/common.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "button": { - "moveStorage": "Mover itens armazenados", - "openStorage": "Abrir armazenamento ", - "newStorage": "Novo armazenamento", - "fromMassCodeV1": "Vindo do Masscode v1.0", - "fromSnippetsLab": "Vindo do SnippetsLab", - "confirm": "Confirmar", - "cancel": "Cancelar", - "update": ["Ir para o GitHub", "OK"], - "ok": "OK" - }, - "newFolder": "Nova pasta", - "newSnippet": "Novo snippet", - "newFragment": "Novo fragmento", - "addDescription": "Adicionar descrição", - "addToFavorites": "Adicionar aos favoritos", - "addTag": "Adicionar etiqueta", - "exportToHtml": "Exportar para HTML", - "saveScreenshot": "Salvar captura de tela", - "rename": "Renomear", - "duplicate": "Duplicar", - "delete": "Apagar", - "deleteNow": "Apagar agora", - "defaultLanguage": "Linguagem padrão", - "removeFromFavorites": "Remover dos favoritos", - "emptyTrash": "Esvaziar lixeira", - "close": "Fechar", - "folder": { - "untitled": "Pasta sem título", - "plural": "Pastas" - }, - "snippet": { - "untitled": "snippet sem título", - "plural": "Snippets", - "emptyName": "Digite o nome do snippet", - "selectedMultiple": "{{count}} snippets selecionados", - "noSelected": "Nenhum snippet selecionado" - }, - "fragment": "Fragmento", - "search": "Buscar", - "line": "Linha", - "column": "Coluna", - "sidebar": { - "inbox": "Caixa de entrada", - "favorites": "Favoritos", - "allSnippets": "Todos os snippets", - "trash": "Lixeira", - "untitled": "Pasta sem título", - "folders": "Pastas", - "library": "Biblioteca", - "tags": "Etiquetas" - }, - "darkMode": "Modo escuro", - "background": "Fundo", - "restartApp": "Reiniciar massCode", - "updateAvailable": "Atualização disponível", - "hide": "Ocultar", - "show": "Mostrar", - "collapse-all": "Recolher todos", - "expand-all": "Expandir todos", - "restore": "Restaurar", - "copy-snippet-link": "Copiar link deste snippet", - "set-custom-icon": "Definir ícone personalizado" -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/pt_BR/dialog.json b/src/main/services/i18n/locales/pt_BR/dialog.json deleted file mode 100644 index 1c2601b5..00000000 --- a/src/main/services/i18n/locales/pt_BR/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Tem certeza de que deseja excluir permanentemente {{name}}?", - "deleteConfirmMultipleSnippets": "Tem certeza de que deseja excluir permanentemente {{count}} snippets?", - "noUndo": "Você não pode desfazer esta ação.", - "allSnippetsMoveToTrash": "Todos os snippets nesta pasta serão movidos para a lixeira.", - "deleteTag": "Isso também fará com que todos os snippets tenham essa etiqueta removida.", - "emptyTrash": "Tem certeza de que deseja excluir permanentemente todos os snippets da Lixeira?", - "migrateConfirm": [ - "Tem certeza de que deseja migrar de {{name}}?", - "Durante a migração, a biblioteca atual será substituída." - ], - "createDb": "Por favor escolha outra pasta" -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/pt_BR/menu.json b/src/main/services/i18n/locales/pt_BR/menu.json deleted file mode 100644 index 1db5fa8d..00000000 --- a/src/main/services/i18n/locales/pt_BR/menu.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Preferências", - "update": { - "label": "Procurar por atualizações....", - "message": "Versão {{newVersion}} já está disponível para download.\nSua versão é {{oldVersion}}.", - "button": ["Ir até o Download", "OK"], - "noUpdate": "No momento, não há atualizações disponíveis." - }, - "quit": "Sair do massCode", - "about": "Sobre o massCode", - "hide": "Ocultar o massCode", - "hideOther": "Ocultar outros", - "showAll": "Mostrar tudo" - }, - "help": { - "label": "Ajuda", - "website": "Site", - "documentation": "Documentação", - "viewInGitHub": "Ver no GitHub", - "changeLog": "Registro de mudanças", - "reportIssue": "Reportar um problema", - "giveStar": "Dar estrela", - "extension": { - "vscode": "Extensão do VS code", - "raycast": "Extensão do Raycast", - "alfred": "Extensão do Alfred" - }, - "donate": { - "openCollective": "Doação coletiva", - "payPal": "Doação via PayPal" - }, - "twitter": "Twitter", - "devTools": "Ferramentas do desenvolvedor", - "links": { - "snippets": "Coleção de snippet" - } - }, - "file": { - "label": "Arquivo", - "find": "Buscar" - }, - "view": { - "label": "Visualizar", - "sortBy": { - "label": "Classificar snippes por", - "dateModified": "Data da modificação", - "dateCreated": "Data da criação", - "name": "Nome" - }, - "hideSubfolderSnippets": "Ocultar subpasta", - "compactMode": "Modo compacto" - }, - "edit": { - "label": "Editar", - "undo": "Desfazer", - "redo": "Refazer", - "cut": "Cortar", - "copy": "Copiar", - "paste": "Colar", - "delete": "Apagar", - "selectAll": "Selecionar tudo" - }, - "editor": { - "label": "Editor", - "copy": "Copiar para área de transferencia", - "format": "Formato", - "previewCode": "Pré-visualizar código", - "previewScreenshot": "Pré-visualizar captura de tela", - "previewMarkdown": "Pré-visualizar marcador", - "fontSizeIncrease": "Aumentar tamanho da fonte", - "fontSizeDecrease": "Diminuir tamanho da fonte", - "fontSizeReset": "Redefinir tamanho da fonte" - }, - "markdown": { - "label": "Marcador", - "presentationMode": "Modo de apresentação", - "preview": "Pré-visualizar" - }, - "history": { - "label": "Histórico", - "back": "Voltar", - "forward": "Avançar" - } -} diff --git a/src/main/services/i18n/locales/pt_BR/preferences.json b/src/main/services/i18n/locales/pt_BR/preferences.json deleted file mode 100644 index 899bfec0..00000000 --- a/src/main/services/i18n/locales/pt_BR/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Preferências", - "storage": { - "label": "Armazenar", - "migrate": "Migrar", - "count": "Total" - }, - "editor": { - "label": "Editor", - "fontSize": "Tamanho da fonte", - "fontFamily": "Nome da fonte", - "wrap": { - "label": "Quebra", - "wordWrap": "Quebra de linha", - "off": "Desligado" - }, - "tabSize": "Tamanho da aba", - "showInvisibles": "Mostrar itens ocultos", - "highlightLine": "Destacar linha", - "highlightGutter": "Destacar área em branco", - "matchBrackets": "Corresponder parênteses", - "prettier": { - "label": "Embelezar", - "trailingComma": { - "label": "Vírgula à direita", - "none": "Nenhum", - "all": "Tudo", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Citação única" - } - }, - "appearance": { - "label": "Aparência", - "theme": { - "label": "Tema", - "light": "Claro", - "dark": "Escuro" - } - }, - "language": { - "label": "Idioma" - }, - "markdown": { - "label": "Marcador", - "codeRenderer": "Renderizador de bloco de código" - } -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/pt_BR/special.json b/src/main/services/i18n/locales/pt_BR/special.json deleted file mode 100644 index 52a70d0d..00000000 --- a/src/main/services/i18n/locales/pt_BR/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Para usar serviços de sincronização como iCloud Drive, Google Drive ou Dropbox, basta mover o item armazenado para as pastas sincronizadas correspondentes", - "migrate": { - "1": "Para migrar do massCode versão 1.0 escolha a pasta que contém os arquivos do banco de dados.", - "2": "Para migrar do SnippetsLab escolha o arquivo JSON.", - "3": [ - "Algumas Limitações durante a migração do SnippetsLab:", - "Todas as pastas serão representadas no formato raiz, pois o arquivo JSON (abaixo da versão 2.1) não mostra pastas aninhadas.", - "Snippets com idiomas não suportados serão apresentados em formato texto simples." - ] - }, - "htmlCssPreview": "Adicione fragmentos em linguagens HTML e CSS para visualizar o resultado.", - "codeBlockRenderer": [ - "Ao usar o Codemirror, a linguagem selecionada para o bloco de código deve corresponder a um dos valores da ", - "linguagem atual" - ] - }, - "success": { - "migrate": "Migrado com sucesso." - }, - "error": { - "folderContainDb": "A pasta já contém \"db.json\".", - "folderNotContainDb": "Pasta não contém \"db.json\"." - }, - "unsponsored": "Não patrocinado", - "supportMessage": "Oi, Anton aqui 👋

    \nObrigado por usar o massCode. Se o aplicativo lhe for útil, por favor considere {{-tagStart}} uma doação {{-tagEnd}}. Isso me inspirará a continuar o desenvolvimento do projeto.", - "snippetsShowcase": "Exibição dos snippets" -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/ro_RO/common.json b/src/main/services/i18n/locales/ro_RO/common.json deleted file mode 100644 index 7a266fb5..00000000 --- a/src/main/services/i18n/locales/ro_RO/common.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "button": { - "moveStorage": "Mută stocarea", - "openStorage": "Deschide stocarea", - "newStorage": "Stocare nouă", - "fromMassCodeV1": "Din massCode v1.0", - "fromSnippetsLab": "Din SnippetsLab", - "confirm": "Confirmare", - "cancel": "Anulare", - "update": ["Mergi la GitHub", "În regulă"], - "ok": "În regulă" - }, - "newFolder": "Folder nou", - "newSnippet": "Fragment nou", - "newFragment": "Fragment nou", - "addDescription": "Adăugă o descriere", - "addToFavorites": "Adaugă la favorite", - "addTag": "Adăugă o etichetă", - "exportToHtml": "Export în HTML", - "saveScreenshot": "Salvează captura de ecran", - "rename": "Redenumește", - "duplicate": "Duplică", - "delete": "Șterge", - "deleteNow": "Șterge acum", - "defaultLanguage": "Limba implicită", - "removeFromFavorites": "Elimină din favorite", - "emptyTrash": "Golește coșul de gunoi", - "close": "Închide", - "folder": { - "untitled": "Folder fără titlu", - "plural": "Foldere" - }, - "snippet": { - "untitled": "Fragment fără titlu", - "plural": "Fragmente", - "emptyName": "Introduceți numele fragmentului", - "selectedMultiple": "{{count}} fragmente selectate", - "noSelected": "Niciun fragment selectat" -}, -"fragment": "Fragment", -"search": "Căutare", -"line": "Linie", -"column": "Coloană", -"sidebar": { -"inbox": "Inbox", -"favorites": "Favorite", -"allSnippets": "Toate fragmentele", -"trash": "Coș de gunoi", -"untitled": "Folder fără titlu", -"folders": "Foldere", -"library": "Bibliotecă", -"tags": "Etichete" -}, -"darkMode": "Mod întunecat", -"background": "Fundal", -"restartApp": "Repornește massCode", -"updateAvailable": "Actualizare disponibilă", -"hide": "Ascunde", -"show": "Arătă", -"collapse-all": "Restrânge tot", - "expand-all": "Extinde All", - "restore": "Restaurează", - "copy-snippet-link": "Copiați link-ul fragmentului" -} diff --git a/src/main/services/i18n/locales/ro_RO/dialog.json b/src/main/services/i18n/locales/ro_RO/dialog.json deleted file mode 100644 index 011d7103..00000000 --- a/src/main/services/i18n/locales/ro_RO/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Sigur dorești să ștergi permanent {{name}}?", - "deleteConfirmMultipleSnippets": "Sigur dorești să ștergi permanent {{count}} fragmente selectate?", - "noUndo": "Nu poți anula această acțiune.", - "allSnippetsMoveToTrash": "Toate fragmentele din acest folder vor fi mutate în coșul de gunoi.", - "deleteTag": "Acest lucru va provoca, de asemenea, eliminarea etichetei din toate fragmentele.", - "emptyTrash": "Sigur dorești să ștergi permanent toate fragmentele din Coșul de gunoi?", - "migrateConfirm": [ - "Sigur dorești să migrați din {{name}}?", - "În timpul migrației, biblioteca curentă va fi suprascrisă." - ], - "createDb": "Vă rugăm să selectați un alt folder" -} diff --git a/src/main/services/i18n/locales/ro_RO/menu.json b/src/main/services/i18n/locales/ro_RO/menu.json deleted file mode 100644 index 4f80781e..00000000 --- a/src/main/services/i18n/locales/ro_RO/menu.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Preferințe", - "update": { - "label": "Verificare actualizări....", - "message": "Versiunea {{newVersion}} este acum disponibilă pentru descărcare.\nVersiunea dvs. este {{oldVersion}}.", - "button": ["Du-te la Descărcare", "OK"], - "noUpdate": "Nu sunt disponibile actualizări în acest moment." - }, - "quit": "Ieși din massCode", - "about": "Despre massCode", - "hide": "Ascunde massCode", - "hideOther": "Ascunde celelalte", - "showAll": "Arată tot" - }, - "help": { - "label": "Ajutor", - "website": "Site web", - "documentation": "Documentație", - "viewInGitHub": "Vizualizează în GitHub", - "changeLog": "Jurnalul modificărilor", - "reportIssue": "Raportează o problemă", - "giveStar": "Dați o stea", - "extension": { - "vscode": "Extensie VS Code", - "raycast": "Extensie Raycast", - "alfred": "Extensie Alfred" - }, - "donate": { - "openCollective": "Donează pe Open Collective", - "payPal": "Donează prin PayPal", - "gumroad": "Donează prin Gumroad (Visa, Mastercard, etc.)" - }, - "twitter": "Twitter", - "devTools": "Comutare instrumente pentru dezvoltatori", - "links": { - "snippets": "Colecție de fragmente" - } - }, - "file": { - "label": "Fișier", - "find": "Căutați" - }, - "view": { - "label": "Vizualizare", - "sortBy": { - "label": "Sortează fragmentele după", - "dateModified": "Data modificării", - "dateCreated": "Data creării", - "name": "Nume" - } - }, - "edit": { - "label": "Editare", - "undo": "Anulați", - "redo": "Refaceți", - "cut": "Taie", - "copy": "Copiază", - "paste": "Lipește", - "delete": "Șterge", - "selectAll": "Selectează tot" - }, - "editor": { - "label": "Editor", - "copy": "Copiază fragmentul în clipboard", - "format": "Format", - "previewCode": "Previzualizare cod", - "previewScreenshot": "Previzualizare captură de ecran", - "previewMarkdown": "Previzualizare Markdown", - "fontSizeIncrease": "Creștere mărimea scrisului", - "fontSizeDecrease": "Scade mărimea scrisului", - "fontSizeReset": "Resetează mărimea scrisului" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Mod prezentare", - "preview": "Previzualizare" - }, - "history": { - "label": "Istoric", - "back": "Înapoi", - "forward": "Înainte" - } -} diff --git a/src/main/services/i18n/locales/ro_RO/preferences.json b/src/main/services/i18n/locales/ro_RO/preferences.json deleted file mode 100644 index 35c27e7c..00000000 --- a/src/main/services/i18n/locales/ro_RO/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Preferințe", - "storage": { - "label": "Stocare", - "migrate": "Migrează", - "count": "Numără" - }, - "editor": { - "label": "Editor", - "fontSize": "Mărime scris", - "fontFamily": "Familie scris", - "wrap": { - "label": "Înfășurare", - "wordWrap": "Înfășurare cuvânt", - "off": "Oprit" - }, - "tabSize": "Mărime tab", - "showInvisibles": "Arată invizibile", - "highlightLine": "Evidențiază linia", - "highlightGutter": "Evidențiază marginea", - "matchBrackets": "Potrivește parantezele", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Virgulă finală", - "none": "Niciunul", - "all": "Toate", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Ghilimele simple" - } - }, - "appearance": { - "label": "Aspect", - "theme": { - "label": "Temă", - "light": "Luminos", - "dark": "Întunecat" - } - }, - "language": { - "label": "Limbă" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Redator de cod" - } -} diff --git a/src/main/services/i18n/locales/ro_RO/special.json b/src/main/services/i18n/locales/ro_RO/special.json deleted file mode 100644 index a1d62618..00000000 --- a/src/main/services/i18n/locales/ro_RO/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Pentru a utiliza servicii de sincronizare precum iCloud Drive, Google Drive sau Dropbox, mutați simplu stocarea în dosarele sincronizate corespunzătoare", - "migrate": { - "1": "Pentru a migra de la massCode v1.0 selectați folderul care conține fișierele bazei de date.", - "2": "Pentru a migra de la SnippetsLab selectați fișierul JSON.", - "3": [ - "Unele limite. În timpul migrației de la SnippetsLab:", - "Toate folderele vor fi de primul nivel, deoarece fișierul JSON (sub v2.1) nu reprezintă foldere imbricate.", - "Fragmentele cu limbaje neacceptate vor fi setate ca text simplu implicit." - ] - }, - "htmlCssPreview": "Adăugați fragmente cu limbajele HTML & CSS pentru a vedea rezultatul.", - "codeBlockRenderer": [ - "Când utilizați Codemirror, limbajul care trebuie setat pentru blocul de cod trebuie să corespundă uneia dintre valorile", - "limbajelor" - ] - }, - "success": { - "migrate": "DB migrat cu succes." - }, - "error": { - "folderContainDb": "Folderul conține deja \"db.json\".", - "folderNotContainDb": "Folderul nu conține \"db.json\"." - }, - "unsponsored": "Nesponsorizat", - "supportMessage": "Salut, sunt Anton 👋

    \nVă mulțumesc pentru utilizarea massCode. Dacă găsiți această aplicație utilă, vă rugăm să {{-tagStart}} donați {{-tagEnd}}. Mă va inspira să continui dezvoltarea proiectului.", - "snippetsShowcase": "Prezentare fragmente" -} diff --git a/src/main/services/i18n/locales/ru/common.json b/src/main/services/i18n/locales/ru/common.json deleted file mode 100644 index bf6fd5c8..00000000 --- a/src/main/services/i18n/locales/ru/common.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "button": { - "moveStorage": "Переместить", - "openStorage": "Открыть", - "newStorage": "Создать новое", - "reloadStorage": "Перезагрузить", - "fromMassCodeV1": "Из massCode v1.0", - "fromSnippetsLab": "Из SnippetsLab", - "confirm": "Подтвердить", - "cancel": "Отмена", - "ok": "Хорошо", - "clear": "Очистить", - "copy": "Копировать", - "sort": "Сортировать", - "revers": "Реверс", - "generate": "Генерировать", - "saveAs": "Сохранить как", - "zoomIn": "Увеличить", - "zoomOut": "Уменьшить", - "fit": "Подогнать" - }, - "newFolder": "Новая папка", - "newSnippet": "Новый сниппет", - "newFragment": "Новый фрагмент", - "addDescription": "Добавить описание", - "addToFavorites": "Добавить в избранное", - "addTag": "Добавить тег", - "exportToHtml": "Экспорт в HTML", - "saveScreenshot": "Сохранить скриншот", - "rename": "Переименовать", - "duplicate": "Дубликат", - "delete": "Удалить", - "deleteNow": "Удалить сейчас", - "defaultLanguage": "Языка по умолчанию ", - "removeFromFavorites": "Удалить из избранного", - "emptyTrash": "Очисть корзину", - "close": "Закрыть", - "folder": { - "untitled": "Новая папка", - "plural": "Папки" - }, - "snippet": { - "untitled": "Новый сниппет", - "plural": "Сниппетов", - "emptyName": "Введите имя сниппета", - "selectedMultiple": "{{count}} сниппетов выбрано", - "noSelected": "Не выбрано ни одного сниппета" - }, - "fragment": "Фрагмент", - "search": "Поиск", - "line": "Строка", - "column": "Колонка", - "sidebar": { - "inbox": "Входящие", - "favorites": "Избранное", - "allSnippets": "Все сниппеты", - "trash": "Корзина", - "untitled": "Новая папка", - "folders": "Папки", - "library": "Библиотека", - "tags": "Теги" - }, - "darkMode": "Темный режим", - "background": "Фон", - "restartApp": "Перезагрузить massCode", - "updateAvailable": "Доступно обновление", - "hide": "Hide", - "show": "Show", - "collapse-all": "Закрыть все", - "expand-all": "Открыть все", - "restore": "Восстановить", - "copy-snippet-link": "Скопировать ссылку", - "set-custom-icon": "Установить иконку" -} diff --git a/src/main/services/i18n/locales/ru/devtools.json b/src/main/services/i18n/locales/ru/devtools.json deleted file mode 100644 index 4cf89600..00000000 --- a/src/main/services/i18n/locales/ru/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Входная строка", - "outputString": "Выходная строка", - "inputUrl": "Входной URL", - "outputUrl": "Выходной URL", - "parsedUrl": "Разобранный URL", - "splitQueryString": "Разбивка строки запроса", - "key": "Ключ", - "value": "Значение", - "component": "Компонент", - "result": "Результат", - "secretKey": "Секретный ключ", - "algorithm": "Алгоритм", - "version": "Версия", - "amount": "Количество", - "type": "Тип", - "length": "Длина", - "options": "Опции", - "numbers": "Цифры", - "symbols": "Символы", - "lowercase": "Нижний регистр", - "uppercase": "Верхний регистр" - }, - "textTools": { - "label": "Инструменты для текста", - "caseConverter": "Конвертер регистра", - "urlParser": "Парсер URL", - "slugGenerator": "Slug генератор", - "sortLines": "Сортировка строк" - }, - "crypto": { - "label": "Криптография / Безопасность", - "hashGenerator": "Hash генератор", - "hmacGenerator": "HMAC генератор", - "passGenerator": "Генератор паролей", - "uuidGenerator": "UUID генератор" - }, - "encodeDecode": { - "label": "Энкодеры / Декодеры", - "url": "URL Энкодер / Декодер", - "base64": "Base64 Энкодер / Декодер" - } -} diff --git a/src/main/services/i18n/locales/ru/dialog.json b/src/main/services/i18n/locales/ru/dialog.json deleted file mode 100644 index d5ffe907..00000000 --- a/src/main/services/i18n/locales/ru/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Вы уверены что хотите безвозвратно удалить {{name}}?", - "deleteConfirmMultipleSnippets": "Вы уверены что хотите безвозвратно удалить {{count}} выбранные сиппеты?", - "noUndo": "Это действие нельзя отменить.", - "allSnippetsMoveToTrash": "Все сниппеты в этой папки будут перемещены в корзину.", - "deleteTag": "Это так же коснется всех сниппетов, которые содержат этот тег.", - "emptyTrash": "Вы уверены что хотите безвозвратно очистить Корзину?", - "migrateConfirm": [ - "Вы уверены что хотите мигрировать {{name}}?", - "Во время миграции, текущая библиотека буде перезаписана." - ], - "createDb": "Пожалуйста выберите другую папку" -} diff --git a/src/main/services/i18n/locales/ru/menu.json b/src/main/services/i18n/locales/ru/menu.json deleted file mode 100644 index ad7f9567..00000000 --- a/src/main/services/i18n/locales/ru/menu.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Настройки", - "update": { - "label": "Проверить обновления....", - "message": "Версия {{newVersion}} доступна для скачивания.\nТекущая версия {{oldVersion}}.", - "button": ["Перейти для загрузки", "OK"], - "noUpdate": "В настоящее время нет доступных обновлений." - }, - "quit": "Выйти из massCode", - "about": "О massCode", - "hide": "Скрыть massCode", - "hideOther": "Скрыть остальные", - "showAll": "Показать все" - }, - "help": { - "label": "Помощь", - "website": "Сайт", - "documentation": "Документация", - "viewInGitHub": "Просмотреть в GitHub", - "changeLog": "Список изменений", - "reportIssue": "Открыть Issue", - "giveStar": "Поставить звезду", - "extension": { - "vscode": "VS Code расширение", - "raycast": "Raycast расширение", - "alfred": "Alfred расширение" - }, - "donate": { - "openCollective": "Пожертвовать через Open Collective", - "payPal": "Пожертвовать через PayPal", - "gumroad": "Пожертвовать через Gumroad (Visa, Mastercard, и тд.)" - }, - "twitter": "Twitter", - "devTools": "Открыть инструменты разработчика", - "links": { - "snippets": "Коллекция сниппетов" - } - }, - "file": { - "label": "Файл", - "find": "Найти" - }, - "view": { - "label": "Вид", - "sortBy": { - "label": "Сортировать сниппеты по", - "dateModified": "Дате модификации", - "dateCreated": "Дате создания", - "name": "Имени" - }, - "hideSubfolderSnippets": "Скрыть сниппеты в подпапках", - "compactMode": "Компактный режим" - }, - "edit": { - "label": "Изменить", - "undo": "Отмена", - "redo": "Повторить", - "cut": "Вырезать", - "copy": "Скопировать", - "paste": "Вставить", - "delete": "Удалить", - "selectAll": "Выделить все" - }, - "editor": { - "label": "Редактор", - "copy": "Скопировать сниппет в буфер", - "format": "Форматировать", - "previewCode": "Просмотр результата HTML/CSS", - "previewScreenshot": "Просмотр скриншота", - "previewMarkdown": "Просмотр Markdown", - "previewMindmap": "Просмотр Mindmap", - "fontSizeIncrease": "Увеличить шрифт", - "fontSizeDecrease": "Уменьшить шрифт", - "fontSizeReset": "Сбросить размер шрифта" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Режим презентации", - "preview": "Просмотр Markdown" - }, - "history": { - "label": "История", - "back": "Назад", - "forward": "Вперед" - } -} diff --git a/src/main/services/i18n/locales/ru/preferences.json b/src/main/services/i18n/locales/ru/preferences.json deleted file mode 100644 index 531dc81b..00000000 --- a/src/main/services/i18n/locales/ru/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Настройки", - "storage": { - "label": "Хранилище", - "migrate": "Миграция", - "count": "Количество" - }, - "editor": { - "label": "Редактор", - "fontSize": "Размер шрифта", - "fontFamily": "Семейство шрифтов", - "wrap": { - "label": "Перенос", - "wordWrap": "Перенос по словам", - "off": "Отключить" - }, - "tabSize": "Размер отступа", - "showInvisibles": "Показ невидимых символов", - "highlightLine": "Подсветка строки", - "highlightGutter": "Подсветка gutter", - "matchBrackets": "Подсветка скобок", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Запятая в конце", - "none": "Нет", - "all": "Все", - "es5": "ES5" - }, - "semi": "Точка с запятой", - "singleQuote": "Одинарные кавычки" - } - }, - "appearance": { - "label": "Внешний вид", - "theme": { - "label": "Тема", - "light": "Светлая", - "dark": "Темная" - } - }, - "language": { - "label": "Язык" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Рендерер блоков кода" - } -} diff --git a/src/main/services/i18n/locales/ru/special.json b/src/main/services/i18n/locales/ru/special.json deleted file mode 100644 index 6db12bcf..00000000 --- a/src/main/services/i18n/locales/ru/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Чтобы использовать такие службы синхронизации, как iCloud Drive, Google Drive или Dropbox, просто переместите хранилище в соответствующие синхронизированные папки.", - "migrate": { - "1": "Для миграции с massCode v1.0 выберите папку, содержащую файлы базы данных.", - "2": "Для миграции из SnippetsLab выберите файл JSON.", - "3": [ - "Некоторые ограничения. Во время миграции с SnippetsLab:", - "Все папки будут первого уровня, поскольку файл JSON (ниже v2.1) не представляет вложенные папки.", - "Сниппеты с неподдерживаемыми языками будут установлены на стандартный простой текст." - ] - }, - "htmlCssPreview": "Добавьте фрагменты с языками HTML и CSS для просмотра результата.", - "codeBlockRenderer": [ - "При использовании Codemirror, устанавливаемый язык для блока кода должен соответствовать одному из значений", - "языков" - ] - }, - "success": { - "migrate": "БД успешно перенесена." - }, - "error": { - "folderContainDb": "Папка уже содержит \"db.json\".", - "folderNotContainDb": "Папка не содержит \"db.json\"." - }, - "unsponsored": "Неспонсируемое", - "supportMessage": "Привет, это Антон 👋

    \nСпасибо что используете massCode. Если приложение оказалось для вас полезным, пожалуйста {{-tagStart}} поддержите проект {{-tagEnd}}. Это вдохновит меня для продолжение работы над проектом.", - "snippetsShowcase": "Коллекция сниппетов" -} diff --git a/src/main/services/i18n/locales/tr/common.json b/src/main/services/i18n/locales/tr/common.json deleted file mode 100644 index 539ff06b..00000000 --- a/src/main/services/i18n/locales/tr/common.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "button": { - "moveStorage": "Depo Taşı", - "openStorage": "Depoyu Aç", - "newStorage": "Yeni Depo", - "reloadStorage": "Depoyu Yeniden Yükle", - "fromMassCodeV1": "MassCode v1.0'dan", - "fromSnippetsLab": "SnippetsLab'dan", - "confirm": "Onayla", - "cancel": "İptal", - "update": ["GitHub'a Git", "Tamam"], - "ok": "Tamam", - "clear": "Temizle", - "copy": "Kopyala", - "sort": "Sırala", - "revers": "Ters Çevir", - "generate": "Oluştur" - }, - "newFolder": "Yeni Klasör", - "newSnippet": "Yeni Kod Parçası", - "newFragment": "Yeni Bölüm", - "addDescription": "Açıklama Ekle", - "addToFavorites": "Favorilere Ekle", - "addTag": "Etiket Ekle", - "exportToHtml": "HTML'ye Aktar", - "saveScreenshot": "Ekran Görüntüsünü Kaydet", - "rename": "Yeniden Adlandır", - "duplicate": "Kopyala", - "delete": "Sil", - "deleteNow": "Şimdi Sil", - "defaultLanguage": "Varsayılan Dil", - "removeFromFavorites": "Favorilerden Kaldır", - "emptyTrash": "Çöp Kutusunu Boşalt", - "close": "Kapat", - "folder": { - "untitled": "Başlıksız Klasör", - "plural": "Klasörler" - }, - "snippet": { - "untitled": "Başlıksız Kod Parçası", - "plural": "Kod Parçaları", - "emptyName": "Kod parçası adını yazın", - "selectedMultiple": "{{count}} Kod Parçası Seçildi", - "noSelected": "Kod Parçası Seçilmedi" - }, - "fragment": "Bölüm", - "search": "Ara", - "line": "Satır", - "column": "Sütun", - "sidebar": { - "inbox": "Gelen Kutusu", - "favorites": "Favoriler", - "allSnippets": "Tüm Kod Parçaları", - "trash": "Çöp Kutusu", - "untitled": "Başlıksız Klasör", - "folders": "Klasörler", - "library": "Kütüphane", - "tags": "Etiketler" - }, - "darkMode": "Karanlık Mod", - "background": "Arka Plan", - "restartApp": "massCode'u Yeniden Başlat", - "updateAvailable": "Güncelleme Mevcut", - "hide": "Gizle", - "show": "Göster", - "collapse-all": "Hepsini Daralt", - "expand-all": "Hepsini Genişlet", - "restore": "Geri Yükle", - "copy-snippet-link": "Kod Parçası Bağlantısını Kopyala", - "set-custom-icon": "Özel Simge Ayarla" -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/tr/devtools.json b/src/main/services/i18n/locales/tr/devtools.json deleted file mode 100644 index 66fb29bf..00000000 --- a/src/main/services/i18n/locales/tr/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Giriş Metni", - "outputString": "Çıkış Metni", - "inputUrl": "Giriş URL'si", - "outputUrl": "Çıkış URL'si", - "parsedUrl": "Ayrılmış URL", - "splitQueryString": "Sorgu Dizisi Ayır", - "key": "Anahtar", - "value": "Değer", - "component": "Komponent", - "result": "Sonuç", - "secretKey": "Gizli Anahtar", - "algorithm": "Algoritma", - "version": "Sürüm", - "amount": "Miktar", - "type": "Tür", - "length": "Uzunluk", - "options": "Seçenekler", - "numbers": "Sayılar", - "symbols": "Semboller", - "lowercase": "Küçük Harf", - "uppercase": "Büyük Harf" - }, - "textTools": { - "label": "Metin Araçları", - "caseConverter": "Harf Dönüştürücü", - "urlParser": "URL Ayrıştırıcı", - "slugGenerator": "Slug Oluşturucu", - "sortLines": "Satırları Sırala" - }, - "crypto": { - "label": "Kriptografi / Güvenlik", - "hashGenerator": "Hash Oluşturucu", - "hmacGenerator": "HMAC Oluşturucu", - "passGenerator": "Şifre Oluşturucu", - "uuidGenerator": "UUID Oluşturucu" - }, - "encodeDecode": { - "label": "Kodlayıcılar / Kod Çözücüler", - "url": "URL Kodlayıcı / Çözücü", - "base64": "Base64 Kodlayıcı / Çözücü" - } -} diff --git a/src/main/services/i18n/locales/tr/dialog.json b/src/main/services/i18n/locales/tr/dialog.json deleted file mode 100644 index 57a60e76..00000000 --- a/src/main/services/i18n/locales/tr/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "{{name}} adlı öğeyi kalıcı olarak silmek istediğinizden emin misiniz?", - "deleteConfirmMultipleSnippets": "{{count}} seçili kod parçasını kalıcı olarak silmek istediğinizden emin misiniz?", - "noUndo": "Bu işlemi geri alamazsınız.", - "allSnippetsMoveToTrash": "Bu klasördeki tüm kod parçaları çöp kutusuna taşınacaktır.", - "deleteTag": "Bu aynı zamanda tüm kod parçalarının bu etiketin kaldırılmasına neden olacaktır.", - "emptyTrash": "Çöp kutusundaki tüm kod parçalarını kalıcı olarak silmek istediğinizden emin misiniz?", - "migrateConfirm": [ - "{{name}} adından geçiş yapmak istediğinizden emin misiniz?", - "Geçiş sırasında mevcut kütüphane üzerine yazılacaktır." - ], - "createDb": "Lütfen başka bir klasör seçin." -} diff --git a/src/main/services/i18n/locales/tr/menu.json b/src/main/services/i18n/locales/tr/menu.json deleted file mode 100644 index 5e871a12..00000000 --- a/src/main/services/i18n/locales/tr/menu.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Tercihler", - "update": { - "label": "Güncellemeleri Kontrol Et....", - "message": "Sürüm {{newVersion}} şimdi indirilebilir durumda.\nMevcut sürümünüz {{oldVersion}}.", - "button": ["İndirmeye Git", "Tamam"], - "noUpdate": "Şu anda mevcut güncelleme yok." - }, - "quit": "massCode'u Kapat", - "about": "massCode Hakkında", - "hide": "massCode'u Gizle", - "hideOther": "Diğerlerini Gizle", - "showAll": "Hepsini Göster" - }, - "help": { - "label": "Yardım", - "website": "Web Sitesi", - "documentation": "Belgeler", - "viewInGitHub": "GitHub'da Görüntüle", - "changeLog": "Değişiklik Günlüğü", - "reportIssue": "Sorun Bildir", - "giveStar": "Yıldız Ver", - "extension": { - "vscode": "VS Code Eklentisi", - "raycast": "Raycast Eklentisi", - "alfred": "Alfred Eklentisi" - }, - "donate": { - "openCollective": "Open Collective Üzerinden Bağış Yap", - "payPal": "PayPal ile Bağış Yap", - "gumroad": "Gumroad Üzerinden Bağış Yap (Visa, Mastercard, vb.)" - }, - "twitter": "Twitter", - "devTools": "Geliştirici Araçlarını Aç/Kapat", - "links": { - "snippets": "Kod Parçaları Koleksiyonu" - } - }, - "file": { - "label": "Dosya", - "find": "Ara" - }, - "view": { - "label": "Görünüm", - "sortBy": { - "label": "Kod Parçalarını Sırala", - "dateModified": "Değiştirilme Tarihi", - "dateCreated": "Oluşturma Tarihi", - "name": "Ad" - }, - "hideSubfolderSnippets": "Alt Klasör Kod Parçalarını Gizle", - "compactMode": "Kompakt Mod" - }, - "edit": { - "label": "Düzenle", - "undo": "Geri Al", - "redo": "Yinele", - "cut": "Kes", - "copy": "Kopyala", - "paste": "Yapıştır", - "delete": "Sil", - "selectAll": "Tümünü Seç" - }, - "editor": { - "label": "Editör", - "copy": "Kod Parçasını Panoya Kopyala", - "format": "Biçimlendir", - "previewCode": "Kodu Önizle", - "previewScreenshot": "Ekran Görüntüsünü Önizle", - "previewMarkdown": "Markdown'u Önizle", - "fontSizeIncrease": "Yazı Boyutunu Büyüt", - "fontSizeDecrease": "Yazı Boyutunu Küçült", - "fontSizeReset": "Yazı Boyutunu Sıfırla" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Sunum Modu", - "preview": "Önizleme" - }, - "history": { - "label": "Geçmiş", - "back": "Geri", - "forward": "İleri" - }, - "devtools": { - "label": "Geliştirici Araçları" - } -} diff --git a/src/main/services/i18n/locales/tr/preferences.json b/src/main/services/i18n/locales/tr/preferences.json deleted file mode 100644 index 83b6f273..00000000 --- a/src/main/services/i18n/locales/tr/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Tercihler", - "storage": { - "label": "Depolama", - "migrate": "Göç Et", - "count": "Say" - }, - "editor": { - "label": "Editör", - "fontSize": "Yazı Boyutu", - "fontFamily": "Yazı Tipi", - "wrap": { - "label": "Satır Sarması", - "wordWrap": "Kelime Sarması", - "off": "Kapat" - }, - "tabSize": "Sekme Boyutu", - "showInvisibles": "Görünmezleri Göster", - "highlightLine": "Satırı Vurgula", - "highlightGutter": "Sütunu Vurgula", - "matchBrackets": "Parantezleri Eşleştir", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Son Virgül", - "none": "Hiçbiri", - "all": "Tümü", - "es5": "ES5" - }, - "semi": "Noktalı Virgül", - "singleQuote": "Tek Tırnak" - } - }, - "appearance": { - "label": "Görünüm", - "theme": { - "label": "Tema", - "light": "Açık", - "dark": "Koyu" - } - }, - "language": { - "label": "Dil" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Kod Bloğu Görüntüleyici" - } -} diff --git a/src/main/services/i18n/locales/tr/special.json b/src/main/services/i18n/locales/tr/special.json deleted file mode 100644 index f9631ad4..00000000 --- a/src/main/services/i18n/locales/tr/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "iCloud Drive, Google Drive veya Dropbox gibi senkronizasyon hizmetlerini kullanmak için, depoyu ilgili senkronize edilmiş klasörlere taşıyın.", - "migrate": { - "1": "massCode v1.0'dan göç etmek için veritabanı dosyalarını içeren klasörü seçin.", - "2": "SnippetsLab'dan göç etmek için JSON dosyasını seçin.", - "3": [ - "Bazı Sınırlamalar. SnippetsLab'dan göç sırasında:", - "Tüm klasörler ilk seviye olacak çünkü JSON dosyası (v2.1 altında) iç içe geçmiş klasörleri temsil etmez.", - "Desteklenmeyen dillerle ilgili kod parçaları varsayılan Düz Metin'e ayarlanır." - ] - }, - "htmlCssPreview": "Sonucu görmek için HTML ve CSS dilleri ile fragmanlar ekleyin.", - "codeBlockRenderer": [ - "Codemirror kullanırken, kod bloğu için ayarlanacak dil,", - "dillerin değerlerinden birine karşılık gelmelidir." - ] - }, - "success": { - "migrate": "Veritabanı başarıyla göç edildi." - }, - "error": { - "folderContainDb": "Klasör zaten \"db.json\" içeriyor.", - "folderNotContainDb": "Klasör \"db.json\" içermiyor." - }, - "unsponsored": "Sponsorlu Değil", - "supportMessage": "Merhaba, Anton burada 👋

    \nmassCode'u kullanımınız için teşekkür ederim. Eğer bu uygulamayı faydalı buluyorsanız, lütfen {{-tagStart}} bağış yapın {{-tagEnd}}. Bu, projenin geliştirilmesine devam etmemi teşvik edecektir.", - "snippetsShowcase": "Kod Parçaları Vitrini" -} diff --git a/src/main/services/i18n/locales/uk_UA/common.json b/src/main/services/i18n/locales/uk_UA/common.json deleted file mode 100644 index c3b659e7..00000000 --- a/src/main/services/i18n/locales/uk_UA/common.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "button": { - "moveStorage": "Перемістити", - "openStorage": "Відкрити", - "newStorage": "Створити нове", - "fromMassCodeV1": "massCode v1.0", - "fromSnippetsLab": "SnippetsLab", - "confirm": "Підтвердити", - "cancel": "Скасувати", - "ok": "ОК" - }, - "newFolder": "Нова папка", - "newSnippet": "Новий сніпет", - "newFragment": "Новий фрагмент", - "addDescription": "Додати опис", - "addToFavorites": "Додати в обране", - "addTag": "Додати тег", - "exportToHtml": "Експорт в HTML", - "saveScreenshot": "Зберігти скриншот", - "rename": "Перейменувати", - "duplicate": "Дублікат", - "delete": "Видалити", - "deleteNow": "Видалити зараз", - "defaultLanguage": "Мова за замовчуванням", - "removeFromFavorites": "Видалити з обраних", - "emptyTrash": "Очистити Смітник", - "close": "Закрити", - "folder": { - "untitled": "Нова папка", - "plural": "Папки" - }, - "snippet": { - "untitled": "Новий сніпет", - "plural": "Сніпитів", - "emptyName": "Введіть імʼя сніпета", - "selectedMultiple": "{{count}} сніпетів обрано", - "noSelected": "Не обрано жодного сніпета" - }, - "fragment": "Фрагмент", - "search": "Пошук", - "line": "Рядок", - "column": "Колонка", - "sidebar": { - "inbox": "Вхідні", - "favorites": "Обрані", - "allSnippets": "Всі сніпети", - "trash": "Смітник", - "untitled": "Нова папка", - "folders": "Папки", - "library": "Бібліотека", - "tags": "Теги" - }, - "darkMode": "Темний режим", - "background": "Фон", - "restartApp": "Перезавантажити massCode", - "updateAvailable": "Доступне оновлення", - "hide": "Сховати", - "show": "Показати", - "collapse-all": "Закрити все", - "expand-all": "Відкрити все", - "restore": "Відновити", - "copy-snippet-link": "Скопіювати посилання" -} diff --git a/src/main/services/i18n/locales/uk_UA/dialog.json b/src/main/services/i18n/locales/uk_UA/dialog.json deleted file mode 100644 index b98fe5a9..00000000 --- a/src/main/services/i18n/locales/uk_UA/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Ви впевнені, що хочете остаточно видалити {{name}}?", - "deleteConfirmMultipleSnippets": "Ви впевнені, що хочете остаточно видалити {{count}} обраних сніпетів?", - "noUndo": "Цю дію неможливо скасувати.", - "allSnippetsMoveToTrash": "Усі сніпети у цій папці буде переміщено до Смітника.", - "deleteTag": "Це так само стосується всіх сніпетів, що містять цей тег.", - "emptyTrash": "Ви впевнені, що хочете очистити Смітник?", - "migrateConfirm": [ - "Ви впевнені, що хочете мігрувати {{name}}?", - "Під час міграції, поточна бібліотека буде перезаписана." - ], - "createDb": "Будь ласка, оберіть іншу папку." -} diff --git a/src/main/services/i18n/locales/uk_UA/menu.json b/src/main/services/i18n/locales/uk_UA/menu.json deleted file mode 100644 index d1764f16..00000000 --- a/src/main/services/i18n/locales/uk_UA/menu.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Параметри", - "update": { - "label": "Перевірити оновлення...", - "message": "Версія {{newVersion}} доступна для скачування.\nПоточна версія {{oldVersion}}.", - "button": ["Перейти до завантаження", "OK"], - "noUpdate": "Немає доступних оновлень." - }, - "quit": "Вийти з massCode", - "about": "Про massCode", - "hide": "Сховати massCode", - "hideOther": "Сховати інші", - "showAll": "Показати всі" - }, - "help": { - "label": "Підтримка", - "website": "Сайт", - "documentation": "Документація", - "viewInGitHub": "Переглянути у GitHub", - "changeLog": "Список змін", - "reportIssue": "Відкрити Issue", - "giveStar": "Поставити зірку", - "extension": { - "vscode": "VS Code розширення", - "raycast": "Raycast розширення", - "alfred": "Alfred розширення" - }, - "donate": { - "openCollective": "Пожертвувати через Open Collective", - "payPal": "Пожертвувати через PayPal", - "gumroad": "Пожертвувати через Gumroad (Visa, Mastercard, и тд.)" - }, - "twitter": "Twitter", - "devTools": "Відкрити інструменти розробника", - "links": { - "snippets": "Колекція сніпетів" - } - }, - "file": { - "label": "Файл", - "find": "Пошук" - }, - "view": { - "label": "Вид", - "sortBy": { - "label": "Сортувати сніпети за", - "dateModified": "Дата модифікації", - "dateCreated": "Дата створення", - "name": "Назва" - } - }, - "edit": { - "label": "Змінити", - "undo": "Скасувати", - "redo": "Повторити", - "cut": "Вирізати", - "copy": "Скопіювати", - "paste": "Вставити", - "delete": "Видалити", - "selectAll": "Вибрати все" - }, - "editor": { - "label": "Редактор", - "copy": "Скопіювати сніпет у буфер", - "format": "Форматувати", - "previewCode": "Перегляд результату HTML/CSS", - "previewScreenshot": "Перегляд скриншота", - "fontSizeIncrease": "Збільшити шрифт", - "fontSizeDecrease": "Зменшити шрифт", - "fontSizeReset": "Скинути розмір шрифта" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Режим презентації", - "preview": "Перегляд Markdown" - }, - "history": { - "label": "Історія", - "back": "Назад", - "forward": "Вперед" - } -} diff --git a/src/main/services/i18n/locales/uk_UA/preferences.json b/src/main/services/i18n/locales/uk_UA/preferences.json deleted file mode 100644 index e766b3e0..00000000 --- a/src/main/services/i18n/locales/uk_UA/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Параметри", - "storage": { - "label": "Сховище", - "migrate": "Міграція", - "count": "Кількість" - }, - "editor": { - "label": "Редактор", - "fontSize": "Розмір шрифта", - "fontFamily": "Сімейство шрифтів", - "wrap": { - "label": "Перенесення", - "wordWrap": "Перенесення по словах", - "off": "Вимкнути" - }, - "tabSize": "Розмір відступу", - "showInvisibles": "Показ невидимих символів", - "highlightLine": "Підсвітка рядку", - "highlightGutter": "Підсвітка gutter", - "matchBrackets": "Підсвітка дужок", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Кома у кінці", - "none": "Ні", - "all": "Усі", - "es5": "ES5" - }, - "semi": "Крапка з комою", - "singleQuote": "Одинарні лапки" - } - }, - "appearance": { - "label": "Зовнішній вид", - "theme": { - "label": "Вигляд", - "light": "Світла", - "dark": "Темна" - } - }, - "language": { - "label": "Мова" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Рендерер блоків коду" - } -} diff --git a/src/main/services/i18n/locales/uk_UA/special.json b/src/main/services/i18n/locales/uk_UA/special.json deleted file mode 100644 index 4e77693a..00000000 --- a/src/main/services/i18n/locales/uk_UA/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Щоб використовувати такі служби синхронізації, як iCloud Drive, Google Drive або Dropbox, просто перенесіть сховище у відповідні синхронізовані папки.", - "migrate": { - "1": "Для міграції з massCode v1.0 оберіть папку, що містить файли баз даних.", - "2": "Для міграції з SnippetsLab оберіть файл JSON.", - "3": [ - "Деякі обмеження. Під час міграції з SnippetsLab:", - "Усі папки будуть першого рівня, оскільки файл JSON (нижче v2.1) не представляє підтеки.", - "Сніпети з непідтримуваними мовами будуть встановлені на стандартний простий текст." - ] - }, - "htmlCssPreview": "Додайте фрагменти з HTML та CSS для перегляду результатів.", - "codeBlockRenderer": [ - "При використанні Codemirror, встановлена мова для блоку коду повинна відповідати одній із зазначених", - "мов" - ] - }, - "success": { - "migrate": "БД успішно перенесено." - }, - "error": { - "folderContainDb": "Папка вже містить \"db.json\".", - "folderNotContainDb": "Папка не містить \"db.json\"." - }, - "unsponsored": "Не спонсороване", - "supportMessage": "Привіт, це Антон 👋

    \nДякую, що користуєтесь massCode. Якщо додаток приніс вам користь, будь ласка {{-tagStart}} підтримайте проєкт {{-tagEnd}}. Це надихне мене для продовження роботи над проєктом.", - "snippetsShowcase": "Колекція сніпетів" -} diff --git a/src/main/services/i18n/locales/zh_CN/common.json b/src/main/services/i18n/locales/zh_CN/common.json deleted file mode 100644 index ce0313cc..00000000 --- a/src/main/services/i18n/locales/zh_CN/common.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "button": { - "moveStorage": "更改存储路径", - "openStorage": "打开现有存储", - "newStorage": "创建新的存储", - "fromMassCodeV1": "来自 massCode v1.0", - "fromSnippetsLab": "来自 SnippetsLab", - "confirm": "确认", - "cancel": "取消", - "update": ["前往 GitHub", "OK"], - "ok": "OK" - }, - "newFolder": "新建文件夹", - "newSnippet": "新建代码片段", - "newFragment": "新建子片段", - "addDescription": "添加描述", - "addToFavorites": "添加至收藏夹", - "addTag": "添加标签", - "exportToHtml": "导出 HTML 文件", - "saveScreenshot": "保存截图", - "rename": "重命名", - "duplicate": "创建副本", - "delete": "删除", - "deleteNow": "立即删除", - "defaultLanguage": "默认语言", - "removeFromFavorites": "从收藏夹移除", - "emptyTrash": "清空回收站", - "close": "关闭", - "folder": { - "untitled": "未命名文件夹", - "plural": "文件夹" - }, - "snippet": { - "untitled": "未命名代码片段", - "plural": "代码片段", - "emptyName": "请输入该代码片段名称", - "selectedMultiple": "已选中 {{count}} 个代码片段", - "noSelected": "未选中代码片段" - }, - "fragment": "子片段", - "search": "搜索", - "line": "行", - "column": "列", - "sidebar": { - "inbox": "暂存区", - "favorites": "收藏夹", - "allSnippets": "所有的", - "trash": "回收站", - "untitled": "未命名文件夹", - "folders": "文件夹", - "library": "库", - "tags": "标签" - }, - "darkMode": "深色模式", - "background": "背景", - "restartApp": "重启 massCode", - "updateAvailable": "存在新版本", - "hide": "隐藏", - "show": "显示", - "collapse-all": "全部展开", - "expand-all": "全部折叠", - "restore": "还原", - "copy-snippet-link": "复制链接" -} diff --git a/src/main/services/i18n/locales/zh_CN/dialog.json b/src/main/services/i18n/locales/zh_CN/dialog.json deleted file mode 100644 index a391e728..00000000 --- a/src/main/services/i18n/locales/zh_CN/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "你是否确定要永久删除 {{name}} ?", - "deleteConfirmMultipleSnippets": "你是否确定要永久删除 {{count}} 个选中的代码片段?", - "noUndo": "本操作将无法撤销。", - "allSnippetsMoveToTrash": "本文件夹内的所有代码片段将被移动至回收站。", - "deleteTag": "将会从所有拥有该标签的代码片段中删除该标签。", - "emptyTrash": "你是否确定要永久删除回收站内的所有代码片段?", - "migrateConfirm": [ - "你是否确定要从 {{name}} 迁移数据?", - "在迁移过程中,当前的库将被覆盖。" - ], - "createDb": "请选择其他文件夹" -} diff --git a/src/main/services/i18n/locales/zh_CN/menu.json b/src/main/services/i18n/locales/zh_CN/menu.json deleted file mode 100644 index f19a46cc..00000000 --- a/src/main/services/i18n/locales/zh_CN/menu.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "首选项", - "update": { - "label": "检查更新…", - "message": "新版本 {{newVersion}} 现在已经可以下载。\n现在的版本是 {{oldVersion}} 。", - "button": ["前往下载", "OK"], - "noUpdate": "当前没有可用的更新。" - }, - "quit": "退出 massCode", - "about": "关于 massCode", - "hide": "最小化 massCode", - "hideOther": "最小化其它窗口", - "showAll": "显示所有窗口" - }, - "help": { - "label": "帮助", - "website": "访问官网", - "documentation": "访问文档", - "viewInGitHub": "访问 GitHub", - "changeLog": "更新日志", - "reportIssue": "提交 Issue", - "giveStar": "给个 Star", - "extension": { - "vscode": "VS Code 插件", - "raycast": "Raycast 插件", - "alfred": "Alfred 插件" - }, - "donate": { - "openCollective": "通过 Open Collective 捐赠", - "payPal": "通过 PayPal 捐赠" - }, - "twitter": "访问作者 Twitter", - "devTools": "开发者工具", - "links": { - "snippets": "代码片段分享站" - } - }, - "file": { - "label": "文件", - "find": "查找" - }, - "view": { - "label": "查看", - "sortBy": { - "label": "排序方式", - "dateModified": "根据修改日期", - "dateCreated": "根据创建日期", - "name": "根据片段名" - } - }, - "edit": { - "label": "编辑", - "undo": "撤销", - "redo": "恢复", - "cut": "剪切", - "copy": "复制", - "paste": "粘贴", - "delete": "删除", - "selectAll": "全选" - }, - "editor": { - "label": "编辑器", - "copy": "将代码片段复制至剪贴板", - "format": "格式化", - "previewCode": "预览 HTML 和 CSS", - "previewScreenshot": "生成并预览代码截图", - "previewMarkdown": "预览 Markdown", - "fontSizeIncrease": "增加字体大小", - "fontSizeDecrease": "减小字体大小", - "fontSizeReset": "重置字体大小" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "演示模式", - "preview": "预览模式" - }, - "history": { - "label": "历史记录", - "back": "后退", - "forward": "前进" - } -} diff --git a/src/main/services/i18n/locales/zh_CN/preferences.json b/src/main/services/i18n/locales/zh_CN/preferences.json deleted file mode 100644 index 2d814482..00000000 --- a/src/main/services/i18n/locales/zh_CN/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "首选项", - "storage": { - "label": "存储路径", - "migrate": "迁移", - "count": "总计" - }, - "editor": { - "label": "编辑器", - "fontSize": "字体大小", - "fontFamily": "字体系列", - "wrap": { - "label": "自动换行", - "wordWrap": "开启", - "off": "关闭" - }, - "tabSize": "Tab 空格数", - "showInvisibles": "显示空格与换行符", - "highlightLine": "高亮光标所在行整行", - "highlightGutter": "高亮光标所在行行号", - "matchBrackets": "括号匹配", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "尾后逗号", - "none": "None", - "all": "All", - "es5": "ES5" - }, - "semi": "句尾添加分号", - "singleQuote": "使用单引号代替双引号" - } - }, - "appearance": { - "label": "外观", - "theme": { - "label": "主题", - "light": "浅色", - "dark": "深色" - } - }, - "language": { - "label": "语言" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "代码块渲染器" - } -} diff --git a/src/main/services/i18n/locales/zh_CN/special.json b/src/main/services/i18n/locales/zh_CN/special.json deleted file mode 100644 index a093093f..00000000 --- a/src/main/services/i18n/locales/zh_CN/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "要使用 iCloud Drive、Google Drive 和 Dropbox 等同步服务,只需将存储路径设置为相应的同步文件夹即可。", - "migrate": { - "1": "从 massCode v1.0 迁移:选择包含数据库文件的文件夹。", - "2": "从 SnippetsLab 迁移:选择 JSON 文件。", - "3": [ - "从 SnippetsLab 迁移将会遇到一些局限:", - "低于2.1版的 SnippetsLab 因为沒有嵌套文件夹将只有一层文件夹。", - "某些片段可能会因为其语言暂时不被 massCode 支持而被识别为纯文本。" - ] - }, - "htmlCssPreview": "添加带有 HTML 和 CSS 语言的片段来查看预览结果。", - "codeBlockRenderer": [ - "当使用 Codemirror 渲染时, 则必须为代码块设置对应的", - "编程语言" - ] - }, - "success": { - "migrate": "数据库迁移成功。" - }, - "error": { - "folderContainDb": "文件夹内已存在 \"db.json\"。", - "folderNotContainDb": "文件夹内不存在 \"db.json\"。" - }, - "unsponsored": "未赞助的", - "supportMessage": "Hi,我是 Anton 👋

    \n感谢你使用 massCode 。如果你觉得这个应用对你很有帮助,请{{-tagStart}} 捐赠 {{-tagEnd}}。这将激励我继续开发这个项目。", - "snippetsShowcase": "前端片段社区" -} diff --git a/src/main/services/i18n/locales/zh_HK/common.json b/src/main/services/i18n/locales/zh_HK/common.json deleted file mode 100644 index eee1655e..00000000 --- a/src/main/services/i18n/locales/zh_HK/common.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "button": { - "moveStorage": "更改存儲路徑", - "openStorage": "打開現有存儲", - "fromMassCodeV1": "來自 massCode v1.0", - "fromSnippetsLab": "來自 SnippetsLab", - "confirm": "確認", - "cancel": "取消", - "update": ["前往 GitHub", "OK"], - "ok": "OK" - }, - "newFolder": "新建文件夾", - "newSnippet": "新建代碼片段", - "newFragment": "新建子片段", - "addDescription": "添加描述", - "addToFavorites": "添加至收藏夾", - "addTag": "添加標籤", - "exportToHtml": "導出 HTML 文件", - "saveScreenshot": "保存截圖", - "rename": "重命名", - "duplicate": "創建副本", - "delete": "刪除", - "deleteNow": "立即刪除", - "defaultLanguage": "默認語言", - "removeFromFavorites": "從收藏夾移除", - "emptyTrash": "清空回收站", - "close": "關閉", - "folder": { - "untitled": "未命名文件夾", - "plural": "文件夾" - }, - "snippet": { - "untitled": "未命名代碼片段", - "plural": "代碼片段", - "emptyName": "請輸入該代碼片段名稱", - "selectedMultiple": "已選中 {{count}} 個代碼片段", - "noSelected": "未選中代碼片段" - }, - "fragment": "子片段", - "search": "搜索", - "line": "行", - "column": "欄", - "sidebar": { - "inbox": "暫存區", - "favorites": "收藏夾", - "allSnippets": "所有的", - "trash": "回收站", - "untitled": "未命名文件夾", - "folders": "文件夾", - "library": "庫", - "tags": "標籤" - }, - "darkMode": "深色模式", - "background": "背景", - "restartApp": "重啓 massCode", - "updateAvailable": "存在新版本", - "hide": "隱藏", - "show": "顯示", - "collapse-all": "全部展開", - "expand-all": "全部摺疊", - "restore": "回復", - "copy-snippet-link": "複製連結" -} diff --git a/src/main/services/i18n/locales/zh_HK/dialog.json b/src/main/services/i18n/locales/zh_HK/dialog.json deleted file mode 100644 index e3fc2742..00000000 --- a/src/main/services/i18n/locales/zh_HK/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "你是否確定要永久刪除 {{name}} ?", - "deleteConfirmMultipleSnippets": "你是否確定要永久刪除 {{count}} 個選中的代碼片段?", - "noUndo": "本操作將無法撤銷。", - "allSnippetsMoveToTrash": "本文件夾內的所有代碼片段將被移動至回收站。", - "deleteTag": "將會從所有擁有該標籤的代碼片段中刪除該標籤。", - "emptyTrash": "你是否確定要永久刪除回收站內的所有代碼片段?", - "migrateConfirm": [ - "你是否確定要從 {{name}} 遷移數據?", - "在遷移過程中,當前的庫將被覆蓋。" - ], - "createDb": "請選擇其他文件夾" -} diff --git a/src/main/services/i18n/locales/zh_HK/menu.json b/src/main/services/i18n/locales/zh_HK/menu.json deleted file mode 100644 index 9f97bf55..00000000 --- a/src/main/services/i18n/locales/zh_HK/menu.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "首選項", - "update": { - "label": "檢查更新…", - "message": "新版本 {{newVersion}} 現在已經可以下載。\n現在的版本是 {{oldVersion}} 。", - "button": ["前往下载", "OK"], - "noUpdate": "當前沒有可用的更新。" - }, - "quit": "退出 massCode", - "about": "關於 massCode", - "hide": "最小化 massCode", - "hideOther": "最小化其它窗口", - "showAll": "顯示所有窗口" - }, - "help": { - "label": "幫助", - "website": "訪問官網", - "documentation": "訪問文檔", - "viewInGitHub": "訪問 GitHub", - "changeLog": "更新日誌", - "reportIssue": "提交 Issue", - "giveStar": "給個 Star", - "extension": { - "vscode": "VS Code 插件", - "raycast": "Raycast 插件", - "alfred": "Alfred 插件" - }, - "donate": { - "openCollective": "通過 Open Collective 捐贈", - "payPal": "通過 PayPal 捐贈" - }, - "twitter": "訪問作者 Twitter", - "devTools": "開發者工具", - "links": { - "snippets": "代碼片段分享站" - } - }, - "file": { - "label": "文件", - "find": "查找" - }, - "view": { - "label": "查看", - "sortBy": { - "label": "排序方式", - "dateModified": "根據修改日期", - "dateCreated": "根據創建日期", - "name": "根據片段名" - } - }, - "edit": { - "label": "編輯", - "undo": "撤銷", - "redo": "恢復", - "cut": "剪切", - "copy": "複製", - "paste": "粘貼", - "delete": "刪除", - "selectAll": "全選" - }, - "editor": { - "label": "編輯器", - "copy": "將代碼片段複製至剪貼板", - "format": "格式化", - "previewCode": "預覽 HTML 和 CSS", - "previewScreenshot": "生成並預覽代碼截圖", - "previewMarkdown": "預覽", - "fontSizeIncrease": "增加字體大小", - "fontSizeDecrease": "減少字體大小", - "fontSizeReset": "重置字體大小" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "演示模式", - "preview": "預覽模式" - }, - "history": { - "label": "歷史記錄", - "back": "回上一頁", - "forward": "到下一頁" - } -} diff --git a/src/main/services/i18n/locales/zh_HK/preferences.json b/src/main/services/i18n/locales/zh_HK/preferences.json deleted file mode 100644 index ac2058f1..00000000 --- a/src/main/services/i18n/locales/zh_HK/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "首選項", - "storage": { - "label": "存儲路徑", - "migrate": "遷移", - "count": "總計" - }, - "editor": { - "label": "編輯器", - "fontSize": "字體大小", - "fontFamily": "字體系列", - "wrap": { - "label": "自動換行", - "wordWrap": "開啓", - "off": "關閉" - }, - "tabSize": "Tab 空格數", - "showInvisibles": "顯示空格與換行符", - "highlightLine": "高亮光標所在行整行", - "highlightGutter": "高亮光標所在行行號", - "matchBrackets": "括號匹配", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "尾後逗號", - "none": "None", - "all": "All", - "es5": "ES5" - }, - "semi": "句尾添加分號", - "singleQuote": "使用單引號代替雙引號" - } - }, - "appearance": { - "label": "外觀", - "theme": { - "label": "主題", - "light": "淺色", - "dark": "深色" - } - }, - "language": { - "label": "語言" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "代碼塊渲染器" - } -} diff --git a/src/main/services/i18n/locales/zh_HK/special.json b/src/main/services/i18n/locales/zh_HK/special.json deleted file mode 100644 index 023afdca..00000000 --- a/src/main/services/i18n/locales/zh_HK/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "要使用 iCloud Drive、Google Drive 和 Dropbox 等同步服務,只需將存儲路徑設置為相應的同步文件夾即可。", - "migrate": { - "1": "從 massCode v1.0 遷移:選擇包含數據庫文件的文件夾。", - "2": "從 SnippetsLab 遷移:選擇 JSON 文件。", - "3": [ - "從 SnippetsLab 遷移將會遇到一些侷限:", - "低於2.1版的 SnippetsLab 因為沒有嵌套文件夾將只有一層文件夾。", - "某些片段可能會因為其語言暫時不被 massCode 支持而被識別為純文本。" - ] - }, - "htmlCssPreview": "添加帶有 HTML 和 CSS 語言的片段來查看預覽結果。", - "codeBlockRenderer": [ - "當使用 Codemirror 渲染時, 則必須為代碼塊設置對應的", - "編程語言" - ] - }, - "success": { - "migrate": "數據庫遷移成功。" - }, - "error": { - "folderContainDb": "文件夾內已存在 \"db.json\"。", - "folderNotContainDb": "文件夾內不存在 \"db.json\"。" - }, - "unsponsored": "未贊助的", - "supportMessage": "Hi,我是 Anton 👋

    \n感謝你使用 massCode 。如果你覺得這個應用對你很有幫助,請{{-tagStart}} 捐贈 {{-tagEnd}}。這將激勵我繼續開發這個項目。", - "snippetsShowcase": "前端片段社群" -} diff --git a/src/main/services/i18n/locales/zh_TW/common.json b/src/main/services/i18n/locales/zh_TW/common.json deleted file mode 100644 index 7115839f..00000000 --- a/src/main/services/i18n/locales/zh_TW/common.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "button": { - "moveStorage": "更改儲存路徑", - "openStorage": "開啟現有儲存", - "fromMassCodeV1": "來自 massCode v1.0", - "fromSnippetsLab": "來自 SnippetsLab", - "confirm": "確認", - "cancel": "取消", - "update": ["前往 GitHub", "OK"], - "ok": "OK" - }, - "newFolder": "新建資料夾", - "newSnippet": "新建程式碼片段", - "newFragment": "新建子片段", - "addDescription": "新增描述", - "addToFavorites": "新增至收藏夾", - "addTag": "新增標籤", - "exportToHtml": "匯出 HTML 檔案", - "saveScreenshot": "儲存截圖", - "rename": "重新命名", - "duplicate": "建立副本", - "delete": "刪除", - "deleteNow": "立即刪除", - "defaultLanguage": "預設語言", - "removeFromFavorites": "從收藏夾移除", - "emptyTrash": "清空回收站", - "close": "關閉", - "folder": { - "untitled": "未命名資料夾", - "plural": "資料夾" - }, - "snippet": { - "untitled": "未命名程式碼片段", - "plural": "程式碼片段", - "emptyName": "請輸入該程式碼片段名稱", - "selectedMultiple": "已選中 {{count}} 個程式碼片段", - "noSelected": "未選中程式碼片段" - }, - "fragment": "子片段", - "search": "搜尋", - "line": "行", - "column": "欄", - "sidebar": { - "inbox": "暫存區", - "favorites": "收藏夾", - "allSnippets": "所有的", - "trash": "回收站", - "untitled": "未命名資料夾", - "folders": "資料夾", - "library": "庫", - "tags": "標籤" - }, - "darkMode": "深色模式", - "background": "背景", - "restartApp": "重啟 massCode", - "updateAvailable": "存在新版本", - "hide": "隱藏", - "show": "顯示", - "collapse-all": "全部展開", - "expand-all": "全部摺疊", - "restore": "回復", - "copy-snippet-link": "複製連結" -} diff --git a/src/main/services/i18n/locales/zh_TW/dialog.json b/src/main/services/i18n/locales/zh_TW/dialog.json deleted file mode 100644 index 8bee9f76..00000000 --- a/src/main/services/i18n/locales/zh_TW/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "你是否確定要永久刪除 {{name}} ?", - "deleteConfirmMultipleSnippets": "你是否確定要永久刪除 {{count}} 個選中的程式碼片段?", - "noUndo": "本操作將無法撤銷。", - "allSnippetsMoveToTrash": "本資料夾內的所有程式碼片段將被移動至回收站。", - "deleteTag": "將會從所有擁有該標籤的程式碼片段中刪除該標籤。", - "emptyTrash": "你是否確定要永久刪除回收站內的所有程式碼片段?", - "migrateConfirm": [ - "你是否確定要從 {{name}} 遷移資料?", - "在遷移過程中,當前的庫將被覆蓋。" - ], - "createDb": "請選擇其他資料夾" -} diff --git a/src/main/services/i18n/locales/zh_TW/menu.json b/src/main/services/i18n/locales/zh_TW/menu.json deleted file mode 100644 index 19da14e5..00000000 --- a/src/main/services/i18n/locales/zh_TW/menu.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "首選項", - "update": { - "label": "檢查更新…", - "message": "新版本 {{newVersion}} 現在已經可以下載。\n現在的版本是 {{oldVersion}} 。", - "button": ["前往下载", "OK"], - "noUpdate": "當前沒有可用的更新。" - }, - "quit": "退出 massCode", - "about": "關於 massCode", - "hide": "最小化 massCode", - "hideOther": "最小化其它視窗", - "showAll": "顯示所有視窗" - }, - "help": { - "label": "幫助", - "website": "訪問官網", - "documentation": "訪問文件", - "viewInGitHub": "訪問 GitHub", - "changeLog": "更新日誌", - "reportIssue": "提交 Issue", - "giveStar": "給個 Star", - "extension": { - "vscode": "VS Code 外掛", - "raycast": "Raycast 外掛", - "alfred": "Alfred 外掛" - }, - "donate": { - "openCollective": "透過 Open Collective 捐贈", - "payPal": "透過 PayPal 捐贈" - }, - "twitter": "訪問作者 Twitter", - "devTools": "開發人員工具", - "links": { - "snippets": "程式碼片段分享站" - } - }, - "file": { - "label": "檔案", - "find": "尋找" - }, - "view": { - "label": "檢視", - "sortBy": { - "label": "排序按照", - "dateModified": "修改日期", - "dateCreated": "建立日期", - "name": "片段名" - } - }, - "edit": { - "label": "編輯", - "undo": "復原", - "redo": "取消復原", - "cut": "剪下", - "copy": "複製", - "paste": "貼上", - "delete": "刪除", - "selectAll": "全選" - }, - "editor": { - "label": "編輯器", - "copy": "將程式碼片段複製至剪貼簿", - "format": "格式化", - "previewCode": "預覽 HTML 和 CSS", - "previewScreenshot": "生成並預覽程式碼擷圖", - "previewMarkdown": "預覽 Markdown", - "fontSizeIncrease": "增加字體大小", - "fontSizeDecrease": "減少字體大小", - "fontSizeReset": "重置字體大小" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "演示模式", - "preview": "預覽模式" - }, - "history": { - "label": "歷史記錄", - "back": "回上一頁", - "forward": "到下一頁" - } -} diff --git a/src/main/services/i18n/locales/zh_TW/preferences.json b/src/main/services/i18n/locales/zh_TW/preferences.json deleted file mode 100644 index 7325fdee..00000000 --- a/src/main/services/i18n/locales/zh_TW/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "首選項", - "storage": { - "label": "儲存路徑", - "migrate": "遷移", - "count": "總計" - }, - "editor": { - "label": "編輯器", - "fontSize": "字型大小", - "fontFamily": "字型系列", - "wrap": { - "label": "自動換行", - "wordWrap": "開啟", - "off": "關閉" - }, - "tabSize": "Tab 空格數", - "showInvisibles": "顯示空格與換行符", - "highlightLine": "高亮游標所在行整行", - "highlightGutter": "高亮游標所在行行號", - "matchBrackets": "括號匹配", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "尾後逗號", - "none": "None", - "all": "All", - "es5": "ES5" - }, - "semi": "句尾新增分號", - "singleQuote": "使用單引號代替雙引號" - } - }, - "appearance": { - "label": "外觀", - "theme": { - "label": "主題", - "light": "淺色", - "dark": "深色" - } - }, - "language": { - "label": "語言" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "程式碼塊渲染器" - } -} diff --git a/src/main/services/i18n/locales/zh_TW/special.json b/src/main/services/i18n/locales/zh_TW/special.json deleted file mode 100644 index b4d03de5..00000000 --- a/src/main/services/i18n/locales/zh_TW/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "要使用 iCloud Drive、Google Drive 和 Dropbox 等同步服務,只需將儲存路徑設定為相應的同步資料夾即可。", - "migrate": { - "1": "從 massCode v1.0 遷移:選擇包含資料庫檔案的資料夾。", - "2": "從 SnippetsLab 遷移:選擇 JSON 檔案。", - "3": [ - "從 SnippetsLab 遷移將會遇到一些侷限:", - "低於2.1版的 SnippetsLab 因為沒有巢狀資料夾將只有一層資料夾。", - "某些片段可能會因為其語言暫時不被 massCode 支持而被識別為純文字。" - ] - }, - "htmlCssPreview": "新增帶有 HTML 和 CSS 語言的片段來檢視預覽結果。", - "codeBlockRenderer": [ - "當使用 Codemirror 渲染時, 則必須為程式碼塊設定對應的", - "程式語言" - ] - }, - "success": { - "migrate": "資料庫遷移成功。" - }, - "error": { - "folderContainDb": "資料夾內已存在 \"db.json\"。", - "folderNotContainDb": "資料夾內不存在 \"db.json\"。" - }, - "unsponsored": "未贊助的", - "supportMessage": "Hi,我是 Anton 👋

    \n感謝你使用 massCode 。如果你覺得這個應用很有幫助,請{{-tagStart}} 捐贈 {{-tagEnd}}。這將激勵我繼續開發這個專案。", - "snippetsShowcase": "前端片段社群" -} diff --git a/src/main/services/ipc/context-menu.ts b/src/main/services/ipc/context-menu.ts deleted file mode 100644 index d919ada2..00000000 --- a/src/main/services/ipc/context-menu.ts +++ /dev/null @@ -1,421 +0,0 @@ -import { createMenu } from '../../components/menu' -import type { MenuItemConstructorOptions } from 'electron' -import { BrowserWindow, MenuItem, dialog, ipcMain } from 'electron' -import type { - ContextMenuRequest, - ContextMenuResponse -} from '@shared/types/main' -import { languages } from '../../../renderer/components/editor/languages' -import i18n from '../i18n' - -export const subscribeToContextMenu = () => { - ipcMain.handle( - 'context-menu:snippet-fragment', - async (event, payload) => { - const { name, type } = payload - - return new Promise(resolve => { - const menu = createMenu([ - { - label: `${i18n.t('rename')} ${name}`, - click: () => - resolve({ - action: 'rename', - type, - data: payload - }) - }, - { type: 'separator' }, - { - label: `${i18n.t('delete')} ${name}`, - click: () => { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message: i18n.t('dialog:deleteConfirm', { name }), - detail: i18n.t('dialog:noUndo'), - buttons: [i18n.t('button.confirm'), i18n.t('button.cancel')], - defaultId: 0, - cancelId: 1 - } - ) - if (buttonId === 0) { - resolve({ - action: 'delete', - type, - data: payload - }) - } - } - } - ]) - - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - }) - } - ) - - ipcMain.handle( - 'context-menu:snippet', - async (event, payload) => { - const { name, type, selectedCount } = payload - - return new Promise(resolve => { - const menu = createMenu([]) - - const defaultMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('addToFavorites'), - click: () => { - resolve({ - action: 'favorites', - type, - data: true - }) - } - }, - { type: 'separator' }, - { - label: i18n.t('copy-snippet-link'), - click: () => { - resolve({ - action: 'copy-snippet-link', - type, - data: true - }) - } - }, - { type: 'separator' }, - { - label: i18n.t('duplicate'), - click: () => { - resolve({ - action: 'duplicate', - type, - data: undefined - }) - } - }, - { - label: i18n.t('delete'), - click: () => { - resolve({ - action: 'delete', - type, - data: undefined - }) - } - } - ] - - const favoritesMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('removeFromFavorites'), - click: () => { - resolve({ - action: 'favorites', - type, - data: false - }) - } - }, - { type: 'separator' }, - { - label: i18n.t('delete'), - click: () => { - resolve({ - action: 'delete', - type, - data: undefined - }) - } - } - ] - - const trashMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('deleteNow'), - click: () => { - const message = - selectedCount === 0 - ? i18n.t('dialog:deleteConfirm', { name }) - : i18n.t('dialog:deleteConfirmMultipleSnippets', { - count: selectedCount - }) - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message, - detail: i18n.t('dialog:noUndo'), - buttons: [i18n.t('button.confirm'), i18n.t('button.cancel')], - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - resolve({ - action: 'delete', - type, - data: undefined - }) - } else { - resolve({ - action: 'none', - type, - data: undefined - }) - } - } - }, - { - label: i18n.t('restore'), - click: () => { - resolve({ - action: 'restore-from-trash', - type, - data: undefined - }) - } - } - ] - - if (type === 'folder' || type === 'all' || type === 'inbox') { - defaultMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - if (type === 'favorites') { - favoritesMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - if (type === 'trash') { - trashMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - menu.on('menu-will-close', () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'context-menu:close' - ) - }) - }) - } - ) - - ipcMain.handle( - 'context-menu:library', - async (event, payload) => { - const { name, type, data } = payload - - return new Promise(resolve => { - const menu = createMenu([]) - - const createLanguageMenu = () => { - return languages.map(i => { - return { - label: i.name, - type: 'radio', - checked: i.value === data.defaultLanguage, - click: () => { - resolve({ - action: 'update:language', - type, - data: i.value - }) - } - } - }) as MenuItemConstructorOptions[] - } - - const folderMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('newFolder'), - click: () => { - resolve({ - action: 'new', - type, - data: undefined - }) - } - }, - { type: 'separator' }, - { - label: i18n.t('rename'), - click: () => { - resolve({ - action: 'rename', - type, - data: payload - }) - } - }, - { - label: i18n.t('delete'), - click: () => { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message: i18n.t('dialog:deleteConfirm', { name }), - detail: i18n.t('dialog:allSnippetsMoveToTrash'), - buttons: [i18n.t('delete'), i18n.t('button.cancel')], - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - resolve({ - action: 'delete', - type, - data: undefined - }) - } else { - resolve({ - action: 'none', - type, - data: undefined - }) - } - } - }, - { type: 'separator' }, - { - label: i18n.t('collapse-all'), - click: () => { - resolve({ - action: 'collapse-all', - type, - data: undefined - }) - } - }, - { - label: i18n.t('expand-all'), - click: () => { - resolve({ - action: 'expand-all', - type, - data: undefined - }) - } - }, - { type: 'separator' }, - { - label: i18n.t('defaultLanguage'), - submenu: createLanguageMenu() - }, - { type: 'separator' }, - { - label: i18n.t('set-custom-icon'), - click: () => { - resolve({ - action: 'set-custom-icon', - type, - data: undefined - }) - } - } - ] - - const tagMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('delete'), - click: () => { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message: i18n.t('dialog:deleteConfirm', { name }), - detail: i18n.t('dialog:deleteTag'), - buttons: [i18n.t('delete'), i18n.t('button.cancel')], - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - resolve({ - action: 'delete', - type, - data: undefined - }) - } else { - resolve({ - action: 'none', - type, - data: undefined - }) - } - } - } - ] - - const trashMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('emptyTrash'), - click: () => { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message: i18n.t('dialog:emptyTrash'), - detail: i18n.t('dialog:noUndo'), - buttons: [i18n.t('delete'), i18n.t('button.cancel')], - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - resolve({ - action: 'delete', - type, - data: undefined - }) - } else { - resolve({ - action: 'none', - type, - data: undefined - }) - } - } - } - ] - - if (type === 'folder') { - folderMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - if (type === 'tag') { - tagMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - if (type === 'trash') { - trashMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - menu.on('menu-will-close', () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'context-menu:close' - ) - }) - }) - } - ) -} diff --git a/src/main/services/ipc/dialog.ts b/src/main/services/ipc/dialog.ts deleted file mode 100644 index 9e04a1af..00000000 --- a/src/main/services/ipc/dialog.ts +++ /dev/null @@ -1,46 +0,0 @@ -import type { DialogRequest, MessageBoxRequest } from '@shared/types/main' -import { BrowserWindow, dialog, ipcMain } from 'electron' - -export const subscribeToDialog = () => { - ipcMain.handle('main:open-dialog', (event, payload) => { - return new Promise(resolve => { - const { properties, filters } = payload - - const dir = dialog.showOpenDialogSync(BrowserWindow.getFocusedWindow()!, { - properties: properties || ['openDirectory', 'createDirectory'], - filters: filters || [{ name: '*', extensions: ['json'] }] - }) - - if (dir) { - resolve(dir[0]) - } else { - resolve('') - } - }) - }) - - ipcMain.handle( - 'main:open-message-box', - (event, payload) => { - const { message, detail, buttons } = payload - return new Promise(resolve => { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message, - detail, - buttons, - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - resolve(true) - } else { - resolve(false) - } - }) - } - ) -} diff --git a/src/main/services/ipc/fs.ts b/src/main/services/ipc/fs.ts deleted file mode 100644 index 6c5e584b..00000000 --- a/src/main/services/ipc/fs.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { store } from '../../store' -import { ipcMain } from 'electron' -import { ensureDirSync, copySync } from 'fs-extra' -import { join, parse } from 'path' -import { nanoid } from 'nanoid' -import slash from 'slash' - -const ASSETS_DIR = 'assets' - -export const subscribeToFs = () => { - ipcMain.handle('main:copy-to-assets', (event, payload) => { - return new Promise(resolve => { - const storagePath = store.preferences.get('storagePath') - const payloadPath = payload - const assetsPath = join(storagePath, ASSETS_DIR) - const { ext } = parse(payloadPath) - - const name = `${nanoid()}${ext}` - const dest = join(assetsPath, name) - - ensureDirSync(assetsPath) - copySync(payloadPath, dest) - - resolve(slash(join(ASSETS_DIR, name))) - }) - }) -} diff --git a/src/main/services/ipc/index.ts b/src/main/services/ipc/index.ts deleted file mode 100644 index fe1cbbc0..00000000 --- a/src/main/services/ipc/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { subscribeToContextMenu } from './context-menu' -import { subscribeToFs } from './fs' -import { subscribeToNotification } from './notifications' -import { subscribeToPrettier } from './prettier' - -export const subscribeToChannels = () => { - subscribeToContextMenu() - subscribeToNotification() - subscribeToPrettier() - subscribeToFs() -} diff --git a/src/main/services/ipc/notifications.ts b/src/main/services/ipc/notifications.ts deleted file mode 100644 index 2d94413f..00000000 --- a/src/main/services/ipc/notifications.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { NotificationRequest } from '@shared/types/main' -import { ipcMain, Notification } from 'electron' - -export const subscribeToNotification = () => { - if (!Notification.isSupported()) return - - ipcMain.handle('main:notification', (event, payload) => { - return new Promise(resolve => { - const { body } = payload - const notification = new Notification({ - title: 'massCode', - body - }) - notification.show() - resolve() - }) - }) -} diff --git a/src/main/services/ipc/prettier.ts b/src/main/services/ipc/prettier.ts deleted file mode 100644 index 74b6537a..00000000 --- a/src/main/services/ipc/prettier.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { PrettierRequest } from '@shared/types/main' -import { ipcMain } from 'electron' -import { format } from '../prettier' - -export const subscribeToPrettier = () => { - ipcMain.handle('main:prettier', (event, payload) => { - const { source, parser } = payload - return new Promise(resolve => { - const formatted = format(source, parser) - resolve(formatted) - }) - }) -} diff --git a/src/main/services/prettier/index.ts b/src/main/services/prettier/index.ts deleted file mode 100644 index d90d8975..00000000 --- a/src/main/services/prettier/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -import prettier from 'prettier' -import { store } from '../../store' - -export const format = (source: string, parser: string) => { - const editor = store.preferences.get('editor') - - const formatted = prettier.format(source, { - parser, - tabWidth: editor.tabSize, - trailingComma: editor.trailingComma, - semi: editor.semi, - singleQuote: editor.singleQuote - }) - - return formatted -} diff --git a/src/main/services/update-check.ts b/src/main/services/update-check.ts deleted file mode 100644 index b70a6fa1..00000000 --- a/src/main/services/update-check.ts +++ /dev/null @@ -1,36 +0,0 @@ -import axios from 'axios' -import { BrowserWindow } from 'electron' -import { version, repository } from '../../../package.json' - -const isDev = process.env.NODE_ENV === 'development' - -export const checkForUpdate = async () => { - if (isDev) return - - try { - const res = await axios.get(`${repository}/releases/latest`) - - if (res) { - const latest = res.request.socket._httpMessage.path - .split('/') - .pop() - .substring(1) - if (latest !== version) { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main:update-available' - ) - return latest - } - } - } catch (err) { - console.error(err) - } -} - -export const checkForUpdateWithInterval = () => { - checkForUpdate() - - setInterval(() => { - checkForUpdate() - }, 1000 * 60 * 360) // 6 часов -} diff --git a/src/main/store/index.ts b/src/main/store/index.ts index 8351a395..aa6b0984 100644 --- a/src/main/store/index.ts +++ b/src/main/store/index.ts @@ -1,7 +1,5 @@ import app from './module/app' -import preferences from './module/preferences' export const store = { app, - preferences } diff --git a/src/main/store/module/app.ts b/src/main/store/module/app.ts index cad33367..12290a53 100644 --- a/src/main/store/module/app.ts +++ b/src/main/store/module/app.ts @@ -1,16 +1,15 @@ import Store from 'electron-store' -import type { AppStore } from '@shared/types/main/store' -export default new Store({ - name: 'app', - cwd: 'v2', +interface StoreSchema { + bounds: object +} - defaults: { - bounds: {}, - sidebarWidth: 180, - snippetListWidth: 250, - sort: 'updatedAt', - hideSubfolderSnippets: false, - compactMode: false - } +export default new Store({ + name: 'app', + schema: { + bounds: { + default: {}, + type: 'object', + }, + }, }) diff --git a/src/main/store/module/preferences.ts b/src/main/store/module/preferences.ts deleted file mode 100644 index c9183ff2..00000000 --- a/src/main/store/module/preferences.ts +++ /dev/null @@ -1,42 +0,0 @@ -import Store from 'electron-store' -import { homedir, platform } from 'os' -import type { PreferencesStore } from '@shared/types/main/store' - -const isWin = platform() === 'win32' - -const defaultPath = isWin ? homedir() + '\\massCode' : homedir() + '/massCode' -const backupPath = isWin ? `${defaultPath}\\backups` : `${defaultPath}/backups` - -export default new Store({ - name: 'preferences', - cwd: 'v2', - - defaults: { - storagePath: defaultPath, - backupPath, - theme: 'light:github', - editor: { - wrap: true, - fontFamily: 'SF Mono, Consolas, Menlo, Ubuntu Mono, monospace', - fontSize: 12, - tabSize: 2, - trailingComma: 'none', - semi: false, - singleQuote: true, - highlightLine: false, - highlightGutter: false, - matchBrackets: false - }, - screenshot: { - background: false, - gradient: ['#D02F98', '#9439CA'], - darkMode: true, - width: 600 - }, - markdown: { - presentationScale: 1.3, - codeRenderer: 'highlight.js' - }, - language: 'en' - } -}) diff --git a/src/main/types/index.ts b/src/main/types/index.ts new file mode 100644 index 00000000..6006ebd3 --- /dev/null +++ b/src/main/types/index.ts @@ -0,0 +1,26 @@ +import type { IpcRendererEvent } from 'electron' + +export interface EventCallback { + (event?: IpcRendererEvent, ...args: any[]): void +} + +export interface DBQueryArgs { + sql: string + params?: unknown[] +} + +declare global { + interface Window { + electron: { + ipc: { + on: (channel: string, cb: EventCallback) => void + send: (channel: string, data: any, cb: EventCallback) => void + removeListener: (channel: string, cb: EventCallback) => void + removeListeners: (channel: string) => void + } + db: { + query: (sql: string, params?: any[]) => Promise + } + } + } +} diff --git a/src/main/utils/index.ts b/src/main/utils/index.ts deleted file mode 100644 index e4954dd5..00000000 --- a/src/main/utils/index.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Конвертация вложенного строения дерева с 'children' в плоское - * @param {Array} items - массив элементов - * @param {String} link - связь по полю - * @returns {Array} - плоский массив со связями по полю 'parentId' - */ -export function nestedToFlat (items: any[], link = 'id') { - const flatList: any[] = [] - - function flat (items: any[]) { - items.forEach((i, index) => { - if (i.children && i.children.length) { - const children: any[] = i.children.map((item: any, idx: number) => { - return { - ...item, - index: idx, - parentId: i[link] - } - }) - - flatList.push(...children) - - if (!flatList.find(l => l[link] === i[link])) { - flatList.push({ - ...i, - index, - parentId: null - }) - } - - flat(i.children) - } else { - if (!flatList.find(l => l[link] === i[link])) { - flatList.push({ - ...i, - index, - parentId: null - }) - } - } - }) - } - - flat(items) - - return flatList.map(({ children, ...rest }) => rest) -} diff --git a/src/renderer/App.vue b/src/renderer/App.vue index 8fe07b9e..231e157e 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -1,340 +1,77 @@ - - - diff --git a/src/renderer/assets/logo.png b/src/renderer/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8232003c3793b5c79567754d72324f7ce2a15dda GIT binary patch literal 153058 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 literal 0 HcmV?d00001 diff --git a/src/renderer/assets/scss/ace.scss b/src/renderer/assets/scss/ace.scss deleted file mode 100644 index 0fab2012..00000000 --- a/src/renderer/assets/scss/ace.scss +++ /dev/null @@ -1,27 +0,0 @@ -.ace_editor { - ::-webkit-scrollbar { - width: 5px; - height: 5px; - } - ::-webkit-scrollbar-thumb { - background-color: var(--color-editor-scrollbar); - border-radius: 6px; - } -} -.ace_gutter { - width: 40px !important; - background: transparent !important; - &-layer { - margin-left: -12px; - } -} -.ace_scroller { - left: 40px !important; - &.ace_scroll-left { - box-shadow: none; - border-left: 1px solid var(--color-border); - } -} -.ace_hidden-cursors { - opacity: 0 -} \ No newline at end of file diff --git a/src/renderer/assets/scss/base.scss b/src/renderer/assets/scss/base.scss deleted file mode 100644 index b47860db..00000000 --- a/src/renderer/assets/scss/base.scss +++ /dev/null @@ -1,122 +0,0 @@ -body { - font-family: var(--font-primary); - background-color: var(--color-bg); -} - -#app { - color: var(--color-text); - font-size: var(--text-md); -} - -h1, -h2, -h3, -h4, -h5, -h6 { - font-weight: 600; -} -h1 { - font-size: var(--text-xxxl); - margin: var(--spacing-xl) 0; -} -h2 { - font-size: var(--text-xxl); - margin: var(--spacing-xl) 0; -} -h3 { - font-size: var(--text-xl); - margin: var(--spacing-xl) 0; -} -h3 { - font-size: var(--text-lg); - margin: var(--spacing-lg) 0; -} -h4 { - font-size: var(--text-md); - margin: var(--spacing-md) 0; -} -h5 { - font-size: var(--text-sm); - margin: var(--spacing-xs) 0; -} -h6 { - font-size: var(--text-xs); - text-transform: uppercase; - margin: var(--spacing-xs) 0; - font-weight: 700; -} - -::placeholder { - color: var(--color-text-3); -} - - -.gutter-line { - position: absolute; - top: 0; - right: 0; - width: 1px; - height: 100vh; - background-color: var(--color-border); - cursor: col-resize; - &::after { - content: ''; - display: block; - height: 100%; - width: 8px; - position: absolute; - left: -3px; - z-index: 10; - } -} -.gutter-line-horizontal { - position: absolute; - top: 0; - left: 0; - right: 0; - width: 100%; - height: 1px; - background-color: var(--color-border); - cursor: row-resize; - &::after { - content: ''; - display: block; - height: 8px; - width: 100%; - position: absolute; - top: -2px; - z-index: 10; - } -} - -.desc { - font-size: var(--text-sm); - color: var(--color-text-3); - margin-top: var(--spacing-xs); -} - -.link { - text-decoration: underline; - cursor: pointer; -} - -.table { - width: 100%; - border-collapse: collapse; - border-spacing: 0; - border: 1px solid var(--color-border); - table-layout: fixed; - th, - td { - padding: var(--spacing-xs) var(--spacing-sm); - border: 1px solid var(--color-border); - } - th { - text-align: left; - background-color: var(--color-bg-2); - } - tr:nth-child(even) { - background-color: var(--color-bg-2); - } -} \ No newline at end of file diff --git a/src/renderer/assets/scss/main.scss b/src/renderer/assets/scss/main.scss deleted file mode 100644 index ef9af555..00000000 --- a/src/renderer/assets/scss/main.scss +++ /dev/null @@ -1,7 +0,0 @@ -@import './reset'; -@import './variables'; -@import './markdown'; -@import './base'; -@import './ace'; -@import './themes'; -@import './vendor'; \ No newline at end of file diff --git a/src/renderer/assets/scss/markdown.scss b/src/renderer/assets/scss/markdown.scss deleted file mode 100644 index 808dcf80..00000000 --- a/src/renderer/assets/scss/markdown.scss +++ /dev/null @@ -1,958 +0,0 @@ -.markdown-body { - --scale: 1; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - margin: 0; - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; - font-size: calc(16px * var(--scale)); - line-height: 1.5; - word-wrap: break-word; -} - -.markdown-body .octicon { - display: inline-block; - fill: currentColor; - vertical-align: text-bottom; -} - -.markdown-body h1:hover .anchor .octicon-link:before, -.markdown-body h2:hover .anchor .octicon-link:before, -.markdown-body h3:hover .anchor .octicon-link:before, -.markdown-body h4:hover .anchor .octicon-link:before, -.markdown-body h5:hover .anchor .octicon-link:before, -.markdown-body h6:hover .anchor .octicon-link:before { - width: 16px; - height: 16px; - content: ' '; - display: inline-block; - background-color: currentColor; - -webkit-mask-image: url("data:image/svg+xml,"); - mask-image: url("data:image/svg+xml,"); -} - -.markdown-body details, -.markdown-body figcaption, -.markdown-body figure { - display: block; -} - -.markdown-body summary { - display: list-item; -} - -.markdown-body [hidden] { - display: none !important; -} - -.markdown-body a { - background-color: transparent; - color: #0969da; - text-decoration: none; -} - -.markdown-body a:active, -.markdown-body a:hover { - outline-width: 0; -} - -.markdown-body abbr[title] { - border-bottom: none; - text-decoration: underline dotted; -} - -.markdown-body b, -.markdown-body strong { - font-weight: 600; -} - -.markdown-body dfn { - font-style: italic; -} - -.markdown-body h1 { - margin: .67em 0; - font-weight: 600; - padding-bottom: .3em; - font-size: 2em; - border-bottom: 1px solid hsla(210,18%,87%,1); -} - -.markdown-body mark { - background-color: #fff8c5; - color: #24292f; -} - -.markdown-body small { - font-size: 90%; -} - -.markdown-body sub, -.markdown-body sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -.markdown-body sub { - bottom: -0.25em; -} - -.markdown-body sup { - top: -0.5em; -} - -.markdown-body img { - border-style: none; - max-width: 100%; - box-sizing: content-box; - background-color: #ffffff; -} - -.markdown-body code, -.markdown-body kbd, -.markdown-body pre, -.markdown-body samp { - font-family: monospace,monospace; - font-size: 1em; -} - -.markdown-body figure { - margin: 1em 40px; -} - -.markdown-body hr { - box-sizing: content-box; - overflow: hidden; - background: transparent; - border-bottom: 1px solid hsla(210,18%,87%,1); - height: .25em; - padding: 0; - margin: 24px 0; - background-color: #d0d7de; - border: 0; -} - -.markdown-body input { - font: inherit; - margin: 0; - overflow: visible; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -.markdown-body [type=button], -.markdown-body [type=reset], -.markdown-body [type=submit] { - -webkit-appearance: button; -} - -.markdown-body [type=button]::-moz-focus-inner, -.markdown-body [type=reset]::-moz-focus-inner, -.markdown-body [type=submit]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -.markdown-body [type=button]:-moz-focusring, -.markdown-body [type=reset]:-moz-focusring, -.markdown-body [type=submit]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -.markdown-body [type=checkbox], -.markdown-body [type=radio] { - box-sizing: border-box; - padding: 0; -} - -.markdown-body [type=number]::-webkit-inner-spin-button, -.markdown-body [type=number]::-webkit-outer-spin-button { - height: auto; -} - -.markdown-body [type=search] { - -webkit-appearance: textfield; - outline-offset: -2px; -} - -.markdown-body [type=search]::-webkit-search-cancel-button, -.markdown-body [type=search]::-webkit-search-decoration { - -webkit-appearance: none; -} - -.markdown-body ::-webkit-input-placeholder { - color: inherit; - opacity: .54; -} - -.markdown-body ::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; -} - -.markdown-body a:hover { - text-decoration: underline; -} - -.markdown-body hr::before { - display: table; - content: ""; -} - -.markdown-body hr::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body table { - border-spacing: 0; - border-collapse: collapse; - display: block; - width: max-content; - max-width: 100%; - overflow: auto; -} - -.markdown-body td, -.markdown-body th { - padding: 0; -} - -.markdown-body details summary { - cursor: pointer; -} - -.markdown-body details:not([open])>*:not(summary) { - display: none !important; -} - -.markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - line-height: 10px; - color: #24292f; - vertical-align: middle; - background-color: #f6f8fa; - border: solid 1px rgba(175,184,193,0.2); - border-bottom-color: rgba(175,184,193,0.2); - border-radius: 6px; - box-shadow: inset 0 -1px 0 rgba(175,184,193,0.2); -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin-top: 24px; - margin-bottom: 16px; - font-weight: 600; - line-height: 1.25; -} - -.markdown-body h2 { - font-weight: 600; - padding-bottom: .3em; - font-size: 1.5em; - border-bottom: 1px solid hsla(210,18%,87%,1); -} - -.markdown-body h3 { - font-weight: 600; - font-size: 1.25em; -} - -.markdown-body h4 { - font-weight: 600; - font-size: 1em; -} - -.markdown-body h5 { - font-weight: 600; - font-size: .875em; -} - -.markdown-body h6 { - font-weight: 600; - font-size: .85em; - color: #57606a; -} - -.markdown-body p { - margin-top: 0; - margin-bottom: 10px; -} - -.markdown-body blockquote { - margin: 0; - padding: 0 1em; - color: #57606a; - border-left: .25em solid #d0d7de; -} - -.markdown-body ul, -.markdown-body ol { - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} - -.markdown-body ol ol, -.markdown-body ul ol { - list-style-type: lower-roman; -} - -.markdown-body ul ul ol, -.markdown-body ul ol ol, -.markdown-body ol ul ol, -.markdown-body ol ol ol { - list-style-type: lower-alpha; -} - -.markdown-body dd { - margin-left: 0; -} - -.markdown-body tt, -.markdown-body code { - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - font-size: 12px; -} - -.markdown-body pre { - margin-top: 0; - margin-bottom: 0; - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - font-size: 12px; - word-wrap: normal; -} - -.markdown-body .octicon { - display: inline-block; - overflow: visible !important; - vertical-align: text-bottom; - fill: currentColor; -} - -.markdown-body ::placeholder { - color: #6e7781; - opacity: 1; -} - -.markdown-body input::-webkit-outer-spin-button, -.markdown-body input::-webkit-inner-spin-button { - margin: 0; - -webkit-appearance: none; - appearance: none; -} - -.markdown-body .pl-c { - color: #6e7781; -} - -.markdown-body .pl-c1, -.markdown-body .pl-s .pl-v { - color: #0550ae; -} - -.markdown-body .pl-e, -.markdown-body .pl-en { - color: #8250df; -} - -.markdown-body .pl-smi, -.markdown-body .pl-s .pl-s1 { - color: #24292f; -} - -.markdown-body .pl-ent { - color: #116329; -} - -.markdown-body .pl-k { - color: #cf222e; -} - -.markdown-body .pl-s, -.markdown-body .pl-pds, -.markdown-body .pl-s .pl-pse .pl-s1, -.markdown-body .pl-sr, -.markdown-body .pl-sr .pl-cce, -.markdown-body .pl-sr .pl-sre, -.markdown-body .pl-sr .pl-sra { - color: #0a3069; -} - -.markdown-body .pl-v, -.markdown-body .pl-smw { - color: #953800; -} - -.markdown-body .pl-bu { - color: #82071e; -} - -.markdown-body .pl-ii { - color: #f6f8fa; - background-color: #82071e; -} - -.markdown-body .pl-c2 { - color: #f6f8fa; - background-color: #cf222e; -} - -.markdown-body .pl-sr .pl-cce { - font-weight: bold; - color: #116329; -} - -.markdown-body .pl-ml { - color: #3b2300; -} - -.markdown-body .pl-mh, -.markdown-body .pl-mh .pl-en, -.markdown-body .pl-ms { - font-weight: bold; - color: #0550ae; -} - -.markdown-body .pl-mi { - font-style: italic; - color: #24292f; -} - -.markdown-body .pl-mb { - font-weight: bold; - color: #24292f; -} - -.markdown-body .pl-md { - color: #82071e; - background-color: #FFEBE9; -} - -.markdown-body .pl-mi1 { - color: #116329; - background-color: #dafbe1; -} - -.markdown-body .pl-mc { - color: #953800; - background-color: #ffd8b5; -} - -.markdown-body .pl-mi2 { - color: #eaeef2; - background-color: #0550ae; -} - -.markdown-body .pl-mdr { - font-weight: bold; - color: #8250df; -} - -.markdown-body .pl-ba { - color: #57606a; -} - -.markdown-body .pl-sg { - color: #8c959f; -} - -.markdown-body .pl-corl { - text-decoration: underline; - color: #0a3069; -} - -.markdown-body [data-catalyst] { - display: block; -} - -.markdown-body g-emoji { - font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; - font-size: 1em; - font-style: normal !important; - font-weight: 400; - line-height: 1; - vertical-align: -0.075em; -} - -.markdown-body g-emoji img { - width: 1em; - height: 1em; -} - -.markdown-body::before { - display: table; - content: ""; -} - -.markdown-body::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body>*:first-child { - margin-top: 0 !important; -} - -.markdown-body>*:last-child { - margin-bottom: 0 !important; -} - -.markdown-body a:not([href]) { - color: inherit; - text-decoration: none; -} - -.markdown-body .absent { - color: #cf222e; -} - -.markdown-body .anchor { - float: left; - padding-right: 4px; - margin-left: -20px; - line-height: 1; -} - -.markdown-body .anchor:focus { - outline: none; -} - -.markdown-body p, -.markdown-body blockquote, -.markdown-body ul, -.markdown-body ol, -.markdown-body dl, -.markdown-body table, -.markdown-body pre, -.markdown-body details { - margin-top: 0; - margin-bottom: 16px; -} - -.markdown-body blockquote>:first-child { - margin-top: 0; -} - -.markdown-body blockquote>:last-child { - margin-bottom: 0; -} - -.markdown-body sup>a::before { - content: "["; -} - -.markdown-body sup>a::after { - content: "]"; -} - -.markdown-body h1 .octicon-link, -.markdown-body h2 .octicon-link, -.markdown-body h3 .octicon-link, -.markdown-body h4 .octicon-link, -.markdown-body h5 .octicon-link, -.markdown-body h6 .octicon-link { - color: #24292f; - vertical-align: middle; - visibility: hidden; -} - -.markdown-body h1:hover .anchor, -.markdown-body h2:hover .anchor, -.markdown-body h3:hover .anchor, -.markdown-body h4:hover .anchor, -.markdown-body h5:hover .anchor, -.markdown-body h6:hover .anchor { - text-decoration: none; -} - -.markdown-body h1:hover .anchor .octicon-link, -.markdown-body h2:hover .anchor .octicon-link, -.markdown-body h3:hover .anchor .octicon-link, -.markdown-body h4:hover .anchor .octicon-link, -.markdown-body h5:hover .anchor .octicon-link, -.markdown-body h6:hover .anchor .octicon-link { - visibility: visible; -} - -.markdown-body h1 tt, -.markdown-body h1 code, -.markdown-body h2 tt, -.markdown-body h2 code, -.markdown-body h3 tt, -.markdown-body h3 code, -.markdown-body h4 tt, -.markdown-body h4 code, -.markdown-body h5 tt, -.markdown-body h5 code, -.markdown-body h6 tt, -.markdown-body h6 code { - padding: 0 .2em; - font-size: inherit; -} - -.markdown-body ul.no-list, -.markdown-body ol.no-list { - padding: 0; - list-style-type: none; -} - -.markdown-body ol[type="1"] { - list-style-type: decimal; -} - -.markdown-body ol[type=a] { - list-style-type: lower-alpha; -} - -.markdown-body ol[type=i] { - list-style-type: lower-roman; -} - -.markdown-body div>ol:not([type]) { - list-style-type: decimal; -} - -.markdown-body ul ul, -.markdown-body ul ol, -.markdown-body ol ol, -.markdown-body ol ul { - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body li>p { - margin-top: 16px; -} - -.markdown-body li+li { - margin-top: .25em; -} - -.markdown-body dl { - padding: 0; -} - -.markdown-body dl dt { - padding: 0; - margin-top: 16px; - font-size: 1em; - font-style: italic; - font-weight: 600; -} - -.markdown-body dl dd { - padding: 0 16px; - margin-bottom: 16px; -} - -.markdown-body table th { - font-weight: 600; -} - -.markdown-body table th, -.markdown-body table td { - padding: 6px 13px; - border: 1px solid #d0d7de; -} - -.markdown-body table tr { - background-color: #ffffff; - border-top: 1px solid hsla(210,18%,87%,1); -} - -.markdown-body table tr:nth-child(2n) { - background-color: #f6f8fa; -} - -.markdown-body table img { - background-color: transparent; -} - -.markdown-body img[align=right] { - padding-left: 20px; -} - -.markdown-body img[align=left] { - padding-right: 20px; -} - -.markdown-body .emoji { - max-width: none; - vertical-align: text-top; - background-color: transparent; -} - -.markdown-body span.frame { - display: block; - overflow: hidden; -} - -.markdown-body span.frame>span { - display: block; - float: left; - width: auto; - padding: 7px; - margin: 13px 0 0; - overflow: hidden; - border: 1px solid #d0d7de; -} - -.markdown-body span.frame span img { - display: block; - float: left; -} - -.markdown-body span.frame span span { - display: block; - padding: 5px 0 0; - clear: both; - color: #24292f; -} - -.markdown-body span.align-center { - display: block; - overflow: hidden; - clear: both; -} - -.markdown-body span.align-center>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: center; -} - -.markdown-body span.align-center span img { - margin: 0 auto; - text-align: center; -} - -.markdown-body span.align-right { - display: block; - overflow: hidden; - clear: both; -} - -.markdown-body span.align-right>span { - display: block; - margin: 13px 0 0; - overflow: hidden; - text-align: right; -} - -.markdown-body span.align-right span img { - margin: 0; - text-align: right; -} - -.markdown-body span.float-left { - display: block; - float: left; - margin-right: 13px; - overflow: hidden; -} - -.markdown-body span.float-left span { - margin: 13px 0 0; -} - -.markdown-body span.float-right { - display: block; - float: right; - margin-left: 13px; - overflow: hidden; -} - -.markdown-body span.float-right>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: right; -} - -.markdown-body code, -.markdown-body tt { - padding: .2em .4em; - margin: 0; - font-size: 85%; - background-color: rgba(175,184,193,0.2); - border-radius: 6px; -} - -.markdown-body code br, -.markdown-body tt br { - display: none; -} - -.markdown-body del code { - text-decoration: inherit; -} - -.markdown-body pre code { - font-size: 100%; -} - -.markdown-body pre>code { - padding: 0; - margin: 0; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; -} - -.markdown-body .highlight { - margin-bottom: 16px; -} - -.markdown-body .highlight pre { - margin-bottom: 0; - word-break: normal; -} - -.markdown-body .highlight pre, -.markdown-body pre { - padding: 16px; - overflow: auto; - font-size: 85%; - line-height: 1.45; - background-color: #f6f8fa; - border-radius: 6px; -} - -.markdown-body pre code, -.markdown-body pre tt { - display: inline; - max-width: auto; - padding: 0; - margin: 0; - overflow: visible; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; -} - -.markdown-body .csv-data td, -.markdown-body .csv-data th { - padding: 5px; - overflow: hidden; - font-size: 12px; - line-height: 1; - text-align: left; - white-space: nowrap; -} - -.markdown-body .csv-data .blob-num { - padding: 10px 8px 9px; - text-align: right; - background: #ffffff; - border: 0; -} - -.markdown-body .csv-data tr { - border-top: 0; -} - -.markdown-body .csv-data th { - font-weight: 600; - background: #f6f8fa; - border-top: 0; -} - -.markdown-body .footnotes { - font-size: 12px; - color: #57606a; - border-top: 1px solid #d0d7de; -} - -.markdown-body .footnotes ol { - padding-left: 16px; -} - -.markdown-body .footnotes li { - position: relative; -} - -.markdown-body .footnotes li:target::before { - position: absolute; - top: -8px; - right: -8px; - bottom: -8px; - left: -24px; - pointer-events: none; - content: ""; - border: 2px solid #0969da; - border-radius: 6px; -} - -.markdown-body .footnotes li:target { - color: #24292f; -} - -.markdown-body .footnotes .data-footnote-backref g-emoji { - font-family: monospace; -} - -.markdown-body .task-list-item { - list-style-type: none; -} - -.markdown-body .task-list-item label { - font-weight: 400; -} - -.markdown-body .task-list-item.enabled label { - cursor: pointer; -} - -.markdown-body .task-list-item+.task-list-item { - margin-top: 3px; -} - -.markdown-body .task-list-item .handle { - display: none; -} - -.markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; - vertical-align: middle; -} - -.markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox { - margin: 0 -1.6em .25em .2em; -} - -.markdown-body ::-webkit-calendar-picker-indicator { - filter: invert(50%); -} - -[data-theme^='light'] { - .markdown-body { - pre { - background-color: rgba(0, 0, 0, 0.03); - } - } -} - -[data-theme^='dark'] { - .markdown-body { - pre { - background-color: rgba(0, 0, 0, 0.15); - } - .CodeMirror-gutter { - background-color: rgba(0, 0, 0, 0.03) !important; - } - } -} \ No newline at end of file diff --git a/src/renderer/assets/scss/mixins.scss b/src/renderer/assets/scss/mixins.scss deleted file mode 100644 index f2729e20..00000000 --- a/src/renderer/assets/scss/mixins.scss +++ /dev/null @@ -1,19 +0,0 @@ -@mixin form-input-default() { - color: var(--color-text); - box-sizing: border-box; - -webkit-appearance: none; - outline: none; - border: none; - line-height: 32px; - height: 32px; - background-color: transparent; - border: 1px solid var(--color-contrast-low); - font-size: var(--text-md); - transition: border-color 0.3s; - &:focus { - transition: border-color 0.3s; - } - &::-webkit-input-placeholder { - color: var(--color-contrast-low); - } -} \ No newline at end of file diff --git a/src/renderer/assets/scss/reset.scss b/src/renderer/assets/scss/reset.scss deleted file mode 100644 index 06dcc218..00000000 --- a/src/renderer/assets/scss/reset.scss +++ /dev/null @@ -1,173 +0,0 @@ -* { - box-sizing: border-box; -} - -html { - line-height: 1.15; - -webkit-text-size-adjust: 100%; -} - -body { - margin: 0; -} - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -a { - background-color: transparent; -} - -abbr[title] { - border-bottom: none; - text-decoration: underline dotted; -} - -b, -strong { - font-weight: bolder; -} - -small { - font-size: 80%; -} - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -img { - border-style: none; -} - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - font-size: 100%; - line-height: 1.15; - margin: 0; - padding: 0; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -button, -[type='button'], -[type='reset'], -[type='submit'] { - -webkit-appearance: button; -} - -button::-moz-focus-inner, -[type='button']::-moz-focus-inner, -[type='reset']::-moz-focus-inner, -[type='submit']::-moz-focus-inner { - border-style: none; - padding: 0; -} - -button:-moz-focusring, -[type='button']:-moz-focusring, -[type='reset']:-moz-focusring, -[type='submit']:-moz-focusring { - outline: 1px dotted ButtonText; -} - -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -legend { - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - white-space: normal; - padding: 0; -} - -progress { - vertical-align: baseline; -} - -textarea { - overflow: auto; -} - -[type='checkbox'], -[type='radio'] { - box-sizing: border-box; - padding: 0; -} - -[type='number']::-webkit-inner-spin-button, -[type='number']::-webkit-outer-spin-button { - height: auto; -} - -[type='search'] { - -webkit-appearance: textfield; - outline-offset: -2px; -} - -[type='search']::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; -} - -summary { - display: list-item; -} - -main, -details { - display: block; -} - -pre, -code, -kbd, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -template, -[hidden] { - display: none; -} diff --git a/src/renderer/assets/scss/themes.scss b/src/renderer/assets/scss/themes.scss deleted file mode 100644 index 8a360d50..00000000 --- a/src/renderer/assets/scss/themes.scss +++ /dev/null @@ -1,309 +0,0 @@ -//TODO: оптимизировать - -// LIGHT - -[data-theme='light:solarized'] { - --color-primary: hsl(44, 84%, 54%); - - --color-bg: hsl(44, 87%, 94%); - - --color-contrast-lower: hsl(44, 84%, 90%); - --color-contrast-lower-alt: hsl(44, 0%, 98%); - --color-contrast-lower-alt2: hsl(44, 60%, 94%); - --color-contrast-lower-alt3: hsl(44, 60%, 85%); - --color-contrast-lower-alt4: hsl(44, 60%, 75%); - --color-contrast-low: hsl(44, 60%, 60%); - --color-contrast-low-alt: hsl(44, 60%, 70%); - --color-contrast-medium: hsl(44, 60%, 40%); - --color-contrast-high: hsl(44, 60%, 30%); - --color-contrast-higher: hsl(44, 60%, 10%); - - --color-snippet-selected: var(--color-contrast-lower-alt2); - - --color-sidebar: #fff; - --color-sidebar-item-selected: var(--color-contrast-lower-alt2); - - --color-border: var(--color-contrast-lower-alt3); - - --color-button: hsl(44, 60%, 85%); - --color-button-hover: var(--color-contrast-low-alt); - --color-button-action-hover: var(--color-contrast-lower-alt3); - - --color-checkbox: var(--color-contrast-lower-alt); - - --color-input: var(--color-contrast-lower-alt); - - --color-select: var(--color-contrast-lower-alt); - - --color-menu-selected: var(--color-contrast-lower-alt3); - - --color-tag-delete: var(--color-contrast-lower-alt4); -} - -[data-theme='light:material'] { - --color-bg: hsl(0, 0%, 98%); -} - -// DARK - -[data-theme='dark:one'] { - --color-primary: hsl(215, 69%, 45%); - - --color-bg: hsl(220, 13%, 18%); - - --color-contrast-lower: hsl(220, 13%, 20%); - --color-contrast-lower-alt: hsl(220, 13%, 22%); - --color-contrast-lower-alt2: hsl(220, 13%, 25%); - --color-contrast-lower-alt3: hsl(220, 13%, 30%); - --color-contrast-lower-low: hsl(220, 13%, 40%); - --color-contrast-medium: hsl(220, 13%, 50%); - - --color-border: var(--color-contrast-lower-alt2); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower-alt); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower-alt); - --color-sidebar-icon: var(--color-text); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower-alt); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme='dark:dracula'] { - --color-primary: hsl(215, 69%, 45%); - - // при конвертации в hsl цвет отличается, поэтому оставляем в hex - --color-bg: #282A36; - - --color-contrast-lower: hsl(231, 15%, 20%); - --color-contrast-lower-alt: hsl(231, 15%, 22%); - --color-contrast-lower-alt2: hsl(231, 15%, 25%); - --color-contrast-lower-alt3: hsl(231, 15%, 30%); - --color-contrast-lower-low: hsl(231, 15%, 40%); - --color-contrast-lower-medium: hsl(231, 15%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower-alt2); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower-alt2); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower-alt2); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme='dark:monokai'] { - --color-primary: hsl(215, 69%, 45%); - - // при конвертации в hsl цвет отличается, поэтому оставляем в hex - --color-bg: #272822; - - --color-contrast-lower: hsl(70, 8%, 20%); - --color-contrast-lower-alt: hsl(70, 8%, 22%); - --color-contrast-lower-alt2: hsl(70, 8%, 25%); - --color-contrast-lower-alt3: hsl(70, 8%, 30%); - --color-contrast-lower-low: hsl(70, 8%, 40%); - --color-contrast-lower-medium: hsl(70, 8%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme='dark:merbivore'] { - --color-primary: hsl(215, 69%, 45%); - - --color-bg: hsl(0, 0%, 11%); - - --color-contrast-lower: hsl(0, 0%, 20%); - --color-contrast-lower-alt: hsl(0, 0%, 22%); - --color-contrast-lower-alt2: hsl(0, 0%, 25%); - --color-contrast-lower-alt3: hsl(0, 0%, 30%); - --color-contrast-lower-low: hsl(0, 0%, 40%); - --color-contrast-lower-medium: hsl(0, 0%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme='dark:material'] { - --color-primary: hsl(215, 69%, 45%); - - // при конвертации в hsl цвет отличается, поэтому оставляем в hex - --color-bg: #263238; - - --color-contrast-lower: hsl(200, 19%, 22%); - --color-contrast-lower-alt: hsl(200, 19%, 25%); - --color-contrast-lower-alt2: hsl(200, 19%, 27%); - --color-contrast-lower-alt3: hsl(200, 19%, 30%); - --color-contrast-lower-low: hsl(200, 19%, 40%); - --color-contrast-lower-medium: hsl(200, 19%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - - -[data-theme='dark:material-palenight'] { - --color-primary: hsl(215, 69%, 45%); - - // при конвертации в hsl цвет отличается, поэтому оставляем в hex - --color-bg: #292D3F; - - - --color-contrast-lower: hsl(229, 21%, 22%); - --color-contrast-lower-alt: hsl(229, 21%, 25%); - --color-contrast-lower-alt2: hsl(229, 21%, 27%); - --color-contrast-lower-alt3: hsl(229, 21%, 30%); - --color-contrast-lower-low: hsl(229, 21%, 40%); - --color-contrast-lower-medium: hsl(229, 21%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower-alt); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower-alt); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower-alt); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme='dark:tokyo-night'] { - --color-primary: hsl(215, 69%, 45%); - - // при конвертации в hsl цвет отличается, поэтому оставляем в hex - --color-bg: #1C2029; - - - --color-contrast-lower: hsl(229, 21%, 20%); - --color-contrast-lower-alt: hsl(229, 21%, 22%); - --color-contrast-lower-alt2: hsl(229, 21%, 25%); - --color-contrast-lower-alt3: hsl(229, 21%, 30%); - --color-contrast-lower-low: hsl(229, 21%, 40%); - --color-contrast-lower-medium: hsl(229, 21%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower-alt); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower-alt); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower-alt); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme^="dark"] { - > a { - color: var(--color-contrast-medium); - &:hover { - color: var(--color-text); - } - } -} \ No newline at end of file diff --git a/src/renderer/assets/scss/variables.scss b/src/renderer/assets/scss/variables.scss deleted file mode 100644 index c82fb7bf..00000000 --- a/src/renderer/assets/scss/variables.scss +++ /dev/null @@ -1,67 +0,0 @@ -:root { - --sidebar-width: 180px; - --snippets-list-width: 250px; - --title-bar-height: 15px; - --title-bar-height-offset: -5px; - --menu-header: 80px; - - --spacing-unit: 4px; - --spacing-xs: calc(var(--spacing-unit) * 2); - --spacing-sm: calc(var(--spacing-unit) * 4); - --spacing-md: calc(var(--spacing-unit) * 6); - --spacing-lg: calc(var(--spacing-unit) * 8); - --spacing-xl: calc(var(--spacing-unit) * 10); - - --font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, - Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; - --font-code: 'SF Mono', 'Consolas', Menlo, Monaco, "Courier New", monospace; - - --text-base-size: 10px; - --text-xs: calc(var(--text-base-size) * 1); - --text-sm: calc(var(--text-base-size) * 1.2); - --text-md: calc(var(--text-base-size) * 1.4); - --text-lg: calc(var(--text-base-size) * 1.8); - --text-xl: calc(var(--text-base-size) * 2.4); - --text-xxl: calc(var(--text-base-size) * 3.2); - --text-xxxl: calc(var(--text-base-size) * 3.6); - - --color-primary: hsl(215, 93%, 52%); - - --color-bg: hsl(0, 0%, 100%); - - --color-contrast-lower: hsl(0, 0%, 97%); - --color-contrast-lower-alt: hsl(0, 0%, 92%); - --color-contrast-low: hsl(0, 0%, 85%); - --color-contrast-low-alt: hsl(0, 0%, 80%); - --color-contrast-medium: hsl(0, 0%, 50%); - --color-contrast-high: hsl(0, 0%, 15%); - --color-contrast-higher: hsl(0, 0%, 0%); - - --color-text: hsl(0, 0%, 0%); - --color-text-2: hsl(0, 0%, 15%); - --color-text-3: hsl(0, 0%, 50%); - --color-text-4: hsl(0, 0%, 80%); - --color-text-5: hsl(0, 0%, 85%); - - --color-border: var(--color-contrast-low); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-low); - --color-button-action: var(--color-contrast-medium); - --color-button-action-hover: var(--color-contrast-lower-alt); - - --color-sidebar: var(--color-contrast-lower); - --color-sidebar-item-selected: var(--color-contrast-low); - --color-sidebar-icon: var(--color-text); - --color-sidebar-icon-selected: #fff; - - --color-snippet-selected: hsl(0, 0%, 94%); - --color-snippet-list: var(--color-bg); - - --color-editor-scrollbar: rgba(121, 121, 121, 0.4); - - --color-menu-selected: var(--color-contrast-lower-alt); - - --color-tag-delete: var(--color-contrast-lower-alt); -} - diff --git a/src/renderer/assets/scss/vendor.scss b/src/renderer/assets/scss/vendor.scss deleted file mode 100644 index 9779409d..00000000 --- a/src/renderer/assets/scss/vendor.scss +++ /dev/null @@ -1,94 +0,0 @@ -.ps { - $r: &; - &__rail-y { - background-color: rgba(121, 121, 121, 0.8); - width: 5px; - &:hover { - #{$r}__thumb-y { - width: 5px; - right: 0; - } - } - } - &__rail-x { - background-color: rgba(121, 121, 121, 0.8); - width: 5px; - &:hover { - height: 4px; - background-color: transparent !important; - opacity: 0.4 !important; - #{$r}__thumb-x { - height: 5px; - right: 0; - } - } - } - &__thumb-x, - &__thumb-y { - background-color: rgba(121, 121, 121, 0.8); - } - &__thumb-y { - width: 5px; - right: 0; - } - &__thumb-x { - height: 5px; - } -} - - -.ti-tags { - background-color: var(--color-bg) !important; -} -.ti-tag { - background-color: var(--color-contrast-lower) !important; - color: var(--color-text) !important; - border: 1px solid var(--color-border) !important; -} -.ti-new-tag-input { - background-color: var(--color-bg) !important; - color: var(--color-text) !important; -} -.ti-selected-item { - background-color: var(--color-primary) !important; -} -.ti-deletion-mark { - background-color: var(--color-tag-delete) !important; -} -.ti-autocomplete { - border: 1px solid var(--color-border) !important; - background-color: var(--color-bg) !important; -} - -.toast-container { - .toast { - width: 400px; - &-text { - display: flex; - align-items: center; - } - } -} - -.v-popper { - &--theme-tooltip { - .v-popper { - &__inner { - font-size: 12px; - padding: 4px 8px !important; - border-radius: 3px !important; - } - &__arrow-container { - display: none; - } - } - } -} - -.toast { - code { - background-color: #eee; - border-radius: 3px; - padding: 0 4px; - } -} diff --git a/src/renderer/assets/svg/arrow-slash.svg b/src/renderer/assets/svg/arrow-slash.svg deleted file mode 100644 index 37081779..00000000 --- a/src/renderer/assets/svg/arrow-slash.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/renderer/assets/svg/icons/3d.svg b/src/renderer/assets/svg/icons/3d.svg deleted file mode 100644 index dd47d7b8..00000000 --- a/src/renderer/assets/svg/icons/3d.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/abc.svg b/src/renderer/assets/svg/icons/abc.svg deleted file mode 100644 index 0b897ada..00000000 --- a/src/renderer/assets/svg/icons/abc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/actionscript.svg b/src/renderer/assets/svg/icons/actionscript.svg deleted file mode 100644 index c770fa34..00000000 --- a/src/renderer/assets/svg/icons/actionscript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ada.svg b/src/renderer/assets/svg/icons/ada.svg deleted file mode 100644 index f80f5d4d..00000000 --- a/src/renderer/assets/svg/icons/ada.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/adonis.svg b/src/renderer/assets/svg/icons/adonis.svg deleted file mode 100644 index 981c510e..00000000 --- a/src/renderer/assets/svg/icons/adonis.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/advpl_include.svg b/src/renderer/assets/svg/icons/advpl_include.svg deleted file mode 100644 index 6bab2784..00000000 --- a/src/renderer/assets/svg/icons/advpl_include.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/advpl_prw.svg b/src/renderer/assets/svg/icons/advpl_prw.svg deleted file mode 100644 index 63ecd0f2..00000000 --- a/src/renderer/assets/svg/icons/advpl_prw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/advpl_ptm.svg b/src/renderer/assets/svg/icons/advpl_ptm.svg deleted file mode 100644 index ebd5ef65..00000000 --- a/src/renderer/assets/svg/icons/advpl_ptm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/advpl_tlpp.svg b/src/renderer/assets/svg/icons/advpl_tlpp.svg deleted file mode 100644 index ceb3e998..00000000 --- a/src/renderer/assets/svg/icons/advpl_tlpp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/android.svg b/src/renderer/assets/svg/icons/android.svg deleted file mode 100644 index b13ac0aa..00000000 --- a/src/renderer/assets/svg/icons/android.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/angular-component.svg b/src/renderer/assets/svg/icons/angular-component.svg deleted file mode 100644 index b5824b85..00000000 --- a/src/renderer/assets/svg/icons/angular-component.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/angular-directive.svg b/src/renderer/assets/svg/icons/angular-directive.svg deleted file mode 100644 index 08b82a1e..00000000 --- a/src/renderer/assets/svg/icons/angular-directive.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/angular-guard.svg b/src/renderer/assets/svg/icons/angular-guard.svg deleted file mode 100644 index 20286fe6..00000000 --- a/src/renderer/assets/svg/icons/angular-guard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/angular-pipe.svg b/src/renderer/assets/svg/icons/angular-pipe.svg deleted file mode 100644 index f26a8252..00000000 --- a/src/renderer/assets/svg/icons/angular-pipe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/angular-resolver.svg b/src/renderer/assets/svg/icons/angular-resolver.svg deleted file mode 100644 index 20286fe6..00000000 --- a/src/renderer/assets/svg/icons/angular-resolver.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/angular-service.svg b/src/renderer/assets/svg/icons/angular-service.svg deleted file mode 100644 index 063aeaa3..00000000 --- a/src/renderer/assets/svg/icons/angular-service.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/angular.svg b/src/renderer/assets/svg/icons/angular.svg deleted file mode 100644 index 123252eb..00000000 --- a/src/renderer/assets/svg/icons/angular.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/antlr.svg b/src/renderer/assets/svg/icons/antlr.svg deleted file mode 100644 index 8aac3766..00000000 --- a/src/renderer/assets/svg/icons/antlr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/apiblueprint.svg b/src/renderer/assets/svg/icons/apiblueprint.svg deleted file mode 100644 index 23e93244..00000000 --- a/src/renderer/assets/svg/icons/apiblueprint.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/apollo.svg b/src/renderer/assets/svg/icons/apollo.svg deleted file mode 100644 index a42c6237..00000000 --- a/src/renderer/assets/svg/icons/apollo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/applescript.svg b/src/renderer/assets/svg/icons/applescript.svg deleted file mode 100644 index ad9933b2..00000000 --- a/src/renderer/assets/svg/icons/applescript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/appveyor.svg b/src/renderer/assets/svg/icons/appveyor.svg deleted file mode 100644 index 65966c44..00000000 --- a/src/renderer/assets/svg/icons/appveyor.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/architecture.svg b/src/renderer/assets/svg/icons/architecture.svg deleted file mode 100644 index 5d118a33..00000000 --- a/src/renderer/assets/svg/icons/architecture.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/arduino.svg b/src/renderer/assets/svg/icons/arduino.svg deleted file mode 100644 index 031cdeca..00000000 --- a/src/renderer/assets/svg/icons/arduino.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/asciidoc.svg b/src/renderer/assets/svg/icons/asciidoc.svg deleted file mode 100644 index 3411c939..00000000 --- a/src/renderer/assets/svg/icons/asciidoc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/assembly.svg b/src/renderer/assets/svg/icons/assembly.svg deleted file mode 100644 index f0041522..00000000 --- a/src/renderer/assets/svg/icons/assembly.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/astro.svg b/src/renderer/assets/svg/icons/astro.svg deleted file mode 100644 index 2507c12b..00000000 --- a/src/renderer/assets/svg/icons/astro.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/astyle.svg b/src/renderer/assets/svg/icons/astyle.svg deleted file mode 100644 index 47e32465..00000000 --- a/src/renderer/assets/svg/icons/astyle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/audio.svg b/src/renderer/assets/svg/icons/audio.svg deleted file mode 100644 index b5f0f8fe..00000000 --- a/src/renderer/assets/svg/icons/audio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/aurelia.svg b/src/renderer/assets/svg/icons/aurelia.svg deleted file mode 100644 index e70f2fe5..00000000 --- a/src/renderer/assets/svg/icons/aurelia.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/authors.svg b/src/renderer/assets/svg/icons/authors.svg deleted file mode 100644 index 08a59b6d..00000000 --- a/src/renderer/assets/svg/icons/authors.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/auto.svg b/src/renderer/assets/svg/icons/auto.svg deleted file mode 100644 index 9e6f7c21..00000000 --- a/src/renderer/assets/svg/icons/auto.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/auto_light.svg b/src/renderer/assets/svg/icons/auto_light.svg deleted file mode 100644 index 90697d69..00000000 --- a/src/renderer/assets/svg/icons/auto_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/autohotkey.svg b/src/renderer/assets/svg/icons/autohotkey.svg deleted file mode 100644 index 0d4f486b..00000000 --- a/src/renderer/assets/svg/icons/autohotkey.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/autoit.svg b/src/renderer/assets/svg/icons/autoit.svg deleted file mode 100644 index 60835749..00000000 --- a/src/renderer/assets/svg/icons/autoit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/azure-pipelines.svg b/src/renderer/assets/svg/icons/azure-pipelines.svg deleted file mode 100644 index a1b50816..00000000 --- a/src/renderer/assets/svg/icons/azure-pipelines.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/azure.svg b/src/renderer/assets/svg/icons/azure.svg deleted file mode 100644 index e9a4d524..00000000 --- a/src/renderer/assets/svg/icons/azure.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/babel.svg b/src/renderer/assets/svg/icons/babel.svg deleted file mode 100644 index 6e101e0d..00000000 --- a/src/renderer/assets/svg/icons/babel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ballerina.svg b/src/renderer/assets/svg/icons/ballerina.svg deleted file mode 100644 index 0ee46876..00000000 --- a/src/renderer/assets/svg/icons/ballerina.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/bazel.svg b/src/renderer/assets/svg/icons/bazel.svg deleted file mode 100644 index 1e1e49ed..00000000 --- a/src/renderer/assets/svg/icons/bazel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/bicep.svg b/src/renderer/assets/svg/icons/bicep.svg deleted file mode 100644 index 342510e6..00000000 --- a/src/renderer/assets/svg/icons/bicep.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/bitbucket.svg b/src/renderer/assets/svg/icons/bitbucket.svg deleted file mode 100644 index 1cbe832a..00000000 --- a/src/renderer/assets/svg/icons/bitbucket.svg +++ /dev/null @@ -1,13 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/bithound.svg b/src/renderer/assets/svg/icons/bithound.svg deleted file mode 100644 index eb7aced1..00000000 --- a/src/renderer/assets/svg/icons/bithound.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/blink.svg b/src/renderer/assets/svg/icons/blink.svg deleted file mode 100644 index dea214c8..00000000 --- a/src/renderer/assets/svg/icons/blink.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/blink_light.svg b/src/renderer/assets/svg/icons/blink_light.svg deleted file mode 100644 index f58d6028..00000000 --- a/src/renderer/assets/svg/icons/blink_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/blitz.svg b/src/renderer/assets/svg/icons/blitz.svg deleted file mode 100644 index 8176ebfb..00000000 --- a/src/renderer/assets/svg/icons/blitz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/bower.svg b/src/renderer/assets/svg/icons/bower.svg deleted file mode 100644 index 01457c47..00000000 --- a/src/renderer/assets/svg/icons/bower.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/brainfuck.svg b/src/renderer/assets/svg/icons/brainfuck.svg deleted file mode 100644 index 5f11c9c3..00000000 --- a/src/renderer/assets/svg/icons/brainfuck.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/browserlist.svg b/src/renderer/assets/svg/icons/browserlist.svg deleted file mode 100644 index ab713967..00000000 --- a/src/renderer/assets/svg/icons/browserlist.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/browserlist_light.svg b/src/renderer/assets/svg/icons/browserlist_light.svg deleted file mode 100644 index 762866ca..00000000 --- a/src/renderer/assets/svg/icons/browserlist_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/buck.svg b/src/renderer/assets/svg/icons/buck.svg deleted file mode 100644 index 6086a5bb..00000000 --- a/src/renderer/assets/svg/icons/buck.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/bucklescript.svg b/src/renderer/assets/svg/icons/bucklescript.svg deleted file mode 100644 index 8f13f98d..00000000 --- a/src/renderer/assets/svg/icons/bucklescript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/buildkite.svg b/src/renderer/assets/svg/icons/buildkite.svg deleted file mode 100644 index 1fdd05d0..00000000 --- a/src/renderer/assets/svg/icons/buildkite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/bun.svg b/src/renderer/assets/svg/icons/bun.svg deleted file mode 100644 index b4663d7e..00000000 --- a/src/renderer/assets/svg/icons/bun.svg +++ /dev/null @@ -1,2 +0,0 @@ - -Bun Logo diff --git a/src/renderer/assets/svg/icons/bun_light.svg b/src/renderer/assets/svg/icons/bun_light.svg deleted file mode 100644 index 40b73219..00000000 --- a/src/renderer/assets/svg/icons/bun_light.svg +++ /dev/null @@ -1,2 +0,0 @@ - -Bun Logo diff --git a/src/renderer/assets/svg/icons/c.svg b/src/renderer/assets/svg/icons/c.svg deleted file mode 100644 index 42c0d1ef..00000000 --- a/src/renderer/assets/svg/icons/c.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/cabal.svg b/src/renderer/assets/svg/icons/cabal.svg deleted file mode 100644 index 9100e9ab..00000000 --- a/src/renderer/assets/svg/icons/cabal.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/caddy.svg b/src/renderer/assets/svg/icons/caddy.svg deleted file mode 100644 index c6514400..00000000 --- a/src/renderer/assets/svg/icons/caddy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/cadence.svg b/src/renderer/assets/svg/icons/cadence.svg deleted file mode 100644 index 392f8ff9..00000000 --- a/src/renderer/assets/svg/icons/cadence.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/cake.svg b/src/renderer/assets/svg/icons/cake.svg deleted file mode 100644 index 6c09c992..00000000 --- a/src/renderer/assets/svg/icons/cake.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/capacitor.svg b/src/renderer/assets/svg/icons/capacitor.svg deleted file mode 100644 index 43bf5203..00000000 --- a/src/renderer/assets/svg/icons/capacitor.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/certificate.svg b/src/renderer/assets/svg/icons/certificate.svg deleted file mode 100644 index fc7806a5..00000000 --- a/src/renderer/assets/svg/icons/certificate.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/changelog.svg b/src/renderer/assets/svg/icons/changelog.svg deleted file mode 100644 index 9fa93f38..00000000 --- a/src/renderer/assets/svg/icons/changelog.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/chess.svg b/src/renderer/assets/svg/icons/chess.svg deleted file mode 100644 index 8847d6cf..00000000 --- a/src/renderer/assets/svg/icons/chess.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/chess_light.svg b/src/renderer/assets/svg/icons/chess_light.svg deleted file mode 100644 index 110f8f4f..00000000 --- a/src/renderer/assets/svg/icons/chess_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/circleci.svg b/src/renderer/assets/svg/icons/circleci.svg deleted file mode 100644 index 118861bf..00000000 --- a/src/renderer/assets/svg/icons/circleci.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/circleci_light.svg b/src/renderer/assets/svg/icons/circleci_light.svg deleted file mode 100644 index d82b2033..00000000 --- a/src/renderer/assets/svg/icons/circleci_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/clojure.svg b/src/renderer/assets/svg/icons/clojure.svg deleted file mode 100644 index efeed97b..00000000 --- a/src/renderer/assets/svg/icons/clojure.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/cloudfoundry.svg b/src/renderer/assets/svg/icons/cloudfoundry.svg deleted file mode 100644 index f5c454a5..00000000 --- a/src/renderer/assets/svg/icons/cloudfoundry.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/cmake.svg b/src/renderer/assets/svg/icons/cmake.svg deleted file mode 100644 index 85cd686f..00000000 --- a/src/renderer/assets/svg/icons/cmake.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/coala.svg b/src/renderer/assets/svg/icons/coala.svg deleted file mode 100644 index 2778711c..00000000 --- a/src/renderer/assets/svg/icons/coala.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/cobol.svg b/src/renderer/assets/svg/icons/cobol.svg deleted file mode 100644 index 0168a48d..00000000 --- a/src/renderer/assets/svg/icons/cobol.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/coconut.svg b/src/renderer/assets/svg/icons/coconut.svg deleted file mode 100644 index c5dd8b08..00000000 --- a/src/renderer/assets/svg/icons/coconut.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/code-climate.svg b/src/renderer/assets/svg/icons/code-climate.svg deleted file mode 100644 index 1cbf9fa3..00000000 --- a/src/renderer/assets/svg/icons/code-climate.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/code-climate_light.svg b/src/renderer/assets/svg/icons/code-climate_light.svg deleted file mode 100644 index 5be29b84..00000000 --- a/src/renderer/assets/svg/icons/code-climate_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/codecov.svg b/src/renderer/assets/svg/icons/codecov.svg deleted file mode 100644 index 4b47d417..00000000 --- a/src/renderer/assets/svg/icons/codecov.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/codeowners.svg b/src/renderer/assets/svg/icons/codeowners.svg deleted file mode 100644 index 66f3a031..00000000 --- a/src/renderer/assets/svg/icons/codeowners.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/coffee.svg b/src/renderer/assets/svg/icons/coffee.svg deleted file mode 100644 index d9e751fa..00000000 --- a/src/renderer/assets/svg/icons/coffee.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/coldfusion.svg b/src/renderer/assets/svg/icons/coldfusion.svg deleted file mode 100644 index 04d70f97..00000000 --- a/src/renderer/assets/svg/icons/coldfusion.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/command.svg b/src/renderer/assets/svg/icons/command.svg deleted file mode 100644 index 8d08f2dd..00000000 --- a/src/renderer/assets/svg/icons/command.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/commitlint.svg b/src/renderer/assets/svg/icons/commitlint.svg deleted file mode 100644 index a4fee4ba..00000000 --- a/src/renderer/assets/svg/icons/commitlint.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/conduct.svg b/src/renderer/assets/svg/icons/conduct.svg deleted file mode 100644 index c6a869b9..00000000 --- a/src/renderer/assets/svg/icons/conduct.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/console.svg b/src/renderer/assets/svg/icons/console.svg deleted file mode 100644 index 1689c935..00000000 --- a/src/renderer/assets/svg/icons/console.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/contributing.svg b/src/renderer/assets/svg/icons/contributing.svg deleted file mode 100644 index 18ac9146..00000000 --- a/src/renderer/assets/svg/icons/contributing.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/cpp.svg b/src/renderer/assets/svg/icons/cpp.svg deleted file mode 100644 index c2c3d5b3..00000000 --- a/src/renderer/assets/svg/icons/cpp.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/craco.svg b/src/renderer/assets/svg/icons/craco.svg deleted file mode 100644 index b9808419..00000000 --- a/src/renderer/assets/svg/icons/craco.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/credits.svg b/src/renderer/assets/svg/icons/credits.svg deleted file mode 100644 index 59301365..00000000 --- a/src/renderer/assets/svg/icons/credits.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/crystal.svg b/src/renderer/assets/svg/icons/crystal.svg deleted file mode 100644 index a3829a31..00000000 --- a/src/renderer/assets/svg/icons/crystal.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/crystal_light.svg b/src/renderer/assets/svg/icons/crystal_light.svg deleted file mode 100644 index e1e30d36..00000000 --- a/src/renderer/assets/svg/icons/crystal_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/csharp.svg b/src/renderer/assets/svg/icons/csharp.svg deleted file mode 100644 index 7c7f5bbb..00000000 --- a/src/renderer/assets/svg/icons/csharp.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/css-map.svg b/src/renderer/assets/svg/icons/css-map.svg deleted file mode 100644 index daa820bc..00000000 --- a/src/renderer/assets/svg/icons/css-map.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/css.svg b/src/renderer/assets/svg/icons/css.svg deleted file mode 100644 index 6eb82d6d..00000000 --- a/src/renderer/assets/svg/icons/css.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/cucumber.svg b/src/renderer/assets/svg/icons/cucumber.svg deleted file mode 100644 index 4ecac770..00000000 --- a/src/renderer/assets/svg/icons/cucumber.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/cuda.svg b/src/renderer/assets/svg/icons/cuda.svg deleted file mode 100644 index adc81859..00000000 --- a/src/renderer/assets/svg/icons/cuda.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/cypress.svg b/src/renderer/assets/svg/icons/cypress.svg deleted file mode 100644 index 5f2b0905..00000000 --- a/src/renderer/assets/svg/icons/cypress.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/d.svg b/src/renderer/assets/svg/icons/d.svg deleted file mode 100644 index e7e99be4..00000000 --- a/src/renderer/assets/svg/icons/d.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/dart.svg b/src/renderer/assets/svg/icons/dart.svg deleted file mode 100644 index 77ec4d28..00000000 --- a/src/renderer/assets/svg/icons/dart.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/dart_generated.svg b/src/renderer/assets/svg/icons/dart_generated.svg deleted file mode 100644 index ad695011..00000000 --- a/src/renderer/assets/svg/icons/dart_generated.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/database.svg b/src/renderer/assets/svg/icons/database.svg deleted file mode 100644 index 8b8e2853..00000000 --- a/src/renderer/assets/svg/icons/database.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/denizenscript.svg b/src/renderer/assets/svg/icons/denizenscript.svg deleted file mode 100644 index ab2598ad..00000000 --- a/src/renderer/assets/svg/icons/denizenscript.svg +++ /dev/null @@ -1 +0,0 @@ -D \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/deno.svg b/src/renderer/assets/svg/icons/deno.svg deleted file mode 100644 index c19ad4b0..00000000 --- a/src/renderer/assets/svg/icons/deno.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/deno_light.svg b/src/renderer/assets/svg/icons/deno_light.svg deleted file mode 100644 index ed3d1047..00000000 --- a/src/renderer/assets/svg/icons/deno_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/dependabot.svg b/src/renderer/assets/svg/icons/dependabot.svg deleted file mode 100644 index d3a57b50..00000000 --- a/src/renderer/assets/svg/icons/dependabot.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/dhall.svg b/src/renderer/assets/svg/icons/dhall.svg deleted file mode 100644 index c9fbf9ff..00000000 --- a/src/renderer/assets/svg/icons/dhall.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/diff.svg b/src/renderer/assets/svg/icons/diff.svg deleted file mode 100644 index 45662c07..00000000 --- a/src/renderer/assets/svg/icons/diff.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/digitalocean.svg b/src/renderer/assets/svg/icons/digitalocean.svg deleted file mode 100755 index 145eb9c2..00000000 --- a/src/renderer/assets/svg/icons/digitalocean.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/renderer/assets/svg/icons/dinophp.svg b/src/renderer/assets/svg/icons/dinophp.svg deleted file mode 100644 index 8d072567..00000000 --- a/src/renderer/assets/svg/icons/dinophp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/disc.svg b/src/renderer/assets/svg/icons/disc.svg deleted file mode 100644 index 5492d13d..00000000 --- a/src/renderer/assets/svg/icons/disc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/django.svg b/src/renderer/assets/svg/icons/django.svg deleted file mode 100644 index aa7b4fac..00000000 --- a/src/renderer/assets/svg/icons/django.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/docker.svg b/src/renderer/assets/svg/icons/docker.svg deleted file mode 100644 index 5d027100..00000000 --- a/src/renderer/assets/svg/icons/docker.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/document.svg b/src/renderer/assets/svg/icons/document.svg deleted file mode 100644 index 1be76a4e..00000000 --- a/src/renderer/assets/svg/icons/document.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/dotjs.svg b/src/renderer/assets/svg/icons/dotjs.svg deleted file mode 100644 index b5bf9721..00000000 --- a/src/renderer/assets/svg/icons/dotjs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/drawio.svg b/src/renderer/assets/svg/icons/drawio.svg deleted file mode 100644 index 0e754248..00000000 --- a/src/renderer/assets/svg/icons/drawio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/drone.svg b/src/renderer/assets/svg/icons/drone.svg deleted file mode 100644 index 8bd6c640..00000000 --- a/src/renderer/assets/svg/icons/drone.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/drone_light.svg b/src/renderer/assets/svg/icons/drone_light.svg deleted file mode 100644 index 51706c82..00000000 --- a/src/renderer/assets/svg/icons/drone_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/dune.svg b/src/renderer/assets/svg/icons/dune.svg deleted file mode 100644 index 9ebe4b23..00000000 --- a/src/renderer/assets/svg/icons/dune.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/edge.svg b/src/renderer/assets/svg/icons/edge.svg deleted file mode 100644 index 58c1cfcd..00000000 --- a/src/renderer/assets/svg/icons/edge.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/editorconfig.svg b/src/renderer/assets/svg/icons/editorconfig.svg deleted file mode 100644 index e2f443c0..00000000 --- a/src/renderer/assets/svg/icons/editorconfig.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ejs.svg b/src/renderer/assets/svg/icons/ejs.svg deleted file mode 100644 index 906f21a9..00000000 --- a/src/renderer/assets/svg/icons/ejs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/elixir.svg b/src/renderer/assets/svg/icons/elixir.svg deleted file mode 100644 index 9b173215..00000000 --- a/src/renderer/assets/svg/icons/elixir.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/elm.svg b/src/renderer/assets/svg/icons/elm.svg deleted file mode 100644 index b3a0a1c2..00000000 --- a/src/renderer/assets/svg/icons/elm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/email.svg b/src/renderer/assets/svg/icons/email.svg deleted file mode 100644 index 1b046d0e..00000000 --- a/src/renderer/assets/svg/icons/email.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ember.svg b/src/renderer/assets/svg/icons/ember.svg deleted file mode 100644 index 64cf0062..00000000 --- a/src/renderer/assets/svg/icons/ember.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/erlang.svg b/src/renderer/assets/svg/icons/erlang.svg deleted file mode 100644 index 29303def..00000000 --- a/src/renderer/assets/svg/icons/erlang.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/eslint.svg b/src/renderer/assets/svg/icons/eslint.svg deleted file mode 100644 index ae63dd87..00000000 --- a/src/renderer/assets/svg/icons/eslint.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/exe.svg b/src/renderer/assets/svg/icons/exe.svg deleted file mode 100644 index d7b98e24..00000000 --- a/src/renderer/assets/svg/icons/exe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/fastlane.svg b/src/renderer/assets/svg/icons/fastlane.svg deleted file mode 100644 index da1be2e7..00000000 --- a/src/renderer/assets/svg/icons/fastlane.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/favicon.svg b/src/renderer/assets/svg/icons/favicon.svg deleted file mode 100644 index 432aabf3..00000000 --- a/src/renderer/assets/svg/icons/favicon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/figma.svg b/src/renderer/assets/svg/icons/figma.svg deleted file mode 100644 index 9beccf71..00000000 --- a/src/renderer/assets/svg/icons/figma.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/firebase.svg b/src/renderer/assets/svg/icons/firebase.svg deleted file mode 100644 index 27404a8a..00000000 --- a/src/renderer/assets/svg/icons/firebase.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/flash.svg b/src/renderer/assets/svg/icons/flash.svg deleted file mode 100644 index a1a3187d..00000000 --- a/src/renderer/assets/svg/icons/flash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/flow.svg b/src/renderer/assets/svg/icons/flow.svg deleted file mode 100644 index 4a0909e9..00000000 --- a/src/renderer/assets/svg/icons/flow.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-admin-open.svg b/src/renderer/assets/svg/icons/folder-admin-open.svg deleted file mode 100644 index c27d4e77..00000000 --- a/src/renderer/assets/svg/icons/folder-admin-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-admin.svg b/src/renderer/assets/svg/icons/folder-admin.svg deleted file mode 100644 index fe5d06c2..00000000 --- a/src/renderer/assets/svg/icons/folder-admin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-android-open.svg b/src/renderer/assets/svg/icons/folder-android-open.svg deleted file mode 100644 index 38f74e2d..00000000 --- a/src/renderer/assets/svg/icons/folder-android-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-android.svg b/src/renderer/assets/svg/icons/folder-android.svg deleted file mode 100644 index 6b5323d6..00000000 --- a/src/renderer/assets/svg/icons/folder-android.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-angular-open.svg b/src/renderer/assets/svg/icons/folder-angular-open.svg deleted file mode 100644 index 2c508079..00000000 --- a/src/renderer/assets/svg/icons/folder-angular-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-angular.svg b/src/renderer/assets/svg/icons/folder-angular.svg deleted file mode 100644 index 4cb99e6d..00000000 --- a/src/renderer/assets/svg/icons/folder-angular.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-animation-open.svg b/src/renderer/assets/svg/icons/folder-animation-open.svg deleted file mode 100644 index 97c3401a..00000000 --- a/src/renderer/assets/svg/icons/folder-animation-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-animation.svg b/src/renderer/assets/svg/icons/folder-animation.svg deleted file mode 100644 index 1292fd46..00000000 --- a/src/renderer/assets/svg/icons/folder-animation.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ansible-open.svg b/src/renderer/assets/svg/icons/folder-ansible-open.svg deleted file mode 100644 index 8a13697b..00000000 --- a/src/renderer/assets/svg/icons/folder-ansible-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ansible.svg b/src/renderer/assets/svg/icons/folder-ansible.svg deleted file mode 100644 index 6e8ac87d..00000000 --- a/src/renderer/assets/svg/icons/folder-ansible.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-api-open.svg b/src/renderer/assets/svg/icons/folder-api-open.svg deleted file mode 100644 index 86265032..00000000 --- a/src/renderer/assets/svg/icons/folder-api-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-api.svg b/src/renderer/assets/svg/icons/folder-api.svg deleted file mode 100644 index 54b78dc6..00000000 --- a/src/renderer/assets/svg/icons/folder-api.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-apollo-open.svg b/src/renderer/assets/svg/icons/folder-apollo-open.svg deleted file mode 100644 index aea3109c..00000000 --- a/src/renderer/assets/svg/icons/folder-apollo-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-apollo.svg b/src/renderer/assets/svg/icons/folder-apollo.svg deleted file mode 100644 index be01767e..00000000 --- a/src/renderer/assets/svg/icons/folder-apollo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-app-open.svg b/src/renderer/assets/svg/icons/folder-app-open.svg deleted file mode 100644 index 4480a9fe..00000000 --- a/src/renderer/assets/svg/icons/folder-app-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-app.svg b/src/renderer/assets/svg/icons/folder-app.svg deleted file mode 100644 index 72b9882c..00000000 --- a/src/renderer/assets/svg/icons/folder-app.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-archive-open.svg b/src/renderer/assets/svg/icons/folder-archive-open.svg deleted file mode 100644 index 920e8461..00000000 --- a/src/renderer/assets/svg/icons/folder-archive-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-archive.svg b/src/renderer/assets/svg/icons/folder-archive.svg deleted file mode 100644 index ba7f21f7..00000000 --- a/src/renderer/assets/svg/icons/folder-archive.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-audio-open.svg b/src/renderer/assets/svg/icons/folder-audio-open.svg deleted file mode 100644 index 872e1ecf..00000000 --- a/src/renderer/assets/svg/icons/folder-audio-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-audio.svg b/src/renderer/assets/svg/icons/folder-audio.svg deleted file mode 100644 index 737aba1e..00000000 --- a/src/renderer/assets/svg/icons/folder-audio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-aurelia-open.svg b/src/renderer/assets/svg/icons/folder-aurelia-open.svg deleted file mode 100644 index 0072ce27..00000000 --- a/src/renderer/assets/svg/icons/folder-aurelia-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-aurelia.svg b/src/renderer/assets/svg/icons/folder-aurelia.svg deleted file mode 100644 index 36a1f6c0..00000000 --- a/src/renderer/assets/svg/icons/folder-aurelia.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-aws-open.svg b/src/renderer/assets/svg/icons/folder-aws-open.svg deleted file mode 100644 index 5a7fee71..00000000 --- a/src/renderer/assets/svg/icons/folder-aws-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-aws.svg b/src/renderer/assets/svg/icons/folder-aws.svg deleted file mode 100644 index 740e0909..00000000 --- a/src/renderer/assets/svg/icons/folder-aws.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-azure-pipelines-open.svg b/src/renderer/assets/svg/icons/folder-azure-pipelines-open.svg deleted file mode 100644 index 71e463eb..00000000 --- a/src/renderer/assets/svg/icons/folder-azure-pipelines-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-azure-pipelines.svg b/src/renderer/assets/svg/icons/folder-azure-pipelines.svg deleted file mode 100644 index 77868d3b..00000000 --- a/src/renderer/assets/svg/icons/folder-azure-pipelines.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-base-open.svg b/src/renderer/assets/svg/icons/folder-base-open.svg deleted file mode 100644 index c20a6eae..00000000 --- a/src/renderer/assets/svg/icons/folder-base-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-base.svg b/src/renderer/assets/svg/icons/folder-base.svg deleted file mode 100644 index f93527ea..00000000 --- a/src/renderer/assets/svg/icons/folder-base.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-batch-open.svg b/src/renderer/assets/svg/icons/folder-batch-open.svg deleted file mode 100644 index 698cb34a..00000000 --- a/src/renderer/assets/svg/icons/folder-batch-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-batch.svg b/src/renderer/assets/svg/icons/folder-batch.svg deleted file mode 100644 index 4a578115..00000000 --- a/src/renderer/assets/svg/icons/folder-batch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-benchmark-open.svg b/src/renderer/assets/svg/icons/folder-benchmark-open.svg deleted file mode 100644 index db60b02b..00000000 --- a/src/renderer/assets/svg/icons/folder-benchmark-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-benchmark.svg b/src/renderer/assets/svg/icons/folder-benchmark.svg deleted file mode 100644 index e580ce1d..00000000 --- a/src/renderer/assets/svg/icons/folder-benchmark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-bower-open.svg b/src/renderer/assets/svg/icons/folder-bower-open.svg deleted file mode 100644 index 1c7c230d..00000000 --- a/src/renderer/assets/svg/icons/folder-bower-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-bower.svg b/src/renderer/assets/svg/icons/folder-bower.svg deleted file mode 100644 index 30d7ecd7..00000000 --- a/src/renderer/assets/svg/icons/folder-bower.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-buildkite-open.svg b/src/renderer/assets/svg/icons/folder-buildkite-open.svg deleted file mode 100644 index 0dc9b26f..00000000 --- a/src/renderer/assets/svg/icons/folder-buildkite-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-buildkite.svg b/src/renderer/assets/svg/icons/folder-buildkite.svg deleted file mode 100644 index 55b4b72c..00000000 --- a/src/renderer/assets/svg/icons/folder-buildkite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-cart-open.svg b/src/renderer/assets/svg/icons/folder-cart-open.svg deleted file mode 100644 index dc201ce1..00000000 --- a/src/renderer/assets/svg/icons/folder-cart-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-cart.svg b/src/renderer/assets/svg/icons/folder-cart.svg deleted file mode 100644 index f1f0c520..00000000 --- a/src/renderer/assets/svg/icons/folder-cart.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-changesets-open.svg b/src/renderer/assets/svg/icons/folder-changesets-open.svg deleted file mode 100644 index 795ec7eb..00000000 --- a/src/renderer/assets/svg/icons/folder-changesets-open.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/renderer/assets/svg/icons/folder-changesets.svg b/src/renderer/assets/svg/icons/folder-changesets.svg deleted file mode 100644 index 53150276..00000000 --- a/src/renderer/assets/svg/icons/folder-changesets.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-ci-open.svg b/src/renderer/assets/svg/icons/folder-ci-open.svg deleted file mode 100644 index aaafd9d7..00000000 --- a/src/renderer/assets/svg/icons/folder-ci-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ci.svg b/src/renderer/assets/svg/icons/folder-ci.svg deleted file mode 100644 index 9000de18..00000000 --- a/src/renderer/assets/svg/icons/folder-ci.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-circleci-open.svg b/src/renderer/assets/svg/icons/folder-circleci-open.svg deleted file mode 100644 index a1cedbb3..00000000 --- a/src/renderer/assets/svg/icons/folder-circleci-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-circleci.svg b/src/renderer/assets/svg/icons/folder-circleci.svg deleted file mode 100644 index def08933..00000000 --- a/src/renderer/assets/svg/icons/folder-circleci.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-class-open.svg b/src/renderer/assets/svg/icons/folder-class-open.svg deleted file mode 100644 index 76f885db..00000000 --- a/src/renderer/assets/svg/icons/folder-class-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-class.svg b/src/renderer/assets/svg/icons/folder-class.svg deleted file mode 100644 index a929b725..00000000 --- a/src/renderer/assets/svg/icons/folder-class.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-client-open.svg b/src/renderer/assets/svg/icons/folder-client-open.svg deleted file mode 100644 index 03524c35..00000000 --- a/src/renderer/assets/svg/icons/folder-client-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-client.svg b/src/renderer/assets/svg/icons/folder-client.svg deleted file mode 100644 index a7d96a6d..00000000 --- a/src/renderer/assets/svg/icons/folder-client.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-cluster-open.svg b/src/renderer/assets/svg/icons/folder-cluster-open.svg deleted file mode 100644 index 8ff361f1..00000000 --- a/src/renderer/assets/svg/icons/folder-cluster-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-cluster.svg b/src/renderer/assets/svg/icons/folder-cluster.svg deleted file mode 100644 index fdcf7c86..00000000 --- a/src/renderer/assets/svg/icons/folder-cluster.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-cobol-open.svg b/src/renderer/assets/svg/icons/folder-cobol-open.svg deleted file mode 100644 index 908d39f6..00000000 --- a/src/renderer/assets/svg/icons/folder-cobol-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-cobol.svg b/src/renderer/assets/svg/icons/folder-cobol.svg deleted file mode 100644 index 143f580f..00000000 --- a/src/renderer/assets/svg/icons/folder-cobol.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-command-open.svg b/src/renderer/assets/svg/icons/folder-command-open.svg deleted file mode 100644 index 17436ab3..00000000 --- a/src/renderer/assets/svg/icons/folder-command-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-command.svg b/src/renderer/assets/svg/icons/folder-command.svg deleted file mode 100644 index f2eccef5..00000000 --- a/src/renderer/assets/svg/icons/folder-command.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-components-open.svg b/src/renderer/assets/svg/icons/folder-components-open.svg deleted file mode 100644 index 5fb1fe66..00000000 --- a/src/renderer/assets/svg/icons/folder-components-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-components.svg b/src/renderer/assets/svg/icons/folder-components.svg deleted file mode 100644 index d813b8d5..00000000 --- a/src/renderer/assets/svg/icons/folder-components.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-config-open.svg b/src/renderer/assets/svg/icons/folder-config-open.svg deleted file mode 100644 index 369788cb..00000000 --- a/src/renderer/assets/svg/icons/folder-config-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-config.svg b/src/renderer/assets/svg/icons/folder-config.svg deleted file mode 100644 index df9b5978..00000000 --- a/src/renderer/assets/svg/icons/folder-config.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-connection-open.svg b/src/renderer/assets/svg/icons/folder-connection-open.svg deleted file mode 100644 index 3951ee0b..00000000 --- a/src/renderer/assets/svg/icons/folder-connection-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-connection.svg b/src/renderer/assets/svg/icons/folder-connection.svg deleted file mode 100644 index d724c73e..00000000 --- a/src/renderer/assets/svg/icons/folder-connection.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-constant-open.svg b/src/renderer/assets/svg/icons/folder-constant-open.svg deleted file mode 100644 index 76fe930a..00000000 --- a/src/renderer/assets/svg/icons/folder-constant-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-constant.svg b/src/renderer/assets/svg/icons/folder-constant.svg deleted file mode 100644 index 8c1fb90e..00000000 --- a/src/renderer/assets/svg/icons/folder-constant.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-container-open.svg b/src/renderer/assets/svg/icons/folder-container-open.svg deleted file mode 100644 index 3605b910..00000000 --- a/src/renderer/assets/svg/icons/folder-container-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-container.svg b/src/renderer/assets/svg/icons/folder-container.svg deleted file mode 100644 index 3a4def36..00000000 --- a/src/renderer/assets/svg/icons/folder-container.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-content-open.svg b/src/renderer/assets/svg/icons/folder-content-open.svg deleted file mode 100644 index 312527e2..00000000 --- a/src/renderer/assets/svg/icons/folder-content-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-content.svg b/src/renderer/assets/svg/icons/folder-content.svg deleted file mode 100644 index f51fbec8..00000000 --- a/src/renderer/assets/svg/icons/folder-content.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-context-open.svg b/src/renderer/assets/svg/icons/folder-context-open.svg deleted file mode 100644 index fc7b49d5..00000000 --- a/src/renderer/assets/svg/icons/folder-context-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-context.svg b/src/renderer/assets/svg/icons/folder-context.svg deleted file mode 100644 index 91d7c1af..00000000 --- a/src/renderer/assets/svg/icons/folder-context.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-contract-open.svg b/src/renderer/assets/svg/icons/folder-contract-open.svg deleted file mode 100644 index e8de5f5d..00000000 --- a/src/renderer/assets/svg/icons/folder-contract-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-contract.svg b/src/renderer/assets/svg/icons/folder-contract.svg deleted file mode 100644 index e29bdc9e..00000000 --- a/src/renderer/assets/svg/icons/folder-contract.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-controller-open.svg b/src/renderer/assets/svg/icons/folder-controller-open.svg deleted file mode 100644 index 76f59420..00000000 --- a/src/renderer/assets/svg/icons/folder-controller-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-controller.svg b/src/renderer/assets/svg/icons/folder-controller.svg deleted file mode 100644 index 62200197..00000000 --- a/src/renderer/assets/svg/icons/folder-controller.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-core-open.svg b/src/renderer/assets/svg/icons/folder-core-open.svg deleted file mode 100644 index ade3c931..00000000 --- a/src/renderer/assets/svg/icons/folder-core-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-core.svg b/src/renderer/assets/svg/icons/folder-core.svg deleted file mode 100644 index 0a29dac5..00000000 --- a/src/renderer/assets/svg/icons/folder-core.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-coverage-open.svg b/src/renderer/assets/svg/icons/folder-coverage-open.svg deleted file mode 100644 index ab8e645b..00000000 --- a/src/renderer/assets/svg/icons/folder-coverage-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-coverage.svg b/src/renderer/assets/svg/icons/folder-coverage.svg deleted file mode 100644 index fa498acc..00000000 --- a/src/renderer/assets/svg/icons/folder-coverage.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-css-open.svg b/src/renderer/assets/svg/icons/folder-css-open.svg deleted file mode 100644 index 16380d7a..00000000 --- a/src/renderer/assets/svg/icons/folder-css-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-css.svg b/src/renderer/assets/svg/icons/folder-css.svg deleted file mode 100644 index d458b972..00000000 --- a/src/renderer/assets/svg/icons/folder-css.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-custom-open.svg b/src/renderer/assets/svg/icons/folder-custom-open.svg deleted file mode 100644 index 239be069..00000000 --- a/src/renderer/assets/svg/icons/folder-custom-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-custom.svg b/src/renderer/assets/svg/icons/folder-custom.svg deleted file mode 100644 index cb625a9a..00000000 --- a/src/renderer/assets/svg/icons/folder-custom.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-cypress-open.svg b/src/renderer/assets/svg/icons/folder-cypress-open.svg deleted file mode 100644 index 3d39b4c4..00000000 --- a/src/renderer/assets/svg/icons/folder-cypress-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-cypress.svg b/src/renderer/assets/svg/icons/folder-cypress.svg deleted file mode 100644 index 6f203845..00000000 --- a/src/renderer/assets/svg/icons/folder-cypress.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-database-open.svg b/src/renderer/assets/svg/icons/folder-database-open.svg deleted file mode 100644 index f0d4bdaf..00000000 --- a/src/renderer/assets/svg/icons/folder-database-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-database.svg b/src/renderer/assets/svg/icons/folder-database.svg deleted file mode 100644 index c94982d0..00000000 --- a/src/renderer/assets/svg/icons/folder-database.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-debug-open.svg b/src/renderer/assets/svg/icons/folder-debug-open.svg deleted file mode 100644 index 6dab939f..00000000 --- a/src/renderer/assets/svg/icons/folder-debug-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-debug.svg b/src/renderer/assets/svg/icons/folder-debug.svg deleted file mode 100644 index 3c28955b..00000000 --- a/src/renderer/assets/svg/icons/folder-debug.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-decorators-open.svg b/src/renderer/assets/svg/icons/folder-decorators-open.svg deleted file mode 100644 index a9757d78..00000000 --- a/src/renderer/assets/svg/icons/folder-decorators-open.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-decorators.svg b/src/renderer/assets/svg/icons/folder-decorators.svg deleted file mode 100644 index 7b0d9523..00000000 --- a/src/renderer/assets/svg/icons/folder-decorators.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/renderer/assets/svg/icons/folder-delta-open.svg b/src/renderer/assets/svg/icons/folder-delta-open.svg deleted file mode 100644 index 67867b06..00000000 --- a/src/renderer/assets/svg/icons/folder-delta-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-delta.svg b/src/renderer/assets/svg/icons/folder-delta.svg deleted file mode 100644 index c102e446..00000000 --- a/src/renderer/assets/svg/icons/folder-delta.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-dist-open.svg b/src/renderer/assets/svg/icons/folder-dist-open.svg deleted file mode 100644 index 606b96ef..00000000 --- a/src/renderer/assets/svg/icons/folder-dist-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-dist.svg b/src/renderer/assets/svg/icons/folder-dist.svg deleted file mode 100644 index 24677dd4..00000000 --- a/src/renderer/assets/svg/icons/folder-dist.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-docker-open.svg b/src/renderer/assets/svg/icons/folder-docker-open.svg deleted file mode 100644 index af22ea09..00000000 --- a/src/renderer/assets/svg/icons/folder-docker-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-docker.svg b/src/renderer/assets/svg/icons/folder-docker.svg deleted file mode 100644 index f98503b2..00000000 --- a/src/renderer/assets/svg/icons/folder-docker.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-docs-open.svg b/src/renderer/assets/svg/icons/folder-docs-open.svg deleted file mode 100644 index 333b570e..00000000 --- a/src/renderer/assets/svg/icons/folder-docs-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-docs.svg b/src/renderer/assets/svg/icons/folder-docs.svg deleted file mode 100644 index 05243641..00000000 --- a/src/renderer/assets/svg/icons/folder-docs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-download-open.svg b/src/renderer/assets/svg/icons/folder-download-open.svg deleted file mode 100644 index 1ae0d1c3..00000000 --- a/src/renderer/assets/svg/icons/folder-download-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-download.svg b/src/renderer/assets/svg/icons/folder-download.svg deleted file mode 100644 index e1eef482..00000000 --- a/src/renderer/assets/svg/icons/folder-download.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-dump-open.svg b/src/renderer/assets/svg/icons/folder-dump-open.svg deleted file mode 100644 index b9c8ad9d..00000000 --- a/src/renderer/assets/svg/icons/folder-dump-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-dump.svg b/src/renderer/assets/svg/icons/folder-dump.svg deleted file mode 100644 index 5438dbd3..00000000 --- a/src/renderer/assets/svg/icons/folder-dump.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-environment-open.svg b/src/renderer/assets/svg/icons/folder-environment-open.svg deleted file mode 100644 index f31b8ce0..00000000 --- a/src/renderer/assets/svg/icons/folder-environment-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-environment.svg b/src/renderer/assets/svg/icons/folder-environment.svg deleted file mode 100644 index 9ed44a35..00000000 --- a/src/renderer/assets/svg/icons/folder-environment.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-error-open.svg b/src/renderer/assets/svg/icons/folder-error-open.svg deleted file mode 100644 index 27186fc6..00000000 --- a/src/renderer/assets/svg/icons/folder-error-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-error.svg b/src/renderer/assets/svg/icons/folder-error.svg deleted file mode 100644 index 0a6e8eb3..00000000 --- a/src/renderer/assets/svg/icons/folder-error.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-event-open.svg b/src/renderer/assets/svg/icons/folder-event-open.svg deleted file mode 100644 index 30999f6c..00000000 --- a/src/renderer/assets/svg/icons/folder-event-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-event.svg b/src/renderer/assets/svg/icons/folder-event.svg deleted file mode 100644 index 44db4eb0..00000000 --- a/src/renderer/assets/svg/icons/folder-event.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-examples-open.svg b/src/renderer/assets/svg/icons/folder-examples-open.svg deleted file mode 100644 index 8fad7174..00000000 --- a/src/renderer/assets/svg/icons/folder-examples-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-examples.svg b/src/renderer/assets/svg/icons/folder-examples.svg deleted file mode 100644 index cb70f7e1..00000000 --- a/src/renderer/assets/svg/icons/folder-examples.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-expo-open.svg b/src/renderer/assets/svg/icons/folder-expo-open.svg deleted file mode 100644 index ce862c0d..00000000 --- a/src/renderer/assets/svg/icons/folder-expo-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-expo.svg b/src/renderer/assets/svg/icons/folder-expo.svg deleted file mode 100644 index 38cc6a5d..00000000 --- a/src/renderer/assets/svg/icons/folder-expo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-export-open.svg b/src/renderer/assets/svg/icons/folder-export-open.svg deleted file mode 100644 index 55f9c8bd..00000000 --- a/src/renderer/assets/svg/icons/folder-export-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-export.svg b/src/renderer/assets/svg/icons/folder-export.svg deleted file mode 100644 index 9d11ed88..00000000 --- a/src/renderer/assets/svg/icons/folder-export.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-fastlane-open.svg b/src/renderer/assets/svg/icons/folder-fastlane-open.svg deleted file mode 100644 index 9adc5208..00000000 --- a/src/renderer/assets/svg/icons/folder-fastlane-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-fastlane.svg b/src/renderer/assets/svg/icons/folder-fastlane.svg deleted file mode 100644 index bffe4776..00000000 --- a/src/renderer/assets/svg/icons/folder-fastlane.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-firebase-open.svg b/src/renderer/assets/svg/icons/folder-firebase-open.svg deleted file mode 100644 index c07bd0af..00000000 --- a/src/renderer/assets/svg/icons/folder-firebase-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-firebase.svg b/src/renderer/assets/svg/icons/folder-firebase.svg deleted file mode 100644 index 67c73525..00000000 --- a/src/renderer/assets/svg/icons/folder-firebase.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-flow-open.svg b/src/renderer/assets/svg/icons/folder-flow-open.svg deleted file mode 100644 index 73a76d80..00000000 --- a/src/renderer/assets/svg/icons/folder-flow-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-flow.svg b/src/renderer/assets/svg/icons/folder-flow.svg deleted file mode 100644 index 742db734..00000000 --- a/src/renderer/assets/svg/icons/folder-flow.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-font-open.svg b/src/renderer/assets/svg/icons/folder-font-open.svg deleted file mode 100644 index b7a202d1..00000000 --- a/src/renderer/assets/svg/icons/folder-font-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-font.svg b/src/renderer/assets/svg/icons/folder-font.svg deleted file mode 100644 index bc98f4ac..00000000 --- a/src/renderer/assets/svg/icons/folder-font.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-functions-open.svg b/src/renderer/assets/svg/icons/folder-functions-open.svg deleted file mode 100644 index 59a41e13..00000000 --- a/src/renderer/assets/svg/icons/folder-functions-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-functions.svg b/src/renderer/assets/svg/icons/folder-functions.svg deleted file mode 100644 index 9c04ff2c..00000000 --- a/src/renderer/assets/svg/icons/folder-functions.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-gamemaker-open.svg b/src/renderer/assets/svg/icons/folder-gamemaker-open.svg deleted file mode 100644 index 081753be..00000000 --- a/src/renderer/assets/svg/icons/folder-gamemaker-open.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-gamemaker.svg b/src/renderer/assets/svg/icons/folder-gamemaker.svg deleted file mode 100644 index 4a18d32e..00000000 --- a/src/renderer/assets/svg/icons/folder-gamemaker.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-generator-open.svg b/src/renderer/assets/svg/icons/folder-generator-open.svg deleted file mode 100644 index f53c9554..00000000 --- a/src/renderer/assets/svg/icons/folder-generator-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-generator.svg b/src/renderer/assets/svg/icons/folder-generator.svg deleted file mode 100644 index baaef6b8..00000000 --- a/src/renderer/assets/svg/icons/folder-generator.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-git-open.svg b/src/renderer/assets/svg/icons/folder-git-open.svg deleted file mode 100644 index 26def431..00000000 --- a/src/renderer/assets/svg/icons/folder-git-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-git.svg b/src/renderer/assets/svg/icons/folder-git.svg deleted file mode 100644 index 4977492d..00000000 --- a/src/renderer/assets/svg/icons/folder-git.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-github-open.svg b/src/renderer/assets/svg/icons/folder-github-open.svg deleted file mode 100644 index 4e60cf1f..00000000 --- a/src/renderer/assets/svg/icons/folder-github-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-github.svg b/src/renderer/assets/svg/icons/folder-github.svg deleted file mode 100644 index 6371a45c..00000000 --- a/src/renderer/assets/svg/icons/folder-github.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-gitlab-open.svg b/src/renderer/assets/svg/icons/folder-gitlab-open.svg deleted file mode 100644 index 983f65c2..00000000 --- a/src/renderer/assets/svg/icons/folder-gitlab-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-gitlab.svg b/src/renderer/assets/svg/icons/folder-gitlab.svg deleted file mode 100644 index e974edd0..00000000 --- a/src/renderer/assets/svg/icons/folder-gitlab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-global-open.svg b/src/renderer/assets/svg/icons/folder-global-open.svg deleted file mode 100644 index d0506c78..00000000 --- a/src/renderer/assets/svg/icons/folder-global-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-global.svg b/src/renderer/assets/svg/icons/folder-global.svg deleted file mode 100644 index 260f6a71..00000000 --- a/src/renderer/assets/svg/icons/folder-global.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-godot-open.svg b/src/renderer/assets/svg/icons/folder-godot-open.svg deleted file mode 100644 index f2ed217d..00000000 --- a/src/renderer/assets/svg/icons/folder-godot-open.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-godot.svg b/src/renderer/assets/svg/icons/folder-godot.svg deleted file mode 100644 index 26308427..00000000 --- a/src/renderer/assets/svg/icons/folder-godot.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/renderer/assets/svg/icons/folder-gradle-open.svg b/src/renderer/assets/svg/icons/folder-gradle-open.svg deleted file mode 100644 index 4718d78c..00000000 --- a/src/renderer/assets/svg/icons/folder-gradle-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-gradle.svg b/src/renderer/assets/svg/icons/folder-gradle.svg deleted file mode 100644 index f12a50c0..00000000 --- a/src/renderer/assets/svg/icons/folder-gradle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-graphql-open.svg b/src/renderer/assets/svg/icons/folder-graphql-open.svg deleted file mode 100644 index 60da86a1..00000000 --- a/src/renderer/assets/svg/icons/folder-graphql-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-graphql.svg b/src/renderer/assets/svg/icons/folder-graphql.svg deleted file mode 100644 index fbb5e751..00000000 --- a/src/renderer/assets/svg/icons/folder-graphql.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-guard-open.svg b/src/renderer/assets/svg/icons/folder-guard-open.svg deleted file mode 100644 index 4db3ba82..00000000 --- a/src/renderer/assets/svg/icons/folder-guard-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-guard.svg b/src/renderer/assets/svg/icons/folder-guard.svg deleted file mode 100644 index d8af2265..00000000 --- a/src/renderer/assets/svg/icons/folder-guard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-gulp-open.svg b/src/renderer/assets/svg/icons/folder-gulp-open.svg deleted file mode 100644 index 18fdc905..00000000 --- a/src/renderer/assets/svg/icons/folder-gulp-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-gulp.svg b/src/renderer/assets/svg/icons/folder-gulp.svg deleted file mode 100644 index 0634fe10..00000000 --- a/src/renderer/assets/svg/icons/folder-gulp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-helper-open.svg b/src/renderer/assets/svg/icons/folder-helper-open.svg deleted file mode 100644 index ebe629a0..00000000 --- a/src/renderer/assets/svg/icons/folder-helper-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-helper.svg b/src/renderer/assets/svg/icons/folder-helper.svg deleted file mode 100644 index 2d3937a2..00000000 --- a/src/renderer/assets/svg/icons/folder-helper.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-home-open.svg b/src/renderer/assets/svg/icons/folder-home-open.svg deleted file mode 100644 index 13b993e2..00000000 --- a/src/renderer/assets/svg/icons/folder-home-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-home.svg b/src/renderer/assets/svg/icons/folder-home.svg deleted file mode 100644 index 2658c4a9..00000000 --- a/src/renderer/assets/svg/icons/folder-home.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-hook-open.svg b/src/renderer/assets/svg/icons/folder-hook-open.svg deleted file mode 100644 index 8cd454a6..00000000 --- a/src/renderer/assets/svg/icons/folder-hook-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-hook.svg b/src/renderer/assets/svg/icons/folder-hook.svg deleted file mode 100644 index cf3ef932..00000000 --- a/src/renderer/assets/svg/icons/folder-hook.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-husky-open.svg b/src/renderer/assets/svg/icons/folder-husky-open.svg deleted file mode 100644 index 7c1888b2..00000000 --- a/src/renderer/assets/svg/icons/folder-husky-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-husky.svg b/src/renderer/assets/svg/icons/folder-husky.svg deleted file mode 100644 index d212d19d..00000000 --- a/src/renderer/assets/svg/icons/folder-husky.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-i18n-open.svg b/src/renderer/assets/svg/icons/folder-i18n-open.svg deleted file mode 100644 index 784137e5..00000000 --- a/src/renderer/assets/svg/icons/folder-i18n-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-i18n.svg b/src/renderer/assets/svg/icons/folder-i18n.svg deleted file mode 100644 index bde4f45d..00000000 --- a/src/renderer/assets/svg/icons/folder-i18n.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-images-open.svg b/src/renderer/assets/svg/icons/folder-images-open.svg deleted file mode 100644 index 4fb34fc4..00000000 --- a/src/renderer/assets/svg/icons/folder-images-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-images.svg b/src/renderer/assets/svg/icons/folder-images.svg deleted file mode 100644 index e0cebe1e..00000000 --- a/src/renderer/assets/svg/icons/folder-images.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-import-open.svg b/src/renderer/assets/svg/icons/folder-import-open.svg deleted file mode 100644 index 4f264abd..00000000 --- a/src/renderer/assets/svg/icons/folder-import-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-import.svg b/src/renderer/assets/svg/icons/folder-import.svg deleted file mode 100644 index eadd2405..00000000 --- a/src/renderer/assets/svg/icons/folder-import.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-include-open.svg b/src/renderer/assets/svg/icons/folder-include-open.svg deleted file mode 100644 index d3e1717b..00000000 --- a/src/renderer/assets/svg/icons/folder-include-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-include.svg b/src/renderer/assets/svg/icons/folder-include.svg deleted file mode 100644 index 1ac12903..00000000 --- a/src/renderer/assets/svg/icons/folder-include.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-intellij-open.svg b/src/renderer/assets/svg/icons/folder-intellij-open.svg deleted file mode 100644 index 18b45a6a..00000000 --- a/src/renderer/assets/svg/icons/folder-intellij-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-intellij-open_light.svg b/src/renderer/assets/svg/icons/folder-intellij-open_light.svg deleted file mode 100644 index f877ae61..00000000 --- a/src/renderer/assets/svg/icons/folder-intellij-open_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-intellij.svg b/src/renderer/assets/svg/icons/folder-intellij.svg deleted file mode 100644 index 2620843d..00000000 --- a/src/renderer/assets/svg/icons/folder-intellij.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-intellij_light.svg b/src/renderer/assets/svg/icons/folder-intellij_light.svg deleted file mode 100644 index 6d241277..00000000 --- a/src/renderer/assets/svg/icons/folder-intellij_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-interface-open.svg b/src/renderer/assets/svg/icons/folder-interface-open.svg deleted file mode 100644 index 38083b1a..00000000 --- a/src/renderer/assets/svg/icons/folder-interface-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-interface.svg b/src/renderer/assets/svg/icons/folder-interface.svg deleted file mode 100644 index 286a5556..00000000 --- a/src/renderer/assets/svg/icons/folder-interface.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ios-open.svg b/src/renderer/assets/svg/icons/folder-ios-open.svg deleted file mode 100644 index e11b973a..00000000 --- a/src/renderer/assets/svg/icons/folder-ios-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ios.svg b/src/renderer/assets/svg/icons/folder-ios.svg deleted file mode 100644 index dc5cf848..00000000 --- a/src/renderer/assets/svg/icons/folder-ios.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-java-open.svg b/src/renderer/assets/svg/icons/folder-java-open.svg deleted file mode 100644 index 8c5fcf39..00000000 --- a/src/renderer/assets/svg/icons/folder-java-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-java.svg b/src/renderer/assets/svg/icons/folder-java.svg deleted file mode 100644 index 801812c7..00000000 --- a/src/renderer/assets/svg/icons/folder-java.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-javascript-open.svg b/src/renderer/assets/svg/icons/folder-javascript-open.svg deleted file mode 100644 index 5bbdf1e8..00000000 --- a/src/renderer/assets/svg/icons/folder-javascript-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-javascript.svg b/src/renderer/assets/svg/icons/folder-javascript.svg deleted file mode 100644 index 3a31ff84..00000000 --- a/src/renderer/assets/svg/icons/folder-javascript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-jinja-open.svg b/src/renderer/assets/svg/icons/folder-jinja-open.svg deleted file mode 100644 index 24beb965..00000000 --- a/src/renderer/assets/svg/icons/folder-jinja-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-jinja-open_light.svg b/src/renderer/assets/svg/icons/folder-jinja-open_light.svg deleted file mode 100644 index dc82d7ad..00000000 --- a/src/renderer/assets/svg/icons/folder-jinja-open_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-jinja.svg b/src/renderer/assets/svg/icons/folder-jinja.svg deleted file mode 100644 index b9a87702..00000000 --- a/src/renderer/assets/svg/icons/folder-jinja.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-jinja_light.svg b/src/renderer/assets/svg/icons/folder-jinja_light.svg deleted file mode 100644 index 1fecddfc..00000000 --- a/src/renderer/assets/svg/icons/folder-jinja_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-job-open.svg b/src/renderer/assets/svg/icons/folder-job-open.svg deleted file mode 100644 index 32720417..00000000 --- a/src/renderer/assets/svg/icons/folder-job-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-job.svg b/src/renderer/assets/svg/icons/folder-job.svg deleted file mode 100644 index cbb946da..00000000 --- a/src/renderer/assets/svg/icons/folder-job.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-json-open.svg b/src/renderer/assets/svg/icons/folder-json-open.svg deleted file mode 100644 index e7905dd1..00000000 --- a/src/renderer/assets/svg/icons/folder-json-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-json.svg b/src/renderer/assets/svg/icons/folder-json.svg deleted file mode 100644 index 470aaf36..00000000 --- a/src/renderer/assets/svg/icons/folder-json.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-keys-open.svg b/src/renderer/assets/svg/icons/folder-keys-open.svg deleted file mode 100644 index a8695c49..00000000 --- a/src/renderer/assets/svg/icons/folder-keys-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-keys.svg b/src/renderer/assets/svg/icons/folder-keys.svg deleted file mode 100644 index 3018c93c..00000000 --- a/src/renderer/assets/svg/icons/folder-keys.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-kubernetes-open.svg b/src/renderer/assets/svg/icons/folder-kubernetes-open.svg deleted file mode 100644 index a83dc941..00000000 --- a/src/renderer/assets/svg/icons/folder-kubernetes-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-kubernetes.svg b/src/renderer/assets/svg/icons/folder-kubernetes.svg deleted file mode 100644 index 9e4080f1..00000000 --- a/src/renderer/assets/svg/icons/folder-kubernetes.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-layout-open.svg b/src/renderer/assets/svg/icons/folder-layout-open.svg deleted file mode 100644 index def5f529..00000000 --- a/src/renderer/assets/svg/icons/folder-layout-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-layout.svg b/src/renderer/assets/svg/icons/folder-layout.svg deleted file mode 100644 index 2fe296f8..00000000 --- a/src/renderer/assets/svg/icons/folder-layout.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-less-open.svg b/src/renderer/assets/svg/icons/folder-less-open.svg deleted file mode 100644 index de940dfa..00000000 --- a/src/renderer/assets/svg/icons/folder-less-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-less.svg b/src/renderer/assets/svg/icons/folder-less.svg deleted file mode 100644 index b031c37e..00000000 --- a/src/renderer/assets/svg/icons/folder-less.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-lib-open.svg b/src/renderer/assets/svg/icons/folder-lib-open.svg deleted file mode 100644 index 5e336706..00000000 --- a/src/renderer/assets/svg/icons/folder-lib-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-lib.svg b/src/renderer/assets/svg/icons/folder-lib.svg deleted file mode 100644 index 6cb7b78d..00000000 --- a/src/renderer/assets/svg/icons/folder-lib.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-log-open.svg b/src/renderer/assets/svg/icons/folder-log-open.svg deleted file mode 100644 index 29bd94ac..00000000 --- a/src/renderer/assets/svg/icons/folder-log-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-log.svg b/src/renderer/assets/svg/icons/folder-log.svg deleted file mode 100644 index 5f9c2611..00000000 --- a/src/renderer/assets/svg/icons/folder-log.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-lua-open.svg b/src/renderer/assets/svg/icons/folder-lua-open.svg deleted file mode 100644 index f3311ae1..00000000 --- a/src/renderer/assets/svg/icons/folder-lua-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-lua.svg b/src/renderer/assets/svg/icons/folder-lua.svg deleted file mode 100644 index 627a79db..00000000 --- a/src/renderer/assets/svg/icons/folder-lua.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mail-open.svg b/src/renderer/assets/svg/icons/folder-mail-open.svg deleted file mode 100644 index 36a4916a..00000000 --- a/src/renderer/assets/svg/icons/folder-mail-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mail.svg b/src/renderer/assets/svg/icons/folder-mail.svg deleted file mode 100644 index 17b508a3..00000000 --- a/src/renderer/assets/svg/icons/folder-mail.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mappings-open.svg b/src/renderer/assets/svg/icons/folder-mappings-open.svg deleted file mode 100644 index f2ed8952..00000000 --- a/src/renderer/assets/svg/icons/folder-mappings-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mappings.svg b/src/renderer/assets/svg/icons/folder-mappings.svg deleted file mode 100644 index f946086c..00000000 --- a/src/renderer/assets/svg/icons/folder-mappings.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-markdown-open.svg b/src/renderer/assets/svg/icons/folder-markdown-open.svg deleted file mode 100644 index 8956311d..00000000 --- a/src/renderer/assets/svg/icons/folder-markdown-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-markdown.svg b/src/renderer/assets/svg/icons/folder-markdown.svg deleted file mode 100644 index 3db696e0..00000000 --- a/src/renderer/assets/svg/icons/folder-markdown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mercurial-open.svg b/src/renderer/assets/svg/icons/folder-mercurial-open.svg deleted file mode 100644 index d374e459..00000000 --- a/src/renderer/assets/svg/icons/folder-mercurial-open.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/renderer/assets/svg/icons/folder-mercurial.svg b/src/renderer/assets/svg/icons/folder-mercurial.svg deleted file mode 100644 index a4f1aa9f..00000000 --- a/src/renderer/assets/svg/icons/folder-mercurial.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-messages-open.svg b/src/renderer/assets/svg/icons/folder-messages-open.svg deleted file mode 100644 index 1cf463d2..00000000 --- a/src/renderer/assets/svg/icons/folder-messages-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-messages.svg b/src/renderer/assets/svg/icons/folder-messages.svg deleted file mode 100644 index 5c1a50e3..00000000 --- a/src/renderer/assets/svg/icons/folder-messages.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-meta-open.svg b/src/renderer/assets/svg/icons/folder-meta-open.svg deleted file mode 100644 index 5bc37086..00000000 --- a/src/renderer/assets/svg/icons/folder-meta-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-meta.svg b/src/renderer/assets/svg/icons/folder-meta.svg deleted file mode 100644 index cf8e344f..00000000 --- a/src/renderer/assets/svg/icons/folder-meta.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-middleware-open.svg b/src/renderer/assets/svg/icons/folder-middleware-open.svg deleted file mode 100644 index ca5d4494..00000000 --- a/src/renderer/assets/svg/icons/folder-middleware-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-middleware.svg b/src/renderer/assets/svg/icons/folder-middleware.svg deleted file mode 100644 index efcdaddb..00000000 --- a/src/renderer/assets/svg/icons/folder-middleware.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mjml-open.svg b/src/renderer/assets/svg/icons/folder-mjml-open.svg deleted file mode 100644 index 9f6180e7..00000000 --- a/src/renderer/assets/svg/icons/folder-mjml-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mjml.svg b/src/renderer/assets/svg/icons/folder-mjml.svg deleted file mode 100644 index b5ab5e1b..00000000 --- a/src/renderer/assets/svg/icons/folder-mjml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mobile-open.svg b/src/renderer/assets/svg/icons/folder-mobile-open.svg deleted file mode 100644 index dbaf81a9..00000000 --- a/src/renderer/assets/svg/icons/folder-mobile-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mobile.svg b/src/renderer/assets/svg/icons/folder-mobile.svg deleted file mode 100644 index 9f0db3cd..00000000 --- a/src/renderer/assets/svg/icons/folder-mobile.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mock-open.svg b/src/renderer/assets/svg/icons/folder-mock-open.svg deleted file mode 100644 index 97af6aae..00000000 --- a/src/renderer/assets/svg/icons/folder-mock-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mock.svg b/src/renderer/assets/svg/icons/folder-mock.svg deleted file mode 100644 index ea6493ea..00000000 --- a/src/renderer/assets/svg/icons/folder-mock.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-mojo-open.svg b/src/renderer/assets/svg/icons/folder-mojo-open.svg deleted file mode 100644 index b925c686..00000000 --- a/src/renderer/assets/svg/icons/folder-mojo-open.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-mojo.svg b/src/renderer/assets/svg/icons/folder-mojo.svg deleted file mode 100644 index 85259ba9..00000000 --- a/src/renderer/assets/svg/icons/folder-mojo.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-netlify-open.svg b/src/renderer/assets/svg/icons/folder-netlify-open.svg deleted file mode 100644 index e2a7c1c9..00000000 --- a/src/renderer/assets/svg/icons/folder-netlify-open.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/renderer/assets/svg/icons/folder-netlify.svg b/src/renderer/assets/svg/icons/folder-netlify.svg deleted file mode 100644 index 087c89e6..00000000 --- a/src/renderer/assets/svg/icons/folder-netlify.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-next-open.svg b/src/renderer/assets/svg/icons/folder-next-open.svg deleted file mode 100644 index 1ba2943b..00000000 --- a/src/renderer/assets/svg/icons/folder-next-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-next.svg b/src/renderer/assets/svg/icons/folder-next.svg deleted file mode 100644 index c154f4fb..00000000 --- a/src/renderer/assets/svg/icons/folder-next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-actions-open.svg b/src/renderer/assets/svg/icons/folder-ngrx-actions-open.svg deleted file mode 100644 index a492977f..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-actions-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-actions.svg b/src/renderer/assets/svg/icons/folder-ngrx-actions.svg deleted file mode 100644 index 155a94db..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-actions.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-effects-open.svg b/src/renderer/assets/svg/icons/folder-ngrx-effects-open.svg deleted file mode 100644 index f8ccd39c..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-effects-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-effects.svg b/src/renderer/assets/svg/icons/folder-ngrx-effects.svg deleted file mode 100644 index 1291fd77..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-effects.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-entities-open.svg b/src/renderer/assets/svg/icons/folder-ngrx-entities-open.svg deleted file mode 100644 index 582f337a..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-entities-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-entities.svg b/src/renderer/assets/svg/icons/folder-ngrx-entities.svg deleted file mode 100644 index 34b7b3b8..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-entities.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-reducer-open.svg b/src/renderer/assets/svg/icons/folder-ngrx-reducer-open.svg deleted file mode 100644 index 6f1ad2cf..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-reducer-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-reducer.svg b/src/renderer/assets/svg/icons/folder-ngrx-reducer.svg deleted file mode 100644 index 9390d257..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-reducer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-selectors-open.svg b/src/renderer/assets/svg/icons/folder-ngrx-selectors-open.svg deleted file mode 100644 index 54ff938f..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-selectors-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-selectors.svg b/src/renderer/assets/svg/icons/folder-ngrx-selectors.svg deleted file mode 100644 index 8acad717..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-selectors.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-state-open.svg b/src/renderer/assets/svg/icons/folder-ngrx-state-open.svg deleted file mode 100644 index 042e23de..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-state-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-state.svg b/src/renderer/assets/svg/icons/folder-ngrx-state.svg deleted file mode 100644 index def67528..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-state.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-store-open.svg b/src/renderer/assets/svg/icons/folder-ngrx-store-open.svg deleted file mode 100644 index e355a2a8..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-store-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-ngrx-store.svg b/src/renderer/assets/svg/icons/folder-ngrx-store.svg deleted file mode 100644 index 5fc8be62..00000000 --- a/src/renderer/assets/svg/icons/folder-ngrx-store.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-node-open.svg b/src/renderer/assets/svg/icons/folder-node-open.svg deleted file mode 100644 index d482477f..00000000 --- a/src/renderer/assets/svg/icons/folder-node-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-node.svg b/src/renderer/assets/svg/icons/folder-node.svg deleted file mode 100644 index 5d0c1194..00000000 --- a/src/renderer/assets/svg/icons/folder-node.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-nuxt-open.svg b/src/renderer/assets/svg/icons/folder-nuxt-open.svg deleted file mode 100644 index d1dc4d96..00000000 --- a/src/renderer/assets/svg/icons/folder-nuxt-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-nuxt.svg b/src/renderer/assets/svg/icons/folder-nuxt.svg deleted file mode 100644 index 304141aa..00000000 --- a/src/renderer/assets/svg/icons/folder-nuxt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-other-open.svg b/src/renderer/assets/svg/icons/folder-other-open.svg deleted file mode 100644 index 6cda70c6..00000000 --- a/src/renderer/assets/svg/icons/folder-other-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-other.svg b/src/renderer/assets/svg/icons/folder-other.svg deleted file mode 100644 index b36ac773..00000000 --- a/src/renderer/assets/svg/icons/folder-other.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-packages-open.svg b/src/renderer/assets/svg/icons/folder-packages-open.svg deleted file mode 100644 index 3531c04b..00000000 --- a/src/renderer/assets/svg/icons/folder-packages-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-packages.svg b/src/renderer/assets/svg/icons/folder-packages.svg deleted file mode 100644 index 2a90f8f6..00000000 --- a/src/renderer/assets/svg/icons/folder-packages.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-pdf-open.svg b/src/renderer/assets/svg/icons/folder-pdf-open.svg deleted file mode 100644 index 65befcf6..00000000 --- a/src/renderer/assets/svg/icons/folder-pdf-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-pdf.svg b/src/renderer/assets/svg/icons/folder-pdf.svg deleted file mode 100644 index 818ad43c..00000000 --- a/src/renderer/assets/svg/icons/folder-pdf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-php-open.svg b/src/renderer/assets/svg/icons/folder-php-open.svg deleted file mode 100644 index 883d6cc4..00000000 --- a/src/renderer/assets/svg/icons/folder-php-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-php.svg b/src/renderer/assets/svg/icons/folder-php.svg deleted file mode 100644 index dc62c79f..00000000 --- a/src/renderer/assets/svg/icons/folder-php.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-phpmailer-open.svg b/src/renderer/assets/svg/icons/folder-phpmailer-open.svg deleted file mode 100644 index 4342c69a..00000000 --- a/src/renderer/assets/svg/icons/folder-phpmailer-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-phpmailer.svg b/src/renderer/assets/svg/icons/folder-phpmailer.svg deleted file mode 100644 index dcc3cf4e..00000000 --- a/src/renderer/assets/svg/icons/folder-phpmailer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-pipe-open.svg b/src/renderer/assets/svg/icons/folder-pipe-open.svg deleted file mode 100644 index 3677c99b..00000000 --- a/src/renderer/assets/svg/icons/folder-pipe-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-pipe.svg b/src/renderer/assets/svg/icons/folder-pipe.svg deleted file mode 100644 index 3bfb174d..00000000 --- a/src/renderer/assets/svg/icons/folder-pipe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-plastic-open.svg b/src/renderer/assets/svg/icons/folder-plastic-open.svg deleted file mode 100644 index f2430987..00000000 --- a/src/renderer/assets/svg/icons/folder-plastic-open.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/renderer/assets/svg/icons/folder-plastic.svg b/src/renderer/assets/svg/icons/folder-plastic.svg deleted file mode 100644 index 01b5c64a..00000000 --- a/src/renderer/assets/svg/icons/folder-plastic.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-plugin-open.svg b/src/renderer/assets/svg/icons/folder-plugin-open.svg deleted file mode 100644 index 01c60262..00000000 --- a/src/renderer/assets/svg/icons/folder-plugin-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-plugin.svg b/src/renderer/assets/svg/icons/folder-plugin.svg deleted file mode 100644 index 9899169c..00000000 --- a/src/renderer/assets/svg/icons/folder-plugin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-prisma-open.svg b/src/renderer/assets/svg/icons/folder-prisma-open.svg deleted file mode 100644 index de67d17a..00000000 --- a/src/renderer/assets/svg/icons/folder-prisma-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-prisma.svg b/src/renderer/assets/svg/icons/folder-prisma.svg deleted file mode 100644 index ea06874b..00000000 --- a/src/renderer/assets/svg/icons/folder-prisma.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-private-open.svg b/src/renderer/assets/svg/icons/folder-private-open.svg deleted file mode 100644 index e353cc3a..00000000 --- a/src/renderer/assets/svg/icons/folder-private-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-private.svg b/src/renderer/assets/svg/icons/folder-private.svg deleted file mode 100644 index 41d3b067..00000000 --- a/src/renderer/assets/svg/icons/folder-private.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-project-open.svg b/src/renderer/assets/svg/icons/folder-project-open.svg deleted file mode 100644 index 5b40ed02..00000000 --- a/src/renderer/assets/svg/icons/folder-project-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-project.svg b/src/renderer/assets/svg/icons/folder-project.svg deleted file mode 100644 index e7aad403..00000000 --- a/src/renderer/assets/svg/icons/folder-project.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-proto-open.svg b/src/renderer/assets/svg/icons/folder-proto-open.svg deleted file mode 100644 index 6dbe9d61..00000000 --- a/src/renderer/assets/svg/icons/folder-proto-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-proto.svg b/src/renderer/assets/svg/icons/folder-proto.svg deleted file mode 100644 index 33b1fa7a..00000000 --- a/src/renderer/assets/svg/icons/folder-proto.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-public-open.svg b/src/renderer/assets/svg/icons/folder-public-open.svg deleted file mode 100644 index d995ea73..00000000 --- a/src/renderer/assets/svg/icons/folder-public-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-public.svg b/src/renderer/assets/svg/icons/folder-public.svg deleted file mode 100644 index a0830a6b..00000000 --- a/src/renderer/assets/svg/icons/folder-public.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-python-open.svg b/src/renderer/assets/svg/icons/folder-python-open.svg deleted file mode 100644 index 967f25a0..00000000 --- a/src/renderer/assets/svg/icons/folder-python-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-python.svg b/src/renderer/assets/svg/icons/folder-python.svg deleted file mode 100644 index b8d766de..00000000 --- a/src/renderer/assets/svg/icons/folder-python.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-quasar-open.svg b/src/renderer/assets/svg/icons/folder-quasar-open.svg deleted file mode 100644 index 9642b839..00000000 --- a/src/renderer/assets/svg/icons/folder-quasar-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-quasar.svg b/src/renderer/assets/svg/icons/folder-quasar.svg deleted file mode 100644 index f900bc67..00000000 --- a/src/renderer/assets/svg/icons/folder-quasar.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-queue-open.svg b/src/renderer/assets/svg/icons/folder-queue-open.svg deleted file mode 100644 index ffaeae43..00000000 --- a/src/renderer/assets/svg/icons/folder-queue-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-queue.svg b/src/renderer/assets/svg/icons/folder-queue.svg deleted file mode 100644 index d0d69a70..00000000 --- a/src/renderer/assets/svg/icons/folder-queue.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-react-components-open.svg b/src/renderer/assets/svg/icons/folder-react-components-open.svg deleted file mode 100644 index b902eaff..00000000 --- a/src/renderer/assets/svg/icons/folder-react-components-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-react-components.svg b/src/renderer/assets/svg/icons/folder-react-components.svg deleted file mode 100644 index bff5124f..00000000 --- a/src/renderer/assets/svg/icons/folder-react-components.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-redux-actions-open.svg b/src/renderer/assets/svg/icons/folder-redux-actions-open.svg deleted file mode 100644 index 78466e61..00000000 --- a/src/renderer/assets/svg/icons/folder-redux-actions-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-redux-actions.svg b/src/renderer/assets/svg/icons/folder-redux-actions.svg deleted file mode 100644 index a0125ade..00000000 --- a/src/renderer/assets/svg/icons/folder-redux-actions.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-redux-reducer-open.svg b/src/renderer/assets/svg/icons/folder-redux-reducer-open.svg deleted file mode 100644 index 10b95100..00000000 --- a/src/renderer/assets/svg/icons/folder-redux-reducer-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-redux-reducer.svg b/src/renderer/assets/svg/icons/folder-redux-reducer.svg deleted file mode 100644 index e5c02f6a..00000000 --- a/src/renderer/assets/svg/icons/folder-redux-reducer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-redux-selector-open.svg b/src/renderer/assets/svg/icons/folder-redux-selector-open.svg deleted file mode 100644 index 19b6b425..00000000 --- a/src/renderer/assets/svg/icons/folder-redux-selector-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-redux-selector.svg b/src/renderer/assets/svg/icons/folder-redux-selector.svg deleted file mode 100644 index 1717722b..00000000 --- a/src/renderer/assets/svg/icons/folder-redux-selector.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-redux-store-open.svg b/src/renderer/assets/svg/icons/folder-redux-store-open.svg deleted file mode 100644 index af96466d..00000000 --- a/src/renderer/assets/svg/icons/folder-redux-store-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-redux-store.svg b/src/renderer/assets/svg/icons/folder-redux-store.svg deleted file mode 100644 index 4e2ca596..00000000 --- a/src/renderer/assets/svg/icons/folder-redux-store.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-resolver-open.svg b/src/renderer/assets/svg/icons/folder-resolver-open.svg deleted file mode 100644 index 7fc10f43..00000000 --- a/src/renderer/assets/svg/icons/folder-resolver-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-resolver.svg b/src/renderer/assets/svg/icons/folder-resolver.svg deleted file mode 100644 index 348ee11f..00000000 --- a/src/renderer/assets/svg/icons/folder-resolver.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-resource-open.svg b/src/renderer/assets/svg/icons/folder-resource-open.svg deleted file mode 100644 index 27cc9ab0..00000000 --- a/src/renderer/assets/svg/icons/folder-resource-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-resource.svg b/src/renderer/assets/svg/icons/folder-resource.svg deleted file mode 100644 index 62ef55de..00000000 --- a/src/renderer/assets/svg/icons/folder-resource.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-review-open.svg b/src/renderer/assets/svg/icons/folder-review-open.svg deleted file mode 100644 index 50cd7463..00000000 --- a/src/renderer/assets/svg/icons/folder-review-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-review.svg b/src/renderer/assets/svg/icons/folder-review.svg deleted file mode 100644 index fe85cd12..00000000 --- a/src/renderer/assets/svg/icons/folder-review.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-routes-open.svg b/src/renderer/assets/svg/icons/folder-routes-open.svg deleted file mode 100644 index c4807ca0..00000000 --- a/src/renderer/assets/svg/icons/folder-routes-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-routes.svg b/src/renderer/assets/svg/icons/folder-routes.svg deleted file mode 100644 index c2f9dd88..00000000 --- a/src/renderer/assets/svg/icons/folder-routes.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-rules-open.svg b/src/renderer/assets/svg/icons/folder-rules-open.svg deleted file mode 100644 index dccbe44c..00000000 --- a/src/renderer/assets/svg/icons/folder-rules-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-rules.svg b/src/renderer/assets/svg/icons/folder-rules.svg deleted file mode 100644 index 0b53b34c..00000000 --- a/src/renderer/assets/svg/icons/folder-rules.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-sass-open.svg b/src/renderer/assets/svg/icons/folder-sass-open.svg deleted file mode 100644 index 9d11364f..00000000 --- a/src/renderer/assets/svg/icons/folder-sass-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-sass.svg b/src/renderer/assets/svg/icons/folder-sass.svg deleted file mode 100644 index af01147e..00000000 --- a/src/renderer/assets/svg/icons/folder-sass.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-scala-open.svg b/src/renderer/assets/svg/icons/folder-scala-open.svg deleted file mode 100644 index 8da29fb5..00000000 --- a/src/renderer/assets/svg/icons/folder-scala-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-scala.svg b/src/renderer/assets/svg/icons/folder-scala.svg deleted file mode 100644 index e27a6d5e..00000000 --- a/src/renderer/assets/svg/icons/folder-scala.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-scripts-open.svg b/src/renderer/assets/svg/icons/folder-scripts-open.svg deleted file mode 100644 index 93d426bf..00000000 --- a/src/renderer/assets/svg/icons/folder-scripts-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-scripts.svg b/src/renderer/assets/svg/icons/folder-scripts.svg deleted file mode 100644 index 4855aa56..00000000 --- a/src/renderer/assets/svg/icons/folder-scripts.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-secure-open.svg b/src/renderer/assets/svg/icons/folder-secure-open.svg deleted file mode 100644 index a7802699..00000000 --- a/src/renderer/assets/svg/icons/folder-secure-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-secure.svg b/src/renderer/assets/svg/icons/folder-secure.svg deleted file mode 100644 index eb8539cb..00000000 --- a/src/renderer/assets/svg/icons/folder-secure.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-server-open.svg b/src/renderer/assets/svg/icons/folder-server-open.svg deleted file mode 100644 index 253f7069..00000000 --- a/src/renderer/assets/svg/icons/folder-server-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-server.svg b/src/renderer/assets/svg/icons/folder-server.svg deleted file mode 100644 index 730d1f99..00000000 --- a/src/renderer/assets/svg/icons/folder-server.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-serverless-open.svg b/src/renderer/assets/svg/icons/folder-serverless-open.svg deleted file mode 100644 index 28c1cfbb..00000000 --- a/src/renderer/assets/svg/icons/folder-serverless-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-serverless.svg b/src/renderer/assets/svg/icons/folder-serverless.svg deleted file mode 100644 index 94a0786c..00000000 --- a/src/renderer/assets/svg/icons/folder-serverless.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-shader-open.svg b/src/renderer/assets/svg/icons/folder-shader-open.svg deleted file mode 100644 index f886b0c9..00000000 --- a/src/renderer/assets/svg/icons/folder-shader-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-shader.svg b/src/renderer/assets/svg/icons/folder-shader.svg deleted file mode 100644 index 161cc764..00000000 --- a/src/renderer/assets/svg/icons/folder-shader.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-shared-open.svg b/src/renderer/assets/svg/icons/folder-shared-open.svg deleted file mode 100644 index d68d9f0b..00000000 --- a/src/renderer/assets/svg/icons/folder-shared-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-shared.svg b/src/renderer/assets/svg/icons/folder-shared.svg deleted file mode 100644 index 4e8363b9..00000000 --- a/src/renderer/assets/svg/icons/folder-shared.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-src-open.svg b/src/renderer/assets/svg/icons/folder-src-open.svg deleted file mode 100644 index 4cea00ca..00000000 --- a/src/renderer/assets/svg/icons/folder-src-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-src.svg b/src/renderer/assets/svg/icons/folder-src.svg deleted file mode 100644 index 0d582d9e..00000000 --- a/src/renderer/assets/svg/icons/folder-src.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-stack-open.svg b/src/renderer/assets/svg/icons/folder-stack-open.svg deleted file mode 100644 index 85a33739..00000000 --- a/src/renderer/assets/svg/icons/folder-stack-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-stack.svg b/src/renderer/assets/svg/icons/folder-stack.svg deleted file mode 100644 index 4aa27825..00000000 --- a/src/renderer/assets/svg/icons/folder-stack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-stencil-open.svg b/src/renderer/assets/svg/icons/folder-stencil-open.svg deleted file mode 100644 index a9c1a517..00000000 --- a/src/renderer/assets/svg/icons/folder-stencil-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-stencil.svg b/src/renderer/assets/svg/icons/folder-stencil.svg deleted file mode 100644 index 2874bac8..00000000 --- a/src/renderer/assets/svg/icons/folder-stencil.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-storybook-open.svg b/src/renderer/assets/svg/icons/folder-storybook-open.svg deleted file mode 100644 index ae25d6f7..00000000 --- a/src/renderer/assets/svg/icons/folder-storybook-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-storybook.svg b/src/renderer/assets/svg/icons/folder-storybook.svg deleted file mode 100644 index 98cc2526..00000000 --- a/src/renderer/assets/svg/icons/folder-storybook.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-stylus-open.svg b/src/renderer/assets/svg/icons/folder-stylus-open.svg deleted file mode 100644 index 3338c5f4..00000000 --- a/src/renderer/assets/svg/icons/folder-stylus-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-stylus.svg b/src/renderer/assets/svg/icons/folder-stylus.svg deleted file mode 100644 index 26546b4e..00000000 --- a/src/renderer/assets/svg/icons/folder-stylus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-sublime-open.svg b/src/renderer/assets/svg/icons/folder-sublime-open.svg deleted file mode 100644 index 31522b3f..00000000 --- a/src/renderer/assets/svg/icons/folder-sublime-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-sublime.svg b/src/renderer/assets/svg/icons/folder-sublime.svg deleted file mode 100644 index 0a8fa65f..00000000 --- a/src/renderer/assets/svg/icons/folder-sublime.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-supabase-open.svg b/src/renderer/assets/svg/icons/folder-supabase-open.svg deleted file mode 100644 index df65ca64..00000000 --- a/src/renderer/assets/svg/icons/folder-supabase-open.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/renderer/assets/svg/icons/folder-supabase.svg b/src/renderer/assets/svg/icons/folder-supabase.svg deleted file mode 100644 index 2fad7b3b..00000000 --- a/src/renderer/assets/svg/icons/folder-supabase.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/folder-svelte-open.svg b/src/renderer/assets/svg/icons/folder-svelte-open.svg deleted file mode 100644 index 3065d2cc..00000000 --- a/src/renderer/assets/svg/icons/folder-svelte-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-svelte.svg b/src/renderer/assets/svg/icons/folder-svelte.svg deleted file mode 100644 index 75c7ea7e..00000000 --- a/src/renderer/assets/svg/icons/folder-svelte.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-svg-open.svg b/src/renderer/assets/svg/icons/folder-svg-open.svg deleted file mode 100644 index a6bb8f72..00000000 --- a/src/renderer/assets/svg/icons/folder-svg-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-svg.svg b/src/renderer/assets/svg/icons/folder-svg.svg deleted file mode 100644 index 6ebc8415..00000000 --- a/src/renderer/assets/svg/icons/folder-svg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-syntax-open.svg b/src/renderer/assets/svg/icons/folder-syntax-open.svg deleted file mode 100644 index f46b9843..00000000 --- a/src/renderer/assets/svg/icons/folder-syntax-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-syntax.svg b/src/renderer/assets/svg/icons/folder-syntax.svg deleted file mode 100644 index cd2f23a9..00000000 --- a/src/renderer/assets/svg/icons/folder-syntax.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-target-open.svg b/src/renderer/assets/svg/icons/folder-target-open.svg deleted file mode 100644 index 12a4db4a..00000000 --- a/src/renderer/assets/svg/icons/folder-target-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-target.svg b/src/renderer/assets/svg/icons/folder-target.svg deleted file mode 100644 index d1233b1f..00000000 --- a/src/renderer/assets/svg/icons/folder-target.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-tasks-open.svg b/src/renderer/assets/svg/icons/folder-tasks-open.svg deleted file mode 100644 index 05101165..00000000 --- a/src/renderer/assets/svg/icons/folder-tasks-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-tasks.svg b/src/renderer/assets/svg/icons/folder-tasks.svg deleted file mode 100644 index 1b9bf840..00000000 --- a/src/renderer/assets/svg/icons/folder-tasks.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-temp-open.svg b/src/renderer/assets/svg/icons/folder-temp-open.svg deleted file mode 100644 index 02098406..00000000 --- a/src/renderer/assets/svg/icons/folder-temp-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-temp.svg b/src/renderer/assets/svg/icons/folder-temp.svg deleted file mode 100644 index 99a8ea91..00000000 --- a/src/renderer/assets/svg/icons/folder-temp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-template-open.svg b/src/renderer/assets/svg/icons/folder-template-open.svg deleted file mode 100644 index cb5312cd..00000000 --- a/src/renderer/assets/svg/icons/folder-template-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-template.svg b/src/renderer/assets/svg/icons/folder-template.svg deleted file mode 100644 index 779258ad..00000000 --- a/src/renderer/assets/svg/icons/folder-template.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-terraform-open.svg b/src/renderer/assets/svg/icons/folder-terraform-open.svg deleted file mode 100644 index c6d23d8d..00000000 --- a/src/renderer/assets/svg/icons/folder-terraform-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-terraform.svg b/src/renderer/assets/svg/icons/folder-terraform.svg deleted file mode 100644 index 63369326..00000000 --- a/src/renderer/assets/svg/icons/folder-terraform.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-test-open.svg b/src/renderer/assets/svg/icons/folder-test-open.svg deleted file mode 100644 index 5b3322ed..00000000 --- a/src/renderer/assets/svg/icons/folder-test-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-test.svg b/src/renderer/assets/svg/icons/folder-test.svg deleted file mode 100644 index eee40d12..00000000 --- a/src/renderer/assets/svg/icons/folder-test.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-theme-open.svg b/src/renderer/assets/svg/icons/folder-theme-open.svg deleted file mode 100644 index a149a42f..00000000 --- a/src/renderer/assets/svg/icons/folder-theme-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-theme.svg b/src/renderer/assets/svg/icons/folder-theme.svg deleted file mode 100644 index 3c9cf409..00000000 --- a/src/renderer/assets/svg/icons/folder-theme.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-tools-open.svg b/src/renderer/assets/svg/icons/folder-tools-open.svg deleted file mode 100644 index 9cd001a9..00000000 --- a/src/renderer/assets/svg/icons/folder-tools-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-tools.svg b/src/renderer/assets/svg/icons/folder-tools.svg deleted file mode 100644 index 85113c63..00000000 --- a/src/renderer/assets/svg/icons/folder-tools.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-typescript-open.svg b/src/renderer/assets/svg/icons/folder-typescript-open.svg deleted file mode 100644 index 9467b646..00000000 --- a/src/renderer/assets/svg/icons/folder-typescript-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-typescript.svg b/src/renderer/assets/svg/icons/folder-typescript.svg deleted file mode 100644 index 754a1c78..00000000 --- a/src/renderer/assets/svg/icons/folder-typescript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-unity-open.svg b/src/renderer/assets/svg/icons/folder-unity-open.svg deleted file mode 100644 index ee9f951a..00000000 --- a/src/renderer/assets/svg/icons/folder-unity-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-unity.svg b/src/renderer/assets/svg/icons/folder-unity.svg deleted file mode 100644 index 6c7331f4..00000000 --- a/src/renderer/assets/svg/icons/folder-unity.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-update-open.svg b/src/renderer/assets/svg/icons/folder-update-open.svg deleted file mode 100644 index 0304bd87..00000000 --- a/src/renderer/assets/svg/icons/folder-update-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-update.svg b/src/renderer/assets/svg/icons/folder-update.svg deleted file mode 100644 index 1ce97880..00000000 --- a/src/renderer/assets/svg/icons/folder-update.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-upload-open.svg b/src/renderer/assets/svg/icons/folder-upload-open.svg deleted file mode 100644 index 13971119..00000000 --- a/src/renderer/assets/svg/icons/folder-upload-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-upload.svg b/src/renderer/assets/svg/icons/folder-upload.svg deleted file mode 100644 index 4fb74991..00000000 --- a/src/renderer/assets/svg/icons/folder-upload.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-utils-open.svg b/src/renderer/assets/svg/icons/folder-utils-open.svg deleted file mode 100644 index 9c5fa649..00000000 --- a/src/renderer/assets/svg/icons/folder-utils-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-utils.svg b/src/renderer/assets/svg/icons/folder-utils.svg deleted file mode 100644 index 734fd010..00000000 --- a/src/renderer/assets/svg/icons/folder-utils.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vercel-open.svg b/src/renderer/assets/svg/icons/folder-vercel-open.svg deleted file mode 100644 index d4d99572..00000000 --- a/src/renderer/assets/svg/icons/folder-vercel-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vercel.svg b/src/renderer/assets/svg/icons/folder-vercel.svg deleted file mode 100644 index 9f35e3ea..00000000 --- a/src/renderer/assets/svg/icons/folder-vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-verdaccio-open.svg b/src/renderer/assets/svg/icons/folder-verdaccio-open.svg deleted file mode 100644 index c6f21f54..00000000 --- a/src/renderer/assets/svg/icons/folder-verdaccio-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-verdaccio.svg b/src/renderer/assets/svg/icons/folder-verdaccio.svg deleted file mode 100644 index 190e0e25..00000000 --- a/src/renderer/assets/svg/icons/folder-verdaccio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-video-open.svg b/src/renderer/assets/svg/icons/folder-video-open.svg deleted file mode 100644 index 7ae4ea17..00000000 --- a/src/renderer/assets/svg/icons/folder-video-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-video.svg b/src/renderer/assets/svg/icons/folder-video.svg deleted file mode 100644 index 96f7421d..00000000 --- a/src/renderer/assets/svg/icons/folder-video.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-views-open.svg b/src/renderer/assets/svg/icons/folder-views-open.svg deleted file mode 100644 index 6f78dd94..00000000 --- a/src/renderer/assets/svg/icons/folder-views-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-views.svg b/src/renderer/assets/svg/icons/folder-views.svg deleted file mode 100644 index 4968104a..00000000 --- a/src/renderer/assets/svg/icons/folder-views.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vm-open.svg b/src/renderer/assets/svg/icons/folder-vm-open.svg deleted file mode 100644 index 6a9e2432..00000000 --- a/src/renderer/assets/svg/icons/folder-vm-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vm.svg b/src/renderer/assets/svg/icons/folder-vm.svg deleted file mode 100644 index a7a2c07f..00000000 --- a/src/renderer/assets/svg/icons/folder-vm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vscode-open.svg b/src/renderer/assets/svg/icons/folder-vscode-open.svg deleted file mode 100644 index ccc72a4d..00000000 --- a/src/renderer/assets/svg/icons/folder-vscode-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vscode.svg b/src/renderer/assets/svg/icons/folder-vscode.svg deleted file mode 100644 index 5b5de266..00000000 --- a/src/renderer/assets/svg/icons/folder-vscode.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vue-directives-open.svg b/src/renderer/assets/svg/icons/folder-vue-directives-open.svg deleted file mode 100644 index 84e4b81c..00000000 --- a/src/renderer/assets/svg/icons/folder-vue-directives-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vue-directives.svg b/src/renderer/assets/svg/icons/folder-vue-directives.svg deleted file mode 100644 index 8fdd1fa2..00000000 --- a/src/renderer/assets/svg/icons/folder-vue-directives.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vue-open.svg b/src/renderer/assets/svg/icons/folder-vue-open.svg deleted file mode 100644 index de80ab24..00000000 --- a/src/renderer/assets/svg/icons/folder-vue-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vue.svg b/src/renderer/assets/svg/icons/folder-vue.svg deleted file mode 100644 index 12bf18a9..00000000 --- a/src/renderer/assets/svg/icons/folder-vue.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vuepress-open.svg b/src/renderer/assets/svg/icons/folder-vuepress-open.svg deleted file mode 100644 index c4f7af01..00000000 --- a/src/renderer/assets/svg/icons/folder-vuepress-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vuepress.svg b/src/renderer/assets/svg/icons/folder-vuepress.svg deleted file mode 100644 index cf10884f..00000000 --- a/src/renderer/assets/svg/icons/folder-vuepress.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vuex-store-open.svg b/src/renderer/assets/svg/icons/folder-vuex-store-open.svg deleted file mode 100644 index 8a7b3a00..00000000 --- a/src/renderer/assets/svg/icons/folder-vuex-store-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-vuex-store.svg b/src/renderer/assets/svg/icons/folder-vuex-store.svg deleted file mode 100644 index 3496beb3..00000000 --- a/src/renderer/assets/svg/icons/folder-vuex-store.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-wakatime-open.svg b/src/renderer/assets/svg/icons/folder-wakatime-open.svg deleted file mode 100644 index b850d130..00000000 --- a/src/renderer/assets/svg/icons/folder-wakatime-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-wakatime.svg b/src/renderer/assets/svg/icons/folder-wakatime.svg deleted file mode 100644 index 790b2749..00000000 --- a/src/renderer/assets/svg/icons/folder-wakatime.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-webpack-open.svg b/src/renderer/assets/svg/icons/folder-webpack-open.svg deleted file mode 100644 index df53a44d..00000000 --- a/src/renderer/assets/svg/icons/folder-webpack-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-webpack.svg b/src/renderer/assets/svg/icons/folder-webpack.svg deleted file mode 100644 index ea9dfa67..00000000 --- a/src/renderer/assets/svg/icons/folder-webpack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-wordpress-open.svg b/src/renderer/assets/svg/icons/folder-wordpress-open.svg deleted file mode 100644 index a0043a24..00000000 --- a/src/renderer/assets/svg/icons/folder-wordpress-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-wordpress.svg b/src/renderer/assets/svg/icons/folder-wordpress.svg deleted file mode 100644 index 46b4bac0..00000000 --- a/src/renderer/assets/svg/icons/folder-wordpress.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-yarn-open.svg b/src/renderer/assets/svg/icons/folder-yarn-open.svg deleted file mode 100644 index 8f00dfbb..00000000 --- a/src/renderer/assets/svg/icons/folder-yarn-open.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/folder-yarn.svg b/src/renderer/assets/svg/icons/folder-yarn.svg deleted file mode 100644 index e15cc77e..00000000 --- a/src/renderer/assets/svg/icons/folder-yarn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/font.svg b/src/renderer/assets/svg/icons/font.svg deleted file mode 100644 index d134cfc0..00000000 --- a/src/renderer/assets/svg/icons/font.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/forth.svg b/src/renderer/assets/svg/icons/forth.svg deleted file mode 100644 index 0dc8d05b..00000000 --- a/src/renderer/assets/svg/icons/forth.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/fortran.svg b/src/renderer/assets/svg/icons/fortran.svg deleted file mode 100644 index 8ff9b740..00000000 --- a/src/renderer/assets/svg/icons/fortran.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/foxpro.svg b/src/renderer/assets/svg/icons/foxpro.svg deleted file mode 100644 index b14c5ea5..00000000 --- a/src/renderer/assets/svg/icons/foxpro.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/fsharp.svg b/src/renderer/assets/svg/icons/fsharp.svg deleted file mode 100644 index 53cf6ab1..00000000 --- a/src/renderer/assets/svg/icons/fsharp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/fusebox.svg b/src/renderer/assets/svg/icons/fusebox.svg deleted file mode 100644 index 1ea89f4d..00000000 --- a/src/renderer/assets/svg/icons/fusebox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/gamemaker.svg b/src/renderer/assets/svg/icons/gamemaker.svg deleted file mode 100644 index df95e467..00000000 --- a/src/renderer/assets/svg/icons/gamemaker.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/gatsby.svg b/src/renderer/assets/svg/icons/gatsby.svg deleted file mode 100644 index d35f61cf..00000000 --- a/src/renderer/assets/svg/icons/gatsby.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/gcp.svg b/src/renderer/assets/svg/icons/gcp.svg deleted file mode 100644 index 52f11d88..00000000 --- a/src/renderer/assets/svg/icons/gcp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/gemfile.svg b/src/renderer/assets/svg/icons/gemfile.svg deleted file mode 100644 index 85e1ec97..00000000 --- a/src/renderer/assets/svg/icons/gemfile.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/gemini.svg b/src/renderer/assets/svg/icons/gemini.svg deleted file mode 100644 index 546f5ee2..00000000 --- a/src/renderer/assets/svg/icons/gemini.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/git.svg b/src/renderer/assets/svg/icons/git.svg deleted file mode 100644 index 5bfed227..00000000 --- a/src/renderer/assets/svg/icons/git.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/gitlab.svg b/src/renderer/assets/svg/icons/gitlab.svg deleted file mode 100644 index ab0e886c..00000000 --- a/src/renderer/assets/svg/icons/gitlab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/gitpod.svg b/src/renderer/assets/svg/icons/gitpod.svg deleted file mode 100644 index 83514157..00000000 --- a/src/renderer/assets/svg/icons/gitpod.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/gleam.svg b/src/renderer/assets/svg/icons/gleam.svg deleted file mode 100644 index 9a0f53ce..00000000 --- a/src/renderer/assets/svg/icons/gleam.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/go-mod.svg b/src/renderer/assets/svg/icons/go-mod.svg deleted file mode 100644 index fdf1ccba..00000000 --- a/src/renderer/assets/svg/icons/go-mod.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/go.svg b/src/renderer/assets/svg/icons/go.svg deleted file mode 100644 index c795e576..00000000 --- a/src/renderer/assets/svg/icons/go.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/go_gopher.svg b/src/renderer/assets/svg/icons/go_gopher.svg deleted file mode 100644 index 42be334e..00000000 --- a/src/renderer/assets/svg/icons/go_gopher.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/godot-assets.svg b/src/renderer/assets/svg/icons/godot-assets.svg deleted file mode 100644 index 1484d3cc..00000000 --- a/src/renderer/assets/svg/icons/godot-assets.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/renderer/assets/svg/icons/godot.svg b/src/renderer/assets/svg/icons/godot.svg deleted file mode 100644 index 0f751a2b..00000000 --- a/src/renderer/assets/svg/icons/godot.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/renderer/assets/svg/icons/gradle.svg b/src/renderer/assets/svg/icons/gradle.svg deleted file mode 100644 index 8c210fd6..00000000 --- a/src/renderer/assets/svg/icons/gradle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/grain.svg b/src/renderer/assets/svg/icons/grain.svg deleted file mode 100644 index f4eefe04..00000000 --- a/src/renderer/assets/svg/icons/grain.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/graphcool.svg b/src/renderer/assets/svg/icons/graphcool.svg deleted file mode 100644 index f5c1cebc..00000000 --- a/src/renderer/assets/svg/icons/graphcool.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/graphql.svg b/src/renderer/assets/svg/icons/graphql.svg deleted file mode 100644 index 798111ca..00000000 --- a/src/renderer/assets/svg/icons/graphql.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/gridsome.svg b/src/renderer/assets/svg/icons/gridsome.svg deleted file mode 100644 index 2eb3eb28..00000000 --- a/src/renderer/assets/svg/icons/gridsome.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/groovy.svg b/src/renderer/assets/svg/icons/groovy.svg deleted file mode 100644 index 98b63d04..00000000 --- a/src/renderer/assets/svg/icons/groovy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/grunt.svg b/src/renderer/assets/svg/icons/grunt.svg deleted file mode 100644 index 979e105b..00000000 --- a/src/renderer/assets/svg/icons/grunt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/gulp.svg b/src/renderer/assets/svg/icons/gulp.svg deleted file mode 100644 index 8233c7c2..00000000 --- a/src/renderer/assets/svg/icons/gulp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/h.svg b/src/renderer/assets/svg/icons/h.svg deleted file mode 100644 index f63d37b4..00000000 --- a/src/renderer/assets/svg/icons/h.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/hack.svg b/src/renderer/assets/svg/icons/hack.svg deleted file mode 100644 index ffefc6fb..00000000 --- a/src/renderer/assets/svg/icons/hack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/haml.svg b/src/renderer/assets/svg/icons/haml.svg deleted file mode 100644 index 4589745e..00000000 --- a/src/renderer/assets/svg/icons/haml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/handlebars.svg b/src/renderer/assets/svg/icons/handlebars.svg deleted file mode 100644 index 87fbb103..00000000 --- a/src/renderer/assets/svg/icons/handlebars.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/hardhat.svg b/src/renderer/assets/svg/icons/hardhat.svg deleted file mode 100644 index 17c707a1..00000000 --- a/src/renderer/assets/svg/icons/hardhat.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/haskell.svg b/src/renderer/assets/svg/icons/haskell.svg deleted file mode 100644 index 8e65f64b..00000000 --- a/src/renderer/assets/svg/icons/haskell.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/haxe.svg b/src/renderer/assets/svg/icons/haxe.svg deleted file mode 100644 index 18610bef..00000000 --- a/src/renderer/assets/svg/icons/haxe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/hcl.svg b/src/renderer/assets/svg/icons/hcl.svg deleted file mode 100644 index a3e2c24e..00000000 --- a/src/renderer/assets/svg/icons/hcl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/hcl_light.svg b/src/renderer/assets/svg/icons/hcl_light.svg deleted file mode 100644 index 3392a072..00000000 --- a/src/renderer/assets/svg/icons/hcl_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/helm.svg b/src/renderer/assets/svg/icons/helm.svg deleted file mode 100644 index 514a4b7c..00000000 --- a/src/renderer/assets/svg/icons/helm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/heroku.svg b/src/renderer/assets/svg/icons/heroku.svg deleted file mode 100644 index 17f04c92..00000000 --- a/src/renderer/assets/svg/icons/heroku.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/hex.svg b/src/renderer/assets/svg/icons/hex.svg deleted file mode 100644 index af13d6e7..00000000 --- a/src/renderer/assets/svg/icons/hex.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/horusec.svg b/src/renderer/assets/svg/icons/horusec.svg deleted file mode 100644 index 33e59c6d..00000000 --- a/src/renderer/assets/svg/icons/horusec.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/hpp.svg b/src/renderer/assets/svg/icons/hpp.svg deleted file mode 100644 index b627d5ef..00000000 --- a/src/renderer/assets/svg/icons/hpp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/html.svg b/src/renderer/assets/svg/icons/html.svg deleted file mode 100644 index f6751b03..00000000 --- a/src/renderer/assets/svg/icons/html.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/http.svg b/src/renderer/assets/svg/icons/http.svg deleted file mode 100644 index 320acf54..00000000 --- a/src/renderer/assets/svg/icons/http.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/husky.svg b/src/renderer/assets/svg/icons/husky.svg deleted file mode 100644 index 90e715bf..00000000 --- a/src/renderer/assets/svg/icons/husky.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/i18n.svg b/src/renderer/assets/svg/icons/i18n.svg deleted file mode 100644 index f78ae76d..00000000 --- a/src/renderer/assets/svg/icons/i18n.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/idris.svg b/src/renderer/assets/svg/icons/idris.svg deleted file mode 100644 index 5d4603b8..00000000 --- a/src/renderer/assets/svg/icons/idris.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ifanr-cloud.svg b/src/renderer/assets/svg/icons/ifanr-cloud.svg deleted file mode 100644 index 43e09173..00000000 --- a/src/renderer/assets/svg/icons/ifanr-cloud.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/image.svg b/src/renderer/assets/svg/icons/image.svg deleted file mode 100644 index 261e62cf..00000000 --- a/src/renderer/assets/svg/icons/image.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/imba.svg b/src/renderer/assets/svg/icons/imba.svg deleted file mode 100644 index c69cb225..00000000 --- a/src/renderer/assets/svg/icons/imba.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ionic.svg b/src/renderer/assets/svg/icons/ionic.svg deleted file mode 100644 index 15b5c589..00000000 --- a/src/renderer/assets/svg/icons/ionic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/istanbul.svg b/src/renderer/assets/svg/icons/istanbul.svg deleted file mode 100644 index 6c904df8..00000000 --- a/src/renderer/assets/svg/icons/istanbul.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/jar.svg b/src/renderer/assets/svg/icons/jar.svg deleted file mode 100644 index d5b0b564..00000000 --- a/src/renderer/assets/svg/icons/jar.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/java.svg b/src/renderer/assets/svg/icons/java.svg deleted file mode 100644 index 28143c7b..00000000 --- a/src/renderer/assets/svg/icons/java.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/javaclass.svg b/src/renderer/assets/svg/icons/javaclass.svg deleted file mode 100644 index bcc9c067..00000000 --- a/src/renderer/assets/svg/icons/javaclass.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/javascript-map.svg b/src/renderer/assets/svg/icons/javascript-map.svg deleted file mode 100644 index 858fef20..00000000 --- a/src/renderer/assets/svg/icons/javascript-map.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/javascript.svg b/src/renderer/assets/svg/icons/javascript.svg deleted file mode 100644 index 11ab75e8..00000000 --- a/src/renderer/assets/svg/icons/javascript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/jenkins.svg b/src/renderer/assets/svg/icons/jenkins.svg deleted file mode 100644 index e8e17f86..00000000 --- a/src/renderer/assets/svg/icons/jenkins.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/jest.svg b/src/renderer/assets/svg/icons/jest.svg deleted file mode 100644 index d34c03b7..00000000 --- a/src/renderer/assets/svg/icons/jest.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/jinja.svg b/src/renderer/assets/svg/icons/jinja.svg deleted file mode 100644 index cccc649e..00000000 --- a/src/renderer/assets/svg/icons/jinja.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/jinja_light.svg b/src/renderer/assets/svg/icons/jinja_light.svg deleted file mode 100644 index 67779508..00000000 --- a/src/renderer/assets/svg/icons/jinja_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/jsconfig.svg b/src/renderer/assets/svg/icons/jsconfig.svg deleted file mode 100644 index c0c3ac5c..00000000 --- a/src/renderer/assets/svg/icons/jsconfig.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/json.svg b/src/renderer/assets/svg/icons/json.svg deleted file mode 100644 index fcbe211b..00000000 --- a/src/renderer/assets/svg/icons/json.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/julia.svg b/src/renderer/assets/svg/icons/julia.svg deleted file mode 100644 index a00d1dbe..00000000 --- a/src/renderer/assets/svg/icons/julia.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/jupyter.svg b/src/renderer/assets/svg/icons/jupyter.svg deleted file mode 100644 index d2d34d25..00000000 --- a/src/renderer/assets/svg/icons/jupyter.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/karma.svg b/src/renderer/assets/svg/icons/karma.svg deleted file mode 100644 index 5362eadb..00000000 --- a/src/renderer/assets/svg/icons/karma.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/key.svg b/src/renderer/assets/svg/icons/key.svg deleted file mode 100644 index 83cf313d..00000000 --- a/src/renderer/assets/svg/icons/key.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/kivy.svg b/src/renderer/assets/svg/icons/kivy.svg deleted file mode 100644 index cff19897..00000000 --- a/src/renderer/assets/svg/icons/kivy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/kl.svg b/src/renderer/assets/svg/icons/kl.svg deleted file mode 100644 index f6f5964c..00000000 --- a/src/renderer/assets/svg/icons/kl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/kotlin.svg b/src/renderer/assets/svg/icons/kotlin.svg deleted file mode 100644 index c2b5a7fc..00000000 --- a/src/renderer/assets/svg/icons/kotlin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/kusto.svg b/src/renderer/assets/svg/icons/kusto.svg deleted file mode 100644 index 8dc9bd10..00000000 --- a/src/renderer/assets/svg/icons/kusto.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/laravel.svg b/src/renderer/assets/svg/icons/laravel.svg deleted file mode 100644 index 68e25558..00000000 --- a/src/renderer/assets/svg/icons/laravel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/lerna.svg b/src/renderer/assets/svg/icons/lerna.svg deleted file mode 100644 index 168f9c2e..00000000 --- a/src/renderer/assets/svg/icons/lerna.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/less.svg b/src/renderer/assets/svg/icons/less.svg deleted file mode 100644 index 363fa12d..00000000 --- a/src/renderer/assets/svg/icons/less.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/lib.svg b/src/renderer/assets/svg/icons/lib.svg deleted file mode 100644 index 943027d0..00000000 --- a/src/renderer/assets/svg/icons/lib.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/lighthouse.svg b/src/renderer/assets/svg/icons/lighthouse.svg deleted file mode 100644 index 88ee2bb9..00000000 --- a/src/renderer/assets/svg/icons/lighthouse.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/lilypond.svg b/src/renderer/assets/svg/icons/lilypond.svg deleted file mode 100644 index e6acaf5c..00000000 --- a/src/renderer/assets/svg/icons/lilypond.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/liquid.svg b/src/renderer/assets/svg/icons/liquid.svg deleted file mode 100644 index 210ed0c1..00000000 --- a/src/renderer/assets/svg/icons/liquid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/lisp.svg b/src/renderer/assets/svg/icons/lisp.svg deleted file mode 100644 index 2b5d17d7..00000000 --- a/src/renderer/assets/svg/icons/lisp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/livescript.svg b/src/renderer/assets/svg/icons/livescript.svg deleted file mode 100644 index 025cbe82..00000000 --- a/src/renderer/assets/svg/icons/livescript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/lock.svg b/src/renderer/assets/svg/icons/lock.svg deleted file mode 100644 index 3e343ce8..00000000 --- a/src/renderer/assets/svg/icons/lock.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/log.svg b/src/renderer/assets/svg/icons/log.svg deleted file mode 100644 index a795fd62..00000000 --- a/src/renderer/assets/svg/icons/log.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/lolcode.svg b/src/renderer/assets/svg/icons/lolcode.svg deleted file mode 100644 index e4407920..00000000 --- a/src/renderer/assets/svg/icons/lolcode.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/lua.svg b/src/renderer/assets/svg/icons/lua.svg deleted file mode 100644 index 9f71f8c3..00000000 --- a/src/renderer/assets/svg/icons/lua.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/makefile.svg b/src/renderer/assets/svg/icons/makefile.svg deleted file mode 100644 index 694ad2e2..00000000 --- a/src/renderer/assets/svg/icons/makefile.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/markdown.svg b/src/renderer/assets/svg/icons/markdown.svg deleted file mode 100644 index edb3c44b..00000000 --- a/src/renderer/assets/svg/icons/markdown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/markojs.svg b/src/renderer/assets/svg/icons/markojs.svg deleted file mode 100644 index 31f4994e..00000000 --- a/src/renderer/assets/svg/icons/markojs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/mathematica.svg b/src/renderer/assets/svg/icons/mathematica.svg deleted file mode 100644 index 8a743eef..00000000 --- a/src/renderer/assets/svg/icons/mathematica.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/matlab.svg b/src/renderer/assets/svg/icons/matlab.svg deleted file mode 100644 index 423006e0..00000000 --- a/src/renderer/assets/svg/icons/matlab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/maven.svg b/src/renderer/assets/svg/icons/maven.svg deleted file mode 100644 index 2ada82c8..00000000 --- a/src/renderer/assets/svg/icons/maven.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/mdsvex.svg b/src/renderer/assets/svg/icons/mdsvex.svg deleted file mode 100644 index 63117bde..00000000 --- a/src/renderer/assets/svg/icons/mdsvex.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/mdx.svg b/src/renderer/assets/svg/icons/mdx.svg deleted file mode 100644 index 07fbb43e..00000000 --- a/src/renderer/assets/svg/icons/mdx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/mercurial.svg b/src/renderer/assets/svg/icons/mercurial.svg deleted file mode 100644 index 40bb5088..00000000 --- a/src/renderer/assets/svg/icons/mercurial.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/renderer/assets/svg/icons/merlin.svg b/src/renderer/assets/svg/icons/merlin.svg deleted file mode 100644 index 3d4e4bba..00000000 --- a/src/renderer/assets/svg/icons/merlin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/mermaid.svg b/src/renderer/assets/svg/icons/mermaid.svg deleted file mode 100644 index 30de675b..00000000 --- a/src/renderer/assets/svg/icons/mermaid.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/meson.svg b/src/renderer/assets/svg/icons/meson.svg deleted file mode 100644 index 0e636034..00000000 --- a/src/renderer/assets/svg/icons/meson.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/minecraft.svg b/src/renderer/assets/svg/icons/minecraft.svg deleted file mode 100644 index 05292c79..00000000 --- a/src/renderer/assets/svg/icons/minecraft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/mint.svg b/src/renderer/assets/svg/icons/mint.svg deleted file mode 100644 index 797d4e95..00000000 --- a/src/renderer/assets/svg/icons/mint.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/mjml.svg b/src/renderer/assets/svg/icons/mjml.svg deleted file mode 100644 index f633eee3..00000000 --- a/src/renderer/assets/svg/icons/mjml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/mocha.svg b/src/renderer/assets/svg/icons/mocha.svg deleted file mode 100644 index 80d637a2..00000000 --- a/src/renderer/assets/svg/icons/mocha.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/modernizr.svg b/src/renderer/assets/svg/icons/modernizr.svg deleted file mode 100644 index 4262f6bf..00000000 --- a/src/renderer/assets/svg/icons/modernizr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/mojo.svg b/src/renderer/assets/svg/icons/mojo.svg deleted file mode 100644 index 3d33d209..00000000 --- a/src/renderer/assets/svg/icons/mojo.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/moodle.svg b/src/renderer/assets/svg/icons/moodle.svg deleted file mode 100755 index 91bc409c..00000000 --- a/src/renderer/assets/svg/icons/moodle.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/renderer/assets/svg/icons/moonscript.svg b/src/renderer/assets/svg/icons/moonscript.svg deleted file mode 100644 index ab690745..00000000 --- a/src/renderer/assets/svg/icons/moonscript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/mxml.svg b/src/renderer/assets/svg/icons/mxml.svg deleted file mode 100644 index ad5801e9..00000000 --- a/src/renderer/assets/svg/icons/mxml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nano-staged.svg b/src/renderer/assets/svg/icons/nano-staged.svg deleted file mode 100644 index e3230d8a..00000000 --- a/src/renderer/assets/svg/icons/nano-staged.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nano-staged_light.svg b/src/renderer/assets/svg/icons/nano-staged_light.svg deleted file mode 100644 index c789113c..00000000 --- a/src/renderer/assets/svg/icons/nano-staged_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ndst.svg b/src/renderer/assets/svg/icons/ndst.svg deleted file mode 100644 index b298a29d..00000000 --- a/src/renderer/assets/svg/icons/ndst.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest-controller.svg b/src/renderer/assets/svg/icons/nest-controller.svg deleted file mode 100644 index ad8f5658..00000000 --- a/src/renderer/assets/svg/icons/nest-controller.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest-decorator.svg b/src/renderer/assets/svg/icons/nest-decorator.svg deleted file mode 100644 index 549e9e1f..00000000 --- a/src/renderer/assets/svg/icons/nest-decorator.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest-filter.svg b/src/renderer/assets/svg/icons/nest-filter.svg deleted file mode 100644 index 79405324..00000000 --- a/src/renderer/assets/svg/icons/nest-filter.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest-gateway.svg b/src/renderer/assets/svg/icons/nest-gateway.svg deleted file mode 100644 index 50ef503d..00000000 --- a/src/renderer/assets/svg/icons/nest-gateway.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest-guard.svg b/src/renderer/assets/svg/icons/nest-guard.svg deleted file mode 100644 index 9e956f60..00000000 --- a/src/renderer/assets/svg/icons/nest-guard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest-middleware.svg b/src/renderer/assets/svg/icons/nest-middleware.svg deleted file mode 100644 index 9a04c9e1..00000000 --- a/src/renderer/assets/svg/icons/nest-middleware.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest-module.svg b/src/renderer/assets/svg/icons/nest-module.svg deleted file mode 100644 index 346b7b2b..00000000 --- a/src/renderer/assets/svg/icons/nest-module.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest-pipe.svg b/src/renderer/assets/svg/icons/nest-pipe.svg deleted file mode 100644 index 3af3a999..00000000 --- a/src/renderer/assets/svg/icons/nest-pipe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest-resolver.svg b/src/renderer/assets/svg/icons/nest-resolver.svg deleted file mode 100644 index 8202bed0..00000000 --- a/src/renderer/assets/svg/icons/nest-resolver.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest-service.svg b/src/renderer/assets/svg/icons/nest-service.svg deleted file mode 100644 index 9fc83033..00000000 --- a/src/renderer/assets/svg/icons/nest-service.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nest.svg b/src/renderer/assets/svg/icons/nest.svg deleted file mode 100644 index cd01b122..00000000 --- a/src/renderer/assets/svg/icons/nest.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/netlify.svg b/src/renderer/assets/svg/icons/netlify.svg deleted file mode 100644 index b36d94fd..00000000 --- a/src/renderer/assets/svg/icons/netlify.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/renderer/assets/svg/icons/netlify_light.svg b/src/renderer/assets/svg/icons/netlify_light.svg deleted file mode 100644 index ece979e7..00000000 --- a/src/renderer/assets/svg/icons/netlify_light.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/renderer/assets/svg/icons/next.svg b/src/renderer/assets/svg/icons/next.svg deleted file mode 100644 index 8d705791..00000000 --- a/src/renderer/assets/svg/icons/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/next_light.svg b/src/renderer/assets/svg/icons/next_light.svg deleted file mode 100644 index 94ee886b..00000000 --- a/src/renderer/assets/svg/icons/next_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nginx.svg b/src/renderer/assets/svg/icons/nginx.svg deleted file mode 100644 index 0fe1e3fa..00000000 --- a/src/renderer/assets/svg/icons/nginx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ngrx-actions.svg b/src/renderer/assets/svg/icons/ngrx-actions.svg deleted file mode 100644 index 91a5ffc2..00000000 --- a/src/renderer/assets/svg/icons/ngrx-actions.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ngrx-effects.svg b/src/renderer/assets/svg/icons/ngrx-effects.svg deleted file mode 100644 index 06720496..00000000 --- a/src/renderer/assets/svg/icons/ngrx-effects.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ngrx-entity.svg b/src/renderer/assets/svg/icons/ngrx-entity.svg deleted file mode 100644 index e60945f5..00000000 --- a/src/renderer/assets/svg/icons/ngrx-entity.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ngrx-reducer.svg b/src/renderer/assets/svg/icons/ngrx-reducer.svg deleted file mode 100644 index 6fe3851e..00000000 --- a/src/renderer/assets/svg/icons/ngrx-reducer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ngrx-selectors.svg b/src/renderer/assets/svg/icons/ngrx-selectors.svg deleted file mode 100644 index 8dbbf90c..00000000 --- a/src/renderer/assets/svg/icons/ngrx-selectors.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ngrx-state.svg b/src/renderer/assets/svg/icons/ngrx-state.svg deleted file mode 100644 index b88ae013..00000000 --- a/src/renderer/assets/svg/icons/ngrx-state.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nim.svg b/src/renderer/assets/svg/icons/nim.svg deleted file mode 100644 index aabcec1c..00000000 --- a/src/renderer/assets/svg/icons/nim.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nix.svg b/src/renderer/assets/svg/icons/nix.svg deleted file mode 100644 index 94b11ac5..00000000 --- a/src/renderer/assets/svg/icons/nix.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nodejs.svg b/src/renderer/assets/svg/icons/nodejs.svg deleted file mode 100644 index 007273a5..00000000 --- a/src/renderer/assets/svg/icons/nodejs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nodejs_alt.svg b/src/renderer/assets/svg/icons/nodejs_alt.svg deleted file mode 100644 index 4bc6ba7b..00000000 --- a/src/renderer/assets/svg/icons/nodejs_alt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nodemon.svg b/src/renderer/assets/svg/icons/nodemon.svg deleted file mode 100644 index 31d5ac98..00000000 --- a/src/renderer/assets/svg/icons/nodemon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/npm.svg b/src/renderer/assets/svg/icons/npm.svg deleted file mode 100644 index 304221b3..00000000 --- a/src/renderer/assets/svg/icons/npm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nrwl.svg b/src/renderer/assets/svg/icons/nrwl.svg deleted file mode 100644 index 7ff54f04..00000000 --- a/src/renderer/assets/svg/icons/nrwl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nuget.svg b/src/renderer/assets/svg/icons/nuget.svg deleted file mode 100644 index 03b7160a..00000000 --- a/src/renderer/assets/svg/icons/nuget.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nunjucks.svg b/src/renderer/assets/svg/icons/nunjucks.svg deleted file mode 100644 index ac4e1769..00000000 --- a/src/renderer/assets/svg/icons/nunjucks.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/nuxt.svg b/src/renderer/assets/svg/icons/nuxt.svg deleted file mode 100644 index a4973de0..00000000 --- a/src/renderer/assets/svg/icons/nuxt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/objective-c.svg b/src/renderer/assets/svg/icons/objective-c.svg deleted file mode 100644 index 97147a99..00000000 --- a/src/renderer/assets/svg/icons/objective-c.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/objective-cpp.svg b/src/renderer/assets/svg/icons/objective-cpp.svg deleted file mode 100644 index c100dec0..00000000 --- a/src/renderer/assets/svg/icons/objective-cpp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ocaml.svg b/src/renderer/assets/svg/icons/ocaml.svg deleted file mode 100644 index 5a6704f0..00000000 --- a/src/renderer/assets/svg/icons/ocaml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/odin.svg b/src/renderer/assets/svg/icons/odin.svg deleted file mode 100644 index 39447713..00000000 --- a/src/renderer/assets/svg/icons/odin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/opa.svg b/src/renderer/assets/svg/icons/opa.svg deleted file mode 100644 index a17a51b4..00000000 --- a/src/renderer/assets/svg/icons/opa.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/opam.svg b/src/renderer/assets/svg/icons/opam.svg deleted file mode 100644 index 8c7f680b..00000000 --- a/src/renderer/assets/svg/icons/opam.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/oracle.svg b/src/renderer/assets/svg/icons/oracle.svg deleted file mode 100755 index ce8f5299..00000000 --- a/src/renderer/assets/svg/icons/oracle.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/renderer/assets/svg/icons/otne.svg b/src/renderer/assets/svg/icons/otne.svg deleted file mode 100644 index 1d2413d4..00000000 --- a/src/renderer/assets/svg/icons/otne.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/parcel.svg b/src/renderer/assets/svg/icons/parcel.svg deleted file mode 100644 index e2c85b6a..00000000 --- a/src/renderer/assets/svg/icons/parcel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/pascal.svg b/src/renderer/assets/svg/icons/pascal.svg deleted file mode 100644 index 55259381..00000000 --- a/src/renderer/assets/svg/icons/pascal.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/renderer/assets/svg/icons/pawn.svg b/src/renderer/assets/svg/icons/pawn.svg deleted file mode 100644 index ff35f85b..00000000 --- a/src/renderer/assets/svg/icons/pawn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/pdf.svg b/src/renderer/assets/svg/icons/pdf.svg deleted file mode 100644 index e3aa7fce..00000000 --- a/src/renderer/assets/svg/icons/pdf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/percy.svg b/src/renderer/assets/svg/icons/percy.svg deleted file mode 100644 index 0ff0c1dc..00000000 --- a/src/renderer/assets/svg/icons/percy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/perl.svg b/src/renderer/assets/svg/icons/perl.svg deleted file mode 100644 index 434361d5..00000000 --- a/src/renderer/assets/svg/icons/perl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/php-cs-fixer.svg b/src/renderer/assets/svg/icons/php-cs-fixer.svg deleted file mode 100644 index 01168901..00000000 --- a/src/renderer/assets/svg/icons/php-cs-fixer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/php.svg b/src/renderer/assets/svg/icons/php.svg deleted file mode 100644 index 6a986f0e..00000000 --- a/src/renderer/assets/svg/icons/php.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/php_elephant.svg b/src/renderer/assets/svg/icons/php_elephant.svg deleted file mode 100644 index 6eff008d..00000000 --- a/src/renderer/assets/svg/icons/php_elephant.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/php_elephant_pink.svg b/src/renderer/assets/svg/icons/php_elephant_pink.svg deleted file mode 100644 index 0427bf89..00000000 --- a/src/renderer/assets/svg/icons/php_elephant_pink.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/phpunit.svg b/src/renderer/assets/svg/icons/phpunit.svg deleted file mode 100644 index 36aed717..00000000 --- a/src/renderer/assets/svg/icons/phpunit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/pinejs.svg b/src/renderer/assets/svg/icons/pinejs.svg deleted file mode 100644 index 80c00576..00000000 --- a/src/renderer/assets/svg/icons/pinejs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/pipeline.svg b/src/renderer/assets/svg/icons/pipeline.svg deleted file mode 100644 index 273b93e5..00000000 --- a/src/renderer/assets/svg/icons/pipeline.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/plastic.svg b/src/renderer/assets/svg/icons/plastic.svg deleted file mode 100644 index 85a2c95b..00000000 --- a/src/renderer/assets/svg/icons/plastic.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/renderer/assets/svg/icons/playwright.svg b/src/renderer/assets/svg/icons/playwright.svg deleted file mode 100644 index 4d3a8297..00000000 --- a/src/renderer/assets/svg/icons/playwright.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/plop.svg b/src/renderer/assets/svg/icons/plop.svg deleted file mode 100644 index 31f3cc3e..00000000 --- a/src/renderer/assets/svg/icons/plop.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/pnpm.svg b/src/renderer/assets/svg/icons/pnpm.svg deleted file mode 100644 index ade8e590..00000000 --- a/src/renderer/assets/svg/icons/pnpm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/pnpm_light.svg b/src/renderer/assets/svg/icons/pnpm_light.svg deleted file mode 100644 index 9df72835..00000000 --- a/src/renderer/assets/svg/icons/pnpm_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/poetry.svg b/src/renderer/assets/svg/icons/poetry.svg deleted file mode 100644 index 8f06a34b..00000000 --- a/src/renderer/assets/svg/icons/poetry.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/postcss.svg b/src/renderer/assets/svg/icons/postcss.svg deleted file mode 100644 index 0268bef7..00000000 --- a/src/renderer/assets/svg/icons/postcss.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/posthtml.svg b/src/renderer/assets/svg/icons/posthtml.svg deleted file mode 100644 index b0bce09f..00000000 --- a/src/renderer/assets/svg/icons/posthtml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/powerpoint.svg b/src/renderer/assets/svg/icons/powerpoint.svg deleted file mode 100644 index 89a5e3cd..00000000 --- a/src/renderer/assets/svg/icons/powerpoint.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/powershell.svg b/src/renderer/assets/svg/icons/powershell.svg deleted file mode 100644 index d4ae9c31..00000000 --- a/src/renderer/assets/svg/icons/powershell.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/prettier.svg b/src/renderer/assets/svg/icons/prettier.svg deleted file mode 100644 index f94da71f..00000000 --- a/src/renderer/assets/svg/icons/prettier.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/prisma.svg b/src/renderer/assets/svg/icons/prisma.svg deleted file mode 100644 index 2ba98518..00000000 --- a/src/renderer/assets/svg/icons/prisma.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/processing.svg b/src/renderer/assets/svg/icons/processing.svg deleted file mode 100644 index 8b5af0db..00000000 --- a/src/renderer/assets/svg/icons/processing.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/prolog.svg b/src/renderer/assets/svg/icons/prolog.svg deleted file mode 100644 index 76c8eff5..00000000 --- a/src/renderer/assets/svg/icons/prolog.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/proto.svg b/src/renderer/assets/svg/icons/proto.svg deleted file mode 100644 index 0ad97bf7..00000000 --- a/src/renderer/assets/svg/icons/proto.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/protractor.svg b/src/renderer/assets/svg/icons/protractor.svg deleted file mode 100644 index 32df7de3..00000000 --- a/src/renderer/assets/svg/icons/protractor.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/pug.svg b/src/renderer/assets/svg/icons/pug.svg deleted file mode 100644 index aac3cb21..00000000 --- a/src/renderer/assets/svg/icons/pug.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/puppet.svg b/src/renderer/assets/svg/icons/puppet.svg deleted file mode 100644 index e5592ddf..00000000 --- a/src/renderer/assets/svg/icons/puppet.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/purescript.svg b/src/renderer/assets/svg/icons/purescript.svg deleted file mode 100644 index cc1f5179..00000000 --- a/src/renderer/assets/svg/icons/purescript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/python-misc.svg b/src/renderer/assets/svg/icons/python-misc.svg deleted file mode 100644 index 8e936f2c..00000000 --- a/src/renderer/assets/svg/icons/python-misc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/python.svg b/src/renderer/assets/svg/icons/python.svg deleted file mode 100644 index a76bfd99..00000000 --- a/src/renderer/assets/svg/icons/python.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/qsharp.svg b/src/renderer/assets/svg/icons/qsharp.svg deleted file mode 100644 index bd4bc812..00000000 --- a/src/renderer/assets/svg/icons/qsharp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/quasar.svg b/src/renderer/assets/svg/icons/quasar.svg deleted file mode 100644 index 04653edb..00000000 --- a/src/renderer/assets/svg/icons/quasar.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/qwik.svg b/src/renderer/assets/svg/icons/qwik.svg deleted file mode 100644 index 9c73b495..00000000 --- a/src/renderer/assets/svg/icons/qwik.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/r.svg b/src/renderer/assets/svg/icons/r.svg deleted file mode 100644 index ca49afd9..00000000 --- a/src/renderer/assets/svg/icons/r.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/racket.svg b/src/renderer/assets/svg/icons/racket.svg deleted file mode 100644 index d5890b29..00000000 --- a/src/renderer/assets/svg/icons/racket.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/raml.svg b/src/renderer/assets/svg/icons/raml.svg deleted file mode 100644 index 29491f34..00000000 --- a/src/renderer/assets/svg/icons/raml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/razor.svg b/src/renderer/assets/svg/icons/razor.svg deleted file mode 100644 index b7694498..00000000 --- a/src/renderer/assets/svg/icons/razor.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/rc.svg b/src/renderer/assets/svg/icons/rc.svg deleted file mode 100644 index 28a99916..00000000 --- a/src/renderer/assets/svg/icons/rc.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/react.svg b/src/renderer/assets/svg/icons/react.svg deleted file mode 100644 index d275b6a8..00000000 --- a/src/renderer/assets/svg/icons/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/react_ts.svg b/src/renderer/assets/svg/icons/react_ts.svg deleted file mode 100644 index 8a0018f5..00000000 --- a/src/renderer/assets/svg/icons/react_ts.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/readme.svg b/src/renderer/assets/svg/icons/readme.svg deleted file mode 100644 index b16bff4a..00000000 --- a/src/renderer/assets/svg/icons/readme.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/reason.svg b/src/renderer/assets/svg/icons/reason.svg deleted file mode 100644 index 3b0c0b48..00000000 --- a/src/renderer/assets/svg/icons/reason.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/red.svg b/src/renderer/assets/svg/icons/red.svg deleted file mode 100644 index 0bc9d0e7..00000000 --- a/src/renderer/assets/svg/icons/red.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/redux-action.svg b/src/renderer/assets/svg/icons/redux-action.svg deleted file mode 100644 index 25573a09..00000000 --- a/src/renderer/assets/svg/icons/redux-action.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/redux-reducer.svg b/src/renderer/assets/svg/icons/redux-reducer.svg deleted file mode 100644 index 24f881c8..00000000 --- a/src/renderer/assets/svg/icons/redux-reducer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/redux-selector.svg b/src/renderer/assets/svg/icons/redux-selector.svg deleted file mode 100644 index 4621aa66..00000000 --- a/src/renderer/assets/svg/icons/redux-selector.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/redux-store.svg b/src/renderer/assets/svg/icons/redux-store.svg deleted file mode 100644 index 05b4a947..00000000 --- a/src/renderer/assets/svg/icons/redux-store.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/remix.svg b/src/renderer/assets/svg/icons/remix.svg deleted file mode 100644 index 58cebea4..00000000 --- a/src/renderer/assets/svg/icons/remix.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/remix_light.svg b/src/renderer/assets/svg/icons/remix_light.svg deleted file mode 100644 index d38039a1..00000000 --- a/src/renderer/assets/svg/icons/remix_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/renovate.svg b/src/renderer/assets/svg/icons/renovate.svg deleted file mode 100644 index 1ebdfd61..00000000 --- a/src/renderer/assets/svg/icons/renovate.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/replit.svg b/src/renderer/assets/svg/icons/replit.svg deleted file mode 100644 index 222ff5b4..00000000 --- a/src/renderer/assets/svg/icons/replit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/rescript-interface.svg b/src/renderer/assets/svg/icons/rescript-interface.svg deleted file mode 100644 index c47601e5..00000000 --- a/src/renderer/assets/svg/icons/rescript-interface.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/rescript.svg b/src/renderer/assets/svg/icons/rescript.svg deleted file mode 100644 index 175f58de..00000000 --- a/src/renderer/assets/svg/icons/rescript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/restql.svg b/src/renderer/assets/svg/icons/restql.svg deleted file mode 100644 index 93d9d94c..00000000 --- a/src/renderer/assets/svg/icons/restql.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/riot.svg b/src/renderer/assets/svg/icons/riot.svg deleted file mode 100644 index d3d2d104..00000000 --- a/src/renderer/assets/svg/icons/riot.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/roadmap.svg b/src/renderer/assets/svg/icons/roadmap.svg deleted file mode 100644 index 39c969f8..00000000 --- a/src/renderer/assets/svg/icons/roadmap.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/robot.svg b/src/renderer/assets/svg/icons/robot.svg deleted file mode 100644 index a8bda813..00000000 --- a/src/renderer/assets/svg/icons/robot.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/robots.svg b/src/renderer/assets/svg/icons/robots.svg deleted file mode 100644 index 63eb6ad5..00000000 --- a/src/renderer/assets/svg/icons/robots.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/rollup.svg b/src/renderer/assets/svg/icons/rollup.svg deleted file mode 100644 index f6fcb2eb..00000000 --- a/src/renderer/assets/svg/icons/rollup.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/rome.svg b/src/renderer/assets/svg/icons/rome.svg deleted file mode 100644 index 7c54ddeb..00000000 --- a/src/renderer/assets/svg/icons/rome.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/routing.svg b/src/renderer/assets/svg/icons/routing.svg deleted file mode 100644 index b1503055..00000000 --- a/src/renderer/assets/svg/icons/routing.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/rubocop.svg b/src/renderer/assets/svg/icons/rubocop.svg deleted file mode 100644 index a3cddd1b..00000000 --- a/src/renderer/assets/svg/icons/rubocop.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/rubocop_light.svg b/src/renderer/assets/svg/icons/rubocop_light.svg deleted file mode 100644 index cb36f274..00000000 --- a/src/renderer/assets/svg/icons/rubocop_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/ruby.svg b/src/renderer/assets/svg/icons/ruby.svg deleted file mode 100644 index 89c03182..00000000 --- a/src/renderer/assets/svg/icons/ruby.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/rust.svg b/src/renderer/assets/svg/icons/rust.svg deleted file mode 100644 index 06582d65..00000000 --- a/src/renderer/assets/svg/icons/rust.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/salesforce.svg b/src/renderer/assets/svg/icons/salesforce.svg deleted file mode 100644 index 3c82edd0..00000000 --- a/src/renderer/assets/svg/icons/salesforce.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/san.svg b/src/renderer/assets/svg/icons/san.svg deleted file mode 100644 index 3df518f3..00000000 --- a/src/renderer/assets/svg/icons/san.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/sas.svg b/src/renderer/assets/svg/icons/sas.svg deleted file mode 100644 index 3a2641aa..00000000 --- a/src/renderer/assets/svg/icons/sas.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/sass.svg b/src/renderer/assets/svg/icons/sass.svg deleted file mode 100644 index 0b92c092..00000000 --- a/src/renderer/assets/svg/icons/sass.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/sbt.svg b/src/renderer/assets/svg/icons/sbt.svg deleted file mode 100644 index c2999190..00000000 --- a/src/renderer/assets/svg/icons/sbt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/scala.svg b/src/renderer/assets/svg/icons/scala.svg deleted file mode 100644 index 99558278..00000000 --- a/src/renderer/assets/svg/icons/scala.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/scheme.svg b/src/renderer/assets/svg/icons/scheme.svg deleted file mode 100644 index 17c8f723..00000000 --- a/src/renderer/assets/svg/icons/scheme.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/search.svg b/src/renderer/assets/svg/icons/search.svg deleted file mode 100644 index 7c57bcb4..00000000 --- a/src/renderer/assets/svg/icons/search.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/semantic-release.svg b/src/renderer/assets/svg/icons/semantic-release.svg deleted file mode 100644 index 5ec7ea44..00000000 --- a/src/renderer/assets/svg/icons/semantic-release.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/semantic-release_light.svg b/src/renderer/assets/svg/icons/semantic-release_light.svg deleted file mode 100644 index a3dec5ed..00000000 --- a/src/renderer/assets/svg/icons/semantic-release_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/semgrep.svg b/src/renderer/assets/svg/icons/semgrep.svg deleted file mode 100644 index 173996da..00000000 --- a/src/renderer/assets/svg/icons/semgrep.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/sentry.svg b/src/renderer/assets/svg/icons/sentry.svg deleted file mode 100644 index 437818ab..00000000 --- a/src/renderer/assets/svg/icons/sentry.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/sequelize.svg b/src/renderer/assets/svg/icons/sequelize.svg deleted file mode 100644 index 3a1d5da2..00000000 --- a/src/renderer/assets/svg/icons/sequelize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/serverless.svg b/src/renderer/assets/svg/icons/serverless.svg deleted file mode 100644 index e6cecc5d..00000000 --- a/src/renderer/assets/svg/icons/serverless.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/settings.svg b/src/renderer/assets/svg/icons/settings.svg deleted file mode 100644 index eaba79b6..00000000 --- a/src/renderer/assets/svg/icons/settings.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/shader.svg b/src/renderer/assets/svg/icons/shader.svg deleted file mode 100644 index 5d03aba7..00000000 --- a/src/renderer/assets/svg/icons/shader.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/shaderlab.svg b/src/renderer/assets/svg/icons/shaderlab.svg deleted file mode 100644 index 7143f4a3..00000000 --- a/src/renderer/assets/svg/icons/shaderlab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/silverstripe.svg b/src/renderer/assets/svg/icons/silverstripe.svg deleted file mode 100644 index 8f7fc73f..00000000 --- a/src/renderer/assets/svg/icons/silverstripe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/siyuan.svg b/src/renderer/assets/svg/icons/siyuan.svg deleted file mode 100644 index 607f2d5b..00000000 --- a/src/renderer/assets/svg/icons/siyuan.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/sketch.svg b/src/renderer/assets/svg/icons/sketch.svg deleted file mode 100644 index f208503e..00000000 --- a/src/renderer/assets/svg/icons/sketch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/slim.svg b/src/renderer/assets/svg/icons/slim.svg deleted file mode 100644 index 3f42dcd5..00000000 --- a/src/renderer/assets/svg/icons/slim.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/slug.svg b/src/renderer/assets/svg/icons/slug.svg deleted file mode 100644 index 1532751c..00000000 --- a/src/renderer/assets/svg/icons/slug.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/smarty.svg b/src/renderer/assets/svg/icons/smarty.svg deleted file mode 100644 index ad8b3b23..00000000 --- a/src/renderer/assets/svg/icons/smarty.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/sml.svg b/src/renderer/assets/svg/icons/sml.svg deleted file mode 100644 index e53b6a31..00000000 --- a/src/renderer/assets/svg/icons/sml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/snowpack.svg b/src/renderer/assets/svg/icons/snowpack.svg deleted file mode 100644 index e82a92d2..00000000 --- a/src/renderer/assets/svg/icons/snowpack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/snowpack_light.svg b/src/renderer/assets/svg/icons/snowpack_light.svg deleted file mode 100644 index 460a75d4..00000000 --- a/src/renderer/assets/svg/icons/snowpack_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/snyk.svg b/src/renderer/assets/svg/icons/snyk.svg deleted file mode 100644 index bc8cc507..00000000 --- a/src/renderer/assets/svg/icons/snyk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/solidity.svg b/src/renderer/assets/svg/icons/solidity.svg deleted file mode 100644 index 5319fa25..00000000 --- a/src/renderer/assets/svg/icons/solidity.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/sonarcloud.svg b/src/renderer/assets/svg/icons/sonarcloud.svg deleted file mode 100644 index de265b25..00000000 --- a/src/renderer/assets/svg/icons/sonarcloud.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/steadybit.svg b/src/renderer/assets/svg/icons/steadybit.svg deleted file mode 100644 index c9bba12c..00000000 --- a/src/renderer/assets/svg/icons/steadybit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/stencil.svg b/src/renderer/assets/svg/icons/stencil.svg deleted file mode 100644 index a236bf6b..00000000 --- a/src/renderer/assets/svg/icons/stencil.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/stitches.svg b/src/renderer/assets/svg/icons/stitches.svg deleted file mode 100644 index 4e306bbf..00000000 --- a/src/renderer/assets/svg/icons/stitches.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/stitches_light.svg b/src/renderer/assets/svg/icons/stitches_light.svg deleted file mode 100644 index 9a904251..00000000 --- a/src/renderer/assets/svg/icons/stitches_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/storybook.svg b/src/renderer/assets/svg/icons/storybook.svg deleted file mode 100644 index 09e93a64..00000000 --- a/src/renderer/assets/svg/icons/storybook.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/stryker.svg b/src/renderer/assets/svg/icons/stryker.svg deleted file mode 100644 index a3c53ed2..00000000 --- a/src/renderer/assets/svg/icons/stryker.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/stylable.svg b/src/renderer/assets/svg/icons/stylable.svg deleted file mode 100644 index 0092435e..00000000 --- a/src/renderer/assets/svg/icons/stylable.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - 96-logo-horizontal - - - - - - - diff --git a/src/renderer/assets/svg/icons/stylelint.svg b/src/renderer/assets/svg/icons/stylelint.svg deleted file mode 100644 index 24efbc8e..00000000 --- a/src/renderer/assets/svg/icons/stylelint.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/stylelint_light.svg b/src/renderer/assets/svg/icons/stylelint_light.svg deleted file mode 100644 index 86557f48..00000000 --- a/src/renderer/assets/svg/icons/stylelint_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/stylus.svg b/src/renderer/assets/svg/icons/stylus.svg deleted file mode 100644 index b503c6e6..00000000 --- a/src/renderer/assets/svg/icons/stylus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/sublime.svg b/src/renderer/assets/svg/icons/sublime.svg deleted file mode 100644 index e206e8e9..00000000 --- a/src/renderer/assets/svg/icons/sublime.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/supabase.svg b/src/renderer/assets/svg/icons/supabase.svg deleted file mode 100644 index 304874ea..00000000 --- a/src/renderer/assets/svg/icons/supabase.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/svelte.svg b/src/renderer/assets/svg/icons/svelte.svg deleted file mode 100644 index f9f2aa7a..00000000 --- a/src/renderer/assets/svg/icons/svelte.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/svg.svg b/src/renderer/assets/svg/icons/svg.svg deleted file mode 100644 index f423f234..00000000 --- a/src/renderer/assets/svg/icons/svg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/svgo.svg b/src/renderer/assets/svg/icons/svgo.svg deleted file mode 100644 index 74c10724..00000000 --- a/src/renderer/assets/svg/icons/svgo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/svgr.svg b/src/renderer/assets/svg/icons/svgr.svg deleted file mode 100644 index fba622cb..00000000 --- a/src/renderer/assets/svg/icons/svgr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/swc.svg b/src/renderer/assets/svg/icons/swc.svg deleted file mode 100644 index 533bba08..00000000 --- a/src/renderer/assets/svg/icons/swc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/swift.svg b/src/renderer/assets/svg/icons/swift.svg deleted file mode 100644 index 214ffd4d..00000000 --- a/src/renderer/assets/svg/icons/swift.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/table.svg b/src/renderer/assets/svg/icons/table.svg deleted file mode 100644 index 4542be89..00000000 --- a/src/renderer/assets/svg/icons/table.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/tailwindcss.svg b/src/renderer/assets/svg/icons/tailwindcss.svg deleted file mode 100644 index 7b04eb41..00000000 --- a/src/renderer/assets/svg/icons/tailwindcss.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/tauri.svg b/src/renderer/assets/svg/icons/tauri.svg deleted file mode 100644 index c6ca78ef..00000000 --- a/src/renderer/assets/svg/icons/tauri.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/tcl.svg b/src/renderer/assets/svg/icons/tcl.svg deleted file mode 100644 index 476195d8..00000000 --- a/src/renderer/assets/svg/icons/tcl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/teal.svg b/src/renderer/assets/svg/icons/teal.svg deleted file mode 100644 index 64772b84..00000000 --- a/src/renderer/assets/svg/icons/teal.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/template.svg b/src/renderer/assets/svg/icons/template.svg deleted file mode 100644 index bbce608b..00000000 --- a/src/renderer/assets/svg/icons/template.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/terraform.svg b/src/renderer/assets/svg/icons/terraform.svg deleted file mode 100644 index db12eed1..00000000 --- a/src/renderer/assets/svg/icons/terraform.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/test-js.svg b/src/renderer/assets/svg/icons/test-js.svg deleted file mode 100644 index 41a94be8..00000000 --- a/src/renderer/assets/svg/icons/test-js.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/test-jsx.svg b/src/renderer/assets/svg/icons/test-jsx.svg deleted file mode 100644 index 246a676a..00000000 --- a/src/renderer/assets/svg/icons/test-jsx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/test-ts.svg b/src/renderer/assets/svg/icons/test-ts.svg deleted file mode 100644 index b28c3a0d..00000000 --- a/src/renderer/assets/svg/icons/test-ts.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/tex.svg b/src/renderer/assets/svg/icons/tex.svg deleted file mode 100644 index ebf9380f..00000000 --- a/src/renderer/assets/svg/icons/tex.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/textlint.svg b/src/renderer/assets/svg/icons/textlint.svg deleted file mode 100644 index ff7ac829..00000000 --- a/src/renderer/assets/svg/icons/textlint.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/tilt.svg b/src/renderer/assets/svg/icons/tilt.svg deleted file mode 100644 index 5bbd9540..00000000 --- a/src/renderer/assets/svg/icons/tilt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/tldraw.svg b/src/renderer/assets/svg/icons/tldraw.svg deleted file mode 100644 index 180c43e4..00000000 --- a/src/renderer/assets/svg/icons/tldraw.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/tldraw_light.svg b/src/renderer/assets/svg/icons/tldraw_light.svg deleted file mode 100644 index 6e43e4ab..00000000 --- a/src/renderer/assets/svg/icons/tldraw_light.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/renderer/assets/svg/icons/tobi.svg b/src/renderer/assets/svg/icons/tobi.svg deleted file mode 100644 index 8390aac3..00000000 --- a/src/renderer/assets/svg/icons/tobi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/tobimake.svg b/src/renderer/assets/svg/icons/tobimake.svg deleted file mode 100644 index 65b43a3f..00000000 --- a/src/renderer/assets/svg/icons/tobimake.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/todo.svg b/src/renderer/assets/svg/icons/todo.svg deleted file mode 100644 index a0e6c54b..00000000 --- a/src/renderer/assets/svg/icons/todo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/travis.svg b/src/renderer/assets/svg/icons/travis.svg deleted file mode 100644 index e7d72a00..00000000 --- a/src/renderer/assets/svg/icons/travis.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/tree.svg b/src/renderer/assets/svg/icons/tree.svg deleted file mode 100644 index f0d4d335..00000000 --- a/src/renderer/assets/svg/icons/tree.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/tsconfig.svg b/src/renderer/assets/svg/icons/tsconfig.svg deleted file mode 100644 index 1afa4988..00000000 --- a/src/renderer/assets/svg/icons/tsconfig.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/tune.svg b/src/renderer/assets/svg/icons/tune.svg deleted file mode 100644 index cd7d1aba..00000000 --- a/src/renderer/assets/svg/icons/tune.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/turborepo.svg b/src/renderer/assets/svg/icons/turborepo.svg deleted file mode 100644 index f136c154..00000000 --- a/src/renderer/assets/svg/icons/turborepo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/turborepo_light.svg b/src/renderer/assets/svg/icons/turborepo_light.svg deleted file mode 100644 index a8604850..00000000 --- a/src/renderer/assets/svg/icons/turborepo_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/twig.svg b/src/renderer/assets/svg/icons/twig.svg deleted file mode 100644 index 631e57d4..00000000 --- a/src/renderer/assets/svg/icons/twig.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/twine.svg b/src/renderer/assets/svg/icons/twine.svg deleted file mode 100644 index 94bbfd92..00000000 --- a/src/renderer/assets/svg/icons/twine.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/typescript-def.svg b/src/renderer/assets/svg/icons/typescript-def.svg deleted file mode 100644 index 6812657b..00000000 --- a/src/renderer/assets/svg/icons/typescript-def.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/typescript.svg b/src/renderer/assets/svg/icons/typescript.svg deleted file mode 100644 index c6145d5c..00000000 --- a/src/renderer/assets/svg/icons/typescript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/typst.svg b/src/renderer/assets/svg/icons/typst.svg deleted file mode 100644 index 20506827..00000000 --- a/src/renderer/assets/svg/icons/typst.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/renderer/assets/svg/icons/uml.svg b/src/renderer/assets/svg/icons/uml.svg deleted file mode 100644 index 01e5b671..00000000 --- a/src/renderer/assets/svg/icons/uml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/uml_light.svg b/src/renderer/assets/svg/icons/uml_light.svg deleted file mode 100644 index a55d0d1c..00000000 --- a/src/renderer/assets/svg/icons/uml_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/unocss.svg b/src/renderer/assets/svg/icons/unocss.svg deleted file mode 100644 index 6f545e47..00000000 --- a/src/renderer/assets/svg/icons/unocss.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/src/renderer/assets/svg/icons/url.svg b/src/renderer/assets/svg/icons/url.svg deleted file mode 100644 index 7dd2a323..00000000 --- a/src/renderer/assets/svg/icons/url.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vagrant.svg b/src/renderer/assets/svg/icons/vagrant.svg deleted file mode 100644 index c3a85bc4..00000000 --- a/src/renderer/assets/svg/icons/vagrant.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vala.svg b/src/renderer/assets/svg/icons/vala.svg deleted file mode 100644 index 4cb27cb6..00000000 --- a/src/renderer/assets/svg/icons/vala.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/velocity.svg b/src/renderer/assets/svg/icons/velocity.svg deleted file mode 100644 index fcb57ce6..00000000 --- a/src/renderer/assets/svg/icons/velocity.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vercel.svg b/src/renderer/assets/svg/icons/vercel.svg deleted file mode 100644 index c41cbf68..00000000 --- a/src/renderer/assets/svg/icons/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vercel_light.svg b/src/renderer/assets/svg/icons/vercel_light.svg deleted file mode 100644 index b3d3d590..00000000 --- a/src/renderer/assets/svg/icons/vercel_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/verdaccio.svg b/src/renderer/assets/svg/icons/verdaccio.svg deleted file mode 100644 index f719d0a3..00000000 --- a/src/renderer/assets/svg/icons/verdaccio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/verilog.svg b/src/renderer/assets/svg/icons/verilog.svg deleted file mode 100644 index b37ef0cc..00000000 --- a/src/renderer/assets/svg/icons/verilog.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vfl.svg b/src/renderer/assets/svg/icons/vfl.svg deleted file mode 100644 index 3057fa03..00000000 --- a/src/renderer/assets/svg/icons/vfl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/video.svg b/src/renderer/assets/svg/icons/video.svg deleted file mode 100644 index fba4b81b..00000000 --- a/src/renderer/assets/svg/icons/video.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vim.svg b/src/renderer/assets/svg/icons/vim.svg deleted file mode 100644 index 86f6dfe8..00000000 --- a/src/renderer/assets/svg/icons/vim.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/virtual.svg b/src/renderer/assets/svg/icons/virtual.svg deleted file mode 100644 index 5ec9fa69..00000000 --- a/src/renderer/assets/svg/icons/virtual.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/visualstudio.svg b/src/renderer/assets/svg/icons/visualstudio.svg deleted file mode 100644 index 1999166d..00000000 --- a/src/renderer/assets/svg/icons/visualstudio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vite.svg b/src/renderer/assets/svg/icons/vite.svg deleted file mode 100644 index 18938bba..00000000 --- a/src/renderer/assets/svg/icons/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vitest.svg b/src/renderer/assets/svg/icons/vitest.svg deleted file mode 100644 index 6ad6330b..00000000 --- a/src/renderer/assets/svg/icons/vitest.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/renderer/assets/svg/icons/vlang.svg b/src/renderer/assets/svg/icons/vlang.svg deleted file mode 100644 index f3aa4e08..00000000 --- a/src/renderer/assets/svg/icons/vlang.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vscode.svg b/src/renderer/assets/svg/icons/vscode.svg deleted file mode 100644 index 6dd23f39..00000000 --- a/src/renderer/assets/svg/icons/vscode.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vue-config.svg b/src/renderer/assets/svg/icons/vue-config.svg deleted file mode 100644 index d661d134..00000000 --- a/src/renderer/assets/svg/icons/vue-config.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vue.svg b/src/renderer/assets/svg/icons/vue.svg deleted file mode 100644 index 155bbea8..00000000 --- a/src/renderer/assets/svg/icons/vue.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/vuex-store.svg b/src/renderer/assets/svg/icons/vuex-store.svg deleted file mode 100644 index a36da452..00000000 --- a/src/renderer/assets/svg/icons/vuex-store.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/wakatime.svg b/src/renderer/assets/svg/icons/wakatime.svg deleted file mode 100644 index dc506f18..00000000 --- a/src/renderer/assets/svg/icons/wakatime.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/wakatime_light.svg b/src/renderer/assets/svg/icons/wakatime_light.svg deleted file mode 100644 index 9d2009d1..00000000 --- a/src/renderer/assets/svg/icons/wakatime_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/wallaby.svg b/src/renderer/assets/svg/icons/wallaby.svg deleted file mode 100644 index 50425037..00000000 --- a/src/renderer/assets/svg/icons/wallaby.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/watchman.svg b/src/renderer/assets/svg/icons/watchman.svg deleted file mode 100644 index 4089a8f9..00000000 --- a/src/renderer/assets/svg/icons/watchman.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/webassembly.svg b/src/renderer/assets/svg/icons/webassembly.svg deleted file mode 100644 index d727fe69..00000000 --- a/src/renderer/assets/svg/icons/webassembly.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/webhint.svg b/src/renderer/assets/svg/icons/webhint.svg deleted file mode 100644 index 75412720..00000000 --- a/src/renderer/assets/svg/icons/webhint.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/webpack.svg b/src/renderer/assets/svg/icons/webpack.svg deleted file mode 100644 index 24ba1dde..00000000 --- a/src/renderer/assets/svg/icons/webpack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/wepy.svg b/src/renderer/assets/svg/icons/wepy.svg deleted file mode 100644 index fab68bbf..00000000 --- a/src/renderer/assets/svg/icons/wepy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/windicss.svg b/src/renderer/assets/svg/icons/windicss.svg deleted file mode 100644 index 35276dd3..00000000 --- a/src/renderer/assets/svg/icons/windicss.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/wolframlanguage.svg b/src/renderer/assets/svg/icons/wolframlanguage.svg deleted file mode 100644 index ea646fcc..00000000 --- a/src/renderer/assets/svg/icons/wolframlanguage.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/word.svg b/src/renderer/assets/svg/icons/word.svg deleted file mode 100644 index eee8c685..00000000 --- a/src/renderer/assets/svg/icons/word.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/xaml.svg b/src/renderer/assets/svg/icons/xaml.svg deleted file mode 100644 index 30bf6881..00000000 --- a/src/renderer/assets/svg/icons/xaml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/xml.svg b/src/renderer/assets/svg/icons/xml.svg deleted file mode 100644 index b8f41e63..00000000 --- a/src/renderer/assets/svg/icons/xml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/yaml.svg b/src/renderer/assets/svg/icons/yaml.svg deleted file mode 100644 index fd5b8c98..00000000 --- a/src/renderer/assets/svg/icons/yaml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/yang.svg b/src/renderer/assets/svg/icons/yang.svg deleted file mode 100644 index 3ace65a2..00000000 --- a/src/renderer/assets/svg/icons/yang.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/yarn.svg b/src/renderer/assets/svg/icons/yarn.svg deleted file mode 100644 index 413052a9..00000000 --- a/src/renderer/assets/svg/icons/yarn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/zig.svg b/src/renderer/assets/svg/icons/zig.svg deleted file mode 100644 index 1f23d7fa..00000000 --- a/src/renderer/assets/svg/icons/zig.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/assets/svg/icons/zip.svg b/src/renderer/assets/svg/icons/zip.svg deleted file mode 100644 index ac0682be..00000000 --- a/src/renderer/assets/svg/icons/zip.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/components/devtools/composables/index.ts b/src/renderer/components/devtools/composables/index.ts deleted file mode 100644 index 4acb5eae..00000000 --- a/src/renderer/components/devtools/composables/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { useClipboard } from '@vueuse/core' - -export function useCopy (value: string) { - const { copy } = useClipboard() - copy(value) -} diff --git a/src/renderer/components/devtools/crypto/HashTool.vue b/src/renderer/components/devtools/crypto/HashTool.vue deleted file mode 100644 index 82bce277..00000000 --- a/src/renderer/components/devtools/crypto/HashTool.vue +++ /dev/null @@ -1,104 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/crypto/HmacTool.vue b/src/renderer/components/devtools/crypto/HmacTool.vue deleted file mode 100644 index 9f709eaf..00000000 --- a/src/renderer/components/devtools/crypto/HmacTool.vue +++ /dev/null @@ -1,111 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/crypto/PassTool.vue b/src/renderer/components/devtools/crypto/PassTool.vue deleted file mode 100644 index 875d3496..00000000 --- a/src/renderer/components/devtools/crypto/PassTool.vue +++ /dev/null @@ -1,144 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/crypto/UuidTool.vue b/src/renderer/components/devtools/crypto/UuidTool.vue deleted file mode 100644 index 61a62a1c..00000000 --- a/src/renderer/components/devtools/crypto/UuidTool.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/crypto/algo-options.json b/src/renderer/components/devtools/crypto/algo-options.json deleted file mode 100644 index 2e1ce957..00000000 --- a/src/renderer/components/devtools/crypto/algo-options.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - { - "label": "MD5", - "value": "md5" - }, - { - "label": "RIPEMD160", - "value": "ripemd160" - }, - { - "label": "SHA1", - "value": "sha1" - }, - { - "label": "SHA224", - "value": "sha224" - }, - { - "label": "SHA256", - "value": "sha256" - }, - { - "label": "SHA3", - "value": "sha3" - }, - { - "label": "SHA384", - "value": "sha384" - }, - { - "label": "SHA512", - "value": "sha512" - } -] diff --git a/src/renderer/components/devtools/crypto/types/index.d.ts b/src/renderer/components/devtools/crypto/types/index.d.ts deleted file mode 100644 index 7c1b806b..00000000 --- a/src/renderer/components/devtools/crypto/types/index.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -export type Algo = - | 'md5' - | 'ripemd160' - | 'sha1' - | 'sha224' - | 'sha256' - | 'sha3' - | 'sha384' - | 'sha512' diff --git a/src/renderer/components/devtools/encode-decode/Base64EncodeDecodeTool.vue b/src/renderer/components/devtools/encode-decode/Base64EncodeDecodeTool.vue deleted file mode 100644 index dc7f1a24..00000000 --- a/src/renderer/components/devtools/encode-decode/Base64EncodeDecodeTool.vue +++ /dev/null @@ -1,72 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/encode-decode/UrlEncodeDecodeTool.vue b/src/renderer/components/devtools/encode-decode/UrlEncodeDecodeTool.vue deleted file mode 100644 index 3f3f1b0b..00000000 --- a/src/renderer/components/devtools/encode-decode/UrlEncodeDecodeTool.vue +++ /dev/null @@ -1,72 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/encode-decode/encode-decode-options.json b/src/renderer/components/devtools/encode-decode/encode-decode-options.json deleted file mode 100644 index 6481044c..00000000 --- a/src/renderer/components/devtools/encode-decode/encode-decode-options.json +++ /dev/null @@ -1,4 +0,0 @@ -[ - { "label": "Encode", "value": "encode" }, - { "label": "Decode", "value": "decode" } -] diff --git a/src/renderer/components/devtools/encode-decode/types/index.d.ts b/src/renderer/components/devtools/encode-decode/types/index.d.ts deleted file mode 100644 index 214c9c02..00000000 --- a/src/renderer/components/devtools/encode-decode/types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type Type = 'encode' | 'decode' diff --git a/src/renderer/components/devtools/text/CaseConverterTool.vue b/src/renderer/components/devtools/text/CaseConverterTool.vue deleted file mode 100644 index b19c6d57..00000000 --- a/src/renderer/components/devtools/text/CaseConverterTool.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/text/SlugTool.vue b/src/renderer/components/devtools/text/SlugTool.vue deleted file mode 100644 index e96d6b66..00000000 --- a/src/renderer/components/devtools/text/SlugTool.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/text/SortTool.vue b/src/renderer/components/devtools/text/SortTool.vue deleted file mode 100644 index b74711d2..00000000 --- a/src/renderer/components/devtools/text/SortTool.vue +++ /dev/null @@ -1,70 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/text/UrlParserTool.vue b/src/renderer/components/devtools/text/UrlParserTool.vue deleted file mode 100644 index f720e0fe..00000000 --- a/src/renderer/components/devtools/text/UrlParserTool.vue +++ /dev/null @@ -1,113 +0,0 @@ - - - - - diff --git a/src/renderer/components/editor/EditorCodemirror.vue b/src/renderer/components/editor/EditorCodemirror.vue deleted file mode 100644 index 368dba8f..00000000 --- a/src/renderer/components/editor/EditorCodemirror.vue +++ /dev/null @@ -1,409 +0,0 @@ - - - - - diff --git a/src/renderer/components/editor/EditorPreview.vue b/src/renderer/components/editor/EditorPreview.vue deleted file mode 100644 index 90af57ae..00000000 --- a/src/renderer/components/editor/EditorPreview.vue +++ /dev/null @@ -1,172 +0,0 @@ -