diff --git a/.gitignore b/.gitignore index 801b152d..8b862988 100644 --- a/.gitignore +++ b/.gitignore @@ -151,3 +151,4 @@ tmp-* *storybook.log storybook-static +lib \ No newline at end of file diff --git a/docsite/docs/configuration/sources/icecast.mdx b/docsite/docs/configuration/sources/icecast.mdx index 8ec3a448..64d1d7d2 100644 --- a/docsite/docs/configuration/sources/icecast.mdx +++ b/docsite/docs/configuration/sources/icecast.mdx @@ -2,6 +2,7 @@ title: Icecast toc_min_heading_level: 2 toc_max_heading_level: 5 +description: Setup Icecast and Configuration --- import Tabs from '@theme/Tabs'; diff --git a/docsite/docusaurus.config.ts b/docsite/docusaurus.config.ts index 60982de3..30a81c15 100644 --- a/docsite/docusaurus.config.ts +++ b/docsite/docusaurus.config.ts @@ -1,6 +1,7 @@ import type * as Preset from '@docusaurus/preset-classic'; import type { Config } from '@docusaurus/types'; import * as themes from 'prism-react-renderer'; +import * as Renderers from './lib/ImageRenderers.js'; //import sidebars from './sidebars'; let baseSite = 'https://foxxmd.github.io'; @@ -132,7 +133,17 @@ const config: Config = { }, ] } - ] + ], + [ + '@bony_chops/docusaurus-og', + { + path: './preview-images', // relative to the build directory + imageRenderers: { + 'docusaurus-plugin-content-docs': Renderers.docs, + 'docusaurus-plugin-content-pages': Renderers.docs, + }, + }, + ], ], themeConfig: { diff --git a/docsite/package-lock.json b/docsite/package-lock.json index 2a57fe48..02e15598 100644 --- a/docsite/package-lock.json +++ b/docsite/package-lock.json @@ -9,6 +9,7 @@ "version": "0.12.1", "hasInstallScript": true, "dependencies": { + "@bony_chops/docusaurus-og": "^1.0.3-beta.3", "@docusaurus/core": "3.9.2", "@docusaurus/faster": "3.9.2", "@docusaurus/plugin-client-redirects": "^3.9.2", @@ -2056,6 +2057,523 @@ } } }, + "node_modules/@bony_chops/docusaurus-og": { + "version": "1.0.3-beta.3", + "resolved": "https://registry.npmjs.org/@bony_chops/docusaurus-og/-/docusaurus-og-1.0.3-beta.3.tgz", + "integrity": "sha512-ri3Ufcb9sTZwNk1WjNizK73LHTCudCSVBOa7U0UtaFDLm5pGFoD0D16aJlwJhp/Gx6p8Nbmp7MogvYIrIDo6Vw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.8.1", + "@docusaurus/module-type-aliases": "3.8.1", + "@docusaurus/plugin-content-blog": "^3.9.2", + "@docusaurus/plugin-content-docs": "^3.9.2", + "@docusaurus/plugin-content-pages": "^3.9.2", + "@docusaurus/types": "3.8.1", + "@docusaurus/utils": "3.8.1", + "@docusaurus/utils-common": "3.8.1", + "@docusaurus/utils-validation": "3.8.1", + "lodash": "^4.17.21", + "node-html-parser": "^6.1.5", + "object-hash": "^3.0.0", + "satori": "^0.10.1", + "sharp": "^0.32.1" + }, + "engines": { + "node": ">=20.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/babel": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.8.1.tgz", + "integrity": "sha512-3brkJrml8vUbn9aeoZUlJfsI/GqyFcDgQJwQkmBtclJgWDEQBKKeagZfOgx0WfUQhagL1sQLNW0iBdxnI863Uw==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.25.9", + "@babel/preset-env": "^7.25.9", + "@babel/preset-react": "^7.25.9", + "@babel/preset-typescript": "^7.25.9", + "@babel/runtime": "^7.25.9", + "@babel/runtime-corejs3": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@docusaurus/logger": "3.8.1", + "@docusaurus/utils": "3.8.1", + "babel-plugin-dynamic-import-node": "^2.3.3", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/bundler": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.8.1.tgz", + "integrity": "sha512-/z4V0FRoQ0GuSLToNjOSGsk6m2lQUG4FRn8goOVoZSRsTrU8YR2aJacX5K3RG18EaX9b+52pN4m1sL3MQZVsQA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@docusaurus/babel": "3.8.1", + "@docusaurus/cssnano-preset": "3.8.1", + "@docusaurus/logger": "3.8.1", + "@docusaurus/types": "3.8.1", + "@docusaurus/utils": "3.8.1", + "babel-loader": "^9.2.1", + "clean-css": "^5.3.3", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.11.0", + "css-minimizer-webpack-plugin": "^5.0.1", + "cssnano": "^6.1.2", + "file-loader": "^6.2.0", + "html-minifier-terser": "^7.2.0", + "mini-css-extract-plugin": "^2.9.2", + "null-loader": "^4.0.1", + "postcss": "^8.5.4", + "postcss-loader": "^7.3.4", + "postcss-preset-env": "^10.2.1", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.95.0", + "webpackbar": "^6.0.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/faster": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/faster": { + "optional": true + } + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/core": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.8.1.tgz", + "integrity": "sha512-ENB01IyQSqI2FLtOzqSI3qxG2B/jP4gQPahl2C3XReiLebcVh5B5cB9KYFvdoOqOWPyr5gXK4sjgTKv7peXCrA==", + "license": "MIT", + "dependencies": { + "@docusaurus/babel": "3.8.1", + "@docusaurus/bundler": "3.8.1", + "@docusaurus/logger": "3.8.1", + "@docusaurus/mdx-loader": "3.8.1", + "@docusaurus/utils": "3.8.1", + "@docusaurus/utils-common": "3.8.1", + "@docusaurus/utils-validation": "3.8.1", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cli-table3": "^0.6.3", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "core-js": "^3.31.1", + "detect-port": "^1.5.1", + "escape-html": "^1.0.3", + "eta": "^2.2.0", + "eval": "^0.1.8", + "execa": "5.1.1", + "fs-extra": "^11.1.1", + "html-tags": "^3.3.1", + "html-webpack-plugin": "^5.6.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "open": "^8.4.0", + "p-map": "^4.0.0", + "prompts": "^2.4.2", + "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.4", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.4", + "semver": "^7.5.4", + "serve-handler": "^6.1.6", + "tinypool": "^1.0.2", + "tslib": "^2.6.0", + "update-notifier": "^6.0.2", + "webpack": "^5.95.0", + "webpack-bundle-analyzer": "^4.10.2", + "webpack-dev-server": "^4.15.2", + "webpack-merge": "^6.0.1" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@mdx-js/react": "^3.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/cssnano-preset": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.8.1.tgz", + "integrity": "sha512-G7WyR2N6SpyUotqhGznERBK+x84uyhfMQM2MmDLs88bw4Flom6TY46HzkRkSEzaP9j80MbTN8naiL1fR17WQug==", + "license": "MIT", + "dependencies": { + "cssnano-preset-advanced": "^6.1.2", + "postcss": "^8.5.4", + "postcss-sort-media-queries": "^5.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/logger": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.8.1.tgz", + "integrity": "sha512-2wjeGDhKcExEmjX8k1N/MRDiPKXGF2Pg+df/bDDPnnJWHXnVEZxXj80d6jcxp1Gpnksl0hF8t/ZQw9elqj2+ww==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/mdx-loader": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.8.1.tgz", + "integrity": "sha512-DZRhagSFRcEq1cUtBMo4TKxSNo/W6/s44yhr8X+eoXqCLycFQUylebOMPseHi5tc4fkGJqwqpWJLz6JStU9L4w==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.8.1", + "@docusaurus/utils": "3.8.1", + "@docusaurus/utils-validation": "3.8.1", + "@mdx-js/mdx": "^3.0.0", + "@slorber/remark-comment": "^1.0.0", + "escape-html": "^1.0.3", + "estree-util-value-to-estree": "^3.0.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "image-size": "^2.0.2", + "mdast-util-mdx": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", + "remark-emoji": "^4.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "stringify-object": "^3.3.0", + "tslib": "^2.6.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0", + "url-loader": "^4.1.1", + "vfile": "^6.0.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/module-type-aliases": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.8.1.tgz", + "integrity": "sha512-6xhvAJiXzsaq3JdosS7wbRt/PwEPWHr9eM4YNYqVlbgG1hSK3uQDXTVvQktasp3VO6BmfYWPozueLWuj4gB+vg==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.8.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/types": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.8.1.tgz", + "integrity": "sha512-ZPdW5AB+pBjiVrcLuw3dOS6BFlrG0XkS2lDGsj8TizcnREQg3J8cjsgfDviszOk4CweNfwo1AEELJkYaMUuOPg==", + "license": "MIT", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.95.0", + "webpack-merge": "^5.9.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/types/node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/utils": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.8.1.tgz", + "integrity": "sha512-P1ml0nvOmEFdmu0smSXOqTS1sxU5tqvnc0dA4MTKV39kye+bhQnjkIKEE18fNOvxjyB86k8esoCIFM3x4RykOQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.8.1", + "@docusaurus/types": "3.8.1", + "@docusaurus/utils-common": "3.8.1", + "escape-string-regexp": "^4.0.0", + "execa": "5.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "p-queue": "^6.6.2", + "prompts": "^2.4.2", + "resolve-pathname": "^3.0.0", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/utils-common": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.8.1.tgz", + "integrity": "sha512-zTZiDlvpvoJIrQEEd71c154DkcriBecm4z94OzEE9kz7ikS3J+iSlABhFXM45mZ0eN5pVqqr7cs60+ZlYLewtg==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.8.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@docusaurus/utils-validation": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.8.1.tgz", + "integrity": "sha512-gs5bXIccxzEbyVecvxg6upTwaUbfa0KMmTj7HhHzc016AGyxH2o73k1/aOD0IFrdCsfJNt37MqNI47s2MgRZMA==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.8.1", + "@docusaurus/utils": "3.8.1", + "@docusaurus/utils-common": "3.8.1", + "fs-extra": "^11.2.0", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/@bony_chops/docusaurus-og/node_modules/ws": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", + "license": "MIT", + "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 + } + } + }, "node_modules/@codemirror/autocomplete": { "version": "6.20.1", "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.20.1.tgz", @@ -6194,6 +6712,22 @@ "integrity": "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==", "license": "MIT" }, + "node_modules/@shuding/opentype.js": { + "version": "1.4.0-beta.0", + "resolved": "https://registry.npmjs.org/@shuding/opentype.js/-/opentype.js-1.4.0-beta.0.tgz", + "integrity": "sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==", + "license": "MIT", + "dependencies": { + "fflate": "^0.7.3", + "string.prototype.codepointat": "^0.2.1" + }, + "bin": { + "ot": "bin/ot" + }, + "engines": { + "node": ">= 8.0.0" + } + }, "node_modules/@sideway/address": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", @@ -7337,6 +7871,15 @@ "undici-types": "~6.20.0" } }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/prismjs": { "version": "1.26.5", "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", @@ -8038,6 +8581,20 @@ "node": ">= 0.4" } }, + "node_modules/b4a": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", + "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, "node_modules/babel-loader": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", @@ -8126,6 +8683,106 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/bare-fs": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.6.0.tgz", + "integrity": "sha512-2YkS7NuiJceSEbyEOdSNLE9tsGd+f4+f7C+Nik/MCk27SYdwIMPT/yRKvg++FZhQXgk0KWJKJyXX9RhVV0RGqA==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-os": { + "version": "3.8.7", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz", + "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==", + "license": "Apache-2.0", + "engines": { + "bare": ">=1.14.0" + } + }, + "node_modules/bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "license": "Apache-2.0", + "dependencies": { + "bare-os": "^3.0.1" + } + }, + "node_modules/bare-stream": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.12.0.tgz", + "integrity": "sha512-w28i8lkBgREV3rPXGbgK+BO66q+ZpKqRWrZLiCdmmUlLPrQ45CzkvRhN+7lnv00Gpi2zy5naRxnUFAxCECDm9g==", + "license": "Apache-2.0", + "dependencies": { + "streamx": "^2.25.0", + "teex": "^1.0.1" + }, + "peerDependencies": { + "bare-abort-controller": "*", + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + }, + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.0.tgz", + "integrity": "sha512-NSTU5WN+fy/L0DDenfE8SXQna4voXuW0FHM7wH8i3/q9khUSchfPbPezO4zSFMnDGIf9YE+mt/RWhZgNRKRIXA==", + "license": "Apache-2.0", + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/baseline-browser-mapping": { "version": "2.10.13", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.13.tgz", @@ -8164,6 +8821,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "node_modules/body-parser": { "version": "1.20.4", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", @@ -8303,11 +8971,55 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, + "node_modules/buffer/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/bundle-name": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", @@ -8446,6 +9158,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -8656,6 +9377,12 @@ "fsevents": "~2.3.2" } }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", @@ -8797,6 +9524,19 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -8813,6 +9553,16 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", @@ -9223,6 +9973,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/css-background-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/css-background-parser/-/css-background-parser-0.1.0.tgz", + "integrity": "sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==", + "license": "MIT" + }, "node_modules/css-blank-pseudo": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz", @@ -9261,6 +10017,21 @@ "node": ">=4" } }, + "node_modules/css-box-shadow": { + "version": "1.0.0-3", + "resolved": "https://registry.npmjs.org/css-box-shadow/-/css-box-shadow-1.0.0-3.tgz", + "integrity": "sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==", + "license": "MIT" + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "license": "ISC", + "engines": { + "node": ">=4" + } + }, "node_modules/css-declaration-sorter": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.1.tgz", @@ -9451,6 +10222,17 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, "node_modules/css-tree": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", @@ -9746,6 +10528,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -10122,6 +10916,15 @@ "node": ">=0.10.0" } }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/enhanced-resolve": { "version": "5.20.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", @@ -10475,6 +11278,15 @@ "node": ">=0.8.x" } }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -10498,6 +11310,15 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, "node_modules/express": { "version": "4.22.1", "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", @@ -10607,6 +11428,12 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, "node_modules/fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", @@ -10687,6 +11514,12 @@ "node": ">=0.4.0" } }, + "node_modules/fflate": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz", + "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==", + "license": "MIT" + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -10936,6 +11769,12 @@ "node": ">= 0.6" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, "node_modules/fs-extra": { "version": "11.3.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", @@ -10949,6 +11788,18 @@ "node": ">=14.14" } }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -11036,11 +11887,38 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, "node_modules/github-slugger": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -11462,6 +12340,18 @@ "he": "bin/he" } }, + "node_modules/hex-rgb": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-4.3.0.tgz", + "integrity": "sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/history": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", @@ -11531,6 +12421,22 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/html-entities": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", + "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -11823,6 +12729,26 @@ "postcss": "^8.1.0" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -11912,6 +12838,17 @@ "node": ">=12" } }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "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.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -12856,6 +13793,16 @@ "url": "https://github.com/sponsors/antonk52" } }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "license": "MIT", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -15358,6 +16305,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, "node_modules/modern-react-json-editor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/modern-react-json-editor/-/modern-react-json-editor-1.0.2.tgz", @@ -15415,6 +16368,12 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" + }, "node_modules/natural-compare-lite": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", @@ -15445,6 +16404,18 @@ "tslib": "^2.0.3" } }, + "node_modules/node-abi": { + "version": "3.89.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.89.0.tgz", + "integrity": "sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/node-addon-api": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", @@ -15467,6 +16438,25 @@ "node": ">=18" } }, + "node_modules/node-forge": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", + "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-html-parser": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.13.tgz", + "integrity": "sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==", + "license": "MIT", + "dependencies": { + "css-select": "^5.1.0", + "he": "1.2.0" + } + }, "node_modules/node-releases": { "version": "2.0.36", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", @@ -15600,6 +16590,15 @@ "node": ">=0.10.0" } }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -15668,6 +16667,15 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -15835,6 +16843,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "license": "MIT" + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -15857,6 +16871,16 @@ "node": ">=6" } }, + "node_modules/parse-css-color": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/parse-css-color/-/parse-css-color-0.2.1.tgz", + "integrity": "sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.1.4", + "hex-rgb": "^4.1.0" + } + }, "node_modules/parse-entities": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", @@ -16034,6 +17058,15 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", @@ -17583,6 +18616,61 @@ "postcss": "^8.4.31" } }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/pretty-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", @@ -17688,6 +18776,16 @@ "node": ">= 0.10" } }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -18622,6 +19720,22 @@ "node": ">=0.10.0" } }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/rtlcss": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", @@ -18792,6 +19906,33 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/satori": { + "version": "0.10.14", + "resolved": "https://registry.npmjs.org/satori/-/satori-0.10.14.tgz", + "integrity": "sha512-abovcqmwl97WKioxpkfuMeZmndB1TuDFY/R+FymrZyiGP+pMYomvgSzVPnbNMWHHESOPosVHGL352oFbdAnJcA==", + "license": "MPL-2.0", + "dependencies": { + "@shuding/opentype.js": "1.4.0-beta.0", + "css-background-parser": "^0.1.0", + "css-box-shadow": "1.0.0-3", + "css-to-react-native": "^3.0.0", + "emoji-regex": "^10.2.1", + "escape-html": "^1.0.3", + "linebreak": "^1.1.0", + "parse-css-color": "^0.2.1", + "postcss-value-parser": "^4.2.0", + "yoga-wasm-web": "^0.3.3" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/satori/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, "node_modules/sax": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", @@ -19139,6 +20280,35 @@ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", "license": "MIT" }, + "node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/sharp/node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "license": "MIT" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -19250,6 +20420,66 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "license": "ISC" }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz", + "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz", + "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==", + "license": "MIT" + }, "node_modules/sirv": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", @@ -19448,6 +20678,17 @@ "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", "license": "MIT" }, + "node_modules/streamx": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz", + "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -19501,6 +20742,12 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/string.prototype.codepointat": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", + "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==", + "license": "MIT" + }, "node_modules/stringify-entities": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", @@ -19721,6 +20968,41 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/tar-fs": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.2.tgz", + "integrity": "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" + } + }, + "node_modules/tar-stream": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", + "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "bare-fs": "^4.5.5", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, "node_modules/terser": { "version": "5.37.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.37.0.tgz", @@ -19803,6 +21085,15 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, + "node_modules/text-decoder": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", + "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, "node_modules/thingies": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.6.0.tgz", @@ -19825,6 +21116,12 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "license": "MIT" }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -19939,6 +21236,18 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/type-fest": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", @@ -20070,6 +21379,16 @@ "node": ">=4" } }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, "node_modules/unified": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", @@ -21130,6 +22449,12 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", @@ -21250,6 +22575,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yoga-wasm-web": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/yoga-wasm-web/-/yoga-wasm-web-0.3.3.tgz", + "integrity": "sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==", + "license": "MIT" + }, "node_modules/zimmerframe": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz", diff --git a/docsite/package.json b/docsite/package.json index f64fe8b9..c4b96ee1 100644 --- a/docsite/package.json +++ b/docsite/package.json @@ -12,9 +12,12 @@ "write-translations": "docusaurus write-translations", "write-heading-ids": "docusaurus write-heading-ids", "typecheck": "tsc", - "postinstall": "patch-package" + "postinstall": "patch-package", + "previews:build-renderer": "tsc --project tsconfig.client.json || exit 0", + "prebuild": "npm run -s previews:build-renderer" }, "dependencies": { + "@bony_chops/docusaurus-og": "^1.0.3-beta.3", "@docusaurus/core": "3.9.2", "@docusaurus/faster": "3.9.2", "@docusaurus/plugin-client-redirects": "^3.9.2", diff --git a/docsite/patches/@bony_chops+docusaurus-og+1.0.3-beta.3.patch b/docsite/patches/@bony_chops+docusaurus-og+1.0.3-beta.3.patch new file mode 100644 index 00000000..38321130 --- /dev/null +++ b/docsite/patches/@bony_chops+docusaurus-og+1.0.3-beta.3.patch @@ -0,0 +1,42 @@ +diff --git a/node_modules/@bony_chops/docusaurus-og/lib/server/docs.plugin.js b/node_modules/@bony_chops/docusaurus-og/lib/server/docs.plugin.js +index b308c02..e0d291a 100644 +--- a/node_modules/@bony_chops/docusaurus-og/lib/server/docs.plugin.js ++++ b/node_modules/@bony_chops/docusaurus-og/lib/server/docs.plugin.js +@@ -93,7 +93,16 @@ class DocsPlugin { + await document.write(); + } + }; +- getHtmlPath = (doc) => doc.metadata?.permalink && +- path.join(this.context.outDir, doc.metadata.permalink, 'index.html'); ++ getHtmlPath = (doc) => { ++ if(doc.metadata?.permalink !== undefined) { ++ let relativePerma = doc.metadata.permalink; ++ if(this.context.baseUrl !== undefined && this.context.baseUrl !== '/') { ++ relativePerma = path.join('/', relativePerma.replace(this.context.baseUrl, '')); ++ } ++ const p = path.join(this.context.outDir, relativePerma, 'index.html'); ++ return p; ++ } ++ return undefined; ++ } + } + exports.DocsPlugin = DocsPlugin; +diff --git a/node_modules/@bony_chops/docusaurus-og/lib/server/pages.plugin.js b/node_modules/@bony_chops/docusaurus-og/lib/server/pages.plugin.js +index 4676f56..03f03a5 100644 +--- a/node_modules/@bony_chops/docusaurus-og/lib/server/pages.plugin.js ++++ b/node_modules/@bony_chops/docusaurus-og/lib/server/pages.plugin.js +@@ -101,6 +101,13 @@ class PagesPlugin { + await document.write(); + } + }; +- getHtmlPath = (permalink) => path.join(this.context.outDir, permalink, 'index.html'); ++ getHtmlPath = (permalink) => { ++ let relativePerma = permalink; ++ if(this.context.baseUrl !== undefined && this.context.baseUrl !== '/') { ++ relativePerma = path.join('/', relativePerma.replace(this.context.baseUrl, '')); ++ } ++ const p = path.join(this.context.outDir, relativePerma, 'index.html'); ++ return p; ++ } + } + exports.PagesPlugin = PagesPlugin; diff --git a/docsite/src/ImageRenderers.tsx b/docsite/src/ImageRenderers.tsx new file mode 100644 index 00000000..da90c65a --- /dev/null +++ b/docsite/src/ImageRenderers.tsx @@ -0,0 +1,64 @@ +import type { DocsPageData, ImageRenderer } from '@bony_chops/docusaurus-og' +import { readFileSync } from 'fs' +import { join } from 'path' + +const logo = (); + +const DocContent = (props: { data: DocsPageData }) => { + const { data } = props; + return ( +
Use this to understand how to write a valid config.
z=oM2;OyKGhq=tpbKhl8{Tq3}e5j5lkm4#sifZ?MM(8W?a>K;XaF20HYhhA1rEz^m= zQ^BDJiXUkC%^=0l0&$rh=)NmvQ1u2o(}RV9m7N7~KfDZh7%CC8*jyG=#T#O1fb4Do zod5~Z$i~0`Jy98a(q&+zgE%9D1n4A0K>>bV&~0SkGrl<4#k3J;e1X?cvKxzn4-5s3 zSTY7T)HSu{R&z#6)%g3fe*DPl?Nuff%~`>J_R^)Zlll&~^+)x$ZEo!b=TqDN;5G}g zzt~t=SlK|;HuO$k*p E(2D|H*1GI|=;xEXN zsF1S>S(q857^R^8f}AL0u54 Wx(G(KW 7bL{m{`Ku8Ch81IaEXd zd^;V#xPUkV9|NDDpgISr? @YR^8Y`i%?3Kho)OZn5r(yEU}*|=7BW*R6C3z!a@bj! zKHwEEAG|k!CMxwAK*voLFtD(*v9qv&?$8Er(hvvDZ-P^iBw7OU-T<10(E;^VTj9D` z86Zgtx~WbaLl0<-OAA#GBLg!lBXb65?+Yk7LJ~H-zycis&xEi5Q!%Kxg6jdN)kp_v zc{xVt+81$AVIe_2ZZ61fDQIE^9|mt`W^T;K#Lmvf4%r6|OS6bmNZrcnY8#zp#2Dk4 zWNZvQd&GFe0?gb}&8>4hTztG;T)n;dcdxs1gM)=hOv=Jql9`3`w2r=eOLR=DM`Uht zQeIwCaxQ3qj-i=>fk~4ojDep)f qZZKGMG`b>!5GiR$Ouin zATyXiBa`q^3r0q8^#WGJ0=mjfh=D;-URqK@Oh|x%pMg)2on0K%J_6S>u$8{du(}3T zUn@7?iB8o~(>BbAX{t3aF)^rZ29eE7VG(|s_Ix}79tM69jA1$&>N@{obTl<}Ky}c5 z1_mY_rZ5JiJHnx(Et0;>jF6t0gBUaPCP=hV45T~4*+F-Ng9bD9Gv@yL%oG;+j~QGS zfX!zHjTu01{sP@Y!U!MBkn{yz2mv0<0Bv4nYz1Edfz&&Kj%I*wMu*;Y1IovOkU@?8 zjJydT+gAVk1GW!zUt=bdH~9Pw30z|ulGGa0Folk3h=MNmGB*}f=3};35R~BKWMyVd zvy1+>O8?1P7IrS-=^w<5J+fwG{bT+xefkH+B`F;-4xlkG@EMTce7po)pMd$`y|Iw< z_rPZxGB7fzFfcHsF@+Hx!;qxb7>2kws8NcT@DWuuRc2?`>6{o}$R-mf!&VqSu`?}& zO)5@`Ern5y(crxtBk#Y@a__;DKQiCH%iIQ~tzzhY5N(E@ZK^8ZE8rj%n;rvt^^Vpa zkfTm}Ku$(VQe0G!pO1%wjfI&(n^7Cl9so_og31Q?C2>lyn E(c*?Qep~Yz;ge(BzU40a{oFc7l3+F;G>clKsStmXKTUI;A_i4wF)l- zFL?Hl9olCC4cZ7Q3z{o4XT-5^Z&?T;n8N<`&1Vw)yNa=7?%(&Iw3flZz@!8^>y9x1 zJcq&e7c_~%2s?X)fs4Tvauy8y<`zECt#Xo(b6~*jVi870(0E2TNSrAibQ}x=s4Wbd z!{K7!5)u+*1?Nm-L1EA|A+uml!rhW@pR2Agh5dVvbPx<9gXRAp&~-WJV?vUk@gCe` zLXx0lApufD&X|xOgMgr*2z*S)%nUvz#H4H~sGuUq#LbwKu$hxt$-|N(T-4p0G2!nj z#=rmWCM1GKni+x_7?{k#^Q_U3bSwkvNiZ|Arh{(F0^j?`An6ObFAF+84Pvq~w=sck zjD^N2s7K1c$Ot-r7h^J9P>_=ydPg~^Wg-Z=UzJ%|STJ~I7*EL52xgw3nh+jlrm%mJ zjLZM7Vq|6H`j^N!|KGQNzaeo6I#U6(hM$|k58^&hSqt7y3rbXykTXlbsf>vEUu<1- zWm9F*qJ(D&3D20q{{3TQ`n&4aFWCNVa5)Crr_IPv&cMJV3|^A}?WYTY(hX=_9Gsk> z^&t3OGjJ=83DhBEU;wq<;3*2FtOt$U36?X?Nw@=A5W)BtRM!9h580y&w)Y9R`~;sv z59Wi`7eel!1l7}6?r%h@cZj;bkzG<7b~z!V=oZEkTNwXFLaI2}ye0VjA|9|iAoIai z@Oezwxst~JEttZY6` n5rfXf0!y>Rvof+UviL_jfW~+Q7zBir zK-=M^v=vRkmjam@gBG)a2DBJgSi2>rB$Qa2Cp;HVOWL=uK%7w=ww|Tve GVqjopV#ol=f`_=6Sh0*@v6_OWIKXwMDC6gU z^$B+q?50l#oy!JFv>#x1eS+=wg2cZFXv~NK)YxKV1RD&Qfsg_TqYq-SF|smZvleV2 zbnwhJye+IP9A+isU$Cbc8SMXOGUb8Wtgtma9E|Kt>>=O*DoI~9&?r2@*K#0XCdO8f zFzD1Ph71ski9G?VDFCvKi=TlXI-Uh8wvfCIa)~ID$Up6{^6>I7qyT^f0(d-YG6MsX zB~us!Xgmu#E(1D}A6!~7Ffd4h=D3&=K+}-mx(7C%#Q;%&7|vp4WCD+8fqQ$r+zea{ zoQi^M;MOR7gcd%>H#wm!F+V@Ctjx^X+N_Kz>`Z1%OlFjYiLnK!P0nD$z`*1Ob`z*a znhc2_P#F)JB?1p;NkWFRI9S-3p-p2Y_<$AzSQXNE7FZQ{L`$5Tn}Gq;5aH(I=Humo zIFb|9k)VX53Tx8aB-qAgWyLazCj9er&^I&FcYrz;RQ^R-8XH-H=I=mb#o *DMciv5L-hET9CgOGK&?JuAwdDq!3ylG3^I%|&~~4x3248hxH4!Ihz&Nt zg?ZtLvk&{FOYEKwXqTSEM} y0b^l8&dh=~Y;R|jx`+q4M3 z!PYZD2f1LaSy2%-M)UY`jtE{CQwL9wzkHl6Jh&rRD^kju>-j6QoZVw0LZadWyo;Kb zPn*01boM1^o)3J^A>@;c7tV_(0A`1fQ+Rz{Ftl|07c#^qh%BkoBmFpjiqw&@eUZ z>=4M{19Kv1%9vS}8McHMd~OI>A-Dhlol3#L#3TnkT?8`V1wL*Bq`^TObYci2^u!R5 z9!^F!R%W(H1_lmB@GKN)5CNo|jTtm2i1pwQXagEDULYz0szTJ2MOBebR |PX;En*0d`gfZboi4$gwGq z91cqKBI1mou}bhcFzSqAjIJ$BO)V`=P5*8&F&Zf6hWITC@niaTUI{#e4I1NRoUft8 z$kH+ApTwMH+N%G4_k#McxeN?UuFMJyTnxV3IXT#w8Q?3=gg_$~s^G {=W;aNVfiWNwJc7Z+06NJPbYLdvf_l&x2D_;_ S{=ReO*F*eQi*u4wP>o$5k0%sK-6@52^$MBOSPv1XUDO6or&Qr|7GSfTl9lAS3>$ z9el`jXyDOoQ2(CE$U4)dpq4pSsKM65%_=z9#?!;LSu&QrvCu8u%HG`6?vhKYMN|14 zA4dnj7*AU}&t-M3X35UZaf1B(X$(xD6%OF}b Kv+qJPAGuS&j{~PN5YvXxhfg2wE@{&dSKZz?c9!QWKO;_!$_$O$1O%5oG6((gr0J zWzZOtsW7vsu^{8a!ouW#d;czb!>sU6H}=DaCdPID%s3fA_o{);p9P&IrobT2aL{{$ zbU=iIF#{7bJLnKW4t7>{4%P 8yHB@ z>tK#c8v_GqK?>+z40f>9Y%DC`xhasfY%HK+nnzGYQAkZmP!MtqjiRWcD5P`-rAl!5 z47nNrbkh>Maw+4Me;Z^3ZB=dJ%xtpVvuZfwBr5H_J?!EXqnH(9pNL61mH7wPx|Qd3 zq=W{=f~If4cUhP-D=>&KC@>^BaB(p*F>*7qFu`WjB|!^Jm_f&^FoN#o1zjKmiXCu) z1Uku_u@$a>nSp^BbWATpA}FdsWs)ExgS@PyI3Euu2ZIQs2(&~39Ucc-3 uk;5ARwV?mtba_cg@ey(GP_AT`B`?%H0_?{ypa7aW3%*sB~fE z4M<1`2#5#ur5PDO{VHYf{oxMVK+`<%wN0RPXrSIS6Zk4|(55d3QBWpr1J4SCgNodE z21X|EIy50cW)4YhMn+}uCA&<@|K4RWYW 3em8} zyu3zxQ!|IA{QM>dGgJHbE?! FOe90rDe3JjbZ8JKtcQ`lgt4QUI2PF}pv zxQ3aXaV|`r5m|me0|Vnlu>N^i<#+x6&UgtdKOd|73I+zo+hFq-z~q^b%|G=2JL4^| z{6d&Kiv2tPe`mZ1mR|&uN6`;*|9P
-5uG4aH}I8F{8GZ(*lWjQ%z5N6yO;HcoBHg75iv!9J)z$8^|ZB-R*X#A~b z%x1jJtjWyAIEP^hBzFH#0mbhB{|q-6OBnAnD=@P$&V|S^?tshfXDng72-Y_bLv9yi zHsd9*+ H7cp2=LB@j7gsC}TggZKd)cWtO~ryLLgIvEu-)QFTxnV3M;4vPkS&6^~s zL~H}?>t#gA&!CmYgd#W+l$WU!!_1mEVwjOZm4SgNm05v-nL!UyLGyr4v_zEgTuh9N zp!IkR3}ulHT;L%MW EdG7Jig@?hT!KzuLF$jd6h$i@r1LD-g=4-pVTjJ&LD zth{UuJd7Od>>PyxTrA8?{EV!;OspA#+)Qlj>}=s6nvFdHG)&7LAPqSb+Xkm09BqWn zaBxP}F2Kme#LC3Q+JNF14$z_L_*@bh>0l%)D<#Fx4~iaH1z81oIVl+_8GcEAPy~V2 zZ4019k}&p2QUxDwq-?5eYA$Zdu8tNvj8dkiKAR@X7x-d}7K@KA<>f(-KdxKX35gI^ z&}s^%LS{{HIy7Q1Ww2yC0gewoMMh>86GlM>Lq;w^SZstN^$|Eg8&)}(m^qm0L>UDc zxEKVv8Uz@5xVd=>g*cf|`wp4He4y3rf=moqBK%BT+}vE@AexIiftQh+iyIVA!T}Ku zVMG|u(?*WzpawaL !@HRuobaya+ zgWgUpCMv=%DyGV;EG&$Xq8Qb^Z0vkkytvI} -&$ErH21!|eyvsSy8x>r`_G6D~$3XnP2wk~9Z3dd(R97#UD1K~6DkM)I0D zp4clvW`^~Q*BNg!PX+I}lVmV+FqRO9jwgY7HK5*xJ<>pu1A`yvE^lE;5lQ$s5&GsO z5m9qBWhG%FQxj8mF-BJ}A0IC-AD^i`Li*m`-aSH$*9-IV3PJcjFL#CQzhiSj6nI|i z2IB+9`^-HITnw5HYOE~G%nXc-J`9YEw%|b_<^<3HksUMWFbdGPkBA^Em!!5ZqMEw_ zuE!W3z-uc|7i~Y|1ICNYQyD}U^gyR*FoR75?{$C=_SnM*d+b>J1VxnuRam*CwXs&3 z=Q{N)kt<0iKa~2AfstVs<8{VM%u^YZ85|w#KxHkX4^rU)8h>kGfGp0)WPmQ#v XT0cTWADS_jmXkAyq?f3%@l<-2ZQH}RxmzbybTU(UIr5f zLmo~h&{zvQD--f4i!I1yc1(Vt=@xEYZe9jZxC;sja&Sp$Goq9(j7!bTyf;l!C}2jE z4B$9D#CV XkMR*VJG8t#*557uzbkL$ixV`0hY-JJ{AE=bD)i|prHr` z2L|+f2v73n=Em&caR^Zn*xo^Kr-Kn!cjG$te8|WEO8e)Tdl=Xl 2}5&jF*|GGDtG0G8i&g zJ6OQS6cA$spcXp=1A{$$Fu{S*4{elyi=0t{?S2jpehM!Tnman0D;aWga+xYyxVTs-n{sh-8!9WxfX>U3QLF{`$UtYIf?CHrq4^ec z?il{E(jHV++F_KHpg1C{tYn^wD~^8r|G_wkVL1aggE!=^bRN)fBhp!Cp!JFfG4LRl zAOmPHG7_ec5xiQMn~?!B$j*#D$nL7Dp`og(p~0c2rKzW VV zNQ1^i85u-{1;ho#dAT|GIr&+c8Q2-wA?L-Lniw02iWn I5FP2Hm{?9ld2@0*`xw zC7GE5BOQ2IS-3e__*wY{1z0&Gv_X3`#KAk3A-gshg;P?DRn*m0RMgd(75?se2)c{_ zghBb{=YMm?ex_IkW(FiTFf)S uS|1)33(1l #Hi8n%FTTH-*JSMfjLS*^$F8K2FWTLe18wNFt7>GQ~d5 zRNcx-T?ZPPxA@Kd>}=c&OzkI?R++}x*@QY+IqALzg)In!!Z-83I+F@hEUMoaSeaNE zm>R&_;TY=}SXsfYWB~^^a}x9@4hId;iWekxpot4s1{T@XAC`4g{%XWDdgOH%4Qy zS3twEp#3AtN@{9g&zd90i8emJG1dy0K|JR$xwP6e9_qPQu$cS*pWz3i1>+>f=gjQj zeCYsczccP&bO7aAa9uuwVI$)wCT<39XdMMBHb7C!5Qto+sUiotYiLA7XlO*lMlcx~ z8UZS1+!*qhT$q9x_!zVt_`zcsoE)s6c}yM#PjHgi%D}*&!QdyonE^EXvRRCgLtNWj z-CW&VT-})6T%28;UHxW2^D+6o{3-l<<&QN7 d>l*+pu>!~7&y~GGoY%z{Oq8m{qf)hIU2q^j9gr5pi_+XSQ(j_ zm|J-mxj4DnK$0MJ3`~p}AQLz_8Nxv{17|$QFa}QlNCzp J_V(p9y%>d0hjR1`#WcJ}&?OH~qJ0a)J zojVr-qd?(T@jr}7h&h0PnL*M)3?$G78oN?w1htMq2RFcnsf7L=iDR^34*0{y{ELB+ z0ijRWK>*awXan8y$KWR@zyz8dFlJP)h-0*g1F46U=M1rolb8;J%kxz5{d){dG7N&C zvnWzGm}+liWZc0d14<$P|1-EV8ZkLDb}_Lrz5(k+;WIEYcrh9?IWTrIFf&Mi=TE@9 zuNgr5;u#qIp$4{^tU6HPoFcOwNpZm_hC~V&DMz%?K _4Y9eIL_&FvnE~dM`znj@a<^I;K z_f*4F8M*F1VB}H(wNV)vrvJ}l+z8dr&d6w_Eo>?#Br3whZVH}Wo(|F)6Boy95~lL+ z+k^Z6zNv<(-rKtMJ}4>d{$Ii*$lSu9${^z)DJvt)#mT@1=}JLIGvx(Ak xznqF$q2vaddNY6nX6KDB@&m>m=f66Tq=g(@oXPhC7Md z#!S^sb00?lhlQz{kB&`%fRI3djgF6+DQF2810zG_{}RUYV7JIQNJHJi$iN6X Ui9-z3$}lwnImp};RJMWU(A7;r(|e*KV&X7&u~)(!;SO__4W`u`m<|M8 zD!}-^p7AqtB?CKyhJz|-VF76VG#&jw8_?0<4D5n};Cnb3MU@4OMU@2^KTnzRiMcZT z&z5lJU!X9a{=c5F6Ks}}gFLA94cURh$jB59>NrED0};o8flgo-RG$9n)08R9m4Dd6 znSEgGAco~k;P%h|{|s6G{g{{-mNTd`uKr>2;=t8nhvwp@Z=|lOl5f13!a2gO-Cj zGw9MBMh3<-c2+iKCMI im#%EGgL^R|o zks5W(0Z6SnBqnH#CyR-ViHSKL;zp(&jO>i78Pb_{FbIKKZ%jL2MFNNc&cE*&zcbDO zyIsZs+~#3mOarx9)tNvg71*tyHYOvQ+ZgBIat|onnAjL+GsiQ7>}Fuv0m;u`yFqz} ziJ^tTfr*VNo`H>lmw{s|7dtZplaaQnx~aJ+ySO-nVoZPhc*&CaTentKIo!y-RXBH! z(X{LtscEU8Iv%TjMsZPgQ*(872*s!j*UuDxGxuh}yg5eGv!|z|r!p`yTxM`!+y=Iv zZ8I|iBiwGrZ6Hlh`xqD*t}r+-Zbw!p3^Du)NEyu7|Nj|QFkWJO1iAy2@ybjF1~$ek zko7E#{EU|vtHE^uxGaY(JWywZmgS7b%*u@XIYJ)H0sor7aWVbB1(OnU0E09GbakT= zD6J=QfKP7*Ee!>4m;&8($if2dfNO!~YGm0MK^H8tFfyfsMlM*GQxUot{2)tLr5U6I zg%y MCB?di)AKn{4*9CDYFmf;{GBR*5`A9o}I4lrO zBt+VPft7)ala(uzfsKKgiH$j(hmn(ok%@y7bZ9X 7u90sjj4?uCAnXoss?bA4ZNT6aL968!`$q z3L2ice(}m}#b8B7-_V4FP!MKdX7K+1ktvQ@pFx2^hryI#KV;RRu!<$#E{4gI=4v&)ZT}&;ZdM~q7-zr0<#)K zAsZtDWEqnpXwf4RBTFXu{ESG@CR_$4X7F~_L^ja9lc41;!i)@t`r4YZGLjPfybKDA z3ha>nHK H<;Pj#X+l7*~OLB+1Qvx#Kggss Rww<)S99 z5bNt1q2;VrEXorlU>cjRsT%DnDynU*s;I0UWNqMU*rj34ZyalDALlM>6saGS66I~= zXD_?QA*w%hhO@dhQ=5vVvb?jNil*T|1v5MQC(0q9GA81`1rs~CuP6u_O#t=Lg+ZYZ z58C?3sOrni$iM*Zq)CB_dxkcUFbfM~IEZEh&9pLt`al8<4E&(^KMwF=U2LGKNkL^n zMpF~ev;t_Chmx8a6MN9V#hM=aiNSpO9-7Pwe )9) z!mQ7r&tS_i(}9bhk)27Mk(CX$jt9Ex2{c#9#>~!E$H2zQ%*I*=x=4 |tAm>e=H{S?MZKg5)M8*~2a%w=iiDBQ5K&@#%pIhx ^dVrUB{cnUO?9b~noGu>TM#RSb`y<;Or?ChD`n53oUWMyO}B$-5yY~Owagx%&%pD}mtjOp_jS(atx=4C}hTNt@` zd%5TuFt9MhGqy5mGy8(uNxBRs44I(NcZkzrWZ_`+;bCWDWnp4r1>bDO%*MzJswX%( z*f=v8I2c%1Iat!M1igZSpa3I-iIIVxg06zDx~ht@lA@%zfV`kQCp!Z_BR|aBjNtw_ z 4(z|SDfU j;K-~&otSi%`R-UA9`MpvUC1A`zV2&ryn zrmk*g#&{YOP=WgTfuKMOF;~|xH`h=H-Q&Z+$SCvw2xA^|3 C<0n+&BV+E zDrFhtSr{1^)j=a~(k!4&pUj|0Ul|M$;8gVzz(|fQ`HxA0~S*}Xb%|p4k aCrLt^njBqwHGm3stV}VS| z9n2UQ893P(IWs|Hzib>#Z0Xn>!pzDFUfvF|mYFpGG%291rY0@L!^6m+rm3c>p$=J9 z$|K1GUFZTTI3Tkc0vxa-HX$V*qoA>{u{!7=DrRMIK}I7`-yYJ0Wj8ezWfC#g(J?mB z(fRv%W)cra#LOffcE%=tZf<@)Zf@IYjMx3+;`~AQpC+@yU$;w)FaA7W+I8`tIFqD~ zy}b?y?{snkwW*T+&t|e=+RY%rAj@FyU?U^I#m>UWAT2J)$imFT 60v5PW`hzqhY z>L=#pB)UgrvPOtR`H4obrvz-x%S(;mUD)2fm_I6lvmvWh_@BFIK|&dK1Y_?$8O9x; zK?2ZO#SBSIj!aPu$_&N~-VPqZg4~>-lXXNmm{^#Ym1U(tr;#!H2yrnnc*!s_g4-0J zMZPScU7k#lpqv6qUrdaFsw%qLD#ohDit@UwkfBjXn@HVU99$2Hn~Sr9$8bO+rI023 z=4iE2jd7r`h=_2Yae$ eJ;Zg+EqybY1QqI845cPi!lLvDP zgFJ&8gD!)WgSm EIis+NfxhXP905i_CXJm*)jZ*0oHd#Cg8$wyYV1g=<_-_zEQ)8W z(0AZwWZ`oE7pG^(^Y0&*I|Czw#{Z8@A>h3j^C6?iRtzkxpw>hK12-oZCpT9E8zU1t zXg5D&ItL>IA1@OpHv=cAZvyT`Yx^>Aaq%QF@bKvH_(?n1qHAVgW?*GuW(6(e#$pH; z4-Z!))BrA?z(@zsCEuD1nxIygl7gJ9h@g<7kfNZ7AU|lF+0 BgT|WK zL`B4rj-OIiV%CUaWQ B4j1I3wfnL)^|*Y2uOWg>fh486^URMWiGH z8KpbhHpeCfN=S Yc4T1%FK{O|T#Olv^>wwiG}V=rgat*Fgj58DVc}wCZmwvm2rYV`OCdpPrHn 3T>?sd}he8e12oW@SZL=|b8;rl6({ zvjT${gFM4x$O)b*oQxdojEqbipequYSQ(jFKpk5yE^tFc6*N%~ni_+oJWU2p4o1#! z1|l>#=rgb|vw(*8xi}fP(lIqMGc$#=F@i?(z*8Ndx>5i%5&^9#RTMxqr7)xjS5^iM z=YWnafz+Jlu${G2E)+F47v(Qmk{BN!AD>w4= FAPAmB(hvou1vNo&E)F?uW5{5)x-#hO zGH^#3xl01hC88pr{aUFu7A(xULEOR?$xd0NY%yHUHfF98d^;Dj)H0S& #ID24b@4PHiMaDXq-L_xifyroMgUd&p=$;r7m<>JJpOP8iJ1x5ujF8a4aMTODhUtC~RU=w7# z(48TH$(bpJft$e>;s?-KtI(Dqs6h#8urg_Y4pWfE*Kl+Iow9=5Zd5e|4F(#6Qxv1* zrArZ)E+v47h)bY6!U&s3Vqj*FbCAYpgM(^p2FN;WVN*p>cg8=AMiJmS#e9YiCTS*6 zJD6=V3uxRGGG7RpEL>qZcP 5nG%@PK=VTk>P(>1Uj@PUdNTZ7 z%^(Dt p*(ip!Oa@H+plx3a`VKk_3@nV$qq9NTiUE H=8ll?rz&%kPdLa)Sbbc$(gB@ft!IJ (Tumqj!#?ZiI#bm>z#`u+?f{~5!D? P6I?b0 zF#KS$Vm!hi%HR&}o!T(4GBYx>GB$t?L}mdkTwrDZ6;YsVM-1R?N8m%|SwQpN!a{=l zJX{>?Y%C0-jG~}1M^Il?RY{KtwhL5_2~x8#uGhBG)siyc4B+svMlgS<7^ryr20=(@ z9$;u-a%P;!zzVq+8?tzZ0cDW}c-=j#pde`eMAcN$R8f%e@xK(tKMlLW|Gfvt5t9&; z1hYN^8-qI7Pcon+1f6 6viORFm0;{BQtnkCTNsbfdO=R1PgNmXm2iL!2|dRMm1k{Mm9DrHdu#F z1x+0@XoQ!M5!?{afva^;MOMbl3Odz|k%5(sku?)!K3hCHBO3!7sHOs)4JpbXsw5~V ztSkt+z(HKlSP(QOZe|MVXqYO4n!M`bsR>SYc1{Tiyuu#(PP%L-nC1RW@e2&{Wz6}z z%1B;G{Q+q2g7*K9O!3V6;62si49X1J3{xF=#KoAHnM6gH*w|rXpqij%qpZw~@G(11 z@E{%NEIw^tZbmjXmP9T_=nc-g9E=Q{j7-c7OquAqxEaCwG~pURJ2f4YRaGP A`UJIkPuK*W6GY1DtB0C=wG^9*m!$8 gyQm8f&V9u8@+@mefWLJV8+4AuUOP1rjLmAa_9+8;OHXvH)+0RA+<9 zgU9KVL`4=ly1F_#xwtqP7#O%QnfyC$>)>GPrXcSQqTS^cYz+(yUmF-0Fun>7@DC35 z4+stp@b?e+cg~+t(f{vJkbt>4NXpzi*gpUy72pr9cP248GxagEF}_A!KLC lCmY zxK6=QPZYrG36Q@TGMSv2wllLaeukKZ v-lW6_q_2k^Dr|oX!{B>f-Ywh;N)j!W7C0`b*_XA;bmlI zR`rD##lr|PNPv-(Qw?eyKO@922Y+5hX7H421G<3%jGSC-T%4dCQw)5JEUXNmc`;On z3NnJOZi|Gtke`u_3v{WWgR!QDii)I!pa5tbM^{@zUsE5n$3#sPQsO{XLqaNDNVy{f z$~s8p4lA>=Fe|j|fn0hB=^&^I8#AlI${sf-CpR}|XU5f49;N?Y7#kZOhl>0Qt@0>k zlrT0nX4X&3$xKPf%t_<_w}vsqrM{}F{;w!pj4|Zj8n76se767pp2?fp5WJ=lQa;ai z5MpEm9eoTcof#MzyqFkSAj`%aXkJPS3b3*um(q|h;|4F-1eMZ^qKu~4N^0cLf)y}K zn*S`)k&5QyNNi@q%D?87Ovh2m<-ejRTu58Nn1O*QoLQfNlR?cvnFG`e1uY(DU<4hT z!OQ?U0+bn4({nO#3JMCbvVo3XV^;=W1}(@anP2|h?0b1W)2gEH-;4f+f!YoH3}H;w zOjQh=pq4EgD` 6q}Mb$y8 zKops(|4D+3VtmeM19jj3{|x*LbxhSvi %cTX#R()#z;X o?CK*q;GjT$BfrZmtxNJj7!1o%)t@Tx5)CI-+HDd-Le z2Bsj$@h6<1!?_eeqh!MH+tL5B!LCGSwu0V)K8I-+<2z<|@SQ});Fh2U=x_`M#z@fQ z07D`x6ALo~BSRpl{ee8G2b*<4PPxc;U*AT*@Ol^K4cDNs`_HtIv76bSfg9Ei1xF8P z!7Br3@jN4_4Gk%6K lg3@V!@( zU?1^;)-tw&)`|*(S2BW4QC2r*> ;YRf z3D#+D%+AP=lvl&FZWie5LnemROzW7e!Ft&ljKDUkgYpF 3V759bsZ;2bBb!B1yjd~6Cfw= zU|Pp`iP?jcc0D+^v+sc3VYUu-zdIuX7PCNE3Di9RCp!jE(4h1YptqwjUV<3L>;W CGWky%f-L4=EyWe#V=rUIjMqKC$ zE-O|uZD+jCY|kLdU;>Ug&|S^UjFF&-V_^nWos5jkNo=f4%#6%I3=E(PN|cm@l$6*x zq`~_wg~8+Lpp^&E!9mcpF8gZ4t)j>mjBZD{QIwHk1Jf18Tg*xf%nWK^yYY@^fK!U8 zqUZ)jEv74eexRWbE~aUWEzAK7f((8j{g76QIA}Kq15*J=0k~9POadkUAZhT)(hN+k z=n|3Olcfb21YN*8IzaXyueehNkFPVfNGmWiO3BMhF)~_<3Ni->>k7$=i_0=P%i2qU z*8ctf&%xOJe;G64_BsZ}9e=_hMI-|wBinxt#)kigu)4JnDbIt_a3IXBZRiqM+{%iy z1H~9rCa^QIp}6%2ic>-6pZ%}NxQRi8L6{*D6mHvunV6WsNAYTbPcL9#VrXSxVrFJ4 z0PS}J@4o phF*M% zDz@gvHcam9%1SEoA}(xN@|ya3nsSPYtSq4P$jJ0xlW{5o6N3;#ILK{V1sNH@$DM<= z_K1U*qZTlLSAl?zc}-#lEdl{WEdwJHsFDN?AR|dcI`A?w@bYl5F$ggVv2ciilPu)w z36$%o88cBXp}vlO=k)*o;Qac6#fnLdNdmNYhe?P*g5eVb$3`Z`4WA&9%*dGaUz5q4 zVF!aSgR=v-5a_%mA3=5|M(B1I#O5c^`Z@ 3kNy8YLp5UnqbTEl(2Df` z&5RL{HK2?U5N9$lGdy7`VqDLh#{k*~BM#b&30gSG$jrb9IxY!3-NFGnridkygOP=W zDUqF#iG?W;)U;!OZVBQBH|Q8ZwE}465u>>=JMu;nSPPC(&LGiEMb8*?lAW=hva&L> zTtL7YH6 S#75ez1C2oyi6ojbvbC zSj*(Wco$MnfYJ _FAM3Kxs zhs8`^Nk>6Qmcs?kV%p*8Dj{J4Ccu7%mB(yMka&TW6KqU!AbEJ+WMh&C@fqIXTWkFP zKLg7BY#{!B4kpl@VQQdN0}O0TvY?Z789--uLguFBL924O*qN9Z V1!c1^I57G^*{lp9j6F~` z8-oqw11Ot=L5fKR%I0K{U^0WUxfu+Y{Ge *TFoZB siFOBf0m ziW#gx>na)288X2tN*R(E^ca#E@)>d&^chka$`~>kau{+^Y$|5ZXUJuM*rkcb6~PRt z47m)MVBh31q%fp1 =VMdyNT%mD-9{o%h7$BmF3}p<7;8dT;ki?J!&S?<;XD}!*Br<^Pbz}$x zvr8DP7!)wVx0oRroO25pN*Ib6^caf4rs;umUpj+6gFk~CgAbXy$Vtth(1Da9pmkB; zg7N rj7*Ho496Lg7}hefFtRcvGqN$PW0=6m&Y;Sm#_*Tn zKSK&52ZK7pOGZvcE=Fz!4Te-k9)=SPrx +jB5A z!HUtI(SgyC(TTyD!G_^Aqcg*9Mi)j`MmGjqMt6p1j2?`h3@!|rj9!f14A~4h3|Wjm zjJ^zcjD8Hc3=0_j8C)6M82&LbFyu1^Ft{_kVhm(tWDH{PU?^Y=29+F)Aq<6#p^RaS z;fxUso(x_LKN%w#qZp$ZycuH{V;OuHt}~P{lrfYu#xce-lrknTCNd^5CNualrZA>5 z_%Wt2rZf06W-w+lW-(?nJZ1=B2xQD*%w^1D%x9=zEMN#?sAQ;Ss9`K*sA4Q)EM{29 zSi(@tu#q8{;T=N=Lnvb@V;N&PLl|QPV Z##4-^8P71DWjx1tp78?XMaD~vml>}xUS+(- zc%AVE<4wj}jJFx@Fy3Xn$9SLd0pml)M~sgdpD;dUe8%{k@dbl0g9w8tgBXK2g9L*l zgA{`_gAC(K##fB58Q(CzWqil@p78_YN5)T#pBcX}er5c|_?__w<4?w4jK3NGFzjLY z!tj;h8{=Qbe~kZ`7?>EDn3$NESeRIu*qGRvIG8w@xR|(^c$j#Z_?Y;a1egSwgcz8a zgc$@G_!(pw TK`h{2vogh7BwlwlLYW+pKPCnj+w2_{Jf zZU!EPIEDlUI|c`aBMe6wwlHjE*v7D(VI{*VhJ6hCLA#q6mN6(Za58i-v@vuubTRZW zG&96AykKZzIK(8y(892nft^X3Nrp+5p_O4810TbCh7Sxo7!(-#859}h874C 4A zgvpf2jLDqIg2|G}ipiSEhRK%6j>(?Mfyt4{iOHGCg~^r4jme$KgQ1V%4udm8FT;I? z8w?K_ZZq6vxXEyf;U2>SCQl|WCT}JmCSNwkq@vWaRQA%mOant_7k0 z`+#qilm^d038yJF=8W @r z#uf|~1sUULZs7!?4U7yeK(wK&nGuAxbY%%iN-SavLDCA5GcYoAgs3rdW($SKl%cDu z32!Khi$WnTVh@Fc2Wu!O-q=FHp~4mpb_92La%NF-X>M9hY6WL_N@i+NYH?;UTX=d= zVp%G8WHMZmEfOpQve>}L80ttj3$`e*F }|1#`Jl;R@JOp~j^`jDy(f fm9f}S{k!^dV!_bGqWHxC~un>8i3>t zObj9U+r$u@JPk|?jk(-YOAAU$i}I2yp-N1kG$coxK#K$uLr5f;7@9-n!P(Kk1QK!v zCXg&=U;+sx0~13?$eI{JQk;pQD^#Bwgf@aY$q4EsBdC*%z@9WPF@UN!g1W~D>K-Gg z{YFst7(v}(1dc%i6C +|hI+yn>I7q` zCyb$ `iTz6sQ+CeXk%g{n7!x(8ZZo0vfDhvqO76R0~(pzbh% z+G_%JhY8eOrZ97$?lFb>$JCsq5)_z~h`@yEbb-3e1!|+4F=th3QNCVEUVbh|eqJhs zQBn>O;VQ`}N`;7VrsbCwfn_< BLfR?co-R2fJ5HMzycidMh50!^9&4}z |H}cGZxp E%Q90^!ECP7!qUVXFq1bgzXZYKNiRxGEJ-Z_ zOL69;7DEi>0~wDnSRk>WpeVlrp^ZPWI5`tiH-UBX6r>h`T3~v~Wd?@G93%F`qN4or z(gH3pU6h%gQNjskrsS9BL0CDdX(jw%F|ah)Kt3=ZBm?GhgR6z){M;mHSz>Gejs^o` z19MJrK@O7R1Q*O87AV*Zj18Q?6{fL)vtD8jxIJiK42>pZ14srmhL%>w29BKIdIU)~ zIM5A@4UKqG@=KCZbMng(lF&lZ7+Po=8(HvzDkHc9I6<|8v5|#ds#rm4QD%M$D0EVb zQd7W{zO!S95Q=iJC#A8g1j~UvWaQ*50W#Ob&{5AR$kEx`HAJs0vB)u}#J~_NVQ6fI zAt4H~8ADV&B|j%8u?RyPG*Jj%>j0Wo;)9F>FxoLNF&Hs0GJs~$1sIeW7#Y+Uv=|r} zbQpBNYuQ12H4PY?7#JB`7(y8s86p|t89?^|rZ6xvq%qVoFf!CL%wS+-n8h%kfstVm z!#V~=h7An+85kK3GMr#wWH`leo`I3!BEusFMuz7MZx|RE-Z6Y+U}X5r@R@;;;VUBx zX!ekii-D1mhfy4~Gm}w N6TMFf!UO+A}aRIx)I2 zFfw{FdVyxG8A0cp1uzCOFoOEt42+DC;Dha=8Dkh28Pga+M@;50<})xdu3}upz{t3s zaT5b0<5tG442+DA86Pt+f_jV$jEt`sUokK;zF~aBzzFIaGBARAehiFEd`v0~%uISr zpwIw?9s>jDZXVF3kj$W77n2+)1QGo}CSfK~CNWUoj!BA1nn{5P6s`;mA`D6lTnsD> zY7BY|Rtzo-OfGIdAq+Y>i6waqAq-5piAC8AX1Uq9*$j3J;Q2y^8YtZWx}k!BjRACS z6X^6(2&)M+feM;0gwjk5%nVixoQ_eh3Jg}xjv*j22t;~2Mkz2@`TF}PFj)EdxF|4K z1^N3bFj$3v)r16jD==7r=RBCe<3x-M28=um%nUwErx+L+{213Turda*fc&lnP8&fC zN(_t)eGH(j?CTgpz{@xVnS_|+7?}B!_+$9Pz#=kCvLF!#1`wY=hJlGciGhiMiHVO% z40KyLlL`YT12Y2yzY84m^4sty@Tb9H2!9m6AHNg72S3OTNIx5754O <8Tu!*Gm2 z9h};A8QB=Q7>pTZ7-bkN7!4Q=7%Ul`8J!udK;t?L)(m0{41ANIxD84}_>6orQ1}RS zJq%2I0dUOBHxI0inQsFF3*Qnjn}u%`0}})2j$BaA2IXWva86bN=VWyTJqA4n4F*t7 z)&%Ed8*oncV@PC3VF+bNV<=~c1p6l&oSzH8`MC?6pC>SEVA#Si7wpeP;9R{5?9WZ$ zT)hLFt51P*^#yRQz5>qGSHYq16r8JHfy3e(I9GoM=jxw~YK$5TzZrEHbr}9J>N6TK z{0HS~MrKg1W@HEDYDON=$QvUcV*q0yqX1(VV;G|lC|5HIGe$GUFp7Y3HKQ0~4r4x} z6etff$}v7=e99;f%EOEbpuEbc$Y9HRh4%^r1Md}HFE9yVqmuzpHR$3ny;neGB`@ey zG6volFgpWGCV@!^8-rwE;N1h3M<(--MR==ts~8w~t9VPmB!mqj4}rzc@t$K~;DwP5 zNNi+r5W5XUB}fFUi-Cc+2W%gNoCIbs0h2SpB!mqi=fOmHPw;MIVBkH$y9!J~*dTHP zSR5QCV6}UoVGFhk;!Z{-o)iWK?h?Kp1_o>_ULKe%g2k5y6GQ0WWxy2U`2rV%vv}Fy zVp$*-$Xz@IFcx1G0|Os8zQB0|oduEwm8A>_bv!i;3_N8F3_Kl3tRO66AazY3b$mt) z416;{`H`m&AB)cdCW}?a6fCl{U}8LL7#Mgqf&GSHEkF@lh9;W=;)5_WOhG9O680!8 zXxNv)V++Pg;zLmfjSrY?30M{q_8_qxun^~gv-s>782CVE6ElEVywf0V;W@%{ih+SI zfF}h9Yaeb|m>rOm12PZ60{apizhG7gSQhL)5DOv3lfvi4UBY*cFMyW^lf{<@69cPD z!ljOv0Yx3Ud2E=nAQ$jl0J#O^W^@)<_8Lf*--LmI-wMRyxr509$?`k`$%0ug;H-Bb z7RVIt5=i(#!V2U|7z<4{2Cgm%!UDOO=NIU{G#CpU1|_IskPrfifn}3GEJ#SAvA`h& z5(BFPo5J%2W->20gdnmI_rcO1$RD5(0{Mf10g^gFVldZZSBFgpLJX32L8d@T3lIxt z9&!l5bbwMP#8prhIE46CF);9R@e438@PgU~U=}tpge)(podH&dBnE10fW?sXs=!Uw zg0l=@EbeU(w=ghpFM+Xm;uskC^+5jM&B0`WWcmJqWI-&5I(`RUGf &L*r8^RmKz`%Elfq^#- b-cT9u|VY??=Idsyo-2OFfj10L#V?RzlfLy%Yw@_FbiC+anFFI10=C+ zd?&!=+7<34SXlGmVjy*(at*t>9u#$;at&GC445qM83qR4V<4aN9>Br^$%41@f?|*# zbS^XlD1OmdAX(lUAXC7sdvMkh5Q}>o?;qY*3=Di%&{!YfV&7maJ|+l@?*tzop9m kG!4MYg>Nii^> z%kn9}#Q4-;ELiOGU4f++6c*Gipzvd0;D+RLc-xGDflmh%${-A5A=)K~whE}61gT+Q z-~*i|0A_;fb5LprmBpYE9aKvqwV=Rufa(;G7+3=XAGqZVVuQq>Ei#acz-?xb9o*m+ z1*E(OwJpHvAZ@cYQ22q`li)rRxTOVZ&4El~U_g|j3=Di5AYup>qLf0ETzufxI7lVm zArJ||+@M?mPVJC#10;rsBfbZ)5J!@I#=yY$2BZ!m1}a}rOCLxH%+CTV$N9xzB_SfF zA$mckfa-H-y$=mP1_piykPH|zGP?fPWB`#IV3M7IkuiZOjDe9+3rxC#dhLv^%<2q` zjPA? 18mGNgd@PG#T%jVCa!0Fx6y zDnTNQ2`oY&8^PpzW(5XDCQcBW;V+nc1QKDi2fH&HB*GW~7AXPSWd|nbfox&i0cPj2 zI599X8iH*M29v2^aYHca1y*Sf_LmvhG#{`?B$x!